Download Arquitectura Cliente/Servidor Justificación Cliente/Servidor Nuevas

Document related concepts
no text concepts found
Transcript
Justificación Cliente/Servidor
A N TE S
AVANCE
• R igidez.
TE C N O L Ó G IC O • N o redistribución.
Tema IV
Arquitectura
Cliente/Servidor
EX IG EN C IA S
D E LA
EM PR E SA
EN TO R N O
G E N ER A L
• V inculación al sistem a.
• Solapam iento,
duplicación y
redundancia.
• Producción m asiva.
• T areas sim ples.
• R epetitivas.
• D esm otivación.
• U suario operador.
• A daptación a la
capacidad del
ordenador.
• O rdenadores caros.
• U suarios asustadizos.
AHORA
• M últiples
procesadores
• Portabilidad entre
procesadores.
• M igrabilidad entre
plataform as.
• C om petencia.
• R enovación.
• Factor tiem po crítico.
• A utonom ía.
• U suario analista.
• Softw are a m edida.
• O rdenadores
accesibles.
• D om esticación de la
inform ática.
1
Nuevas Tareas del Dpto. de
Sistemas de Información
•
•
Implicaciones del modelo
Cliente/Servidor
Soporte a la gestión empresarial. Apoyo a los objetivos.
Selección de Estándares:
Necesidades comerciales en continua evolución
– Compatibiliza.
– Facilita al usuario.
•
Infraestructura C/S:
–
–
–
–
Nuevos roles de Sistemas de
Información y de los usuarios
Plataforma operativa.
Entorno de desarrollo.
Gestión del SID.
Arquitectura de la aplicación:
Infraestructura Abierta
Cliente/Servidor
Nuevas herramientas de desarrollo:
Prototipos
• Portabilidad.
• Interoperatividad.
• Distribuida.
•
•
2
Desarrollo corporativo (no departamental).
Integración de aplicaciones propias con estándar.
Nuevo proceso de desarrollo
3
4
•
•
•
•
¿Cuándo implantar C/S?
¿Qué ayuda a la implantación?
Cambios estructurales y organizativos.
Cambios en organigramas.
Respuesta dinámica de mercado.
Cambio en procesos de negocio.
• 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.
5
Cliente/Servidor
6
Objetivos de C/S
Definición: Sistema distribuido entre
múltiples procesadores donde hay clientes
que solicitan servicios y servidores que los
proporcionan.
• Localización transparente.
• Recursos compartidos.
• Escalabilidad
Separa los servicios situando cada uno en su
plataforma más adecuada.
• Interoperatividad entre distintos Hw. y Sw.
– Horizontal: > nº estaciones.
– Vertical: migración a otras plataformas.
7
8
Evolución
Evolución (II)
• 1ª ÉPOCA:
• 3ª ÉPOCA: ACTUAL.
– 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.
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.
9
Tecnología de componentes:
DDE y OLE
10
Conectividad de BDs
• DDE: (Dynamic Data Exchange) (Microsoft).
• ODBC: (Open DataBase Conectivity) (Microsoft).
– Enlaces de datos dinámicos.
– Información automáticamente actualizada entre
aplicaciones.
– Conectividad abierta entre BDs.
– Interfaz de conexión entre BDs (especialmente
Microsoft)
• OLE: (Object Linking and Embeding) (Microsoft).
• JDBC: (Java DataBase Conectivity) (Java).
– Objetos enlazados y embebidos.
– Enlazado: Guardando una referencia.
– Embebido: Insertando un documento.
– Conectividad abierta entre BDs versión Java.
– Abierto.
11
12
INTERNET
Objetos 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.
• 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.
• 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.
• 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.
13
Evolución (III)
14
MIDDLEWARE
• Conecta procesos para constituir aplicación.
• Conjunto de funciones + servicios.
• Actúa en el bajo nivel del SID:
• EL FUTURO.
– Facilidad de uso de las aplicaciones.
– Accesos a datos distribuidos en cualquier lugar del
mundo (y del espacio).
– Comunicación.
– Directorios.
– Integridad.
• Define la plataforma de transparencia de
localización.
15
16
Características C/S.
Características C/S (II).
• Flexibilidad:
• Entorno de aplicaciones incremental.
– Middleware.
– Separación de funciones:
– Añadir un nuevo servidor.
– Añadir un nuevo cliente.
– Modificar un cliente para usar un nuevo
servidor.
• 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.
• Integración: por la GUI.
17
18
Modelos C/S
Modelos C/S (II)
• Presentación distribuida
• Función distribuida
– Proporciona un API que separa la
programación de ventanas del resto.
– Ejemplo: X-Windows System en UNIX o
Windows95 y NT.
– Máxima flexibilidad.
– Lógicas de negocio separadas.
Presentación Negocio
Presentación
C
Negocio
Datos
C
Negocio
Datos
S
S
19
20
Modelos C/S (III)
Aplicaciones de 2 y 3 niveles
• Datos distribuidos
• 2 niveles:
– Ficheros distribuidos.
– Bases de datos distribuidas.
Presentación
Negocio
– Generalmente usa los modelos de función
distribuida o datos distribuidos.
– Muy productivo.
– Distribución no flexible.
– Dependiente del suministrador.
Datos
S
C
21
Aplicaciones de 2 y 3 niveles (II)
• 3 niveles:
Sistemas 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”.
– Modelo presentación-negocio-datos
– Distribución flexible.
– Sistema abierto. No dependiente.
• Definición según ISO:
C
C
22
“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”
Negocio
C
23
24
Sistemas Abiertos: Características.
Estándares
• Definición: “Conjunto de reglas, definiciones y propiedades
• 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.
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.
25
Sistemas abiertos vs propietarios
• Tiempo de implantación mayor en abiertos:
–
–
–
–
26
Sistemas Abiertos:
Factores de éxito.
• Independencia del suministrador.
• Elección de herramientas:
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.
– Interoperativas: Estándares.
– Portables: Estándar o propietario.
• Arquitectura de la aplicación:
• Diferenciador de producto:
– Buen diseño C/S.
– Estándar industrial + algo propio.
– Ejemplo: un DBMS con SQL estándar + 4GL propio.
• Arquitecturas de proveedores importantes.
27
28
Plataformas operativas:
Plataformas operativas:
Middleware
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.
– 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.
29
Selección de sw C/S
•
•
•
•
•
•
•
• Función de intermediario entre clientes y
servidores.
• Otros servicios:
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.
31
30