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

Post on 27-Jan-2015

18 views 2 download

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

1

Arquitectura Cliente/Servidor

Tema IV

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.

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.

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

5

¿Cuándo implantar C/S?

• Cambios estructurales y organizativos.

• Cambios en organigramas.

• Respuesta dinámica de mercado.

• Cambio en procesos de negocio.

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.

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.

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.

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.

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.

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.

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.

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.

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.

15

Evolución (III)

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

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

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.

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.

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.

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

20

Modelos C/S (II)

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

Presentación Negocio DatosNegocio

C S

21

Modelos C/S (III)

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

Presentación Negocio Datos

C S

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.

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

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”

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.

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.

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.

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.

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.

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.

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.