Tema IV
Arquitectura
Cliente/Servidor
1
Justificación Cliente/Servidor
ANTES
AVANCE
 R ig id ez.
T E C N O L Ó G IC O  N o red istrib u ció n .
E X IG E N C IA S
DE LA
EM PRESA
ENTORNO
GENERAL
 V in cu lació n al sistem a.
 S o lap am ien to ,
d u p licació n y
red u n d an cia.
 P ro d u cció n m asiv a.
 T areas sim p les.
 R ep etitiv as.
 D esm o tiv ació n .
 U su ario o p erad o r.
 A d ap tació n a la
cap acid ad d el
o rd en ad o r.
 O rd en ad o res caro s.
 U su ario s asu stad izo s.
AHORA
 M ú ltip les
p ro cesad o res
 P o rtab ilid ad en tre
p ro cesad o res.
 M ig rab ilid ad en tre
p latafo rm as.







C o m p eten cia.
R en o v ació n .
F acto r tiem p o crítico .
A u to n o m ía.
U su ario an alista.
S o ftw are a m ed id a.
O rd en ad o res
accesib les.
 D o m esticació n d e la
in fo rm ática.
2
Nuevas 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.
3
Implicaciones del modelo
Cliente/Servidor
N ec es id ad es c om erc iales en c on tin u a evolu c ió n
N u evos roles d e S is tem as d e
In form ac ió n y d e los u s u arios
In fraestru ctu ra A b ierta
C lien te/S ervid or
N u evas h erram ien tas d e d es arrollo:
P rototip os
N u evo p roceso d e d esarrollo
4
¿Cuándo implantar C/S?
•
•
•
•
Cambios estructurales y organizativos.
Cambios en organigramas.
Respuesta dinámica de mercado.
Cambio en procesos de negocio.
5
¿Qué 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.
6
Cliente/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.
7
Objetivos de C/S
• Localización transparente.
• Recursos compartidos.
• Escalabilidad
– Horizontal: > nº estaciones.
– Vertical: migración a otras plataformas.
• Interoperatividad entre distintos Hw. y Sw.
8
Evolució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.
9
Evolució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.
10
Tecnologí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.
11
Conectividad 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.
12
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.
• 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.
13
INTERNET
• 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.
14
Evolución (III)
• EL FUTURO.
– Facilidad de uso de las aplicaciones.
– Accesos a datos distribuidos en cualquier lugar del
mundo (y del espacio).
15
MIDDLEWARE
• 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.
16
Caracterí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.
17
Caracterí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.
18
Modelos 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
C
Negocio
Datos
S
19
Modelos C/S (II)
• Función distribuida
– Máxima flexibilidad.
– Lógicas de negocio separadas.
Presentación Negocio
C
Negocio
Datos
S
20
Modelos C/S (III)
• Datos distribuidos
– Ficheros distribuidos.
– Bases de datos distribuidas.
Presentación
C
Negocio
Datos
S
21
Aplicaciones 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.
22
Aplicaciones de 2 y 3 niveles (II)
• 3 niveles:
– Modelo presentación-negocio-datos
– Distribución flexible.
– Sistema abierto. No dependiente.
C
C
Negocio
C
23
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”.
• 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”
24
Sistemas 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.
25
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.
26
Sistemas 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.
27
Sistemas 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.
28
Plataformas 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.
29
Plataformas 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.
30
Selecció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.
31
Descargar

Arquitectura Cliente/Servidor