Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2019
Una mirada al pasado que aun tiene vigencia
Comp 1
Comp 2
Comp 3
Comp 1
Comp 2
Comp 1 Comp 3
Comp 2
Comp 3
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)
Verticales
Salud, Finanzas, Telcos, etc
Application/Bussiness Objects
Objetospropios de la aplicación
Deben ser componentes bien definidos
Deben poder ser reutilizables
Deben ser distribuibles
CORBA
ORB
...continuación
CDRs (Common Data Representation)
Interoperabilidad entre ORBS gracias a
los protocolos
GIOP
IIOP
Estática Dinámica
Fácil de programar Ambiente de
Chequeo de tipos ejecución flexible
robusto Adición de clases
Mejor desempeño sin recompilar el
Auto documentada
cliente
Util para descubrir
servicios en tiempo
de ejecución
Cómo se implementa cada una?
Estática Dinámica
Definir el IDL Obtener la descripción
Precompilar el IDL del repositorio
Implementar el Servidor Crear la lista de
Compilar argumentos
Implementar el cliente Crear el requerimiento
(haciendo invocaciones
Invocar el requerimiento
“locales”)
Inic el Servidor
Hacer las invocaciones
Object Services
Bussiness
Objects
Vertical Facilities
Horizontal Facilities
Object Services
ORB
Naming Service
Cómo referenciar objetos?
IOR(Interoperable Object Reference)
Mediante Nombre
Trader
Search()
Withdraw()
Select()
register()
Exporter Importer
Life Cycle Service
Provee operaciones para crear, copiar,
mover y eliminar objetos
Permite mantener asociaciones entre
objetos que se relacionan
Mantiene la jerarquía después de
efectuar las operaciones
... 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)
Event Service
Registrar / Desregistrar intereses en
eventos
Control sobre notificaciones y eventos
El 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
... escenario
Evento: El mmm. el
dólar subió dólar subió
Event
Servidor Cliente
Channel
Push Push
ORB
Evento: El
dólar subió
Que pasa? Event
Cliente Servidor
Channel
Pull Pull
ORB
Transaction Service (OTS)
Soporta transacciones planas o
anidadas
Soporta transacciones que puedan
expandirse sobre varios ORBs
Para volver un componente
transaccional solo debe heredar una
interfaz
... Escenario Servidor
Cliente Servidor Recuperable
Transaccional Transaccional
Inic
Trans Método
Transaccional Propagación
ORB
Transaction
Context
Cliente Recurso A Recurso B Current Coordinator
begin
Acción1
get_control
Register_resource
Acción2
get_control
Register_resource
commit
prepare
prepare
commit
commit
Persistence and Object
Databases (POS)
Provee una interfaz única para múltiples
tipos de datastores
Memoria
Interfaz
única
P.O.S
PDS
especializados
Persistent Obj
POM Manager
Datastores
SQL Simple
ODBMs
Databases Object Stores
... ODBMS
Reemplazo de los RDBMS para la
tecnología de los POs
Cuenta con control de concurrencia,
candados, protección transaccional,
copias de respaldo
Posibilidad de crear nuevos tipos de
información y estructuras
Query Service
Los 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)
Relationship Service
Permite 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
Licensing Service
Controlde uso sobre los componentes
Medida del uso de los componentes
Property Service
Etiquetar objetos en tiempo de
ejecución
Adición de atributos sin regenerar IDL
Object Time Service
Componentes:
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)
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)
Change Managment Service
Controlde versión sobre los
componentes
Favorece la creación de “industrias” de
componentes
Common Facilities
Bussiness
Objects
Vertical Facilities
Horizontal Facilities
Object Services
ORB
Horizontales
User 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
...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
... continuación
System 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
... continuación
Task Management Common Facility
Control sobre WorkFlows
Control sobre largas transacciones
Bussiness
Objects
Vertical Facilities
Horizontal Facilities
Object Services
ORB
Bussiness Objects
Deben ser reutilizables (bien definidos)
Objetos tal cual como se ven en la
realidad
Definidos por interfaces IDL
Interacción trasparente con ayuda de
los servicios CORBA
Flexibles (no atados a un sistema
monolítico)
...continuación
Deben ser libres del contexto
(utilizables en diferentes situaciones)
Modelo de Objetos
Bussiness Objects:
Encapsulan los datos, reglas del negocio
(como reaccionar a eventos)
Implementan procesos en sí mismos
www.corba.org/corbadownloads.htm
FIN