programación web tema 1: arquitectura c /...
Post on 22-Mar-2020
9 Views
Preview:
TRANSCRIPT
1
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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
2
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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
3
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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
4
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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
5
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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): 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)
6
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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
7
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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 Negocio Datos
C S
8
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
Modelos C/S (II)
• Funcionalidad (Negocio) distribuida:
– Máxima flexibilidad
– Lógicas de negocio separadas
Presentación Negocio Datos Negocio
C S
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 Datos
C S
9
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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
C
Negocio
10
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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
11
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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
12
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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
13
Universidad Politécnica de Madrid Emerson Castañeda/Miguel Ángel Manso
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
top related