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