Sie sind auf Seite 1von 26

Tema V

Tecnologa de objetos distribuidos y arquitectura de componentes.

Bibliografa
Szyperski, C. 1998. Component Software. Addison-Wesley.

Ruiz Corts, 1998. A. CORBA: Una visin general.


http://www.lsi.us.es/~aruiz

Sevilla Ruiz, D. 2000. CORBA & Components.


http://www.ditec.um.es/~dsevilla/ccm/.

Object Management Group. 1995. CORBA Overview.


http://www.infosys.tuwien.ac.at/Research/Corba/OMG

Bernabu Aubn, J.M. 1999. Sistemas de Objetos Distribuidos: El estndar

CORBA. http://www.iti.upv.es/~josep/docencia/sdb/CORBA/CORBA.html
Schmidt, D.C. 2000. Overview of CORBA.
http://www.cs.wustl.edu/~schmidt/corba.html 2

ndice
1. Introduccin.
2. OMA (Object Management Architecture). 3. CORBA (Common Object Request Broker Architecture). 4. Conclusiones.

Introduccin
Evolucin de la arquitectura de los sistemas informticos
C/S 2 capas
Sistemas monolticos
Presentacin
Negocio Datos Negocio Datos Negocio Presentacin Negocio

C/S 3 capas
Presentacin

Datos

BD
4

Arquitectura multicapa
Presentacin
subcapas

Negocio

Datos

BD
5

Arquitectura de componentes (I) (multicapa y 3-tier)


3:Component system

2:Component frameworks
1:Components

( tier grada ) Tier 1: Arquitectura de componentes individuales. Tier 2: Arquitectura de los marcos de componentes. Macrocomponentes definidos para realizar una funcin de negocio concreta. Tier 3: Arquitectura del sistema de componentes. Super-componente que define todo el sistema.
6

Arquitectura de componentes (II)


Cada componente del tier 3 se define con un conjunto de componentes del tier 2, y cada uno del tier 2 por un conjunto del tier 1.
COMPONENTE = mdulo + conjunto de recursos Mdulo = conjunto de clases y puede que elementos de proceso no orientados a objeto (procedimientos y funciones). Conjunto de recursos = mltiples interfaces que cada uno representa un servicio ofrecido por el componente. COMPONENTE

OBJETO
7

Arquitectura de componentes (III)


Problemas:
No basta una modelizacin correcta de jerarqua de clases e interacciones, se necesita una infraestructura (nivel de transporte) de comunicacin que permita el flujo transparente de mensajes entre objetos de distintas aplicaciones en distintas mquinas Se debe evitar el crecimiento exponencial de interfaces

Solucin:
Middleware de componentes

Arquitectura de componentes (IV)


Alternativas:
Sockets.
Implementacin costosa.

Remote Procedure Calls (RPC).


No soporta objetos explcitamente.

Microsoft Distributed Component Object Model (DCOM)


Menos maduro, menos portable y adems propietario.

Java Remote Method Invocation (RMI)


Solo para JAVA.

Common Object Request Broker Architecture (CORBA)


Multiplataforma, multilenguaje, ...
9

OMA (Object Management Architecture)


OMG: Object Management Group, Inc.
http://www.omg.org

Fundado en 1989. Objetivo: Desarrollo de estndares para la reutilizacin, portabilidad e interoperabilidad de software orientado a objetos en entornos heterogneos y distribuidos. Solucin: Definen OMA (Object Management Architecture) de la cual CORBA es una parte. Historia:
1991: CORBA 1.1 1995: CORBA 2.0 (Modelo de Referencia) 2000: CORBA 2.4 (actual) 2000-2001: CORBA 3.0 (Modelo de Componentes) (en desarrollo)
10

OMA: Objetivos tcnicos


Transparencia distribucin Rendimiento local y remoto Comportamiento dinmico Sistema de nombrado Consultas: nombre, atributos, relaciones Control de la concurrencia Transacciones Robustez, disponibilidad Mantenimiento de versiones Notificacin de eventos Semntica de Relaciones entre objetos API en C para todas las operaciones Administracin y gestin Internacionalizacin Estandarizacin
11

Arquitectura del modelo de referencia OMA

Application objects

CORBA facilities

CORBA 2.0 Object Request Broker (ORB)

Object services (CORBAservices)

12

Object services (CORBAservices) (I)


Definen 16 servicios comunes ofrecidos a los objetos:
Naming service : Identificacin de objetos

Object security service : Servicio de seguridad


Object trader service : Mercader de objetos. Los ofrece a los clientes. Object transaction service : Permite transacciones con commit-rollback

Change management service : Gestor de versiones de implementacin.


Concurrency service : Gestin de bloqueos para permitir concurrencia Event notification service : Objetos que son mensajes de eventos Externalization service : Permite copiar objetos por valor Licensing service : Permite obtener licencias de uso de un objeto Lifecycle service : Crea, copia, mueve y borra objetos y grupos de objetos relacionados
13

Object services (CORBAservices) (II)


Object collections service : Crea colecciones de objetos (basado en SMALLTALK) (rboles, listas, colas, conjuntos,...)

Object query service : Permite localizar los objetos por el valor de sus atributos (parecido al Trader, pero en lugar de servicios ofrece atributos)
Persistent object service : Permite al objeto sobrevivir a la terminacin del programa que lo cre Properties service : Asocia propiedades al objeto (modificable, borrable o slo lectura) Relationship service : Permite relaciones entre objetos Time service : Soluciona el problema del reloj asncrono en los SID. Usa time-stamping.
14

CORBAfacilities
Definen servicios comunes ofrecidos a las aplicaciones:
Horizontales: define colecciones de objetos prefabricados
Interfaz de usuario Gestin de la informacin Gestin de sistemas Gestin de tareas

Verticales: define servicios comunes para un dominio completo (framework tier)


Objetos de negocio Comercio electrnico Finanzas Manufacturacin Medicina Telecomunicaciones
15

Application objects
Definen servicios especficos de un determinado negocio o aplicacin.
Suponen el nivel ms alto de los servicios soportados por la arquitectura OMA

16

CORBA
(Common Object Request Broker Architecture)
CORBA es un middleware orientado a objetos / componentes. Los objetos cliente solicitan servicios a los objetos servidor mediante invocacin de mtodo Separa interfaz e implementacin Es independiente del lenguaje: los objetos clientes y servidores se implementan en cualquier lenguaje (de los soportados) Crea transparencia de localizacin a travs del ORB :
de objetos: la invocacin siempre se hace en local de red: el ORB la gestiona de activacin: los servidores se activan automticamente de estado persistente: permite que el servidor guarde persistencia y es transparente al cliente 17

IDL (Interface Definition Language)


CORBA incorpora un lenguaje de definicin de interfaces (IDL) Independiente del lenguaje de implementacin. Mapea hacia los lenguajes de programacin habituales. Los ORBs llevan incorporados su traductor de IDL a los lenguajes de implementacin soportados C C++ Java Delphi Ada SmallTalk

IDL

Object Request Broker (ORB)


18

Comunicacin C/S en CORBA

Cliente

Servidor

Invocation Interface

Object Adapter

Object Request Broker (ORB)


19

Arquitectura de CORBA
Interface Repository IDL COMPILER Implementation Repository

operacin(args)
Client
OBJ REF

Object resultado(args)
(Servant)

Dynamic Invocation Interface

IDL Stubs

ORB Interface

IDL Static Skeletons

Dynamic Skeleton Interface

Object Adapter

Object Request Broker (ORB)


20

Componentes primarios en CORBA (I)


Object :
Entidad de programacin CORBA. Tiene una identidad, una interfaz, y una implementacin (conocida como Servant).

Servant (sirviente) :
Implementacin de una entidad en un lenguaje de programacin (en cualquiera de los soportados). Define las operaciones que soporta un determinado interfaz CORBA IDL.

Client :
Entidad de programa que invoca una operacin a una implementacin de objeto. Idealmente ser tan simple como una invocacin a un mtodo.

Object Request Broker (ORB) (corredor de peticiones a objetos) :


Ncleo de la arquitectura CORBA. Proporciona transparencia entre los clientes y las implementaciones de los objetos. Cuando un cliente invoca una operacin, ORB busca la implementacin del objeto, lo activa si es necesario, transmite la peticin y devuelve la respuesta. 21 Permite conexin con otros ORBs.

Componentes primarios en CORBA (II)


ORB Interface :
Interfaz de comunicacin con el ORB para solicitarle servicios al propio ORB: conversin de referencias de objetos a cadenas, ...

IDL stubs (cabos) :


El stub es la interfaz que ve el cliente Representante del servidor en el lado cliente (proxy) Realiza invocacin remota Define rutinas especficas para operaciones particulares en objetos particulares Definido en IDL y se transforma al lenguaje de programacin del Cliente La transformacin entre CORBA IDL y el lenguaje de programacin se realiza automticamente por el IDL compiler

IDL skeletons (esqueletos) :


Ofrece una interfaz esttica a cada servicio del objeto Definido en IDL y se transforma al lenguaje de programacin del Servant
22

Componentes primarios en CORBA (III)


Dynamic Invocation Interface :
Permite la construccin dinmica de invocaciones a objetos. No llama a una rutina especfica para una operacin particular en un objeto particular. El cliente especifica el objeto a ser invocado, la operacin y el conjunto de parmetros (esto lo obtiene del Interface Repository)

Dynamic Skeleton Interface :


Permite el manejo dinmico de las invocaciones a objetos. No es accedido por un esqueleto especfico para una operacin determinada. Se proporciona acceso a travs de un nombre de operacin y parmetros.

23

Componentes primarios en CORBA (IV)


Object Adapter :
Conecta al ORB con la implementacin del objeto para realizar los servicios que el ORB proporciona (a otros objetos y clientes):
generacin e interpretacin de referencias a objetos invocacin de mtodos seguridad de las interacciones activacin y desactivacin del objeto y su implementacin mapeo de las referencias de los objetos a sus implementaciones registro de implementaciones.

24

Componentes primarios en CORBA (V)


Interface Repository :
Almacena informacin relativa a las interfaces IDL definidas en el Sistema Distribuido. El ORB solicita los servicios al IR para:
comunicarse con otros ORB de distinta implementacin. verificar los parmetros de la peticin verificar la existencia de ciclos en los grafos de herencia

Los clientes solicitan los servicios al IR para:


navegar por la lista de interfaces facilitar la instalacin y distribucin de objetos

Un ORB puede tener varios IR segn la necesidad (prueba, release, externos, ...

Implementation Repository :
Almacena informacin de administracin de cada uno de los objetos: cules estn instanciados, como activarlos, permisos, etc.

25

Conclusiones
Independiente del Sistema Operativo y del lenguaje de programacin Intenta hacer transparente a los programadores todos los aspectos que sea posible. Facilita la reutilizacin de software, incluso cuando no est implementado en un OOL. Incorpora mecanismos de seguridad: autentificacin, encriptacin,... Tecnologa OO. Estndar comercial y abierto. CORBA 3.0 Modelo de componentes (CCM)
26

Das könnte Ihnen auch gefallen