Beruflich Dokumente
Kultur Dokumente
Este artículo pretende introducir al lector en el mundo de This article introduces the reader to the universe of
una de las tecnologías de punta contemporáneas, mediante CORBA platform, a leading technology that has become
la presentación de las características del estándar de la plata- «support for a multitude of open applications» and the
forma Corba, que se ha convertido en soporte a multitud de inevitable reference point for the intercommunication
aplicaciones abiertas y es un punto de referencia inevitable between the components of heterogeneous software.
para la intercomunicación entre componentes de software “CORBA is the most important and ambitious middleware
heterogéneos. “CORBA es el proyecto de middleware más project that the industry has undertaken up to now. Surf
importante y ambiciosos emprendido por la industria hasta el the Web without missing calls! Get MSN Broadband”.
momento”.
NÓMADAS 209
Introducción Para lograr comunicar dos dispositivos del mismo
tipo se debe conocer el idioma (sistema operativo)
Actualmente las telecomunicaciones son uno que manipulan cada uno de ellos. Si el emisor desea
de los sectores más activos y con tasa más alta de intercambiar símbolos (etc.) con otro ser humano (re-
crecimiento, principalmente en los países desarro- ceptor) que no habla el mismo idioma tiene dos alter-
llados. Colombia podría dar un salto tecnológico nativas de solución:
pasando directamente a las nuevas tecnologías, si
se implementaran soluciones de hardware y soft- • Que emisor o receptor aprendan el otro idioma
ware que permitieran la integración de sistemas más
recientes. • Que emisor y receptor utilicen un intermedia-
rio que domine los dos idiomas
El software tiene un nuevo enfoque: el desarrollo
de componentes, que depende de la capacidad de in- Si emisor, receptor o intermediario conocen dos
tegración para comunicarse entre ellos según las idiomas, están manipulando perfectamente las reglas
interfaces estandarizadas. Las especificaciones de que gobiernan dicha comunicación, lo que se conoce
estandarización son descritas por CORBA, que per- como estándar de comunicación para los componen-
mite el desarrollo de programas de software fácilmen- tes de una red que deseen intercambiar información
te expansibles, reemplazables y que es el inicio para de diferente tecnología y diferente proveedor.
“conectar todo lo que hay en el mundo a Internet1 ”,
sin poner en riesgo la funcionalidad de los elementos CORBA es una arquitectura de comunicaciones
y las aplicaciones en su totalidad. que soporta la construcción e integración de tecnolo-
gías de diferente fabricante independientemente del
Este artículo pretende introducir al lector en el tiempo de creación, así como pueden intercambiar
mundo de una de las tecnologías de punta, mediante la información personas que dominan diferente idioma,
presentación de las características del estándar de la sin importar que no sea usado actualmente.
plataforma CORBA, que se ha convertido en “soporte
a multitud de aplicaciones abiertas” 2 y es un punto de En el futuro podrán comunicarse diferentes tipos
referencia inevitable para la intercomunicación entre de seres vivos, así como trasladar todo a Internet.
componentes de software heterogéneos. “CORBA es el
proyecto de middleware más importante y ambicioso em-
prendido por la industria hasta el momento”3 Qué es CORBA
210 NÓMADAS
dominio de los sistemas operativos para entornos 2. Compilar la interfaz remota. El compilador ge-
distribuidos5 . nera todo el código fuente mencionado en el
paso anterior.
CORBA es “Una arquitectura de negociación de
petición de objetos comunes y que podrían ser utili- 3. Implementar el servidor. A partir de los esque-
zadas en capas superiores de la Red de Gestión de letos que genera el compilador idl es sencillo
Telecomunicaciones (RTG) influidas fuertemente por implementar el servidor. Además de los méto-
las funciones propuestas en la industria de la infor- dos que implementan la interfaz remota, el có-
mación. La gestión integrada de las redes de teleco- digo del servidor crea un mecanismo para
municación tradicionales y las redes basadas en el IP arrancar el ORB y esperar por la invocación de
son fundamentales para la creación de un marco de un cliente.
referencia que sirva para la gestión unificada de re-
des de conmutación de circuitos y redes de conmu- 4. Implementar el cliente. De una manera similar
tación de paquetes constitutivos para una misma al servidor, el cliente hace uso de los stubs ge-
estructura”.6 nerados en el paso 2. El cliente se basa en el
stub para arrancar su ORB, encontrar el servi-
Luis Sierra afirma que CORBA no es una tecno- dor utilizando el servicio de nombrado, obte-
logía particular de Java. Es la arquitectura estándar ner una referencia al objeto remoto e invocar
de OMG para procesamiento distribuido. El funcio- sus métodos.
namiento es parecido a RMI (Remote Method
Invocation) 7 . 5. Arrancar los programas. Una vez está todo
implementado, se arranca el servicio de nom-
brado, el servidor y finalmente, el cliente.
Desde mi punto de vista, CORBA es una arqui-
tectura de comunicaciones entre sistemas heterogéneos
que soporta construcción e integración de tecnolo-
gías de diferente fabricante. Puede agrupar antiguas y
1. Arquitectura de Corba
nuevas aplicaciones de software. Está basada en un
Para que el cliente pueda realizar una invocación
gestor de peticiones a objetos comunes y permite
sobre un objeto, se debe tener una referencia del ob-
interoperabilidad entre aplicaciones en máquinas re-
jeto (IOR) y conocer el tipo de objeto y la operación
motas en un entorno distribuido. Es una plataforma
que desea invocar. El cliente puede iniciar la petición
que tiene funcionalidad de sistema abierto y que re-
a través de una conexión IDL o bien construyendo la
quiere para cada lenguaje soportado una interfaz invocación de forma dinámica utilizando el DII. El
estandarizada entre CORBA y la herramienta de ORB se encarga de encontrar el código de la
programación. implementación apropiada, transmitir los parámetros
y transferir el control a la Implementación de la Interfaz
Para construir componentes que utilicen el entor- a través del esqueleto IDL, o a través del esqueleto
no CORBA se deben seguir los siguientes pasos: dinámico (DII) como se explica más adelante.
1. Definir la interfaz remota. Se define, en pri- Las invocaciones pueden producir excepciones de
mer lugar, la interfaz del objeto remoto en IDL. diversa índole. Por ejemplo la referencia al objeto pue-
Dicha interfaz permitirá generar, de manera de ya no ser válida, o la interfaz IDL del objeto ha podi-
automática, el código fuente del stub y el do cambiar. El ORB se encargará de informarnos de
skeleton así como todo el código necesario para todas estas posibles excepciones y nuestro código de-
comunicarse con el ORB. Si sólo se im- berá estar preparado para gestionar estas excepciones.
plementa el cliente porque el servidor ya exis-
te, se tendría que proporcionar el fichero IDL A continuación se describe cada una de las carac-
correspondiente a la interfaz que expone el terísticas fundamentales de la Arquitectura CORBA
servidor. (figura 1):
NÓMADAS 211
Figura 1. Arquitectura CORBA Figura 2. El ORB de CORBA
212 NÓMADAS
• Invocación de métodos. • Tipos básicos : long, short, ushort, ulong, float,
• Seguridad en las interacciones. double char, boolean, enum, string, octect, any
Para poder especificar los servicios que ofrecen La Interfaz IDL se compone del repositorio de
los objetos que forman parte de un sistema abierto y interfaces y la interoperabilidad de la Interfaz de in-
distribuido, se necesita contar con algún lenguaje pre- vocación dinámica:
ciso, bien definido, e independiente de cualquier po-
sible representación de los datos o estructuras que él • El repositorio de interfaces
define, así como la futura implementación de los ob-
jetos que especifica. La norma ISO/IEC 14750 (ITU- El repositorio de interfaces (IR) es un servicio que
T X.920) define dicho lenguaje, al que se conoce ofrece objetos persistentes que representan la infor-
como lenguaje de definición de interfaces de ODP, o mación IDL de las interfaces disponibles en CORBA,
ODP IDL por su acrónimo en inglés. Su principal de una forma accesible en tiempo de ejecución (run-
objetivo es describir la signatura de los objetos que time). Esta información puede ser utilizada por el ORB
especifica, en términos de las estructuras de datos para realizar peticiones. Y además, el programador de
que se manejan y el perfil de las operaciones que aplicaciones puede utilizar esta información para ac-
definen sus servicios. De esta forma se consigue la ceder a objetos cuya interfaz no se conoce en tiempo
ocultación necesaria para el desarrollo de aplicacio- de compilación, o para determinar que operaciones
nes abiertas10 . son válidas en un objeto.
NÓMADAS 213
1.5. Stub diferente fabricante y que puede integrar aplicaciones
de diferente tecnología (figura 4).
Es el intermediario entre el cliente y el ORB (figu-
ra 1). El Stub recoge del cliente llamadas a métodos y
las transmite al ORB. Se requiere una clase de stub
por cada clase remota (ver detalles en la figura 3).
Es el intermediario entre ORB y los objetos del La migración de procesos en sistemas distribuidos
servidor (figura 1). Recibe llamadas del ORB y ejecu- tradicionales es muy útil para mejorar el reparto de
ta los métodos correspondientes en el servidor sobre carga de los diferentes computadores. Tiene como fin
el objeto que corresponda. Cuando el cliente estable- garantizan el rendimiento global y ciertas restriccio-
ce un objeto local (con servicio remoto), la petición nes de administración o seguridad.
se realiza por intermedio del protocolo de comunica-
ciones IIOP a través del ORB. El servidor recibe la • Eficiencia
petición, busca el objeto definido (compara el esque-
leto del método en el módulo esqueleto) lo ejecuta y - La red lleva menos mensajes.
retorna la respuesta al cliente (figura 3). - El servidor realiza más trabajo.
- Se evita la latencia/inestabilidad de la red en
los procesos.
2. Ventajas al utilizar CORBA
• Adaptación al cliente
• Heterogeneidad
- El cliente puede extender la funcionalidad del
Un sistema heterogéneo consiste en conjuntos de servidor.
elementos interconectados de hardware y software de - Fácil instalación para el usuario.
214 NÓMADAS
- No se requiere instalación de servidor. como CORBA. Precisamente, éste es un campo de
- No se acuerdan los procedimientos entre los investigación actual.
clientes y los servidores.
- Instalación dinámica de los procedimientos del Las redes son indispensables para la comunicación
cliente en el servidor. entre máquinas; sin embargo, pueden plantear pro-
blemas de saturación, embotellamiento, interrupción
• Tiempo de desempeño o pérdidas de mensajes.
- Automatización de las tareas distribuidas. Java como herramienta también integra interope-
rabilidad con CORBA siempre y cuando los objetos
estén usando un ORB compatible con las especifica-
3. Desventajas al utilizar CORBA ciones y que se apoyen con IIOP como protocolo de
comunicaciones.
El problema fundamental de los sistemas de inte-
gración es el software. Aún no existe mucha expe- Finalmente, el protocolo de comunicación IIOP,
riencia en el diseño, implantación y uso de software establecido por la especificación CORBA para la
NÓMADAS 215
interoperabilidad entre distintas plataformas, se ha Sistema operativo
convertido en el protocolo por defecto utilizado en Puede ser definido como aquella parte del sistema que da vida al
los estándares para asegurar la interoperabilidad hardware. El desarrollo de los sistemas operativos va siempre detrás del
desarrollo del hardware, pero permiten mejorar el rendimiento de este
entre todos los sistemas. y en el peor de los casos, ocultarán todas sus particularidades.
4. Glosario
Aplicación Citas
Suministra uno o más programas, es una colección de objetos que
interactúan para realizar un objetivo común. 1 Mattern Friedemann. Instituto Federal de Tecnología Suiza. Re-
vista Novotica No. 15. Sept de 2001.
Estado
2 Documento 8-S. Unión Internacional de Telecomunicaciones.
Corresponde a la situación previa y actual que determina el comporta- Oficina de Desarrollo de las Telecomunicaciones. 14 de noviem-
miento futuro de la información. bre de 2000. Reunión preparatoria regional para la conferencia
IDL(Interface Definition Language) mundial de desarrollo de las telecomunicaciones Sofía (Bulgaria),
28-30 de noviembre de 2000.
Lenguaje de programación de forma independiente para especificar
objetos de interfaz. 3 Castells, Pablo. Programación orientada a objetos. E.T.S. Informá-
tica, Universidad Autónoma de Madrid. 23 de mayo de 2002.
IIOP (internet-inter-ORB Protocol)
4 A Discussion of the Object Management Architecture. Copyrig-
Protocolo de comunicaciones que está diseñado para permitir la ht 2000, Object Management Group., Inc. (OMG). Año 2000.
interacción entre ORB.
5 García Álvarez, Fernando. Objetos distribuidos y agentes móviles.
Interfaz Universidad de Oviedo Departamento de Informática, junio 2001.
Descripción de un conjunto de posibles usos de un objeto. Una interfaz 6 Documento 8-S. Unión Internacional de Telecomunicaciones
describe un conjunto de respuestas potenciales en el cual un objeto Oficina de desarrollo de las Telecomunicaciones. 14 de noviem-
puede participar. Es el dispositivo o elemento que comunica dos bre de 2000. Reunión preparatoria regional para la Conferencia
entornos que operan con diferente lenguaje. Mundial de Desarrollo de las Telecomunicaciones Sofía (Bulgaria),
28-30 de noviembre de 2000.
Interoperabilidad:
7 Sierra, José Luis. Laboratorio de Programación III. Curso 2001 –
Habilidad para intercambiar peticiones y respuestas. Un objeto es
2002
interoperable si los métodos ofrecen y/o evalúan servicios de otros.
9 García Álvarez, Fernando. Objetos distribuidos y agentes móviles.
ITU-T
Universidad de Oviedo. Departamento de Informática, junio 2001
International Telecommunication Union. Unión Internacional de Te-
10 Vallecillo Moreno, Antonio. RM-ODP: El modelo de referencia
lecomunicaciones, también conocida como CCITT.
de ISO para el Procesamiento abierto y distribuido. Año 2000.
Método
11 García Álvarez, Fernando. Objetos distribuidos y agentes móviles.
Código desarrollado en un lenguaje de programación orientado a ob- Universidad de Oviedo. Departamento de Informática, junio 2001.
jetos que puede ser ejecutado para realizar un objetivo. Componente
de una clase.
Objeto
Combinación de estados y conjunto de métodos que personifican las
características abstractas y el comportamiento de cualquier cosa. Un
Bibliografía
objeto es una instancia de una clase.
Anónimo. Introducción a las tecnologías e integración de aplicaciones.
ODP (Open Distributed Processed) Agosto -1999.
Procesamiento abierto y distribuido. Modelo de referencia que pro- H. KILOV, B. Rumpe, I. Simmonds (Eds.). Behavioral Specifications of
porciona normas para el desarrollo de aplicaciones abierta. Business and Systems. Kluwer Academic Publishers, 1999.
ORB(Object Request Broker) MESTRAS PAVÓN, Juan. Agentes móviles, Departamento de Siste-
Provee la forma para que cualquier objeto reciba peticiones y ofrezca mas Informáticos y Programación Universidad Complutense Ma-
respuestas. drid. 2000.
Formado por un conjunto de elementos de computador autónomos ODP-protocol Support for Computational Interactions (ISO/IEC
unidos por una red de comunicaciones y equipados con software que 14752; ITU-T X.931)
soporten el intercambio de componentes. ODP-Type Repository Function (ISO/IEC 14769; ITU-T X.960)
216 NÓMADAS
ODP-Reference Model: Enterprise Viewpoint (ISO/IEC 15414; ITU- http://adams.patriot.net/~tvalesky/freecorba.html
T X.911)
Productos libres de CORBA.
ODP-Reference Model: Quality of Service (ISO/IEC 15935; ITU-T
X.905) http://www.itu.int
NÓMADAS 217
218
NÓMADAS
Autorretrato e n l os A lpe s de C arabaya. Pun o, 1930