Title: Arquitectura Cliente/Servidor
1Arquitectura Cliente/Servidor
Sistemas Informáticos Distribuidos
2Justificación Cliente/Servidor
3Nuevas Tareas del Dpto. de Sistemas de Información
- Soporte a la gestión empresarial. Apoyo a los
objetivos. - Selección de Estándares
- Compatibiliza.
- Facilita al usuario.
- Infraestructura C/S
- Plataforma operativa.
- Entorno de desarrollo.
- Gestión del SID.
- Arquitectura de la aplicación
- Portabilidad.
- Interoperatividad.
- Distribuida.
- Desarrollo corporativo (no departamental).
- Integración de aplicaciones propias con estándar.
4Implicaciones del modelo Cliente/Servidor
5Cuándo implantar C/S?
- Cambios estructurales y organizativos.
- Cambios en organigramas.
- Respuesta dinámica de mercado.
- Cambio en procesos de negocio.
6Qué ayuda a la implantación?
- La demanda de sistemas fáciles.
- Precio/rendimiento de estaciones y servidores.
- Creciente acceso a la información para
decisiones Separación datos-programas. Programas
flexibles. - Nuevas tecnologías de alta productividad.
7Cliente/Servidor
- Definición Sistema distribuido entre múltiples
procesadores donde hay clientes que solicitan
servicios y servidores que los proporcionan. - Separa los servicios situando cada uno en su
plataforma más adecuada.
8Objetivos de C/S
- Localización transparente.
- Recursos compartidos.
- Escalabilidad
- Horizontal gt nº estaciones.
- Vertical migración a otras plataformas.
- Interoperatividad entre distintos Hw. y Sw.
9Evolución
- 1ª ÉPOCA
- LAN.
- LAN con MAINFRAMES.
- Comunicaciones homogéneas (LU, SNA, APPC).
- 2ª ÉPOCA
- Herramientas de desarrollo C/S.
- Proveedores DBMS con C/S.
- Downsizing migración a PCs.
- S.O. De red con servidores de servicios.
10Evolución (II)
- 3ª ÉPOCA ACTUAL.
- PWS Estaciones de trabajo programables
gráficamente. - GUI Interfaz gráfico de usuario. Alta
resolución. - Nuevas tecnologías Ratón, lápiz óptico, scanner,
multimedia. - Tecnología de componentes DDE y OLE.
- Conectividad de BDs ODBC, JDBC
- Objetos Distribuidos CORBA, COM, COM, DCOM
- Internet HTML, CGI, Applet, ActiveX, JAVA,
JAVASCRIPT - Arquitecturas C/S de 2 y 3 niveles.
- Middleware.
11Tecnología de componentes DDE y OLE
- DDE (Dynamic Data Exchange) (Microsoft).
- Enlaces de datos dinámicos.
- Información automáticamente actualizada entre
aplicaciones. - OLE (Object Linking and Embeding) (Microsoft).
- Objetos enlazados y embebidos.
- Enlazado Guardando una referencia.
- Embebido Insertando un documento.
12Conectividad de BDs
- ODBC (Open DataBase Conectivity) (Microsoft).
- Conectividad abierta entre BDs.
- Interfaz de conexión entre BDs (especialmente
Microsoft) - JDBC (Java DataBase Conectivity) (Java).
- Conectividad abierta entre BDs versión Java.
- Abierto.
13Objetos Distribuidos
- CORBA (Common Object Request Broker Architecture)
(Object Management Group) Estándar de
programación distribuida basada en objetos. - COM (Microsoft) Interface estándar para objetos
(no importa cómo están programados). - COM (Microsoft) Extensión de COM en el que se
añade un modelo para la programación de objetos. - DCOM (Microsoft) Extensión de COM que permiten
crear objetos clientes y servidores utilizando
COM aunque creando transparencia sobre la
localización física del objeto (es decir que
puede encontrarse en otra máquina). La gestión de
la comunicación está embebida.
14INTERNET
- HTML (HyperText Markup Language) Lenguaje basado
en el estándar SGML de etiquetado para la
creación de páginas web en el servidor visibles
desde un cliente remoto con su propio visor. - CGI (Common Gateway Interface) Interface para el
tratamiento de ejecutables en el servidor
(remoto) a petición de clientes. Rápido y muy
modular. - ActiveX (Microsoft) Objetos visuales de control
(desde botones hasta mini-aplicaciones) embebidos
en un documento (o página web) que se descargan y
se ejecutan en el visor del cliente. - JAVA (Sun Microsystems) Lenguaje de programación
específico para C/S en internet. Lento, con
aplicaciones mayores. - APPLET Objetos visuales embebidos en una página
web (versión abierta de ActiveX). - JAVABEANS (Sun Microsystems) Especificación para
objetos en Java. - JAVASCRIPT (Netscape) Lenguaje de utilidades
para HTML.
15Evolución (III)
- EL FUTURO.
- Facilidad de uso de las aplicaciones.
- Accesos a datos distribuidos en cualquier lugar
del mundo (y del espacio).
16MIDDLEWARE
- Conecta procesos para constituir aplicación.
- Conjunto de funciones servicios.
- Actúa en el bajo nivel del SID
- Comunicación.
- Directorios.
- Integridad.
- Define la plataforma de transparencia de
localización.
17Características C/S.
- Flexibilidad
- Middleware.
- Separación de funciones
- Lógica de presentación.
- Lógica de negocio.
- Lógica de datos.
- Encapsulación de servicios.
- Portabilidad - reubicación.
- Operación sincrono - asíncrono.
18Características C/S (II).
- Entorno de aplicaciones incremental.
- Añadir un nuevo servidor.
- Añadir un nuevo cliente.
- Modificar un cliente para usar un nuevo servidor.
- Integración por la GUI.
19Modelos C/S
- Presentación distribuida
- Proporciona un API que separa la programación de
ventanas del resto. - Ejemplo X-Windows System en UNIX o Windows95 y
NT.
Presentación
Negocio
Datos
C
S
20Modelos C/S (II)
- Función distribuida
- Máxima flexibilidad.
- Lógicas de negocio separadas.
Presentación
Negocio
Datos
Negocio
S
C
21Modelos C/S (III)
- Datos distribuidos
- Ficheros distribuidos.
- Bases de datos distribuidas.
Presentación
Negocio
Datos
S
C
22Aplicaciones de 2 y 3 niveles
- 2 niveles
- Generalmente usa los modelos de función
distribuida o datos distribuidos. - Muy productivo.
- Distribución no flexible.
- Dependiente del suministrador.
23Aplicaciones de 2 y 3 niveles (II)
- 3 niveles
- Modelo presentación-negocio-datos
- Distribución flexible.
- Sistema abierto. No dependiente.
C
Negocio
C
C
24Sistemas abiertos
- Definición según IEEE
- Un conjunto completo y consistente de estándares
internacionales de tecnología de información y de
estándares funcionales, que especifica
interfaces, servicios y formatos de soporte para
conseguir la interoperatividad y portabilidad de
aplicaciones, datos y personas. - Definición según ISO
- Todo el conjunto de interfaces, servicios y
formatos de soporte, además de otros aspectos de
usuarios, para la interoperativilidad o la
portabilidad de aplicaciones, datos o personas,
según se especifica en los estándares y perfiles
de tecnología informática
25Sistemas Abiertos Características.
- Elección libre de plataforma gracias a la
portabilidad e interoperatividad. - Protección de la inversión empresarial.
- Libertad de elección del modelo de distribución
presentación, función o datos distribuidos. - Explotación de aplicaciones estándar.
26Estándares
- Definición Conjunto de reglas, definiciones y
propiedades mutuamente aceptadas que permite la
cooperación de objetos heterogéneos y su
utilización - Clasificación
- Por su lugar de publicación
- Internacional
- Regional (CEE).
- Nacional.
- Por autor
- De Iure por comité
- De facto por fabricante.
27Sistemas abiertos vs propietarios
- Tiempo de implantación mayor en abiertos
- Estándar ? 10 años.
- Alianzas y consorcios (no oficial) medio plazo.
- Tecnologías propietarias portables corto plazo.
- Tecnologías propietarias Rápidas. No abiertas.
- Diferenciador de producto
- Estándar industrial algo propio.
- Ejemplo un DBMS con SQL estándar 4GL propio.
- Arquitecturas de proveedores importantes.
28Sistemas Abiertos Factores de éxito.
- Independencia del suministrador.
- Elección de herramientas
- Interoperativas Estándares.
- Portables Estándar o propietario.
- Arquitectura de la aplicación
- Buen diseño C/S.
29Plataformas operativas Gestores de recursos
- Definición Programas software que acceden a
recursos (dispositivos, ficheros, bases de datos,
programas, objetos, etc.) y proporcionan un API. - Tipos
- Local servicio en s.o. local.
- Remoto con C/S.
- Distribuido en varios lugares.
30Plataformas operativas Middleware
- Función de intermediario entre clientes y
servidores. - Otros servicios
- Directorio de recursos info. sobre ellos.
- Nominación de recursos.
- Comunicaciones
- Conversacional (SINC)
- RPC (SINC)
- Cola de mensajes (ASINC)
- Seguridad Login único.
- Gestión de transacciones única para todos los
recursos.
31Selección de sw C/S
- Sistema operativo.
- Múltiples modelos de distribución C/S.
- Nuevas tecnologías (POO).
- Apertura.
- Integración con sw estándar.
- Operación C/S (síncrona y asíncrona).
- Herramientas de desarrollo potentes.