2. Modelo Cliente Servidor
• El modelo arquitectónico cliente-servidor es
un modelo de sistema en el que dicho
sistema organiza como un conjunto de
servicios y servidores asociados, más
unos clientes que acceden y usan los
servicios.
4. 1er Componente del Modelo Cliente-Servidor.
1. Un conjunto de servidores que ofrecen servicios a otros
subsistemas.
Ejemplos:
• Servidores de ficheros
• Servidores de impresoras
• Servidores de compilación
5. 2º Componente del Modelo Cliente-Servidor
2. Un conjunto de clientes que llaman a los
servicios ofrecidos por los servidores. Estos son
normalmente subsistemas en si mismos. Puede
haber varias instancias de un programa
ejecutándose concurrentemente.
6. 3er Componente del Modelo Cliente-Servidor
3. Una red que permite a los clientes
acceder a estos servicios. En la práctica,
sin embargo, la mayoría de los sistemas
cliente-servidor se implementan como un
sistemas distribuidos.
7. Modelo Clientes-Servidor
• Los clientes pueden conocer el nombre de los servidores
disponibles y los servicios que éstos proporcionan.
• Los servidores no necesitan conocer la identidad de los
clientes o cuantos clientes tienen.
8. Modelo Clientes-Servidor
• Los clientes acceden a los servicios
proporcionados por un servidor a través de
llamadas a procedimientos remotos usando
un protocolo http usando en la WWW.
9. EJEMPLO DE UN SISTEMA BASADO
EN EL MODELO CLIENTE-SERVIDOR
• Arquitectura de un Sistema de biblioteca y fotografía.
10. Ventajas mas importantes del modeloCliente-Servidor
Es una arquitectura distribuida.
Se puede hacer un uso efectivo de los sistemas en red
con muchos procesadores distribuidos.
Es fácil añadir un nuevo servidor e integrarlo con el resto
del sistema o actualizar los servidores de forma
transparente sin afectar al resto del sistema
12. Arquitectura cliente servidor
Es un modelo para el desarrollo de sistemas
de información en donde las transacciones
se dividen en procesos independientes que
cooperan entre si para intercambiar
información. La arquitectura cliente servidor
consta de un cliente que solicita servicios de
un servidor en red y un servidor de base de
datos que proporciona un servicio al cliente
y devuelve resultados.
13. Razones para utilizar la arquitectura
cliente servidor en las aplicaciones
• Bajo precio/Alto rendimiento de las estaciones de trabajo
y del servidor.
• La creciente necesidad de acceso a la información para
la toma de decisiones.
• La necesidad de constar con una aplicación que soporte
los procesos académicos, ajustados según la estructura
organizativa.
• Utilizar las tecnologías y herramientas en el desarrollo de
la aplicación.
14. Ventajas: modernización, dar respuesta rápida a las
necesidades del negocio que se modela y brindar un mejor
servicio.
Beneficios
• Disminución del costo y tiempo en el entrenamiento del
personal, gracias a las interfaces graficas de la
aplicación.
• La interfaz de usuario ofrece una forma homogénea de
presentar los datos, independientemente de la ubicación
de la información y los cambios.
• Acceso a la información cuando y donde los usuarios lo
necesiten.
• Reduce el trafico de la red, lo que permite soportar
mayor numero de usuarios, la razón es que los servidores
controlan los datos, procesan peticiones y transfieren solo
los datos requeridos al proceso cliente.
15. En la arquitectura cliente-servidor
¿Que es el Cliente?
Conjunto de Software y Hardware que invoca los servicios
de uno o varios servidores.
Características:
El Cliente oculta al Servidor y la Red.
Detecta e intercepta peticiones de otras aplicaciones y
puede redirigirlas.
Dedicado a la cesión del usuario ( Inicia...Termina ).
El método más común por el que se solicitan los servicios es
a través de RPC (Remote Procedure Calls).
Funciones Comunes del Cliente:
Mantener y procesar todo el dialogo con el usuario.
Manejo de pantallas.
Menús e interpretación de comandos.
Entrada de datos y validación.
Procesamiento de ayudas.
Recuperación de errores.
16. ¿Qué es el Servidor?
Conjunto de Hardware y Software que responde a los requerimientos
de un cliente.
Tipos Comunes de Servidores:
Servidor de Archivos.
Servidor de Bases de Datos (SQL, CBASE, ORACLE, INFORMIX).
Servidor de Comunicaciones
Servidor de Impresión.
Servidor de Terminal.
Servidor de Aplicaciones.
Funciones Comunes del Servidor:
Acceso, almacenamiento y organización de datos.
Actualización de datos almacenados.
Administración de recursos compartidos.
Ejecución de toda la lógica para procesar una transacción.
Procesamiento común de elementos del servidor (Datos, capacidad
de CPU, almacenamiento en disco, capacidad de impresión, manejo
de memoria y comunicación).
En la arquitectura cliente-servidor
17. Red de comunicación.
Es todo aquel conjunto de elementos basados en hardware y
software que permite establecer un enlace entre los clientes y los
servidores, se clasifican por su tamaño LAN, MAN y WAN.
Características de la comunicación:
A través de este medio, el cliente debe localizar e iniciar la
comunicación con el servidor.
No se utiliza la metodología de compartición de archivos, ya que
todos los accesos a la información se llevan a cabo a través de
peticiones por medio de comunicación.
Debido a que los programas de manejo y control de información
(Archivos y bases de datos solo se envían y reciben los resultados de
las operaciones (Tráfico igual a Datos leídos o escritos).
Debido a la flexibilidad de establecer sesiones con múltiples
servidores y manejo de información en varias bases de datos (en
sitios remotos es requerido el uso de estilos transaccionales y
cooperativos).
En la arquitectura cliente-servidor
19. Tipos de Arquitecturas en tecnologías cliente-
servidor
• Aplicaciones mono-capa:
Tanto los datos de aplicación como la interfaz como la
lógica de modelo residen en una misma identidad.
20. • Se separan 2 de las tres capas. El cliente aún puede
integrar parte de la funcionalidad del sistema.
21. Ventajas de este modelo:
Se mantiene una conexión
persistente con la base de
datos.
Se minimizan las
peticiones en el servidor
trasladándose la mayor
parte del trabajo al
cliente.
Se gana en
rendimiento gracias a la
conexión directa y
permanente con la base
de datos. A través de
una única conexión se
realiza el envío y
recepción de varios
datos.
Inconvenientes:
Esta solución es muy
dependiente del tipo controlador
JDBC que se utilice para acceder
a la base de datos.
El acceso se realiza desde el
cliente y esto significa que es él el
que tiene que tener instalado en
su sistema los controladores
necesarios para que se produzca
la comunicación con la base de
datos.
Además hay que tener en
cuenta que el modelo de
seguridad de Java impide que
desde un applet sin validar (lo que
se conoce como untrusted applet),
como lo son la mayoría de los que
se ejecutan en un navegador,
22. Aplicaciones de 3 capas
• Creamos un cliente “tonto” que carece de toda lógica de
negocio y apenas ofrece alguna funcionalidad más que la
de visión y petición de datos.
23. Toda aplicación cliente servidor presenta tres
capas bien definidas
• La capa de presentación, representa las interfaces
graficas a través del cual el usuario interactúa con la
aplicación.
• La capa de lógica del negocio, representa un conjunto de
condiciones que rigen la aplicación.
• La capa de datos, representa al conjunto de datos al que
accederá la aplicación e involucra la administración de la
base de datos.
24. Las diferentes capas suelen ser:
– Capa 1 : Cliente de aplicación
Ejemplos: Set-top box, navegador Web
– Capa 2 : Servidor de Aplicaciones
Ejemplo: Servidor Tomcat con servlet’s
– Capa 3 : Servidor de Datos
Ejemplo: Base de datos, servidor SMTP…
25. Ventajas de este modelo:
No existe ningún problema con respecto
al tipo de controlador JDBC utilizado
para acceder a la base de datos. Todos
los recursos necesarios para establecer
la conexión con la base de datos se
encuentran en el servidor y por tanto, el
cliente no necesita instalar nada
adicional en su máquina para poder
acceder a la base de datos.
Esta arquitectura proporciona
considerables mejoras desde el punto
de vista de la portabilidad de la
aplicación, escalabilidad, robustez y
reutilización del código. Asimismo
facilita las tareas de migración o
cambios en el sistema gestor de la base
de datos.
Desaparecen las restricciones debidas
a las limitaciones de los applets
impuestas por el modelo de seguridad
de Java.
Inconvenientes:
Esta solución es algo menos
eficiente que la del modelo de
dos capas, ya que hemos
añadido una capa intermedia
más de software.
Aplicaciones de 3 capas
26. Arquitectura de dos niveles
El procesamiento del cliente se complementa con el
procesamiento del servidor.
• La lógica del negocio es implementada a través de los
“Stores Procedures” y los “Triggers”, asociados al
servidor de base de datos.
• Este modelo presenta dos variantes:
a) Modelo de cliente Inteligente
En el proceso del cliente se implementa la lógica del negocio y las
interacciones del usuario con el sistema. El servidor solo es responsable
del manejo de los datos.
b) Modelo de servidor Inteligente
La lógica del negocio y la administración de los datos ocurren en el
servidor. El cliente solo es responsable de la presentación de los dato
27. Arquitectura de tres niveles
Cada una de las capas de la aplicación se puede
ejecutar en procesos separados
La lógica de la aplicación es encapsulada en
componentes administrados por un servidor de procesos
y los datos son administrados bajo un software
manejador de base de datos, ambos funcionando en el
mismo servidor o en varios.
28. Arquitectura de N capas
Windows DNA distribuye una aplicación entre varias
capas llamadas niveles. Aunque los niveles algunas
veces residen físicamente en máquinas diferentes,
Windows® DNA enfatiza la distribución lógica. Mientras
que los nombres de estos niveles difieren de acuerdo a la
fuente, la Guía del Desarrollador de BackOffice®
(BackOffice® Developer's Guide, BDG) se refiere a ellos
como sigue:
• Servicios de usuario.
• Servicios de negocios.
• Servicios de datos.
DNA ((Windows Distributed interNet Applications Architecture)
29. El diagrama, Windows DNA sintetiza
en las aplicaciones un conjunto común
de servicios, incluyendo HTML y
HTML dinámico (DHTML), controles
ActiveX®, componentes del Modelo
de Objeto Componente (COM), scripts
en el lado cliente y en el lado servidor,
transacciones, seguridad y servicios
de directorio, acceso a datos y a
bases de datos, administración de
sistemas y ambientes de creación de
componentes.
Estos servicios son expuestos de
manera unificada a través del COM, el
cual permite que las aplicaciones
interoperen y compartan
componentes.
30. • Las principales ventajas del desarrollo en N niveles son
respecto a la escalabilidad. Las aplicaciones que
procesan su lógica de negocios, ya sea en las máquinas
cliente o en las bases de datos, se vuelven lentas cuando
están siendo muy utilizadas. Esto se ha convertido en
algo muy importante en esta era donde las aplicaciones
de Web pueden ser utilizadas millones de veces por día.
La transición para el desarrollo N niveles no es gratis, el
tiempo de desarrollo se incrementó debido a la
complejidad de añadir otro nivel.
31. Actividad 10-Ene-13
• Elaborar un cuadro comparativo de las arquitecturas
vistas en clase deberá contener lo siguiente:
• No. De Capas
• Características
• Ventajas
• Desventajas
• Esquema
32. El puesto de trabajo o Cliente
• Una estación de trabajo conectado a una red, permite
acceder y gestionar una serie de recursos, nos referimos
a un microcomputador conectado al sistema de
Información donde realiza la mayor parte de los procesos.
• Un microcomputador conectado a una red, favorece la
flexibilidad y el dinamismo en las organizaciones. Permite
modificar la ubicación de las estaciones de trabajo, dadas
las ventajas de la red.
33. Servidores o Back-end
• Una máquina que suministra una serie de servicios como
Bases de Datos, archivos, comunicaciones….).
• Los servidores, según la especialización y los
requerimientos de los servidores que debe suministrar
pueden ser:
• Mainframes
• Miniordenadores
• Especializados (Dispositivos de Red, Imagen, etc.)
Una característica a considerar es que los diferentes servicios,
según el caso, pueden ser suministrados por un único Servidor o
por varios Servidores especializados.
34. Las Comunicaciones
• Infraestructura de redes
Componentes Hardware y Software que garantizan la conexión
física y la transferencia de datos entre los distintos equipos de la
red.
• Infraestructura de comunicaciones
Componentes hardware y software que permiten la comunicación
y su gestión, entre los clientes y los servidores.
• La arquitectura clientes-servidor es el resultado de la integración
de dos culturas.
• Mainframe que aporta capacidad y almacenamiento, integridad y
acceso a las información.
• El computador que aporta facilidad de uso (cultura de PC), bajo costo,
presentación atractiva (aspecto lúdico y una amplia oferta en productos
y aplicaciones.
35. Tipos de Clientes
• 1. “Cliente Flaco”
• Servidor rápidamente saturado
• Gran circulación de datos de interfase en la red.
• 2. “Cliente gordo”
• Casi todo el trabajo en el cliente
• No hay centralización de la gestión de la BD.
• Gran circulación de datos inútiles en la red.
36. Estilos del modelo Cliente Servidor
Presentación Distribuida
Se distribuye la interfaz entre el cliente y la plataforma servidora.
La aplicación y los datos están ambos en el servidor.
Similar a la arquitectura tradicional de un Host y terminales.
El PC se aprovecha solo para mejorar la interfaz gráfica del usuario.
Ventajas
Revitaliza los sistemas antiguos.
Bajo costo de desarrollo
No hay cambios en los sistemas existentes,
Desventajas
El sistema sigue en el Host
No se aprovecha el GUI y/o LAN
La interfaz del usuario se mantiene en muchas plataformas.
37. Presentación Remota
La interfaz para el usuario esta completamente en el cliente.
La aplicación y los datos están en el servidor.
Ventajas
La interfaz del usuario aprovecha bien el GUI y la LAN.
La aplicación aprovecha el Host.
Adecuado para algunos tipos de aplicaciones de apoyo a la
toma de decisiones.
Desventajas
Las aplicaciones pueden ser complejas de desarrollar.
Los programas de la aplicación siguen en el Host.
El alto volumen de tráfico en la red puede hacer difícil la
operación de aplicaciones muy pesadas.
Estilos del modelo Cliente Servidor
38. Lógica Distribuida
• La interfaz eta en el cliente.
• La base de datos esta en el servidor
• La lógica de la aplicación esta distribuida entre el cliente y el servidor.
Ventajas
• Arquitectura mas usual que puede manejar todo tipo de aplicaciones.
• Los programas del sistema pueden distribuirse al nodo mas
apropiado.
• Pueden utilizarse con sistemas existentes.
Desventajas
• Es difícil de diseñar.
• Difícil prueba y mantenimiento si los programas del cliente y el
servidor están hechos en distintos lenguajes de programación.
• No son manejador por la GUI 4GL.
39. Administración de datos remota
• En el cliente residen tanto la interfaz como los procesos de la
aplicación.
• Las bases de datos están en el servidor.
• Es lo que comúnmente imaginamos como aplicación cliente servidor.
Ventajas
• Configuraciones típica de la herramienta GUI 4GL.
• Muy adecuada para las aplicaciones de apoyo a las decisiones del
usuario final.
• Fácil de desarrollar ya que los programas de aplicación no están
distribuidos.
• Se descargan los programas del host.
Desventajas
• No maneja aplicaciones pesadas eficientemente.
• La totalidad de los datos viaja por la red, ya que no hay
procesamiento que realice el Host.
40. Base de datos Distribuida
• La interfaz, los procesos de la aplicación, y, parte de los
datos de la base de datos están en cliente.
• El resto de los datos están en el servidor.
Ventajas
Configuración soportada por herramientas GUI 4GL.
Adecuada para las aplicaciones de apoyo al usuario final.
Apoya acceso de datos almacenados en ambientes heterogéneos.
Ubicación de los datos es transparente para la aplicación.
Desventajas
No maneja aplicaciones grandes eficientemente.
El acceso a la base de datos distribuida es dependiente del
proveedor del software administrador de bases de datos.
41. Definición de MIDDLEWARE
“ Es un termino que abarca a todo el software distribuido
necesario para el soporte de interacciones entre Clientes
y Servidores”.
El enlace permite que un cliente obtenga un servicio de
un servidor.
Este se inicia en el módulo de API de la parte del cliente
que se emplea para invocar un servicio real; esto
pertenece a los dominios del servidor. Tampoco a la
interfaz del usuario ni a la lógica de la aplicación en los
dominios.
42. Tipos de Middleware
• Middleware general
Este permite la impresión de documentos remotos,
manejos de transacciones, autenticación de usuarios, etc.
• Middleware de servicios específicos
Generalmente trabajan orientados a mensajes, Trabaja
una sola transacción a la vez.
45. Servidores Groupware
• Se encarga de la administración de información como texto,
imágenes, correo electrónico, tablero y boletines electrónicos, a
través de entornos web integrando diferentes servicios en una sola
plataforma y que pueda ser consultado desde cualquier parte del
mundo.
• Un servidor groupware es un software diseñado para permitir
colaborar a los usuarios, sin importar la localización, vía internet o vía
intranet corporativo y trabajar juntos en una atmósfera virtual.
46. Servidores Proxy
• En el contexto de las redes informáticas, el termino proxy
hace referencia a un programa o dispositivo que realiza
una acción en representación de otro. La finalidad mas
habitual del servidor proxy, sirve para permitir el acceso al
internet a todos los equipos de una organización cuando
sólo se pude disponer de un único equipo conectado,
esto es, una única dirección.
47. ¿Cuándo implantar Cliente-Servidor?
1. Cambios estructurales y organizativo.
2. Cambios en organigramas.
3. Respuesta dinámica de mercado.
4. Cambio de procesos de negocio.
¿Qué ayuda a la implementaciòn?
1. La demanda de sistemas fáciles.
2. Precio/rendimiento de estaciones y servidores.
3. Creciente acceso a la información para decisiones:
a. Separación datos-programas.
b. Programas flexibles
4. Nuevas tecnologías de alta productividad.
48. Actividad 14-Ene-13
1. Elaborar una tabla de especificaciones de los tipos de
servidores, vista en clase.
2. Investigar y realizar una presentación en PPT de las
características, aplicaciones y servicios de Internet 2.
3. La conexión a internet se divide en tres partes, cuales son?.
4. Cuales son las funciones de un navegador.
5. Elaborar una línea del tiempo de los navegadores de
Internet incluyendo navegador, logo y características.
6. Indica los dispositivos de networking que se conecta directo
a un segmento de red.
7. ¿Cuales son los medios de networking y sus características
principales.?
8. En que capa del modelo OSI se realiza la autenticación de la
WLAN
9. ¿Cuantos y cuales son los métodos de autenticación?