SlideShare una empresa de Scribd logo
1 de 4
Java Database Connectivity

Más conocida por sus siglas JDBC, es una API que permite la ejecución de operaciones sobre
bases de datos desde el lenguaje de programación Java, independientemente del sistema
operativo donde se ejecute o de la base de datos a la cual se accede, utilizando el dialecto SQL
del modelo de base de datos que se utilice.
El API JDBC se presenta como una colección de interfaces Java y métodos de gestión de
manejadores de conexión hacia cada modelo específico de base de datos. Un manejador de
conexiones hacia un modelo de base de datos en particular es un conjunto de clases que
implementan las interfaces Java y que utilizan los métodos de registro para declarar los tipos de
localizadores a base de datos (URL) que pueden manejar. Para utilizar una base de datos
particular, el usuario ejecuta su programa junto con la biblioteca de conexión apropiada al
modelo de su base de datos, y accede a ella estableciendo una conexión, para ello provee el
localizador a la base de datos y los parámetros de conexión específicos. A partir de allí puede
realizar con cualquier tipo de tareas con la base de datos a las que tenga permiso: consulta,
actualización, creación, modificación y borrado de tablas, ejecución de procedimientos
almacenados en la base de datos, etc.
                            Open DataBase Connectivity (ODBC)

Es un estándar de acceso a Bases de datos desarrollado por SQL Access Group en 1992, el
objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin
importar qué Sistema Gestor de Bases de Datos (DBMS por sus siglas en inglés) almacene los
datos, ODBC logra esto al insertar una capa intermedia ( CLI) denominada nivel de Interfaz de
Cliente SQL, entre la aplicación y el DBMS, el propósito de esta capa es traducir las consultas
de datos de la aplicación en comandos que el DBMS entienda. Para que esto funcione tanto la
aplicación como el DBMS deben ser compatibles con ODBC, esto es que la aplicación debe ser
capaz de producir comandos ODBC y el DBMS debe ser capaz de responder a ellos. Desde la
versión 2.0 el estandar soporta SAG y SQL.
El software funciona de dos modos, con un software manejador en el cliente, o una filosofia
cliente-servidor. En el primero modo, el driver interpreta las conexiones y llamadas SQL y las
traduce desde el API ODBC hacia el DBMS. En el segundo modo para conectarse a la Base de
Datos se crea una DSN dentro del ODBC que define los parámetros, ruta y características de la
conexión según los datos que solicite el fabricante.
JDBC es un derivado inspirado en el mismo, el acrónimo de Java Database Connectivity, un
API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de
programación Java independientemente del sistema operativo donde se ejecute o de la base de
datos a la cual se accede utilizando el dialecto SQL del modelo de base de datos que se utilice.

                           RMI (Java Remote Method Invocation)

Es un mecanismo ofrecido por Java para invocar un método de manera remota. Forma parte del
entorno estándar de ejecución de Java y proporciona un mecanismo simple para la
comunicación de servidores en aplicaciones distribuidas basadas exclusivamente en Java. Si se
requiere comunicación entre otras tecnologías debe utilizarse CORBA o SOAP en lugar de
RMI.
RMI se caracteriza por la facilidad de su uso en la programación por estar específicamente
diseñado para Java; proporciona paso de objetos por referencia (no permitido por SOAP),
recolección de basura distribuida (Garbage Collector distribuido) y paso de tipos arbitrarios
(funcionalidad no provista por CORBA).
A través de RMI, un programa Java puede exportar un objeto, con lo que dicho objeto estará
accesible a través de la red y el programa permanece a la espera de peticiones en un puerto TCP.
A partir de ese momento, un cliente puede conectarse e invocar los métodos proporcionados por
el objeto.
La invocación se compone de los siguientes pasos:
Encapsulado (marshalling) de los parámetros (utilizando la funcionalidad de serialización de
Java).
Invocación del método (del cliente sobre el servidor). El invocador se queda esperando una
respuesta.
Al terminar la ejecución, el servidor serializa el valor de retorno (si lo hay) y lo envía al cliente.
El código cliente recibe la respuesta y continúa como si la invocación hubiera sido local.

                                               LAMP

El acrónimo 'LAMP' se refiere a un conjunto de subsistemas de software necesarios para
alcanzar una solución global, en este caso configurar sitios web o servidores dinámicos con un
esfuerzo reducido.
En las tecnologías LAMP esto se consigue mediante la unión de las siguientes tecnologías:
Linux, el sistema operativo; En algunos casos también se refiere a LDAP.
Apache, el servidor web;
MySQL, el gestor de bases de datos;
Perl, PHP, o Python, los lenguajes de programación.
La combinación de estas tecnologías es usada primariamente para definir la infraestructura de
un servidor web, utilizando un paradigma de programación para el desarrollo.
                                       CLIENTE PESADO
Se denomina cliente pesado al programa "cliente" de una arquitectura cliente-servidor cuando la
mayor carga de cómputo está desplazada hacia la computadora que ejecuta dicho programa.
También se conoce como cliente grueso (anteriormente se conocia como cliente rico pero esta
acepción ya está en desuso).
Un cliente pesado es la antítesis de un cliente liviano (también denominado cliente ligero).
                                       CLIENTE LIVIANO
Un cliente liviano o cliente ligero (thin client o slim client en inglés) es una computadora cliente
o un software de cliente en una arquitectura de red cliente-servidor que depende primariamente
del servidor central para las tareas de procesamiento, y principalmente se enfoca en transportar
la entrada y la salida entre el usuario y el servidor remoto. En contraste, un cliente pesado hace
tanto procesamiento como sea posible y pasa solamente los datos para las comunicaciones y el
almacenamiento al servidor.
Muchos dispositivos de cliente liviano corrían solamente navegadores web o programas de
escritorio remoto, lo que significaba que todo el procesamiento significativo ocurría en el
servidor. Sin embargo, dispositivos recientes mercadeados como clientes livianos pueden correr
sistemas operativos completos tales como GNU/Linux Debian, calificándolos como nodos sin
disco o clientes híbridos. Algunos clientes livianos también son llamados "terminales de
acceso".
Por consecuencia, el término "cliente liviano", en términos de hardware, ha venido abarcar
cualquier dispositivo mercadeado o usado como un cliente liviano en la definición original,
incluso si sus capacidades reales son mucho mayores. El término también es a veces usado en
un sentido incluso más amplio que incluye nodos sin disco.

                                       GRID COMPUTIN

La computación grid es una tecnología innovadora que permite utilizar de forma coordinada
todo tipo de recursos (entre ellos cómputo, almacenamiento y aplicaciones específicas) que no
están sujetos a un control centralizado. En este sentido es una nueva forma de computación
distribuida, en la cual los recursos pueden ser heterogéneos (diferentes arquitecturas,
supercomputadores, clusters...) y se encuentran conectados mediante redes de área extensa (por
ejemplo Internet). Desarrollado en ámbitos científicos a principios de los años 1990, su entrada
al mercado comercial siguiendo la idea de la llamada Utility computing supone una revolución
que dará mucho que hablar.
El término grid se refiere a una infraestructura que permite la integración y el uso colectivo de
ordenadores de alto rendimiento, redes y bases de datos que son propiedad y están
administrados por diferentes instituciones. Puesto que la colaboración entre instituciones
envuelve un intercambio de datos, o de tiempo de computación, el propósito del grid es facilitar
la integración de recursos computacionales. Universidades, laboratorios de investigación o
empresas se asocian para formar grid para lo cual utilizan algún tipo de software que
implemente este concepto.

                                              AJP

El Apache JServ Protocol (AJP) es, en el contexto de la World Wide Web un protocolo binario
que permite enviar solicitudes desde un servidor web a un servidor de aplicaciones que se
encuentra detrás del servidor web. También permite monitoreo dado que el servidor web puede
enviar un ping al servidor de aplicación.
El protocolo AJP suele utilizarse en un despliegue de balance de carga en el que uno o más
servidores web front-end envían solicitudes a uno o varios servidores de aplicaciones. Las
sesiones se redirigen al servidor de aplicaciones correcto utilizando un mecanismo de
enrutación en el que cada servidor de aplicaciones recibe un nombre (denominado ruta).
AJP funciona en Servidor HTTP Apache 1.x utilizando el plugin mod jk y en el Apache 2.2
utilizando los módulos proxy ajp, proxy y proxy balancer. El servidor Apache está programado
en C y el servidor de aplicaciones normalmente en Java.

                                  PATRON OBSERVADOR

El patrón Observador (en inglés: Observer) también conocido como "spider" define una
dependencia del tipo uno-a-muchos entre objetos, de manera que cuando uno de los objetos
cambia su estado, el observador se encarga de notificar este cambio a todos los otros
dependientes.
El objetivo de este patrón es desacoplar la clase de los objetos clientes del objeto, aumentando
la modularidad del lenguaje, así como evitar bucles de actualización (espera activa o polling).
Este patrón también se conoce como el patrón de publicación-inscripción o modelo-patrón.
Estos nombres sugieren las ideas básicas del patrón, que son bien sencillas: el objeto de datos,
llamémoslo "Sujeto" a partir de ahora, contiene atributos mediante los cuales cualquier objeto
observador o vista se puede suscribir a él pasándole una referencia a sí mismo. El Sujeto
mantiene así una lista de las referencias a sus observadores.
Los observadores a su vez están obligados a implementar unos métodos determinados mediante
los cuales el Sujeto es capaz de notificar a sus observadores "suscritos" los cambios que sufre
para que todos ellos tengan la oportunidad de refrescar el contenido representado. De manera
que cuando se produce un cambio en el Sujeto, ejecutado, por ejemplo, por alguno de los
observadores, el objeto de datos puede recorrer la lista de observadores avisando a cada uno.

                                   PATRON SINGLETON

El patrón de diseño singleton (instancia única) está diseñado para restringir la creación de
objetos pertenecientes a una clase o el valor de un tipo a un único objeto.
Su intención consiste en garantizar que una clase sólo tenga una instancia y proporcionar un
punto de acceso global a ella.
El patrón singleton se implementa creando en nuestra clase un método que crea una instancia
del objeto sólo si todavía no existe alguna. Para asegurar que la clase no puede ser instanciada
nuevamente se regula el alcance del constructor (con atributos como protegido o privado).
La instrumentación del patrón puede ser delicada en programas con múltiples hilos de
ejecución. Si dos hilos de ejecución intentan crear la instancia al mismo tiempo y esta no existe
todavía, sólo uno de ellos debe lograr crear el objeto. La solución clásica para este problema es
utilizar exclusión mutua en el método de creación de la clase que implementa el patrón.

                                             TCP
Transmission Control Protocol (en español Protocolo de Control de Transmisión) o TCP, es uno
de los protocolos fundamentales en Internet. Fue creado entre los años 1973 y 1974 por Vint
Cerf y Robert Kahn.
Muchos programas dentro de una red de datos compuesta por computadoras pueden usar TCP
para crear conexiones entre ellos a través de las cuales puede enviarse un flujo de datos. El
protocolo garantiza que los datos serán entregados en su destino sin errores y en el mismo orden
en que se transmitieron. También proporciona un mecanismo para distinguir distintas
aplicaciones dentro de una misma máquina, a través del concepto de puerto.
TCP da soporte a muchas de las aplicaciones más populares de Internet (navegadores,
intercambio de ficheros, clientes ftp, ...) y protocolos de aplicación HTTP, SMTP, SSH y FTP.

                                             UDP

User Datagram Protocol (UDP) es un protocolo del nivel de transporte basado en el intercambio
de datagramas (Paquete de datos). Permite el envío de datagramas a través de la red sin que se
haya establecido previamente una conexión, ya que el propio datagrama incorpora suficiente
información de direccionamiento en su cabecera. Tampoco tiene confirmación ni control de
flujo, por lo que los paquetes pueden adelantarse unos a otros; y tampoco se sabe si ha llegado
correctamente, ya que no hay confirmación de entrega o recepción. Su uso principal es para
protocolos como DHCP, BOOTP, DNS y demás protocolos en los que el intercambio de
paquetes de la conexión/desconexión son mayores, o no son rentables con respecto a la
información transmitida, así como para la transmisión de audio y vídeo en tiempo real, donde no
es posible realizar retransmisiones por los estrictos requisitos de retardo que se tiene en estos
casos.

Más contenido relacionado

La actualidad más candente

Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosJaziel Torres
 
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en ObjetosTecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en ObjetosTensor
 
SERVIDORES – GNU LINUX
SERVIDORES – GNU LINUXSERVIDORES – GNU LINUX
SERVIDORES – GNU LINUXBenjaminAnilema
 
3 ultimas capas del modelo osi
3 ultimas capas del modelo osi 3 ultimas capas del modelo osi
3 ultimas capas del modelo osi cesartejadab
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
Desarrollo en Capas con .Net
Desarrollo en Capas con .NetDesarrollo en Capas con .Net
Desarrollo en Capas con .NetJorge Ercoli
 
talkapp api para desarrolladores
talkapp api para desarrolladorestalkapp api para desarrolladores
talkapp api para desarrolladorestalkapp
 
Arquitectura de desarrollo web
Arquitectura de desarrollo webArquitectura de desarrollo web
Arquitectura de desarrollo webGiancarlos Perez
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 nivelesLupitha Mendoza
 
Introduccion al middleware
Introduccion al middlewareIntroduccion al middleware
Introduccion al middlewareTensor
 
Comparativa Arquitectura Cliente/Servidor y Distribuida
Comparativa Arquitectura Cliente/Servidor y DistribuidaComparativa Arquitectura Cliente/Servidor y Distribuida
Comparativa Arquitectura Cliente/Servidor y DistribuidaSergio Olivares
 
El servicio http
El servicio httpEl servicio http
El servicio httpEl Vic
 

La actualidad más candente (20)

JDBC
JDBCJDBC
JDBC
 
Diccionario 1
Diccionario 1Diccionario 1
Diccionario 1
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Servicios WEB
Servicios WEBServicios WEB
Servicios WEB
 
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en ObjetosTecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
 
SERVIDORES – GNU LINUX
SERVIDORES – GNU LINUXSERVIDORES – GNU LINUX
SERVIDORES – GNU LINUX
 
RMI
RMIRMI
RMI
 
3 ultimas capas del modelo osi
3 ultimas capas del modelo osi 3 ultimas capas del modelo osi
3 ultimas capas del modelo osi
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Desarrollo en Capas con .Net
Desarrollo en Capas con .NetDesarrollo en Capas con .Net
Desarrollo en Capas con .Net
 
Redes
RedesRedes
Redes
 
talkapp api para desarrolladores
talkapp api para desarrolladorestalkapp api para desarrolladores
talkapp api para desarrolladores
 
Arquitectura de desarrollo web
Arquitectura de desarrollo webArquitectura de desarrollo web
Arquitectura de desarrollo web
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
 
3/9 soa y web services
3/9 soa y web services3/9 soa y web services
3/9 soa y web services
 
Servidor web
Servidor webServidor web
Servidor web
 
Introduccion al middleware
Introduccion al middlewareIntroduccion al middleware
Introduccion al middleware
 
Comparativa Arquitectura Cliente/Servidor y Distribuida
Comparativa Arquitectura Cliente/Servidor y DistribuidaComparativa Arquitectura Cliente/Servidor y Distribuida
Comparativa Arquitectura Cliente/Servidor y Distribuida
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
El servicio http
El servicio httpEl servicio http
El servicio http
 

Destacado

Destacado (8)

Actividad 1 cms
Actividad 1 cmsActividad 1 cms
Actividad 1 cms
 
Proyecto de mercados definitivo
Proyecto de mercados definitivoProyecto de mercados definitivo
Proyecto de mercados definitivo
 
CMS
CMSCMS
CMS
 
Actividad
ActividadActividad
Actividad
 
Sustacias quimicas
Sustacias quimicasSustacias quimicas
Sustacias quimicas
 
University of MN Law School AR2012
University of MN Law School AR2012University of MN Law School AR2012
University of MN Law School AR2012
 
Actividad1 sena
Actividad1 senaActividad1 sena
Actividad1 sena
 
Proyecto de ley
Proyecto de leyProyecto de ley
Proyecto de ley
 

Similar a Diccionario 2

Similar a Diccionario 2 (20)

Clientes servidor
Clientes servidorClientes servidor
Clientes servidor
 
Ug.l moreira
Ug.l moreiraUg.l moreira
Ug.l moreira
 
Sistema.inventario@hotmail.com
Sistema.inventario@hotmail.comSistema.inventario@hotmail.com
Sistema.inventario@hotmail.com
 
Web Services
Web ServicesWeb Services
Web Services
 
COMUNICACIÓN DISTRIBUIDA
COMUNICACIÓN DISTRIBUIDACOMUNICACIÓN DISTRIBUIDA
COMUNICACIÓN DISTRIBUIDA
 
Ug l-moreira
Ug l-moreiraUg l-moreira
Ug l-moreira
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
Qué es jdbc
Qué es jdbcQué es jdbc
Qué es jdbc
 
Percy zelada
Percy zeladaPercy zelada
Percy zelada
 
Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1
 
JDBC
JDBCJDBC
JDBC
 
Ug.l moreira
Ug.l moreiraUg.l moreira
Ug.l moreira
 
Ug l-moreira-e.
Ug l-moreira-e.Ug l-moreira-e.
Ug l-moreira-e.
 
Jdbc
JdbcJdbc
Jdbc
 
T2 - JDBC
T2 - JDBCT2 - JDBC
T2 - JDBC
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado Representacional
 
Web services
Web servicesWeb services
Web services
 
Java DataBase Connectivity
Java DataBase ConnectivityJava DataBase Connectivity
Java DataBase Connectivity
 
Tipos de servidores
Tipos de servidoresTipos de servidores
Tipos de servidores
 
Tipos servidores
Tipos  servidoresTipos  servidores
Tipos servidores
 

Más de castlellanos

Servicios Web.pptx
Servicios Web.pptxServicios Web.pptx
Servicios Web.pptxcastlellanos
 
Induccion en ssoa virtual
Induccion en ssoa  virtualInduccion en ssoa  virtual
Induccion en ssoa virtualcastlellanos
 
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.castlellanos
 

Más de castlellanos (7)

Servicios Web.pptx
Servicios Web.pptxServicios Web.pptx
Servicios Web.pptx
 
Foro.pptx
Foro.pptxForo.pptx
Foro.pptx
 
Induccion en ssoa virtual
Induccion en ssoa  virtualInduccion en ssoa  virtual
Induccion en ssoa virtual
 
Expo
ExpoExpo
Expo
 
Articulo MVC
Articulo MVC Articulo MVC
Articulo MVC
 
Exposicion JSF
Exposicion JSFExposicion JSF
Exposicion JSF
 
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
 

Diccionario 2

  • 1. Java Database Connectivity Más conocida por sus siglas JDBC, es una API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java, independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede, utilizando el dialecto SQL del modelo de base de datos que se utilice. El API JDBC se presenta como una colección de interfaces Java y métodos de gestión de manejadores de conexión hacia cada modelo específico de base de datos. Un manejador de conexiones hacia un modelo de base de datos en particular es un conjunto de clases que implementan las interfaces Java y que utilizan los métodos de registro para declarar los tipos de localizadores a base de datos (URL) que pueden manejar. Para utilizar una base de datos particular, el usuario ejecuta su programa junto con la biblioteca de conexión apropiada al modelo de su base de datos, y accede a ella estableciendo una conexión, para ello provee el localizador a la base de datos y los parámetros de conexión específicos. A partir de allí puede realizar con cualquier tipo de tareas con la base de datos a las que tenga permiso: consulta, actualización, creación, modificación y borrado de tablas, ejecución de procedimientos almacenados en la base de datos, etc. Open DataBase Connectivity (ODBC) Es un estándar de acceso a Bases de datos desarrollado por SQL Access Group en 1992, el objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin importar qué Sistema Gestor de Bases de Datos (DBMS por sus siglas en inglés) almacene los datos, ODBC logra esto al insertar una capa intermedia ( CLI) denominada nivel de Interfaz de Cliente SQL, entre la aplicación y el DBMS, el propósito de esta capa es traducir las consultas de datos de la aplicación en comandos que el DBMS entienda. Para que esto funcione tanto la aplicación como el DBMS deben ser compatibles con ODBC, esto es que la aplicación debe ser capaz de producir comandos ODBC y el DBMS debe ser capaz de responder a ellos. Desde la versión 2.0 el estandar soporta SAG y SQL. El software funciona de dos modos, con un software manejador en el cliente, o una filosofia cliente-servidor. En el primero modo, el driver interpreta las conexiones y llamadas SQL y las traduce desde el API ODBC hacia el DBMS. En el segundo modo para conectarse a la Base de Datos se crea una DSN dentro del ODBC que define los parámetros, ruta y características de la conexión según los datos que solicite el fabricante. JDBC es un derivado inspirado en el mismo, el acrónimo de Java Database Connectivity, un API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de base de datos que se utilice. RMI (Java Remote Method Invocation) Es un mecanismo ofrecido por Java para invocar un método de manera remota. Forma parte del entorno estándar de ejecución de Java y proporciona un mecanismo simple para la comunicación de servidores en aplicaciones distribuidas basadas exclusivamente en Java. Si se requiere comunicación entre otras tecnologías debe utilizarse CORBA o SOAP en lugar de RMI. RMI se caracteriza por la facilidad de su uso en la programación por estar específicamente diseñado para Java; proporciona paso de objetos por referencia (no permitido por SOAP), recolección de basura distribuida (Garbage Collector distribuido) y paso de tipos arbitrarios (funcionalidad no provista por CORBA). A través de RMI, un programa Java puede exportar un objeto, con lo que dicho objeto estará accesible a través de la red y el programa permanece a la espera de peticiones en un puerto TCP. A partir de ese momento, un cliente puede conectarse e invocar los métodos proporcionados por el objeto. La invocación se compone de los siguientes pasos:
  • 2. Encapsulado (marshalling) de los parámetros (utilizando la funcionalidad de serialización de Java). Invocación del método (del cliente sobre el servidor). El invocador se queda esperando una respuesta. Al terminar la ejecución, el servidor serializa el valor de retorno (si lo hay) y lo envía al cliente. El código cliente recibe la respuesta y continúa como si la invocación hubiera sido local. LAMP El acrónimo 'LAMP' se refiere a un conjunto de subsistemas de software necesarios para alcanzar una solución global, en este caso configurar sitios web o servidores dinámicos con un esfuerzo reducido. En las tecnologías LAMP esto se consigue mediante la unión de las siguientes tecnologías: Linux, el sistema operativo; En algunos casos también se refiere a LDAP. Apache, el servidor web; MySQL, el gestor de bases de datos; Perl, PHP, o Python, los lenguajes de programación. La combinación de estas tecnologías es usada primariamente para definir la infraestructura de un servidor web, utilizando un paradigma de programación para el desarrollo. CLIENTE PESADO Se denomina cliente pesado al programa "cliente" de una arquitectura cliente-servidor cuando la mayor carga de cómputo está desplazada hacia la computadora que ejecuta dicho programa. También se conoce como cliente grueso (anteriormente se conocia como cliente rico pero esta acepción ya está en desuso). Un cliente pesado es la antítesis de un cliente liviano (también denominado cliente ligero). CLIENTE LIVIANO Un cliente liviano o cliente ligero (thin client o slim client en inglés) es una computadora cliente o un software de cliente en una arquitectura de red cliente-servidor que depende primariamente del servidor central para las tareas de procesamiento, y principalmente se enfoca en transportar la entrada y la salida entre el usuario y el servidor remoto. En contraste, un cliente pesado hace tanto procesamiento como sea posible y pasa solamente los datos para las comunicaciones y el almacenamiento al servidor. Muchos dispositivos de cliente liviano corrían solamente navegadores web o programas de escritorio remoto, lo que significaba que todo el procesamiento significativo ocurría en el servidor. Sin embargo, dispositivos recientes mercadeados como clientes livianos pueden correr sistemas operativos completos tales como GNU/Linux Debian, calificándolos como nodos sin disco o clientes híbridos. Algunos clientes livianos también son llamados "terminales de acceso". Por consecuencia, el término "cliente liviano", en términos de hardware, ha venido abarcar cualquier dispositivo mercadeado o usado como un cliente liviano en la definición original, incluso si sus capacidades reales son mucho mayores. El término también es a veces usado en un sentido incluso más amplio que incluye nodos sin disco. GRID COMPUTIN La computación grid es una tecnología innovadora que permite utilizar de forma coordinada todo tipo de recursos (entre ellos cómputo, almacenamiento y aplicaciones específicas) que no están sujetos a un control centralizado. En este sentido es una nueva forma de computación distribuida, en la cual los recursos pueden ser heterogéneos (diferentes arquitecturas, supercomputadores, clusters...) y se encuentran conectados mediante redes de área extensa (por ejemplo Internet). Desarrollado en ámbitos científicos a principios de los años 1990, su entrada al mercado comercial siguiendo la idea de la llamada Utility computing supone una revolución que dará mucho que hablar. El término grid se refiere a una infraestructura que permite la integración y el uso colectivo de ordenadores de alto rendimiento, redes y bases de datos que son propiedad y están
  • 3. administrados por diferentes instituciones. Puesto que la colaboración entre instituciones envuelve un intercambio de datos, o de tiempo de computación, el propósito del grid es facilitar la integración de recursos computacionales. Universidades, laboratorios de investigación o empresas se asocian para formar grid para lo cual utilizan algún tipo de software que implemente este concepto. AJP El Apache JServ Protocol (AJP) es, en el contexto de la World Wide Web un protocolo binario que permite enviar solicitudes desde un servidor web a un servidor de aplicaciones que se encuentra detrás del servidor web. También permite monitoreo dado que el servidor web puede enviar un ping al servidor de aplicación. El protocolo AJP suele utilizarse en un despliegue de balance de carga en el que uno o más servidores web front-end envían solicitudes a uno o varios servidores de aplicaciones. Las sesiones se redirigen al servidor de aplicaciones correcto utilizando un mecanismo de enrutación en el que cada servidor de aplicaciones recibe un nombre (denominado ruta). AJP funciona en Servidor HTTP Apache 1.x utilizando el plugin mod jk y en el Apache 2.2 utilizando los módulos proxy ajp, proxy y proxy balancer. El servidor Apache está programado en C y el servidor de aplicaciones normalmente en Java. PATRON OBSERVADOR El patrón Observador (en inglés: Observer) también conocido como "spider" define una dependencia del tipo uno-a-muchos entre objetos, de manera que cuando uno de los objetos cambia su estado, el observador se encarga de notificar este cambio a todos los otros dependientes. El objetivo de este patrón es desacoplar la clase de los objetos clientes del objeto, aumentando la modularidad del lenguaje, así como evitar bucles de actualización (espera activa o polling). Este patrón también se conoce como el patrón de publicación-inscripción o modelo-patrón. Estos nombres sugieren las ideas básicas del patrón, que son bien sencillas: el objeto de datos, llamémoslo "Sujeto" a partir de ahora, contiene atributos mediante los cuales cualquier objeto observador o vista se puede suscribir a él pasándole una referencia a sí mismo. El Sujeto mantiene así una lista de las referencias a sus observadores. Los observadores a su vez están obligados a implementar unos métodos determinados mediante los cuales el Sujeto es capaz de notificar a sus observadores "suscritos" los cambios que sufre para que todos ellos tengan la oportunidad de refrescar el contenido representado. De manera que cuando se produce un cambio en el Sujeto, ejecutado, por ejemplo, por alguno de los observadores, el objeto de datos puede recorrer la lista de observadores avisando a cada uno. PATRON SINGLETON El patrón de diseño singleton (instancia única) está diseñado para restringir la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto. Su intención consiste en garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella. El patrón singleton se implementa creando en nuestra clase un método que crea una instancia del objeto sólo si todavía no existe alguna. Para asegurar que la clase no puede ser instanciada nuevamente se regula el alcance del constructor (con atributos como protegido o privado). La instrumentación del patrón puede ser delicada en programas con múltiples hilos de ejecución. Si dos hilos de ejecución intentan crear la instancia al mismo tiempo y esta no existe todavía, sólo uno de ellos debe lograr crear el objeto. La solución clásica para este problema es utilizar exclusión mutua en el método de creación de la clase que implementa el patrón. TCP
  • 4. Transmission Control Protocol (en español Protocolo de Control de Transmisión) o TCP, es uno de los protocolos fundamentales en Internet. Fue creado entre los años 1973 y 1974 por Vint Cerf y Robert Kahn. Muchos programas dentro de una red de datos compuesta por computadoras pueden usar TCP para crear conexiones entre ellos a través de las cuales puede enviarse un flujo de datos. El protocolo garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. También proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina, a través del concepto de puerto. TCP da soporte a muchas de las aplicaciones más populares de Internet (navegadores, intercambio de ficheros, clientes ftp, ...) y protocolos de aplicación HTTP, SMTP, SSH y FTP. UDP User Datagram Protocol (UDP) es un protocolo del nivel de transporte basado en el intercambio de datagramas (Paquete de datos). Permite el envío de datagramas a través de la red sin que se haya establecido previamente una conexión, ya que el propio datagrama incorpora suficiente información de direccionamiento en su cabecera. Tampoco tiene confirmación ni control de flujo, por lo que los paquetes pueden adelantarse unos a otros; y tampoco se sabe si ha llegado correctamente, ya que no hay confirmación de entrega o recepción. Su uso principal es para protocolos como DHCP, BOOTP, DNS y demás protocolos en los que el intercambio de paquetes de la conexión/desconexión son mayores, o no son rentables con respecto a la información transmitida, así como para la transmisión de audio y vídeo en tiempo real, donde no es posible realizar retransmisiones por los estrictos requisitos de retardo que se tiene en estos casos.