Académique Documents
Professionnel Documents
Culture Documents
Unidad 1
1. Contexto de la programacin cliente/servidor
1.1 Arquitectura del modelo cliente/servidor
1.2 Modelos de dos y tres capas
1.3 Usos y aplicaciones
1.4 Comunicacin entre programas
1.5 Modelos de computacin distribuida
1.5.1 RMI
1.5.2 DCOM
1.5.3 Web Services
Referencias
Cliente
El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos
al servidor, se le conoce con el trmino front-end. El Cliente normalmente maneja
todas las funciones relacionadas con la manipulacin y despliegue de datos, por lo que
estn desarrollados sobre plataformas que permiten construir interfaces grficas de
usuario (GUI), adems de acceder a los servicios distribuidos en cualquier parte de
una red.
Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos:
Servidor
Es el proceso encargado de atender a mltiples clientes que hacen peticiones de
algn recurso administrado por l. Al proceso servidor se le conoce con el trmino
back-end.
El servidor normalmente maneja todas las funciones relacionadas con la mayora de
las reglas del negocio y los recursos de datos.
Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes
puntos:
Ejercicios
PLD
Las aplicaciones de software presentan tres aspectos fundamentales: debe hacer que
los datos sean persistentes (D), debe procesarlos en forma acorde a la lgica de
negocios (L), y debe presentarlos adecuadamente a los usuarios (P).
Las aplicaciones en 1 capa (P+L+D), donde no se distingue una separacin lgica de
estos tres aspectos, son muy grandes, difciles de mantener, de distribuir,
incompatibles con la arquitectura cliente/servidor, pesadas y con gran consumo de
recursos.
Un primer acercamiento a la distribucin de las responsabilidades de la aplicacin en
dos unidades lgicas fue la arquitectura en 2 capas.
Por ltimo, en la actualidad se tiende a desarrollar aplicaciones con arquitectura en 3
capas, donde cada uno de los aspectos se corresponde a una unidad lgica.
Arquitectura en 2 Capas
Un arquitectura en 2 capas distribuye la aplicacin en dos componentes lgicos. Las
responsabilidades de cada componente hacen a las variantes de esta arquitectura.
Surge la arquitectura en 2 capas como consecuencia de la arquitectura
cliente/servidor. Esta topologa permite distribuir la carga de la aplicacin a dos
computadores diferentes, lo que llev naturalmente a distribuir las responsabilidades
de la misma a dos unidades lgicas.
Arquitectura P+L/D
Una primer variante es retirar el manejo de datos de la aplicacin. Esto permite a
varios clientes utilizar el mismo juego de datos. P+L es una unidad lgica por s, donde
el manejo de interfaz de usuario y el manejo de la lgica no se los distingue como
mdulos independientes. Tpicamente P+L se encuentra en el cliente, mientras que D
se encuentra en el servidor.
Un ejemplo de aplicaciones con esta arquitectura es una aplicacin que delega la
persistencia a un manejador de base de datos.
Arquitectura P/L+D
El hecho de tener la misma lgica en cada cliente permiti factorizarla, llevando la
misma al servidor.
Aqu la lgica de la aplicacin se encuentra embebida al manejo de la persistencia de
datos. En este tipo de aplicaciones la lgica resuelve los problemas de persistencia
encargndose ella misma de dicha tarea, no necesariamente utilizando un manejador
de base de datos, o embebiendo toda la lgica de negocios en el mismo.
Arquitectura P+L/L+D
Una tercer variante es repartir la tarea de la lgica, una parte junto a la interfaz de
usuario, y otro junto al manejo de persistencia de datos.
Un ejemplo de aplicaciones con esta arquitectura son aplicaciones similares a las que
tienen arquitectura P+L/D, que tienen implementada parte de la lgica en
procedimientos almacenados en el manejador de la base de datos.
Ejercicios
1. Analiza y enlista cinco sistemas que conozcas que pudieran estar usando el
modelo de dos capas. Especfica segn tu punto de vista con cul de las tres
variantes de la arquitectura de dos capas est diseada cada una de las
aplicaciones listadas.
2. Segn tu criterio, enlistar tres desventajas de la arquitectura en 2 capas del
modelo cliente/servidor.
Arquitectura en 3 Capas
Capa de persistencia:
Ejercicios
1. Escribe tres ventajas de la arquitectura en tres capas respecto a la arquitectura
con dos capas.
2. Retomando el sistema realizado en la materia de Desarrollo e Implementacin
de Sistemas de Informacin, especifica qu partes del sistema se tendran que
agrupar o separar para conformar una arquitectura cliente/servidor de tres
capas. Realiza un diagrama para ilustrarlo.
Componentes Grficos
Contenido Esttico
20 para ftp-data
21 para ftp
79 para finger
Algunos servers pueden definir otros puertos, e inclusive pueden utilizarse puertos
disponibles para establecer conexiones especiales.
mensajes que se le enven y a su vez, los enva al objeto remoto, el cual invoca sus
mtodos apropiados. El resultado de la invocacin de los mtodos en el objeto remoto
se enva de regreso al stub local, que los remite al emisor original de la llamada.
1.5.2 DCOM
A principios de los aos 90, Microsoft realiz un gran esfuerzo en promover OLE en
sus siglas en ingls que se podra traducir como incrustacin y vinculacin de objetos.
La necesidad de hacer esto naci del deseo de los usuarios de computadoras
personales de elaborar documentos que incluyeran tanto texto como grficas y tablas.
Dado que cada programa es especialista en alguna tarea, por ejemplo un procesador
de texto sirve para manejar texto, los programas de hojas de clculo sirven para el
manejo de tablas y nmeros y los de diseo para grficas, etc.; era difcil incrustar los
resultados de uno en otro.
Rpidamente Microsoft reconoci la necesidad de un mecanismo estndar de
empaquetamiento de componentes si quera que OLE fuera exitoso. Era crucial que
estos componentes fueran independientes de lenguajes para que se pudieran
desarrollar con cualquier lenguaje e incrustarse en otro componente escrito en otro
lenguaje tal vez.
Microsoft cre COM (Component Object Model) modelo de objetos componentes, que
es un estndar para la creacin y comunicacin entre componentes pero dentro de la
misma mquina. Al final de 1996, Microsoft introdujo DCOM (La D es de distribuido) un
conjunto de extensiones a COM que permite distribuir a los objetos COM en varias
computadoras en la red,. Ha existido una lentitud en que aparezca COM en
plataformas diferentes a Windows, debido a esto, regularmente se identifica a COM
como una arquitectura de componentes en lugar de una arquitectura de componentes
remotos o distribuidos; sin embargo, COM tiene mucho que ofrecer en este sentido,
especialmente cuando se trabaja en ambientes Windows.