Publicado el 22 de Enero del 2019
506 visualizaciones desde el 22 de Enero del 2019
168,0 KB
30 paginas
Creado hace 22a (13/04/2002)
Tema 1: Introducción a las tecnologías
de integración de aplicaciones
Índice
n Integración de aplicaciones en una intranet
n Introducción
n Tecnologías
n CORBA
n Integración de aplicaciones en un entorno B2B
n Introducción
n Tecnologías
n Servicios Web
n Resumen
Heterogeneidad dentro de la intranet de una corporación - Introducción (1)
n Heterogeneidad
n Máquinas: mainframes, servidores (Sun, IBM, HP, etc.),
estaciones de trabajo (Compatibles PC, Apple Macintosh,
Sun, IBM, HP, etc.)
n Sistemas operativos: Solaris, HP-UX, AIX, Linux, MacOS, MS-
Windows (9x, NT, 2000, XP), etc.
n Redes: TCP/IP, Novell Netware, etc.
n Aplicaciones en distintos lenguajes: Java, C++, Visual Basic,
Visual C++, Delphi, COBOL, etc.
Heterogeneidad dentro de la intranet de una corporación - Introducción (2)
n Razones
n Decisiones de ingeniería
n Diferentes personas eligen diferentes soluciones a un mismo
problema
n Razones de coste
n Se compra el tipo de software/hardware que cumpla los
requisitos y tenga un precio razonable
n Aplicaciones antiguas
n No es posible desecharlas y rehacerlas con las tecnologías más
modernas
n Es preciso seguir utilizándolas hasta amortizar su coste de
desarrollo y obtener beneficio
Heterogeneidad dentro de la intranet de una corporación - Introducción (y 3)
n Ejemplo
Gestión de pedidos
(C++)
Gestión de stocks
(COBOL)
Aplicación standalone
cliente
(Delphi)
Servidor aplicaciones
web (Java)
HTTP
Navegador
Tecnologías para la integración de aplicaciones en una intranet (1)
n CORBA (Common Object Request Broker
Architecture)
n Tecnología de objetos distribuidos
n Permite la invocación de métodos de objetos remotos sin
que importe el lenguaje en el que estén escritos el llamador
y el llamado, ni las plataformas (s.o. y hw.) y redes de
comunicación intermedias
n Permite integrar aplicaciones heterogéneas con el paradigma
de la orientación a objetos
n Solución de más alto nivel que tecnologías más primitivas:
sockets, wrappers sobre sockets (ej.: ACE), RPCs (ej.: Sun
RPC, DCE)
Tecnologías para la integración de aplicaciones en una intranet (2)
n CORBA (cont)
n Estandarizado por el OMG (http://www.omg.org)
n Es el consorcio más grande de la industria del software (Iona,
Inprise, HP, IBM, Oracle, Sun, etc.)
n Software COTS (Commercial Off The Shelf)
n Las APIs están estandarizadas
n El desarrollador no depende de un fabricante
n Existen múltiples implementaciones de distintos fabricantes
para las plataformas y lenguajes más usuales (C++, Java,
Ada, COBOL, C, Smalltalk, etc.)
n Iona
n Inprise (Borland)
n HP
n IBM
n Oracle
n Etc.
Tecnologías para la integración de aplicaciones en una intranet (3)
n CORBA (cont)
n Los interfaces remotos se especifican en IDL (Interface
Definition Language)
interface StockManagement {
typedef long ProductIdentifier;
typedef unsigned short Quantity;
unsigned short getQuantity(ProductIdentifier identifier)
raises (ProductNotFoundException);
void addQuantity (ProductIdentifier identifier,
Quantity aQuantity) raises (ProductNotFoundException);
// ...
};
n El compilador de IDL permite generar
n Un Proxy del objeto remoto (cliente)
n Un Skeleton (Adapter) para implementar el interfaz remoto
(servidor)
Tecnologías para la integración de aplicaciones en una intranet (4)
n CORBA (cont)
Aplicación standalone
cliente
(Delphi)
ORB A
t
n
e
m
e
g
a
n
a
M
k
c
o
t
S
Gestión de stocks
(COBOL)
IIOP
ORB B
n ORB (Object Request Broker)
n
n Librería con API estandarizada
IIOP (Internet Inter-ORB Protocol)
n Protocolo estándar de comunicación entre ORBs sobre TCP/IP
n Permite interoperabilidad entre ORBs de distintos fabricantes
Tecnologías para la integración de aplicaciones en una intranet (5)
n Servicios CORBA
n El OMG ha estandarizado numerosos servicios CORBA
n Múltiples implementaciones de distintos fabricantes
n Exponen su funcionalidad mediante interfaces IDL
n Útiles para cualquier aplicación
n Ejemplos
n Servicio de Nombres
n Permite asociar un nombre lógico a un objeto y localizarlo por su
nombre
n Servicio de Seguridad
n Permite establecer restricciones de seguridad sobre las
operaciones de un interfaz
n Servicio de Transacciones
n Permite agrupar un conjunto de invocaciones remotas bajo una
misma transacción
Tecnologías para la integración de aplicaciones en una intranet (6)
n Otras tecnologías de objetos distribuidos
n Java RMI (Remote Method Invocation)
n Permite definir interfaces remotas en Java
n En principio, cliente y servidor tienen que estar escritos en Java
n También es posible usar Java RMI sobre IIOP
n Además, existen herramientas para generar una interfaz IDL
equivalente a una interfaz remota Java => un cliente CORBA
puede acceder a un objeto remoto implementado con Java RMI
n DCOM
n Solución propietaria de Microsoft para sus lenguajes y sistemas
operativos
n Grupo de “estandarización”: Active Group
(http://www.activex.org)
n CORBA ha estandarizado la interoperabilidad con DCOM
Tecnologías para la integración de aplicaciones en una intranet (7)
n Problemas con el uso directo de las tecnologías de
objetos distribuidos
n Complejas de utilizar para construir aplicaciones
empresariales (transacciones, persistencia, seguridad,
replicación, etc.)
n El programador necesita hacer uso de servicios complejos
n Tecnologías de componentes distribuidos
n Permiten construir aplicaciones empresariales sin que el
programador tenga que conocer el API de los servicios
necesarios
n Se construyen sobre las tecnologías de objetos distribuidos
n Ej.: un componente EJB es un objeto Java RMI que
transparentemente al programador puede usar transacciones,
persistencia, seguridad, replicación, etc.
n Tecnologías: EJB, Componentes CORBA, .NET
Tecnologías para la integración de aplicaciones en una intranet (8)
n EJB (Enterprise Java Beans)
n Objetos remotos transaccionales y seguros
n Facilidad de desarrollo
n Oculta servicios subyacentes (transacciones, seguridad, etc.)
Interoperable con CORBA
n
n Forma parte de J2EE (Java 2 Enterprise Edition)
n API estándar Java para la construcción de aplicaciones empresariales
n http://java.sun.com/j2ee
n Componentes CORBA
n Actualmente, para las aplicaciones que requieren transacciones y
seguridad, el desarrollador necesita hacer uso de los
correspondientes servicios CORBA
n Complejidad
n El OMG está terminando la estandarización del futuro modelo de
componentes CORBA
n Similar a EJB, pero para múltiples lenguajes
n Interoperable con EJB
Tecnologías para la integración de aplicaciones en una intranet (y 9)
n .NET (http://www.microsoft.com/net)
n Alternativa de Microsoft a J2EE, y similar a él en concepto
n Define un Common Language Runtime (CLR) y un IL
(Intermediate Language) al que compilan todos los
lenguajes conformes a .NET
n Idea similar a la máquina virtual de Java y a los bytecodes
generados por el compilador de Java, respectivamente
n El Visual Studio .NET ofrecerá “managed Visual C++”, VB.NET,
C# y JScript, y generará código a IL conforme al CLR
n Otros fabricantes de compiladores de otros lenguajes pueden
hacer lo mismo
n Una aplicación puede usar componentes .NET de distintos
lenguajes
n Está en versión beta
n Aunque podría extenderse a otras plataformas, seguramente
será sólo una realidad en los sistemas operativos de Microsoft
Integración B2B – Introducción (1)
n Ejemplo
n Empresa que ensambla PCs
n Necesita interactuar con diversos proveedores para adquirir
componentes
n Placas madre, discos, monitores, módulos de memoria, tarjetas
de sonido, modem, etc.
Empresa ensambladora
de PCs
Proveedor-1
Proveedor-2
...
Proveedor-N
Integración B2B – Introducción (2)
n Ejemplo (cont)
n Con un enfoque clásico
n Se usará teléfono y fax para hacer (ensamblador de PCs) y
servir pedidos (proveedores)
n Se necesitará tener personal dedicado a estas tareas
n Elevado coste tanto para la empresa ensambladora como para
sus proveedores
n Los proveedores podrían disponer de aplicaciones web para
que sus clientes (ej.: la empresa ensambladora) pudiesen
realizar pedidos
n La empresa ensambladora todavía necesita disponer de
personal para realizar los pedidos
Integración B2B – Introducción (3)
n Solución B2B (Business To Business)
n Cada proveedor dispone de una aplicación accesible por Internet
con un interfaz (OrderManagement) que permite realizar pedidos
n La empresa ensambladora dispone de una aplicación que contacta
con la aplicación del proveedor adecuado cuando es preciso (ej.: el
número de unidades de un componente en stock es inferior a un
determinado umbral, etc.) para realizar un pedido (usando las
operaciones de su interfaz)
Internet
...
Empresa ensambladora
de PCs
Proveedor-1
Proveedor-2
Proveedor-N
Integración B2B – Introducción (y 4)
n ¿ Podría usarse CORBA como tecnología de
comunicación ?
n Técnicamente SÍ
n En la práctica real, NO
n En la intranet de cada proveedor habrá un firewall que protege
el acceso desde Internet
n Nos gustaría incluir la siguiente regla en el firewall: “permitir
acceso por IIOP a la máquina en la que corre el servidor desde
cualquiera de las máquinas de las empresas cliente”
n Desafortunadamente muchos firewalls no reconocen el protocolo
IIOP
n Si una empresa (la ensambladora o un proveedor) hace uso
exclusivo de tecnologías Microsoft, no implementará su cliente
o servidor con CORBA
Tecnologías para integración B2B (1)
n Tecnologías propietarias
n IBM MQSeries Integrator, Extricity, BEA eLink, webMethods
B2B Enterprise, NEON eBusiness Integration Servers, Vitria
BusinessWare, Microsoft BizTalk Server, etc.
n Problema
n ¡ Son propietarias !
n Todas las partes necesitan usar la misma tecnología => limita
el número de interacciones posibles
n Servicios Web (Web Services)
n Constituye la tecnología más reciente y con más futuro de
integración B2B
n Usa XML como for
Comentarios de: Tema 1: Introducción a las tecnologías de integración de aplicaciones (0)
No hay comentarios