![Page 1: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/1.jpg)
CORBA
Una arquitectura para integrar ambientes distribuidos y heterogéneos
Carlos Alberto OlarteJulio 2002
![Page 2: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/2.jpg)
ContenidoEl problema de los ambientes distribuidosArquitectura OMAArquitectura CORBAObjetos de serviciosFacilidaes comunesObject BussinessResumen
![Page 3: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/3.jpg)
El problema de los ambientes distribuidos
![Page 4: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/4.jpg)
Un ambiente distribuido típico
Comp 1Comp 2
Comp 3
Comp 1Comp 2
Comp 3
Comp 1Comp 2
Comp 3
![Page 5: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/5.jpg)
Complejidad de los sistemas distribuidos
Los datos están distribuidos Diferentes lenguajes Diferentes formatos
La computación es distribuida Diferentes servidores (Plataforma y S.O) Diferentes clientes (Plataforma y S.O)
Los usuarios están distribuidos
![Page 6: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/6.jpg)
Ventajas de los ambientes distribuidosSe logra hacer uso de las ventajas de
cada proveedor de plataformasLos componentes pueden ser
desarrollados por diferentes proveedores
Los componentes bien definidos pueden ser reutilizados
![Page 7: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/7.jpg)
Debilidades de los ambientes distribuidosSe pierde un poco de controlLa depuración puede llegar a ser muy
complejaSin herramientas adecuadas la gestión
y administración puede salirse de las manos
![Page 8: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/8.jpg)
Arquitectura OMA
Una solución al problema
![Page 9: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/9.jpg)
Arquitectura OMAPropuesta por OMGSolución al problema de los ambientes
distribuidos Intenta promover un estándar para la
comunicación y construcción de componentes distribuidos
![Page 10: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/10.jpg)
Componentes
Common Object Services
Object Request BrokerObject Request Broker
Application Obj
Common Facilities
![Page 11: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/11.jpg)
ORBCanal de comunicación Invocaciones estáticas y dinámicasTransparencia en el lenguajeSistema autodescribibleTransparencia local / remotaSeguridad en las transaccionesMensajes polimórficos
![Page 12: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/12.jpg)
Object ServicesAumento de la funcionalidad del ORBLos servicios que incluyen:
Nombrado Ciclo de Vida Persistencia Control de concurrencia y Transacciones Eventos Relación, Licencia, Propiedad
![Page 13: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/13.jpg)
Common FacilitiesColecciones de componentesHorizontales
Interfaces de Usuarios Administración de la información Administración del sistema Manejo de tareas (WokFlow)
Verticales Salud, Finanzas, Telcos, etc
![Page 14: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/14.jpg)
Application/Bussiness ObjectsObjetos propios de la aplicaciónDeben ser componentes bien definidosDeben poder ser reutilizablesDeben ser distribuibles
![Page 15: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/15.jpg)
CORBA
Una implementación de OMA
![Page 16: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/16.jpg)
S. K.S. K.S. K.S. K.
ORB I.ORB I.C. I. S.C. I. S.C. I. S.C. I. S.C. I. S.C. I. S.
La arquitectura
Object Request Broker CoreObject Request Broker Core
ImpImpRepRep
IntIntRepRep
D.I.D.I. Object AdapterObject Adapter
D.S.ID.S.IS.I.S.S.I.S.
ClientClient
Object Object ImplementationImplementation
![Page 17: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/17.jpg)
ORBCanal de ComunicaciónCuenta con las características del ORB
de OMA (transparencia, seguridad, transaccionalidad, etc)
CORBA APICORBA API CORBA OACORBA OA
ORBORB
![Page 18: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/18.jpg)
...continuaciónCDRs (Common Data Representation) Interoperabilidad entre ORBS gracias a
los protocolos GIOP ESIOP IIOP
Posibilidad de crear puentes entre ORBs y crear federaciones
![Page 19: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/19.jpg)
IDL como estandarización para la definición de los componentes
Lenguaje puramente declarativo Debe describir cualquier componente que
“vive” en el ORB Contrato entre el cliente y el servidor Se puede precompilar para generar clases
en un lenguaje de alto nivel que implemente el componente
![Page 20: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/20.jpg)
Componentes del IDL Módulo Interfaces Operaciones Tipos de Datos Permite herencia
múltiple, definición de arrays (secuencias) y lanzar excepciones
module formas{ exception FrmExp;
interfaz cuadrado { attribute long area;
void dibujar() raises (FrmExp); }};
![Page 21: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/21.jpg)
Del lado del cliente IDL Stubs
Definen como invocar los servicios (estáticamente)
Extraídos directamente del IDLDII (Dinamic invocation Interface)
Descubrir los objetos (metadatos) en tiempo de ejecución
![Page 22: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/22.jpg)
... continuación Interfaz del repositorio
Base de datos en tiempo de ejecución de las interfaces IDL
Permite a los componentes autodescribirse modificando los metadatos de este repositorio
Provee chequeo de tipos a la invocación de los métodos
![Page 23: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/23.jpg)
... continuación Interfaz del ORB
APIs básicas para interactuar con el ORB en el lenguaje
Ej: To_string, to_object
![Page 24: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/24.jpg)
Del lado del servidorServer IDL Stubs (Esqueletos)
Generados a partir del IDL Base para implementar el servidor
Dinamic Skeleton Interface (DSI) API para ubicar el método y pasar los
parámetros dinámicamente Permiten hacer los puentes entre ORBs
![Page 25: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/25.jpg)
... continuación Object Adapter
Proveen el ambiente de ejecución para el servidor (instancias de nuevos servidores)
Proveen las referencias a los objetos y sus Ids
Gestionan las peticiones de los clientes a los respectivos métodos del servidor
Registran las clases en el repositorio
![Page 26: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/26.jpg)
... continuación Implementation Repository
Repositorio en tiempo de ejecución de las clases soportadas por el servidor
Incluyen trazabilidad, auditoria y funciones administrativas
Interfaz ORB Similar a la interfaz con el ORB del cliente
![Page 27: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/27.jpg)
Invocación Dinámica Vs Estática
Estática Fácil de programar Chequeo de tipos
robusto Mejor desempeño Auto documentada
Dinámica Ambiente de
ejecución flexible Adición de clases
sin recompilar el cliente
Util para descubrir servicios en tiempo de ejecución
![Page 28: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/28.jpg)
Cómo se implementa cada una?
Estática Definir el IDL Precompilar el IDL Implementar el Servidor Compilar Implementar el cliente
(haciendo invocaciones “locales”)
Inic el Servidor Hacer las invocaciones
Dinámica Obtener la descripción
del repositorio Crear la lista de
argumentos Crear el requerimiento Invocar el requerimiento
![Page 29: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/29.jpg)
Object Services
Objetos con interfaz IDL sobre el bus del ORB
![Page 30: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/30.jpg)
Visión OMA
BussinessObjects
ORBORB
Object ServicesObject Services
Horizontal FacilitiesHorizontal Facilities
Vertical FacilitiesVertical Facilities
![Page 31: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/31.jpg)
Naming ServiceCómo referenciar objetos?
IOR (Interoperable Object Reference) Mediante Nombre
Mecanismo para localizar otros objetosOrganización jerárquica a partir de
contextos
![Page 32: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/32.jpg)
... continuaciónObtiene referencias a partir de nombre
comunesSus interfaces:
NamingContext (resolve,list,bind,unbind) BindingIterator (Next_one,next_n,destroy)
![Page 33: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/33.jpg)
... escenario
América
Sur Norte
ColombiaEcuador
ChileUSA Canada
Context Name
Objects
![Page 34: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/34.jpg)
Trader ServiceServicio de páginas amarillas Interés de los servidores por publicar
sus servicios (competencia)Disponer de “atributos” (etiquetas) a los
componentes del sistemaBúsquedas de los objetos de acuerdo a
sus “atributos”
![Page 35: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/35.jpg)
...arquitectura del servicio
Trader
Exporter Importer
Withdraw()register()
Search()Select()
![Page 36: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/36.jpg)
Cliente ServiceTypeFactory
createTypecreateTypeServiceType
ServiceOfferFactory
createServiceOffercreateServiceOffer
ServiceOffer
Exporter Importer
RegistrarRegistrar
DefPropDefProp
getPropValuegetPropValue
Search/SelectSearch/Select
![Page 37: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/37.jpg)
Life Cycle ServiceProvee operaciones para crear, copiar,
mover y eliminar objetosPermite mantener asociaciones entre
objetos que se relacionanMantiene la jerarquía después de
efectuar las operaciones
![Page 38: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/38.jpg)
... continuación Interfaces del servicio:
Factory Finder (find_factories) GenericFactory(crete_object) LifeCycleObject(copy,move,remove)
Interfaces de los componentes del servicio: OperationFactory(create_compund_operations) Operations(copy,move,remove,destroy) Node(copy_node,move_node,remove_node) Role(copy_role,move_role) Relationship(copy_relation_ship,move_relationship)
![Page 39: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/39.jpg)
...escenario
Folder A
Folder B
En
En
![Page 40: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/40.jpg)
Event ServiceRegistrar / Desregistrar intereses en
eventosControl sobre notificaciones y eventosEl canal de eventos soporta:
Modelo Push: El Proveedor notifica al canal y esta notifica a los clientes
Modelo Pull: El Cliente hace la petición al canal y éste intenta pregunta al servidor
![Page 41: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/41.jpg)
... escenario
ORBORB
ORBORB
ServidorServidor EventEventChannelChannel ClienteCliente
Push Push
mmm. el dólar subió
Evento: El dólar subió
ServidorServidorEventEvent
ChannelChannelClienteClienteQue pasa?
Evento: El dólar subió
Pull Pull
![Page 42: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/42.jpg)
Transaction Service (OTS)Soporta transacciones planas o
anidadasSoporta transacciones que puedan
expandirse sobre varios ORBsPara volver un componente
transaccional solo debe heredar una interfaz
![Page 43: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/43.jpg)
... continuación El OTS esta compuesto de:
Un cliente transaccional que provee invocaciones de inicio y fin de la transacción
Un servidor transaccional que es la colección de objetos que se ven afectados por la transacción. Estos se encargan de transmitir el contexto de la transacción a los otros servidores
Un servidor recuperable que son objetos que tienen recursos protegidos y su estado se ve afectado por el commit o rollback.
![Page 44: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/44.jpg)
... Escenario
ORBORB
TransactionContext
ClienteTransaccional
ServidorTransaccional
Servidor Recuperable
InicTrans Método
Transaccional Propagación
![Page 45: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/45.jpg)
... continuación Las interfaces involucradas:
Current – para el cliente – (begin,commit, rollback, get_status, suspend, etc)
Coordinator: La utilizan los objetos recuperables para participar en la transacción
Resource: Es implementada por un servidor recuperable (prepare, commit_one_phase, commit, rollback)
SubtransactionAwareResource: Implementable por servidores recuperables para transacciones anidadas (commit_subtransaction,rollback_....)
![Page 46: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/46.jpg)
Cliente Recurso A Recurso B Current Coordinator
beginbegin
Acción1Acción1get_controlget_control
Register_resourceRegister_resource
Acción2Acción2get_controlget_control
Register_resourceRegister_resource
commitcommit
prepareprepare
prepareprepare
commitcommit
commitcommit
![Page 47: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/47.jpg)
Concurrency Control Service Control de candados para:
Servicios transaccionales (el servicio transaccional debe liberarlos automáticamente)
Servicios no transaccionales, en los que el cliente debe liberar los candados
Interfaces LockSetFactory (create, create_relates,
create_transaccional,create_transaccional_related) Lockset(lock,try_lock,unlock,change_mode,get_cooridina
tor) TransactionalLockSet (igual al anterior) LockCoordinator (drop_locks)
![Page 48: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/48.jpg)
Persistence and Object Databases (POS)Provee una interfaz única para múltiples
tipos de datastores
MemoriaMemoria
P.O.SP.O.S
Interfazúnica
PDS especializados
Archivos RBD ODB Otros
![Page 49: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/49.jpg)
... continuaciónPOS soporta almacenamiento de 1
(SQL) y 2 niveles (ODBMs)Los Objetos persistentes pueden
delegar sus tareas al POS u obtener control total sobre su persistencia
Para el cliente es totalmente la transparencia de la persistencia
![Page 50: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/50.jpg)
... arquitectura del POS
ClienteCliente
POMPOM
DDODDO ODMSODMS DADA
SQLDatabases ODBMs Simple
Object Stores
POs
Persistent ObjManager
PDSs
Datastores
![Page 51: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/51.jpg)
... continuación Interfaces:
PIDFactory: Crear Persistent Object ID (create_PID_from_key,create_PID_from_string,create_PID_from_string_and_key)
POFactory: (create_PO) PID: (get_PIDString) PO: (connect,disconnect,store,restore, delete) POM: Comunicación con los datastores (connect,
disconnect, store, restore, delete) PDS: (connect, disconnect, store, restore, delete)
![Page 52: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/52.jpg)
... ODBMSReemplazo de los RDBMS para la
tecnología de los POsCuenta con control de concurrencia,
candados, protección transaccional, copias de respaldo
Posibilidad de crear nuevos tipos de información y estructuras
![Page 53: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/53.jpg)
... continuación Evita el uso de las FK para las búsquedas
haciéndolas más eficiente Vistas flexibles de estructuras compuestas Alta integración con los lenguajes de alto nivel
(OO) Posibilidad de crear nuevas estructuras por
medio de la herencia Controla el ciclo de vida de los Obj. (copy,
move, delete) manteniendo las relaciones Soporte a diferentes versiones de los objetos
![Page 54: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/54.jpg)
... continuación Provee un ODL (Object Definition Language),
que es un superconjunto del IDL para definir colecciones, relaciones, etc independientes del lenguaje
Provee un OQL (Object Query Language), que provee operaciones de Select (Upd, Ins, Del se realizan mediante extensiones al lenguaje de alto nivel)
![Page 55: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/55.jpg)
Query ServiceLos objetos proveen atributos por los
cuales se puedan consultar (sin romper su encapsulamiento)
El servicio de query agrupa varias consultas y las puede filtrar (optimizaciones)
![Page 56: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/56.jpg)
... continuación Interfaces de colección:
CollectionFactory(create) Collection(add_element,insert, replace, remove
element_at) Iterator (reset, next)
Interfaces de consulta: QueryManager(create) QueryEvaluator(evaluate) Query(prepare,execute, get_status, get_result) QueryableCollection: Hereda de Collection y
QueryEvaluator)
![Page 57: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/57.jpg)
Cliente QueryManager
Query
QueryableCollection
Iterator
createcreate
prepareprepare
executeexecute
Get_resultGet_result
create_iteratorcreate_iterator
nextnextnextnext
![Page 58: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/58.jpg)
Collection ServiceUnificación para el tratamiento de
colecciones (colas, pilas, listas, vectores, etc) en los objetos CORBA
![Page 59: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/59.jpg)
Relationship ServicePermite relacionar objetos dentro del
mundo entre síMejor que los punteros convencionales
porque no son unidireccionales y permiten roles
Navegación transparente y ágil por medio de las relaciones
Asociaciones en tiempo de ejecución
![Page 60: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/60.jpg)
... Continuación Interfaces Base:
IdentifiableObject: (is_identical) RelationshipFactory: (create) RoleFactory: (create_role) Relationship: (destroy) Rol: permite la navegación (link,unlink,
get_other_rol,get_other_related_object, etc) RelationshipIterator: Itera sobre las relaciones
adicionales a las que pertenece el rol (next_one, next_n, destroy)
![Page 61: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/61.jpg)
... Continuación Las relaciones se puede ver como grafos por
medio de las siguientes interfaces: NodeFactory: (create_node) Node: (add_rol, remove_rol, roles_of_type) Traversal (next_one, next_n , destroy) Traversal_criteria (visit_node,next_one,next_n,
destroy) Role heredado del Rol Base (get_edges) EdgeIterator (next_one, next_n, destroy)
![Page 62: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/62.jpg)
Externalization ServiceExport / import de los objetosAlternativa para la persistenciaPermite portar objetos entre ORBs no
conectadosConjunto de interfaces para hacer
streams (read, write) a partir de los objetos
![Page 63: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/63.jpg)
...continuaciónAlmacenamieto y recuperación de
objetos relacionados (RelationShip Service) y conjuntos de ellos (context)
Formato de almacenamiento universal entre ORBs
![Page 64: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/64.jpg)
Cliente Stream
WriteKey
Streamable
Write_to_Write_to_streamstream Write_ObjectWrite_Object
StreamIO
Write primitivesWrite primitives
Write GraphWrite Graph
Node
Ext_nodeExt_node
W_primW_prim
W_ObjW_Obj
W_GraphW_Graph
Role
Ext_rolExt_rol
ExternalizeExternalize (streamable)(streamable)
![Page 65: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/65.jpg)
Licensing ServiceControl de uso sobre los componentesMedida del uso de los componentes
![Page 66: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/66.jpg)
Property ServiceEtiquetar objetos en tiempo de
ejecuciónAdición de atributos sin regenerar IDL
![Page 67: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/67.jpg)
Object Time ServiceComponentes:
TimeModel: Estructuras básicas para el manejo del tiempo
CosTime: Objetos propios del servicio (UTO, TIO)
CosTimeEvent: Registrar eventos periódicos en el tiempo o en un instante específico del mismo (modelo push de CosEvent)
![Page 68: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/68.jpg)
Arquitectura CosTime
Time ServiceTime Service
UTOUTO
TIOTIO
•Universal_time•newUTC•newTIO
•Absolute_time•compare_time
•overlap
![Page 69: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/69.jpg)
Arquitectura CosTimerEvent
TimerEventServiceTimerEventService
TimerEventTimerEventHandlerHandler
TimerEventTimerEventHandlerHandler
•Register•unregister
TimerTimerEventEvent
•Set_timer•cancel_timer•status•time_set
![Page 70: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/70.jpg)
Security Service Proveer control de acceso (autenticación,
autorización, auditorías, encripción sobre los componentes)
Los esquemas son diferentes a los habituales servicios cliente/servidor: Los objetos pueden ser clientes o servidores Solo se “ve” la punta del iceberg de los objetos
(hay muchas acciones dinámicas en tiempo de ejecución)
![Page 71: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/71.jpg)
... continuación La interacción entre los objetos no es clara
(encapsulamiento) Los objetos son polimórficos (es fácil
reemplazar componentes por troyanos) Los servidores pueden llegar a ser muchos Los objetos se crean y se destruyen “sin
control”
![Page 72: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/72.jpg)
Change Managment ServiceControl de versión sobre los
componentesFavorece la creación de “industrias” de
componentes
![Page 73: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/73.jpg)
Common Facilities
Frameworks para ayudar a la contstrucción de Object Bussiness
![Page 74: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/74.jpg)
Visión OMA
BussinessObjects
ORBORB
Object ServicesObject Services
Horizontal FacilitiesHorizontal Facilities
Vertical FacilitiesVertical Facilities
![Page 75: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/75.jpg)
HorizontalesUser Interface Common Facility
Protocolos para comunicar componentes gráficos
Estándares para poder disponer varios componentes en una misma GUI
Manejo de la geometría y aspectos visuales Disponer componentes dentro de otros
componentes
![Page 76: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/76.jpg)
...continuación Information Managment Facility:
Representación de los datos Aspectos de seguridad y privacidad Complemento de la interfaz del repositorio
para conocer las interfaces de los objetos implementados
![Page 77: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/77.jpg)
... continuaciónSystem Management Facility:
Permite recolectar información de carga (recursos) de los componentes
Recolección de los eventos sucedidos con un objeto
Seleccionar niveles de servicio de los objetos (disponibilidad, desempeño, etc)
Registrar, filtrar, reenviar mensajes (sobre el servicio de eventos)
Programar eventos sobre el CosTimeEvent service
![Page 78: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/78.jpg)
... continuaciónTask Management Common Facility
Control sobre WorkFlows Control sobre largas transacciones Creación de reglas de negocio Creación de agentes de búsqueda de
información
![Page 79: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/79.jpg)
Vertical FacilitiesControl de imágenes (manejos de tipos
BLOB)Facturación, monitoreo de componentes
para el comercio electrónicoComputer Integrated Manufacturing (CIM)
- control de procesos, trazabilidad, aseguramiento de la calidad
![Page 80: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/80.jpg)
... continuaciónSimulaciones distribuidas (control de
tráfico, escenarios de negocios, vídeo juegos)
Exploraciones de gas y petróleo (algoritmos propios para esta tarea)
Servicios de facturación (transacciones, cambios de moneda, ordenes de compra, etc)
![Page 81: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/81.jpg)
Object Bussiness (Application Object)
Componentes bien definidos y reutilizables
![Page 82: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/82.jpg)
Visión OMA
BussinessObjects
ORBORB
Object ServicesObject Services
Horizontal FacilitiesHorizontal Facilities
Vertical FacilitiesVertical Facilities
![Page 83: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/83.jpg)
Bussiness ObjectsDeben ser reutilizables (bien definidos)Objetos tal cual como se ven en la
realidadDefinidos por interfaces IDL Interacción trasparente con ayuda de los
servicios CORBAFlexibles (no atados a un sistema
monolítico)
![Page 84: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/84.jpg)
...continuaciónDeben ser libres del contexto
(utilizables en diferentes situaciones)
![Page 85: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/85.jpg)
Modelo de ObjetosBussiness Objects:
Encapsulan los datos, reglas del negocio (como reaccionar a eventos)
Implementan procesos en sí mismos Definen como cambiar su estado
Bussiness Process Objects: Encapsulan la lógica del negocio a nivel más
general (procesos) Implementan procesos que involucran varios
objetos
![Page 86: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/86.jpg)
... Continuación Realizan transacciones Definen como deben cambiar los objetos de
acuerdo al entornoPresentation Object
Representación visual de los objetos Comunicación con los Object Bussiness para
extraer y modificar datos Algunos no son GUI (interfaces con otros
sistemas)
![Page 87: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/87.jpg)
ResumenOMA Arquitectura para la distribución
de procesos en ambientes heterogéneos
CORBA una implementación de OMA con un bus de datos bien definido para la comunicación entre los componentes
![Page 88: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/88.jpg)
Objetos de servicio, extensión al bus de comunicación proveyendo servicios de nombrado, comercio, eventos, seguridad, propiedades, etc
Facilidades horizontales, una serie de APIs con interfaces IDL que proveen mecanismos comunes a múltiples tipos de aplicaciones basadas en componentes
![Page 89: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/89.jpg)
Facilidades verticales, marcos de trabajo propios para tipos específicos de aplicaciones (finanzas, salud, etc)
Object Bussiness, componentes a desarrollar para que sean totalmente flexibles, bien definidos, autodescribibles, lo mas aproximados a la realidad y reutilizables en varios escenarios
![Page 90: CORBA Una arquitectura para integrar ambientes distribuidos y heterogéneos Carlos Alberto Olarte Julio 2002](https://reader033.vdocumento.com/reader033/viewer/2022051418/5665b4601a28abb57c9101e0/html5/thumbnails/90.jpg)
FIN