PDF de programación - Tema V - Tecnología de objetos distribuidos y arquitectura de componentes

Imágen de pdf Tema V - Tecnología de objetos distribuidos y arquitectura de componentes

Tema V - Tecnología de objetos distribuidos y arquitectura de componentesgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 6 de Marzo del 2018)
763 visualizaciones desde el 6 de Marzo del 2018
87,6 KB
7 paginas
Creado hace 15a (10/10/2008)
Tema V

Tecnología de objetos

distribuidos y arquitectura de

componentes.

Bibliografía

(cid:127) Szyperski, C. 1998. Component Software. Addison-Wesley.

(cid:127) Ruiz Cortés, 1998. A. CORBA: Una visión general.

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

(cid:127) Sevilla Ruiz, D. 2000. CORBA & Components.

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

(cid:127) Object Management Group. 1995. CORBA Overview.

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

(cid:127) Bernabéu Aubán, J.M. 1999. Sistemas de Objetos Distribuidos: El estándar

CORBA. http://www.iti.upv.es/~josep/docencia/sdb/CORBA/CORBA.html

(cid:127) Schmidt, D.C. 2000. Overview of CORBA.

http://www.cs.wustl.edu/~schmidt/corba.html

1

2

Índice

Introducción

Evolución de la arquitectura de los sistemas informáticos

1. Introducción.

2. OMA (Object Management Architecture).

3. CORBA (Common Object Request Broker Architecture).

4. Conclusiones.

3

Sistemas monolíticos

Presentación

Negocio
Datos

C/S 2 capas

Presentación

Negocio

Negocio
Datos

BD

C/S 3 capas

Presentación

Negocio

Datos

4

Arquitectura multicapa

subcapas

Presentación

Negocio

Datos

BD

Arquitectura de componentes (II)

(cid:127) 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.

(cid:127) COMPONENTE = módulo + conjunto de recursos

– Módulo = conjunto de clases y puede que elementos de proceso no

orientados a objeto (procedimientos y funciones).

– Conjunto de recursos = múltiples interfaces que cada uno

representa un servicio ofrecido por el componente.

(cid:127) COMPONENTE ≠ OBJETO

5

7

Arquitectura de componentes (I)

(multicapa y 3-tier)

3:Component system

2:Component frameworks

1:Components

( tier ≈ grada )

(cid:127) Tier 1: Arquitectura de componentes individuales.
(cid:127) Tier 2: Arquitectura de los marcos de componentes. Macro-

componentes definidos para realizar una función de negocio concreta.
(cid:127) Tier 3: Arquitectura del sistema de componentes. Super-componente

que define todo el sistema.

6

Arquitectura de componentes (III)

(cid:127) Problemas:

– No basta una modelización correcta de jerarquía de

clases e interacciones, se necesita una infraestructura
(nivel de transporte) de comunicación que permita el
flujo transparente de mensajes entre objetos de distintas
aplicaciones en distintas máquinas

– Se debe evitar el crecimiento exponencial de interfaces

(cid:127) Solución:

– Middleware de componentes

8

Arquitectura de componentes (IV)

OMA (Object Management Architecture)

(cid:127) Alternativas:

– Sockets.

(cid:127) Implementación costosa.

– Remote Procedure Calls (RPC).
(cid:127) No soporta objetos explícitamente.

– Microsoft Distributed Component Object Model (DCOM)

(cid:127) Menos maduro, menos portable y además propietario.

– Java Remote Method Invocation (RMI)

(cid:127) Solo para JAVA.

– Common Object Request Broker Architecture (CORBA)

(cid:127) Multiplataforma, multilenguaje, ...

OMA: Objetivos técnicos

(cid:127) Transparencia distribución
(cid:127) Rendimiento local y

remoto

(cid:127) Comportamiento dinámico
(cid:127) Sistema de nombrado
(cid:127) Consultas: nombre,
atributos, relaciones

(cid:127) Control de la concurrencia
(cid:127) Transacciones
(cid:127) Robustez, disponibilidad

(cid:127) Mantenimiento de

versiones

(cid:127) Notificación de eventos
(cid:127) Semántica de Relaciones

entre objetos

(cid:127) API en C para todas las

operaciones

(cid:127) Administración y gestión
(cid:127)
(cid:127) Estandarización

Internacionalización

9

11

(cid:127) OMG: Object Management Group, Inc.
http://www.omg.org
– Fundado en 1989.
– Objetivo: Desarrollo de estándares para la reutilización,

portabilidad e interoperabilidad de software orientado a objetos
en entornos heterogéneos y distribuidos.

– Solución: Definen OMA (Object Management Architecture) de la

cual CORBA es una parte.

– Historia:

(cid:127) 1991: CORBA 1.1
(cid:127) 1995: CORBA 2.0 (Modelo de Referencia)
(cid:127) 2000: CORBA 2.4 (actual)
(cid:127) 2000-2001: CORBA 3.0 (Modelo de Componentes) (en desarrollo)

10

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)

Object services (CORBAservices) (II)

(cid:127) Definen 16 servicios comunes ofrecidos a los objetos:

– Naming service : Identificación 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 implementación.
– Concurrency service : Gestión 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

CORBAfacilities

(cid:127) Definen servicios comunes ofrecidos a las aplicaciones:

– Horizontales: define colecciones de objetos prefabricados

(cid:127) Interfaz de usuario
(cid:127) Gestión de la información
(cid:127) Gestión de sistemas
(cid:127) Gestión de tareas

– Verticales: define servicios comunes para un dominio completo

(framework tier)

(cid:127) Objetos de negocio
(cid:127) Comercio electrónico
(cid:127) Finanzas
(cid:127) Manufacturación
(cid:127) Medicina
(cid:127) Telecomunicaciones

13

15

– 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

terminación del programa que lo creó

– Properties service : Asocia propiedades al objeto (modificable,

borrable o sólo lectura)

– Relationship service : Permite relaciones entre objetos
– Time service : Soluciona el problema del reloj asíncrono en los

SID. Usa time-stamping.

14

Application objects

(cid:127) Definen servicios específicos de un determinado negocio o

aplicación.

(cid:127) Suponen el nivel más alto de los servicios soportados por la

arquitectura OMA

16

CORBA

(Common Object Request Broker Architecture)
(cid:127) CORBA es un middleware orientado a objetos / componentes.
(cid:127) Los objetos cliente solicitan servicios a los objetos servidor

mediante invocación de método

(cid:127) Separa interfaz e implementación
(cid:127) Es independiente del lenguaje: los objetos clientes y servidores

se implementan en cualquier lenguaje (de los soportados)

(cid:127) Crea transparencia de localización a través del ORB :

– de objetos: la invocación siempre se hace en local
– de red: el ORB la gestiona
– de activación: los servidores se activan automáticamente
– de estado persistente: permite que el servidor guarde persistencia y es
17

transparente al cliente

Comunicación C/S en CORBA

Cliente

Servidor

Invocation
Interface

Object
Adapter
Object Request Broker (ORB)

19

IDL (Interface Definition Language)

(cid:127) CORBA incorpora un lenguaje de definición de interfaces

(IDL)
Independiente del lenguaje de implementación.

(cid:127)
(cid:127) Mapea hacia los lenguajes de programación habituales.
(cid:127) Los ORBs llevan incorporados su traductor de IDL a los

lenguajes de implementación soportados
Ada

Delphi

C++

SmallTalk

C

Java

IDL

Object Request Broker (ORB)

Arquitectura de CORBA

Interface
Repository

Client

IDL COMPILER

operación(args)

OBJ
REF

resultado(args)

Implementation

Repository

Object
(Servant)

Dynamic
Invocation
Interface

IDL
Stubs

ORB

Interface

IDL
Static

Skeletons

Dynamic
Skeleton
Interface

Object
Adapter

Object Request Broker (ORB)

18

20

Componentes primarios en CORBA (I)

Componentes primarios en CORBA (II)

(cid:127) Object :

– Entidad de programación CORBA.
– Tiene una identidad, una interfaz, y una implementación (conocida como Servant).

(cid:127) Servant (sirviente) :

– Implementación de una entidad en un lenguaje de programación (en cualquiera de

los soportados).

– Define las operaciones que soporta un determinado interfaz CORBA IDL.

(cid:127) Client :

– Entidad de programa que invoca una operación a una implementación de objeto.
– Idealmente será tan simple como una invocación a un método.

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

– Núcleo de la arquitectura CORBA.
– Proporciona transparencia entre los clientes y las implementaciones de los objetos.
– Cuando un cliente invoca una operación, ORB busca la implementación del objeto,

lo activa si es necesario, transmite la petición y devuelve la respuesta.

– Permite conexión con otros ORBs.

21

(cid:127) ORB Interface :

(cid:127)

(cid:127)

– Interfaz de comunicación con el ORB para solicitarle servicios al propio ORB:

conversión 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 invocación remota
– Define rutinas específicas para operaciones particulares en objetos particulares
– Definido en IDL y se transforma al lenguaje de programación del Cliente
– La transformación entre CORBA IDL y el lenguaje de programación se realiza

automáticamente por el IDL compiler

IDL skeletons (esqueletos) :
– Ofrece una interfaz estática a cada servicio del objeto
– Definido en IDL y se transforma al lenguaje de programación del Servant

Componentes primarios en CORBA (III)

Componentes primarios en CORBA (IV)

(cid:127) Dynamic Invocation Interface :

– Permite la construcción dinámica de invocaciones a objetos.
– No llama a una rutina espec
  • Links de descarga
http://lwp-l.com/pdf9253

Comentarios de: Tema V - Tecnología de objetos distribuidos y arquitectura de componentes (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad