PDF de programación - Middleware

Imágen de pdf Middleware

Middlewaregráfica de visualizaciones

Publicado el 17 de Julio del 2018
260 visualizaciones desde el 17 de Julio del 2018
90,4 KB
9 paginas
Creado hace 14a (09/08/2005)
Dr. José Raúl Pérez Cázares (raul.perez@itesm.mx)
ITESM
Departamento de Ciencias

Computacionales

Interoperabilidad

PS

Macintosh

DECStation

OS/2

MacOS

UNIX

?

WAN

Crear aplicaciones distribuidas en
ambientes heterogéneos
es una tarea muy difícil.

Middleware

Cómputo Cliente/Servidor

Cliente

Acceso Remoto

Servidor

Base
de datos

Lógica de

Presentación

P

Gestión de

Datos

D

Lógica de
Negocio

N

+

Lógica necesaria para la distribución

Cómputo Cliente/Servidor-2

El modelo ISO/OSI

P

P
N

P
N

Lógica de distribución

N
D

N
D

D

P

P
N
D

P
N
D

D

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.

Aplicación

Presentación

Sesión

Transporte

Red

Enlace de datos

Física

Aplicación

Presentación

Sesión

Transporte

Red

Enlace de datos

Física

Implementando aplicaciones
con TCP

Aplicación

Presentación

Sesión

Petición

Transporte

Input Stream

Output Stream

Respuesta

Aplicación

Presentación

Sesión

Transporte

Implementando aplicaciones
con UDP

Aplicación

Presentación

Sesión

Transporte

Datagramas
de Petición

Aplicación

Presentación

Sesión

Transporte

Datagramas de Respuesta

El uso directo de protocolos de
transporte implica:

Mapeo manual de los parámetros de la petición hacia
streams de bytes
Resolución manual de la heterogeneidad de los datos
Identificación y localización manual de componentes
distribuidos
Activación manual de los componentes
No se garantiza la seguridad mediante tipos de datos
Sincronización manual de la interacción entre
componentes distribuidos
No se garantiza la calidad de servicio

Middleware

Para apoyar a los diseñadores
de aplicaciones distribuidas se
requiere una capa de software
que implemente servicios de
sesión y presentación

Aplicación

Presentación

Sesión

Transporte

Red

Enlace de datos

Física

Middleware-2

• 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

Aplicación

API de

Servicios de Middleware

API de

Servicios de Middleware

Código para
la plataforma A

Código para
la plataforma B

Servicios del Middleware

Los servicios ofrecidos por la capa
Middleware son :

• Directorio

• Comunicaciones

• Seguridad

• Administración de transacciones

Plataforma A

Plataforma B

• • •

Beneficios del Middleware

Tipos de 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.

• Se libera al programador de las complejidades de
comunicaciones, de construir y mantener un
directorio, y de desarrollar funciones de seguridad.

• 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.

• Remote Procedure Call (RPC)

• Message Oriented Middleware (MOM)

• TP Monitors

• Object Request Brokers (ORB)

• 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.

Cliente

Stub

Servidor

Stub

Cliente

Un Sistema RPC

Servidor

Llamador

Stub

Servicio

RPC

Servicio

RPC

Stub

Proced.
Llamado

Call

A

E

Call

B

D

C

Return

Return

RED

Desarrollo de aplicaciones con RPC

Desarrollo de aplicaciones con RPC-2

API

Definición
del servicio

en IDL

Compilador

IDL

Cliente
Stub

Servidor

Stub

API = Application Programming Interface
IDL = Interface Definition Language

Fuente en IDL

Compilador

IDL

RPC
Run
Time

RPC
Run
Time

Procedimiento

remoto

Stub

SERVIDOR

Procedimiento

local

Stub

CLIENTE

RPCs Comerciales

• Distributed Computing Environment (DCE) de Open
Software Foundation (OSF)

• Open Network Computing (ONC) de SUN

Microsystems

Middleware Orientado a
Objetos

Motor

1..4
1..4

1
1

Avión

1
1

Avión militar Avión comercial

Piloto

1..2
1..2

*
*
Vuelo

*
*

1
1

*
*

1
1

Línea aérea

Motor

1..4
1..4

1
1
Avión

1
1

Avión militar Avión comercial

Avión de cargaAvión de pasajeros

Avión de cargaAvión de pasajeros

Object Request Broker

Middleware Orientado a Objetos-2

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

Desarrollo de Aplicaciones con
ORB

Definición de

interfases

Generación del
Stub del servidor

Implementación

del servidor

Registro del

servidor

Generación del
Stub del cliente

Implementación

Del cliente

Desarrollo de Aplicaciones con
ORB-2

Definiciones IDL

Compilador IDL

Stub

Stub

Cliente

Servidor

implementación

Código de
del servidor

Database oriented middleware

GUI

Aplicación
SQL

Middleware de
gestión de datos

SQL

SQL

SQL

dBase

Oracle

Progress

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.

El problema de las bases múltiples

Aplicación

SQL API
Oracle
Driver

SQL API

SQL API

SQL API

Progress
Driver

Paradox
Driver

SQL Server

Driver

FAP
Oracle

FAP

Progress

FAP

Paradox

FAP

SQL Server

Oracle

Progress

Paradox

SQL
Server

FAP = Format And Protocols

Solución mediante interfaz común

Aplicación

SQL API Común
Paradox
Driver

Progress
Driver

Oracle
Driver

SQL Server

Driver

FAP
Oracle

FAP

Progress

FAP

Paradox

FAP

SQL Server

Oracle

Progress

Paradox

SQL
Server

Solución mediante interfaz común-2

Algunas propuestas de estándares para APIs SQL
son :

• Embedded SQL (ISO SQL-92)

• Open Database Connectivity (ODBC) de Microsoft

ODBC

ODBC (Open Database Conectivity ) es un componente de
la estrategia Windows Open Services Architecture (WOSA)
de Microsoft para el acceso a datos en ambientes heterogeneos

Aplicación

Aplicación

Aplicación

ODBC Driver Manager (Microsoft)

Oracle
Driver

Progress
Driver

Paradox
Driver

SQL Server

Driver

FAP
Oracle

FAP

Progress

FAP

Paradox

FAP

SQL Server

Oracle

Progress

Paradox

SQL
Server

ODBC API

Service
Provider
Interface

(SPI)

ODBC

Solución mediante "Open SQL Gateway"

ODBC es soportado tanto por proveedors de RDBMS
como por proveedores de herramientas de desarrollo.

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.

Aplicación

SQL API Común
Gateway Driver

FAP del
Gateway

Gateway
Server

Progress

Gateway
Server

Oracle

Gateway
Server

Paradox

Gateway
Server

SQL
Server

Solución mediante "Open SQL Gateway"-2

Algunas propuestas de estándares para SQL
Gateways son :

• Remote Data Access (RDA) de ISO/SAG (SQL
Access Gruop)

• Distributed Relational Data Access (DRDA) de IBM

• Enterprise Data Access/SQL (EDA/SQL) de
Information Builders Inc (IBI)

EDA/SQL

Aplicación

Decision Support System

SQL API

EDA Extender

EDA/Link Communications

EDA/SQL

FAP

EDA/SQL

Server
Drivers

Oracle

Progress

Paradox

SQL
Server
  • Links de descarga
http://lwp-l.com/pdf12581

Comentarios de: Middleware (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad