ITESM Departamento de Ciencias Computacionales Middleware

Anuncio
Middleware
z Dr. José Raúl Pérez Cázares (raul.perez@itesm.mx)
z ITESM
z Departamento de Ciencias
Computacionales
Interoperabilidad
Macintosh
PS
Cómputo Cliente/Servidor
DECStation
Servidor
OS/2
MacOS
UNIX
Cliente
Base
de datos
Acceso Remoto
?
WAN
Crear aplicaciones distribuidas en
ambientes heterogéneos
es una tarea muy difícil.
Lógica de
Presentación
P
Lógica de
Negocio
N
Gestión de
Datos
D
+
Lógica necesaria para la distribución
Cómputo Cliente/Servidor-2
P
P
N
P
El modelo ISO/OSI
Aplicación
P
N
D
P
N
Presentación
Sesión
Lógica de distribución
P
N
D
N
D
N
D
Transporte
D
D
Red
Enlace de datos
Física
Presentación
Distribuida
Presentación
Remota
Lógica
Distribuida
Gestión de datos
Remota
Gestión de datos
Distribuida
La capa de transporte
• Nivel 4 del modelo OSI
• Relacionada con el
transporte de información
en la red
• 2 alternativas en redes
UNIX/Windows:
– TCP and
– UDP.
Implementando aplicaciones
con TCP
Aplicación
Aplicación
Aplicación
Presentación
Presentación
Presentación
Sesión
Transporte
Sesión
Petición
Sesión
Red
Enlace de datos
Física
Transporte
Input Stream
Transporte
Output Stream
Respuesta
El uso directo de protocolos de
transporte implica:
Implementando aplicaciones
con UDP
Mapeo manual de los parámetros de la petición hacia
streams de bytes
„
Aplicación
Aplicación
„
Presentación
Sesión
Datagramas
de Petición
Transporte
Presentación
„
Sesión
„
Activación manual de los componentes
„
No se garantiza la seguridad mediante tipos de datos
Transporte
Datagramas de Respuesta
Identificación y localización manual de componentes
distribuidos
Sincronización manual de la interacción entre
componentes distribuidos
„
„
No se garantiza la calidad de servicio
Middleware-2
Middleware
Aplicación
Para apoyar a los diseñadores
de aplicaciones distribuidas se
requiere una capa de software
que implemente servicios de
sesión y presentación
Resolución manual de la heterogeneidad de los datos
Presentación
Sesión
Transporte
Red
Enlace de datos
Física
• Es una capa que se encuentra entre las aplicaciones y
la red
• Hace la distribución transparente
• Resuelve la heterogeneidad de:
– Hardware
– Sistemas operativos
– Redes
– Lenguajes de programación
Middleware-3
Programación portable y facil de
distribuir de las aplicaciones
Aplicación
Servicios del Middleware
Los servicios ofrecidos por la capa
Middleware son :
Aplicación
• Directorio
API de
Servicios de Middleware
API de
Servicios de Middleware
• Comunicaciones
• Seguridad
Código para
la plataforma A
Código para
la plataforma B
Plataforma A
Plataforma B
• Administración de transacciones
Beneficios del Middleware
• Simplifica el desarrollo de aplicaciones ya que reduce la
cantidad de código a desarrollar. Los desarrolladores pueden
concentrarse en los aspectos primordiales de la aplicación.
•••
Tipos de middleware
• Remote Procedure Call (RPC)
• Message Oriented Middleware (MOM)
• Se libera al programador de las complejidades de
comunicaciones, de construir y mantener un
directorio, y de desarrollar funciones de seguridad.
• TP Monitors
• Object Request Brokers (ORB)
• Una aplicación desarrollada para una plataforma puede ser
portada hacia plataformas distintas que utilicen la misma
interfaz. Los vendedores de software no requieren mantener
una versión para cada plataforma existente en el mercado.
• Data base oriented middleware
Remote Procedure Call
RPC es una extensión del mecanismo de invocación
de procedimientos locales para permitir que un cliente
invoque a un servidor de manera transparente como si
ambos residieran en el mismo sistema.
Un Sistema RPC
Cliente
Llamador
Stub
Servicio
RPC
Servicio
RPC
B
A
Servidor
Stub
Proced.
Llamado
Call
Call
C
Servidor
Cliente
Stub
Stub
D
E
Return
Return
RED
Desarrollo de aplicaciones con RPC
Desarrollo de aplicaciones con RPC-2
Fuente en IDL
API
Definición
del servicio
en IDL
Cliente
Stub
Compilador
IDL
Compilador
IDL
Servidor
Stub
Procedimiento
local
Stub
RPC
Run
Time
RPC
Run
Time
Stub
Procedimiento
remoto
SERVIDOR
API = Application Programming Interface
IDL = Interface Definition Language
CLIENTE
RPCs Comerciales
Middleware Orientado a
Objetos
Motor
Motor
Piloto
1..4
1
Avión1
• Distributed Computing Environment (DCE) de Open
Software Foundation (OSF)
1..4
1..2
1
Avión 1
*
* Vuelo 1
*
1
Avión militar Avión comercial Línea aérea
Avión militar Avión comercial
Avión de carga
Avión de pasajeros
Avión de carga
Avión de pasajeros
• Open Network Computing (ONC) de SUN
Microsystems
Object Request Broker
Middleware Orientado a Objetos-2
Desarrollo de Aplicaciones con
ORB
Tecnologias existentes de middleware OO
• RMI de SUN
• CORBA del Object Management Group (OMG)
• Dot Net de Microsoft
• Cada una tiene su propio IDL el cual debe incluir
tipos objeto, manejo de excepciones, herencia, ...
• Cada uno tiene una manera de hacer referencia a
un objeto específico
Definición de
interfases
Generación del
Stub del servidor
Generación del
Stub del cliente
Implementación
del servidor
Implementación
Del cliente
Registro del
servidor
Desarrollo de Aplicaciones con
ORB-2
Database oriented middleware
Definiciones IDL
GUI
Aplicación
SQL
Compilador IDL
Middleware de
gestión de datos
Código de
implementación
del servidor
Stub
Stub
Es un mecanismo para pasar comandos
SQL y sus datos asociados desde un
proceso cliente hasta un servidor (no
necesariamente relacional). El
middleware transporta el comando y lo
traduce en el dialecto SQL de la
plataforma.
SQL
dBase
SQL
SQL
Oracle
Progress
Servidor
Cliente
El problema de las bases múltiples
Solución mediante interfaz común
Aplicación
Aplicación
SQL API
SQL API
SQL API
SQL API
Oracle
Driver
Progress
Driver
Paradox
Driver
SQL Server
Driver
FAP
Oracle
Oracle
FAP
Progress
Progress
FAP = Format And Protocols
FAP
Paradox
Paradox
SQL API Común
Oracle
Driver
FAP
SQL Server
SQL
Server
FAP
Oracle
Oracle
Progress
Driver
FAP
Progress
Progress
Paradox
Driver
SQL Server
Driver
FAP
Paradox
Paradox
FAP
SQL Server
SQL
Server
ODBC
Solución mediante interfaz común-2
ODBC (Open Database Conectivity ) es un componente de
Algunas propuestas de estándares para APIs SQL
son :
la estrategia Windows Open Services Architecture (WOSA)
de Microsoft para el acceso a datos en ambientes heterogeneos
Aplicación
Aplicación
Aplicación
• Embedded SQL (ISO SQL-92)
ODBC API
ODBC Driver Manager (Microsoft)
• Open Database Connectivity (ODBC) de Microsoft
Oracle
Driver
FAP
Progress
FAP
Oracle
Oracle
ODBC
SQL Server
Paradox
Driver
Progress
Driver
Driver
FAP
SQL Server
FAP
Paradox
Progress
Service
Provider
Interface
(SPI)
Paradox
SQL
Server
Solución mediante "Open SQL Gateway"
ODBC es soportado tanto por proveedors de RDBMS
como por proveedores de herramientas de desarrollo.
Aplicación
SQL API Común
ODBC es un cliente, no es el middleware completo. A mas
bajo nivel se utiliza el middleware propietario de la base de
datos. Un cliente debe entonces manejar todo la pila de
componentes de ODBC y el middleware propietario de la
base específica.
Gateway Driver
FAP del
Gateway
Gateway
Server
Oracle
Gateway
Server
Gateway
Server
Gateway
Server
Progress
Paradox
SQL
Server
EDA/SQL
Solución mediante "Open SQL Gateway"-2
Algunas propuestas de estándares para SQL
Gateways son :
Aplicación
Decision Support System
SQL API
EDA Extender
EDA/Link Communications
• Remote Data Access (RDA) de ISO/SAG (SQL
Access Gruop)
EDA/SQL
FAP
• Distributed Relational Data Access (DRDA) de IBM
EDA/SQL
Server
• Enterprise Data Access/SQL (EDA/SQL) de
Information Builders Inc (IBI)
Drivers
Oracle
Progress
Paradox
SQL
Server
Descargar