3 Criticism of Existing Methods and Recommendations
3.2 Criticism and General Recommendations
3.2.1 Uncertainty of technological change
• Interfaces a través de los cuales las implementaciones de objeto
solicitan servicios al ORB.
– Para ser conforme al estándar, se necesita al menos el BOA
(Basic Object Adapter).
– Los servicios incluyen: generación e interpretación de
referencias de objeto, seguridad, invocación de métodos, registro de implementaciones.
• El ORB Interface es el medio de acceder al ORB
independientemente del OA.
– Es el mismo para todas las implementaciones de objetos, y
37
Repositorios del ORB
• Implementation Repository.
– Información que permite al ORB alcanzar y activar las
implementaciones de objeto (típicamente, rutas de acceso a los ejecutables).
– También es un lugar común para otras informaciones
asociadas a las implementaciones, como las de control administrativo, seguridad o depuración.
• Interface Repository.
– Almacena información persistente sobre interfaces
disponibles en tiempo de ejecución. Permite a un cliente
38
Visión general del ORB
39
Proceso de Desarrollo
- El compilador IDL genera “Stubs” y “Skeletons” estáticos, en el lenguaje de programación elegido, p.ej, C++, y, opcionalmente, instala interfaces en el Interface Repository.
- El desarrollador de la aplicación cliente enlaza su código compilado con los stubs, y el desarrollador del servidor, con los Skeletons, en caso de SII.
40
El estándar CORBA.
Computación
distribuida Orientada
a Objetos.
El Protocolo de
Comunicación
entre ORB: IIOP.
41
Distribución de la carga (load
balancing)
• Problema común en aplicaciones muy distribuidas o de
alto número de transacciones/tiempo.
• Algunos ORB incorporan mecanismos básicos de gestión
de carga, o características no estándar que permiten implementaciones sencillas y todo lo flexibles que necesitemos.
• Pueden encontrarse propuestas en Internet para una
extensión de IDL específica.
• A nivel de diseño, existen ya patrones de diseño OO
42
Rendimiento en transferencias
masivas
• Comparación con técnicas de más bajo nivel: sockets en C,
sockets en librerías OO, RPC.
– En general, los vendedores de ORB estiman una pérdida de
rendimiento de un 10%, admisible por los beneficios en desarrollo y mantenimiento.
• El tipo octet de IDL garantiza que no se hacen conversiones
(marshalling), necesarias en otros casos para el tránsito por sistemas heterogéneos.
• La pérdida de rendimiento es más notable para aplicaciones
43
¿Sistemas operativos CORBA?
• Si CORBA se utilizase como estándar abierto en sistemas
operativos, se eliminarían gran cantidad de los problemas de heterogeneidad.
• Basta pensar en las posibilidades de CORBA para diseñar a
nivel de interface los Servicios de Ficheros.
• Quizá podría ser la base de la próxima generación de S.O.,
44
Gestión de Red y CORBA
• Los Servicios de Gestión red son claros candidatos para la
introducción de CORBA.
• El Servicio Trader puede ser la base para implementar
Examinadores de la Red.
• Las Bases de Información de Gestión (MIB) podrían
45
Bases de Conocimiento
Distribuidas
• Diferentes dominios del conocimiento podrían beneficiarse
de bancos de datos distribuidos y públicamente accesibles vía Internet para aprovechar esfuerzos previos.
• Por ejemplo, podría disponerse de bancos de datos con
información para procesamiento del lenguaje natural (léxico, morfología, fonética, sintaxis, semántica,...), mantenidas y permanentemente actualizadas por
46
CASE distribuido
• CORBA como Repositorio distribuido.
• Posee la riqueza de la Orientación a Objetos a la hora de
almacenar los complejos metamodelos que el CASE
requiere en todas sus fases, desde la gestión del proyecto hasta el Análisis y el Diseño.
• Podrían utilizarse los estándares CDIF para el intercambio
de datos CASE.
47
El estándar CORBA.
Computación
distribuida Orientada
a Objetos.
1. Algunas
posibles lineas de
investigación.
48
Distribución de la carga (load
balancing)
• Problema común en aplicaciones muy distribuidas o de
alto número de transacciones/tiempo.
• Algunos ORB incorporan mecanismos básicos de gestión
de carga, o características no estándar que permiten implementaciones sencillas y todo lo flexibles que necesitemos.
• Pueden encontrarse propuestas en Internet para una
extensión de IDL específica.
• A nivel de diseño, existen ya patrones de diseño OO
49
Rendimiento en transferencias
masivas
• Comparación con técnicas de más bajo nivel: sockets en C,
sockets en librerías OO, RPC.
– En general, los vendedores de ORB estiman una pérdida de
rendimiento de un 10%, admisible por los beneficios en desarrollo y mantenimiento.
• El tipo octet de IDL garantiza que no se hacen conversiones
(marshalling), necesarias en otros casos para el tránsito por sistemas heterogéneos.
• La pérdida de rendimiento es más notable para aplicaciones
50
¿Sistemas operativos CORBA?
• Si CORBA se utilizase como estándar abierto en sistemas
operativos, se eliminarían gran cantidad de los problemas de heterogeneidad.
• Basta pensar en las posibilidades de CORBA para diseñar a
nivel de interface los Servicios de Ficheros.
• Quizá podría ser la base de la próxima generación de S.O.,
51
Gestión de Red y CORBA
• Los Servicios de Gestión red son claros candidatos para la
introducción de CORBA.
• El Servicio Trader puede ser la base para implementar
Examinadores de la Red.
• Las Bases de Información de Gestión (MIB) podrían
52
Bases de Conocimiento
Distribuidas
• Diferentes dominios del conocimiento podrían beneficiarse
de bancos de datos distribuidos y públicamente accesibles vía Internet para aprovechar esfuerzos previos.
• Por ejemplo, podría disponerse de bancos de datos con
información para procesamiento del lenguaje natural (léxico, morfología, fonética, sintaxis, semántica,...), mantenidas y permanentemente actualizadas por
53
CASE distribuido
• CORBA como Repositorio distribuido.
• Posee la riqueza de la Orientación a Objetos a la hora de
almacenar los complejos metamodelos que el CASE
requiere en todas sus fases, desde la gestión del proyecto hasta el Análisis y el Diseño.
• Podrían utilizarse los estándares CDIF para el intercambio
de datos CASE.