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