1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

31
1 Arquitectura Cliente/Servidor Tema IV

Transcript of 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

Page 1: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

1

Arquitectura Cliente/Servidor

Tema IV

Page 2: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

2

Justificación Cliente/ServidorANTES AHORA

AVANCETECNOLÓGICO

Rigidez. No redistribución. Vinculación al sistema. Solapamiento,

duplicación yredundancia.

Múltiplesprocesadores

Portabilidad entreprocesadores.

Migrabilidad entreplataformas.

EXIGENCIASDE LAEMPRESA

Producción masiva. Tareas simples. Repetitivas. Desmotivación. Usuario operador.

Competencia. Renovación. Factor tiempo crítico. Autonomía. Usuario analista.

ENTORNOGENERAL

Adaptación a lacapacidad delordenador.

Ordenadores caros. Usuarios asustadizos.

Software a medida. Ordenadores

accesibles. Domesticación de la

informática.

Page 3: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

3

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.

Page 4: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

4

Implicaciones del modelo Cliente/Servidor

N u evo p roceso d e d esarro llo

N u evas h erram ien tas d e d esarro llo :P ro to tip os

N u evos ro les d e S is tem as d eIn fo rm ac ió n y d e los u su arios

In fraes tru c tu ra A b ie rtaC lien te /S ervid or

N eces id ad es com erc ia les en con tin u a evo lu c ió n

Page 5: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

5

¿Cuándo implantar C/S?

• Cambios estructurales y organizativos.

• Cambios en organigramas.

• Respuesta dinámica de mercado.

• Cambio en procesos de negocio.

Page 6: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

6

¿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.

Page 7: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

7

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.

Page 8: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

8

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.

Page 9: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

9

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.

Page 10: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

10

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.

Page 11: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

11

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.

Page 12: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

12

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.

Page 13: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

13

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.

Page 14: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

14

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.

Page 15: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

15

Evolución (III)

• EL FUTURO.– Facilidad de uso de las aplicaciones.

– Accesos a datos distribuidos en cualquier lugar del mundo (y del espacio).

Page 16: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

16

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.

Page 17: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

17

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.

Page 18: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

18

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.

Page 19: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

19

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 Negocio Datos

C S

Page 20: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

20

Modelos C/S (II)

• Función distribuida– Máxima flexibilidad.– Lógicas de negocio separadas.

Presentación Negocio DatosNegocio

C S

Page 21: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

21

Modelos C/S (III)

• Datos distribuidos– Ficheros distribuidos. – Bases de datos distribuidas.

Presentación Negocio Datos

C S

Page 22: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

22

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.

Page 23: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

23

Aplicaciones de 2 y 3 niveles (II)

• 3 niveles:– Modelo presentación-negocio-datos– Distribución flexible.– Sistema abierto. No dependiente.

C

C

C

Negocio

Page 24: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

24

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”

Page 25: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

25

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.

Page 26: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

26

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.

Page 27: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

27

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.

Page 28: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

28

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.

Page 29: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

29

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.

Page 30: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

30

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.

Page 31: 1 Arquitectura Cliente/Servidor Tema IV. 2 Justificación Cliente/Servidor.

31

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.