Download Bases de datos espaciales Tema 0: Presentación
Document related concepts
no text concepts found
Transcript
Programación Web Tema 1: Arquitectura C / S Miguel Ángel Manso Emerson Castañeda ETSI en Topografía, Geodesia y Cartografía - UPM Basado en la presentación de: Patricio Martínez Barco y Armando Suárez Cueto Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso Filosofía Cliente/Servidor Definición: Sistema distribuido entre múltiples procesadores en el que existen clientes que demandan servicios y servidores que los proporcionan Separa los servicios situando cada uno de ellos en la plataforma más adecuada Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 1 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 Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 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 Reestructuración/rediseño: migración a PCs S.O. de red con servidores de servicios Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 2 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, AJAX Arquitecturas C/S de 2 y 3 niveles Middleware Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 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 Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 3 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 Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 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 Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 4 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): Modelo de componentes diseñado para Java JAVASCRIPT (Netscape): Lenguaje de programación interpretado dinámico ampliamente usado junto al HTML AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML) Flash (lenguaje ActionScript) Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso Evolución (III) • EL FUTURO – Facilidad de uso de las aplicaciones – Accesos a datos distribuidos en cualquier lugar del mundo (y del espacio) Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 5 MIDDLEWARE • Conecta procesos para construir la aplicación • Conjunto de funciones + servicios • Actúa en el nivel bajo del Sistema Distribuido: – Comunicación – Directorios – Integridad • Define la plataforma de transparencia de localización Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 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 síncrona - asíncrona Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 6 Características C/S (II) • El entorno de aplicaciones incremental facilita: – Añadir un nuevo servidor – Añadir un nuevo cliente – Modificar un cliente para usar un nuevo servidor • Integración de las aplicaciones en la GUI del cliente Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 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 Universidad Politécnica de Madrid Negocio Datos S Emerson Castañeda/Miguel Ángel Manso 7 Modelos C/S (II) • Funcionalidad (Negocio) distribuida: – Máxima flexibilidad – Lógicas de negocio separadas Presentación Negocio Negocio Datos S C Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso Modelos C/S (III) • Datos distribuidos – Ficheros distribuidos – Bases de datos distribuidas Presentación Negocio C Universidad Politécnica de Madrid Datos S Emerson Castañeda/Miguel Ángel Manso 8 Aplicaciones de 2 niveles • 2 niveles: – Generalmente usa los modelos de Funcionalidad distribuida o Datos distribuidos – Muy productivo – Distribución no es muy flexible – Dependiente del suministrador Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso Aplicaciones de 3 niveles • 3 niveles: – Modelo Presentación-Negocio-Datos – Distribución flexible – Sistema abierto, sin dependencias C C Negocio C Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 9 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 interoperabidad 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 interoperabilidad o la portabilidad de aplicaciones, datos o personas, según se especifica en los estándares y perfiles de tecnología informática” Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso Sistemas Abiertos: Características • Elección libre de plataforma gracias a la portabilidad e interoperabilidad • 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 Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 10 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 Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 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 Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 11 Sistemas Abiertos: Factores de éxito • Independencia del suministrador • Elección de herramientas: – Interoperabilidad: Estándares – Portables: Estándar o propietario • Arquitectura de la aplicación: – Buen diseño C/S Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso Plataf. operativas: Gestores de recursos • Definición: ”Programas informáticos 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 Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 12 Plataformas operativas: Middleware • Función de intermediario entre clientes y servidores • Otros servicios: – Directorio de recursos: información sobre ellos – Nominación de recursos – Comunicaciones: • Conversacional (SINC) • RPC: (SINC) • Cola de mensajes: (ASINC) – Seguridad: Identificación única – Gestión de transacciones: única para todos los recursos Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso La selección del Software C/S = f() • • • • • • • 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 Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso 13