Professional Documents
Culture Documents
INVESTIGACION UNIDAD 1
Contexto de la programacin cliente-servidor
Hora: 13 a 14
PRESENTA:
ALDANA FERNANDEZ ISMAEL
No. DE CONTROL:
11010383
PROFESOR:
PELAEZ CAMARENA SILVESTRE GUSTAVO
Contenido
Introduccin........................................................................................................ 3
Desarrollo............................................................................................................ 3
1.1. Arquitectura cliente/servidor........................................................................3
Elementos de la arquitectura cliente/servidor.................................................4
El servidor..................................................................................................... 5
El cliente....................................................................................................... 5
El Middleware............................................................................................... 5
El funcionamiento bsico................................................................................. 6
1.2 Modelos de dos y tres capas.........................................................................7
Arquitectura en 2 niveles................................................................................. 7
Arquitectura en 3 niveles................................................................................. 7
Comparacin entre ambos tipos de arquitecturas...........................................8
1.3 Usos y Aplicaciones....................................................................................... 8
1.4 Comunicacin entre programas....................................................................9
1.5. Modelos de computacin distribuida..........................................................11
1.5.1. RMI.......................................................................................................... 11
La arquitectura RMI puede verse como un modelo de cuatro capas..............12
Primera capa............................................................................................... 12
Segunda capa............................................................................................. 12
Tercera capa............................................................................................... 12
Cuarta Capa................................................................................................ 12
1.5.2. COM/DCOM............................................................................................. 13
La arquitectura DCOM.................................................................................... 13
1.5.3. Servicios Web.......................................................................................... 14
La interoperabilidad puede ser de 3 tipos:....................................................15
1.5.4. Otros....................................................................................................... 16
Conclusin........................................................................................................ 17
Referencias....................................................................................................... 17
Introduccin
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 cliente-servidor). 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. Es ms sencillo realizar el
mantenimiento y la seguridad de unos servidores situados en un mismo lugar, y
ms simple el proceso de realizacin de copias de seguridad, siempre que los
datos se encuentren en una nica ubicacin y una misma autoridad los gestione.
Desarrollo
1.1. Arquitectura cliente/servidor
La arquitectura cliente/servidor persigue el objetivo de procesar la informacin
de un modo distribuido. De esta forma, los usuarios finales pueden estar
dispersos en un rea geogrfica ms o menos extensa (un edificio, una
localidad, un pas,) y acceder a un conjunto comn de recursos compartidos.
Adems, el acceso debe ser transparente (el cliente puede desconocer la
ubicacin fsica del recurso que pretende utilizar) y, preferiblemente,
multiplataforma, es decir, independiente del sistema operativo, del software de
aplicacin e incluso del hardware.
En definitiva, cuando hablamos de la implantacin de una arquitectura
cliente/servidor, nos referimos a un sistema de informacin distribuido.
acoplados,
ya
que
interactan
De lo dicho hasta ahora, podemos deducir que los principales elementos que
conforman la arquitectura cliente/servidor son los siguientes:
El servidor
Cuando hablamos de una forma genrica, si mencionamos a un servidor, nos
referimos a un ordenador, normalmente con prestaciones elevadas, que
ejecuta servicios para atender las demandas de diferentes clientes.
Sin embargo, bajo el punto de vista de la arquitectura cliente/servidor, un
servidor es un proceso que ofrece el recurso (o recursos) que administra a los
clientes que lo solicitan (consultar la definicin de cliente ms abajo).
Es muy frecuente que, para referirse a un proceso servidor, se utilice el
trmino back-end.
Segn el tipo de servidor implantado, tendremos un tipo de arquitectura
cliente/servidor diferente.
Por ltimo, mencionar que en algunas ocasiones, un servidor puede actuar, a
su vez, como cliente de otro servidor.
El cliente
Igual que antes, al hablar de forma genrica sobre un cliente, nos referimos a
un ordenador, normalmente con prestaciones ajustadas, que requiere los
servicios de un equipo servidor.
Sin embargo, bajo el punto de vista de la arquitectura cliente/servidor, un
cliente es un proceso que solicita los servicios de otro, normalmente a peticin
de un usuario.
En entornos cliente/servidor, suele utilizarse el trmino front-end para referirse
a un proceso cliente.
Normalmente, un proceso cliente se encarga de interactuar con el usuario, por
lo que estar construido con alguna herramienta que permita implementar
interfaces grficas (GUI). Adems, se encargar de formular las solicitudes al
servidor y recibir su respuesta, por lo que deber encargarse de una parte de
la lgica de la aplicacin y de realizar algunas validaciones de forma local.
El Middleware
Es la parte del software del sistema que se encarga del transporte de los
mensajes entre el cliente y el servidor, por lo que se ejecuta en ambos lados de
la estructura.
El middleware permite independizar a los clientes y a los servidores, sobre
todo, gracias a los sistemas abiertos, que eliminan la necesidad de supeditarse
a tecnologas propietarias.
El funcionamiento bsico
Aunque es probable que a estas alturas ya te hagas una idea sobre el
funcionamiento general del modelo cliente/servidor, vamos a concretarlo a
continuacin:
1. Lo primero que debe ocurrir es que se inicie el servidor. Esto ocurrir
durante el arranque del sistema operativo o con la intervencin posterior
del administrador del sistema. Cuando termine de iniciarse, esperar de
forma pasiva las solicitudes de los clientes.
2. En algn momento, uno de los clientes conectados al sistema realizar
una solicitud al servidor.
3. El servidor recibe la solicitud del cliente, realiza cualquier verificacin
necesaria y, si todo es correcto, la procesa.
4. Cuando el servidor disponga del resultado solicitado, lo enva al cliente.
5. Finalmente, el cliente recibe el resultado que solicit. A continuacin
realiza las comprobaciones oportunas (si son necesarias) y, si era ese el
objetivo final, se lo muestra al usuario.
Arquitectura en 3 niveles
En la arquitectura en 3 niveles, existe un nivel intermediario. Esto significa que la
arquitectura generalmente est compartida por:
ISMAEL ALDANA FERNANDEZ
1. Un cliente, es decir, el equipo que solicita los recursos, equipado con una
interfaz de usuario (generalmente un navegador Web) para la presentacin
2. El servidor de aplicaciones (tambin denominado software intermedio),
cuya tarea es proporcionar los recursos solicitados, pero que requiere de
otro servidor para hacerlo
3. El servidor de datos, que proporciona al servidor de aplicaciones los datos
que requiere
permite:
Un mayor grado de
flexibilidad
Mayor seguridad, ya
que
seguridad
se
puede
independientemente para
la
definir
cada servicio
y en cada nivel
Mejor rendimiento, ya
que
las
funcionan
como
elementos
de
10
1.5.1. RMI
RMI (Java Remote Method Invocation) es un mecanismo ofrecido por Java para
invocar un mtodo de 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
ISMAEL ALDANA FERNANDEZ
11
12
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.
La arquitectura DCOM
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.
La Figura 1 ilustra esto en la notacin de COM
13
En los actuales sistemas operativos, los procesos estn separados unos de otros.
Un cliente que necesita comunicarse con un componente en otro proceso no
puede llamarlo directamente, y tendr que utilizar alguna forma de comunicacin
entre procesos que proporcione el sistema operativo. COM proporciona este tipo
de comunicacin de una forma transparente: intercepta las llamadas del cliente y
las reenva al componente que est en otro proceso.
La Figura 2 ilustra como las libreras de COM/DCOM proporcionan la forma de
comunicar el cliente y el componente:
14
15
SOAP (Simple Object Access Protocol): establece la forma en que dos objetos
en diferentes procesos pueden comunicarse mediante el intercambio de datos en
lenguaje XML.
UDDI (Universal Description, Discovery and Integration): lista los servicios web
y los pone a disposicin de los usuarios.
WDSL (Web Services Description Language): permite que los servicios web
describan cmo deben ser tratados por otras aplicaciones.
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.
16
Conclusin
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.
Referencias
Loger, A. (s.f.). Desarrollo de aplicaciones web. Obtenido de
http://alog78503.blogspot.mx/2013/02/121-aplicaciones-de-23-y-ncapas_25.html
Vignaga, A. (s.f.). Universidad de la Repblica, Facultad de Ingeniera. Obtenido
de
http://moodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/LP/AM/01/Arquitectur
as_y_tecnologias_para_el_desarrollo_de_aplicaciones_web.pdf
17
18