Arquitectura Cliente/Servidor

Anuncio
1
ANTES
AVANCE
 Rigidez.
TECNOLÓGICO  No redistribución.
 Vinculación al sistema.
 Solapamiento,
duplicación y
redundancia.
EXIGENCIAS
 Producción masiva.
 Tareas simples.
DE LA
 Repetitivas.
EMPRESA
 Desmotivación.
 Usuario operador.
 Adaptación a la
ENTORNO
capacidad del
GENERAL
ordenador.
 Ordenadores caros.
 Usuarios asustadizos.
AHORA
 Múltiples
procesadores
 Portabilidad entre
procesadores.
 Migrabilidad entre
plataformas.
 Competencia.
 Renovación.
 Factor tiempo crítico.
 Autonomía.
 Usuario analista.
 Software a medida.
 Ordenadores
accesibles.
 Domesticación de la
informática.
2
Roles del Area de Sistemas
•
•
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.
3
Implicaciones del modelo
Cliente/Servidor
Necesidades comerciales en continua evolución
Nuevos roles de Sistemas de
Información y de los usuarios
Infraestructura Abierta
Cliente/Servidor
Nuevas herramientas de desarrollo:
Prototipos
Nuevo proceso de desarrollo
4
•
•
•
•
Cambios estructurales y organizativos.
Cambios en organigramas.
Respuesta dinámica de mercado.
Cambio en procesos de negocio.
5
• 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.
6
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.
7
• Localización transparente.
• Recursos compartidos.
• Escalabilidad
– Horizontal: > nº estaciones.
– Vertical: migración a otras plataformas.
• Interoperatividad entre distintos Hw. y Sw.
8
• 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.
9
• 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.
10
• 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.
11
• 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.
12
13
14
• 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.
15
• 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 miniaplicaciones) 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.
16
TENDENCIAS
– Facilidad de uso de las aplicaciones.
– Accesos a datos distribuidos en cualquier lugar del mundo
(y del espacio).
17
• 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.
18
• 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.
19
• 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.
20
21
• 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
CLIENT
Negocio
Datos
SERVER
22
• Función distribuida
– Máxima flexibilidad.
– Lógicas de negocio separadas.
Presentación
Negocio
CLIENT
Negocio
Datos
SERVER
23
• Datos distribuidos
– Ficheros distribuidos.
– Bases de datos distribuidas.
Presentación
Negocio
CIENT
Datos
SERVER
24
• 2 niveles:
– Generalmente usa los modelos de función
distribuida o datos distribuidos.
– Muy productivo.
– Distribución no flexible.
– Dependiente del suministrador.
25
• 3 niveles:
– Modelo presentación-negocio-datos
– Distribución flexible.
– Sistema abierto. No dependiente
CLIENTE
CLIENTE
CLIENTE
SERVER
Negocio
SEREVER
26
• 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”
31
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.
32
Está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.
33
• 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.
34
• 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.
35
• 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.
36
• 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.
37
•
•
•
•
•
•
•
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.
38
Descargar