MATERIA:
PROGRAMACION EN AMBIENTE CLIENTE-SERVIDOR
PROFESOR:
LIC. ISIDRO LOPEZ RUIZ
PRESENTA:
ALEXIS GIRON CABRERA
ABRAHAM GOMEZ MORALES
ADULJAMITH ROJAS PEREZ
INVESTIGACION 1 UNIDAD:
CONTEXTO DE LA PROGRAMACION CLIENTE/SERVIDOR
CARRERA:
ING. EN INFOMATICA
7: SEMESTRE GRUPO: B
PROGRAMACION EN
AMBIENTE CLIENTESERVIDOR
Es un modelo para construir sistemas de informacin, que se sustenta en la idea de repartir el tratamiento de la informacin y
los datos por todo el sistema informtico, permitiendo mejorar el rendimiento del sistema global de informacin.
En trminos de arquitectura:
Los distintos aspectos que caracterizan a una aplicacin (proceso, almacenamiento, control y operaciones de entrada y salida
de datos) en el sentido ms amplio, estn situados en ms de un computador, los cuales se encuentran interconectados
mediante una red de comunicaciones.
Cliente/Servidor
Es la tecnologa que proporciona al usuario final el acceso transparente a las aplicaciones, datos, servicios de cmputo o
cualquier otro recurso del grupo de trabajo y/o, a travs de la organizacin, en mltiples plataformas. El modelo soporta un
medio ambiente distribuido en el cual los requerimientos de serviciohechos por estaciones de trabajo inteligentes o "clientes'',
resultan en un trabajo realizado por otros computadores llamados servidores".
QU ES UNA ARQUITECTURA?
Una arquitectura es un entramado de componentes funcionales que aprovechando
diferentes estndares, convenciones, reglas y procesos, permite integrar una amplia gama
de productos y servicios informticos, de manera que pueden ser utilizados eficazmente
dentro de la organizacin.
Debemos sealar que para seleccionar el modelo de una arquitectura, hay que partir del
contexto tecnolgico y organizativo del momento y, que la arquitectura Cliente/Servidor
requiere una determinada especializacin de cada uno de los diferentes componentes
que la integran.
La arquitectura cliente-servidor define una relacin entre
el usuario de una estacin de trabajo (el cliente frontal) y un servidor posterior de
archivos, impresin, comunicaciones o fax, u otro tipo de sistema proveedor de servicios.
El cliente debe ser un sistema inteligente con su propia capacidad de procesamiento
para descargar en parte al sistema posterior (sta es la base del modelo clienteservidor). Esta relacin consiste en una secuencia de llamadas seguidas de respuestas.
Situar servicios de archivos (u otro tipo de servicios) en sistemas posteriores dedicados
tiene muchas ventajas.
EL ESQUEMA DE FUNCIONAMIENTO DE UN
SISTEMA CLIENTE/SERVIDOR SERA:
El cliente solicita una informacin al
servidor.
El servidor recibe la peticin del
cliente.
El servidor procesa dicha solicitud.
El servidor enva el resultado obtenido
al cliente.
El cliente recibe el resultado y lo
procesa.
COMPONENTES DE LA ARQUITECTURA
CLIENTE/SERVIDOR
El proceso cliente que es quien inicia el dilogo, el proceso servidor que pasivamente espera
a que lleguen peticiones de servicio y el middleware que corresponde a la interfaz que
provee la conectividad entre el cliente y el servidor para poder intercambiar mensajes.
Para entender en forma ms ordenada y clara los conceptos y elementos involucrados en
esta tecnologa se puede aplicar una descomposicin o arquitectura de niveles.
1.5.1. RMI
RMI(Java Remote Method Invocation) es un mecanismo ofrecido porJavapara
invocar unmtodode manera remota. Forma parte del entorno estndar de
ejecucin de Java y proporciona un mecanismo simple para la comunicacin de
servidores en aplicaciones distribuidas basadas exclusivamente en Java. Si se
requiere comunicacin entre otras tecnologas debe utilizarseCORBAoSOAPen
lugar de RMI.
RMI se caracteriza por la facilidad de su uso en la programacin por estar
especficamente diseado para Java; proporciona paso de objetos por referencia
(no permitido por SOAP),recoleccin de basura distribuida y paso de tipos
arbitrarios (funcionalidad no provista por CORBA).
A travs de RMI, un programa Java puede exportar unobjeto, con lo que dicho
objeto estar accesible a travs de la red y el programa permanece a la espera de
peticiones en unpuerto TCP. A partir de ese momento, un cliente puede conectarse
e invocar los mtodos proporcionados por el objeto.
La primera capa es la de aplicacin y se corresponde con la implementacin real de las aplicaciones cliente y
servidor. Aqu tienen lugar las llamadas a alto nivel para acceder y exportar objetos remotos. Cualquier
aplicacin que quiera que sus mtodos estn disponibles para su acceso por clientes remotos debe declarar
dichos mtodos en unainterfazque extienda java.rmi.Remote.
Segunda capa
La capa 2 es la capa proxy, o capa stub-skeleton. Esta capa es la que interacta directamente con la capa de
aplicacin. Todas las llamadas a objetos remotos y acciones junto con sus parmetros y retorno de objetos
tienen lugar en esta capa.
Tercera capa
La capa 3 es la de referencia remota, y es responsable del manejo de la parte semntica de las invocaciones
remotas. Tambin es responsable de la gestin de la replicacin de objetos y realizacin de tareas especficas de
la implementacin con los objetos remotos, como el establecimiento de las persistencias semnticas y
estrategias adecuadas para la recuperacin de conexiones perdidas. En esta capa se espera una conexin de
tipo stream desde la capa de transporte.
Cuarta Capa
La capa 4 es la de transporte. Es la responsable de realizar las conexiones necesarias y manejo del transporte
de los datos de una mquina a otra. El protocolo de transporte subyacente para RMI es JRMP (Java Remote
Method Protocol), que solamente es "comprendido" por programas Java.
1.5.2. COM/DCOM.
Microsoft Distributed COM (DCOM) extiende COM (Component Object Model) para
soportar comunicacin entre objetos en ordenadores distintos, en una LAN, WAN, o
incluso en Internet. Con DCOM una aplicacin puede ser distribuida en lugares que
dan ms sentido al cliente y a la aplicacin.
Como DCOM es una evolucin lgica de COM, se pueden utilizar los componentes
creados en aplicaciones basadas en COM, y trasladarlas a entornos distribuidos.
DCOM maneja detalles muy bajos de protocolos de red, por lo que uno se puede
centrar en la realidad de los negocios: proporcionar soluciones a clientes.
DCOM es una extensin de COM, y ste define como los componentes y sus
clientes interactan entre s. Esta interaccin es definida de tal manera que el
cliente y el componente pueden conectar sin la necesidad de un sistema
intermedio. El cliente llama a los mtodos del componente sin tener que
preocuparse de niveles ms complejos.
1.5.4. OTROS.
Modelo cliente-servidor: Es el modelo ms utilizado para realizar aplicaciones distribuidas. Existe un proceso
servidor y uno o varios procesos clientes. Este modelo se utiliza en muchos servicios de Internet como HTTP,
FTP, DNS... Este concepto tambin puede aplicarse a los ordenadores servidor o cliente, cuyo nombre se debe a
que la ejecucin de la mayora de sus procesos son de tipo servidor o de tipo cliente.
Peer-to-peer: En el modelo cliente-servidor hay una clara diferenciacin. El servidor ofrece a los clientes
servicios y los clientes utilizan estos servicios. En sistemas P2P los procesos que participan en la comunicacin
realizan los mimos papeles: de cliente y de servidor. Este sistema est ms asociado a lo que es la informtica
distribuida, ya que se olvida de la centralizacin y tiene un sistema ms dinmico y descentralizado.
Cluster: es un conjunto de ordenadores conectados por una red de alta velocidad (Gigabit Ethernet, Myrineto
InfiniBand). Los computadores individuales pueden ser PC convencionales que se instalan en un rack. Todos los
ordenadores trabajan como un nico recurso de computacin, mostrndose como un nico sistema. En un
cluster todos los ordenadores comparten los discos y los distintos ordenadores que lo forman estn
continuamente monitorizando para detectar posibles fallos de hardware. Si se detecta un fallo, se planifica el
trabajo del nodo errneo en otro ordenador, de forma que el usuario no percibe la parada del servicio. Los
cluster se realizan mediante un middleware que gestiona todo. Un cluster puede ser homogneo (misma
arquitectura, SO...) o heterogneo (distintos entornos, middlewares ms complejos).
Grid: El concepto de grid, es similar al concepto de cluster. La principal diferencia con un entorno cluster, es
que en un entorno grid, los diferentes computadores del grid no pertenecen a un mismo dominio de
administracin y por tanto estn sujetos a diferentes polticos de uso y de administracin. La primera mencin,
y su definicin viene dada por Ian Foster: "Un sistema que coordina recursos, que no estn sujetos a un control
centralizado usando interfaces y protocolos estndares, abiertos y de propsito general para proveer de
servicios relevantes".