• No results found

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.