You are on page 1of 31

Tema IV

Arquitectura
Cliente/Servidor

1
Justificación Cliente/Servidor
ANTES AHORA
AVANCE  Rigidez.  Múltiples
TECNOLÓGICO  No redistribución. procesadores
 Vinculación al sistema.  Portabilidad entre
 Solapamiento, procesadores.
duplicación y  Migrabilidad entre
redundancia. plataformas.
EXIGENCIAS  Producción masiva.  Competencia.
DE LA  Tareas simples.  Renovación.
EMPRESA  Repetitivas.  Factor tiempo crítico.
 Desmotivación.  Autonomía.
 Usuario operador.  Usuario analista.
ENTORNO  Adaptación a la  Software a medida.
GENERAL capacidad del  Ordenadores
ordenador. accesibles.
 Ordenadores caros.  Domesticación de la
 Usuarios asustadizos. informá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
Necesidades comerciales en continua evolución

Nuevos roles de Sistemas de Infraestructura Abierta


Información y de los usuarios Cliente/Servidor

Nuevas herramientas de desarrollo:


Prototipos

Nuevo proceso de desarrollo

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 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.
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
Windows….. y NT.

Presentación Negocio Datos

C S
19
Modelos C/S (II)
• Función distribuida
– Máxima flexibilidad.
– Lógicas de negocio separadas.

Presentación Negocio Negocio Datos

C S

20
Modelos C/S (III)
• Datos distribuidos
– Ficheros distribuidos.
– Bases de datos distribuidas.

Presentación Negocio Datos

C 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

You might also like