<-- Capítulo

Índice del tutor de Delphi
© Copyright 1998
por David Martínez.

Todos los derechos reservados

Capítulo -->

Capitulo 9.3. Interfases CORBA en Delphi

En el capítulo 9, vimos la teoría de las interfases en general. Ahora que entendemos la idea, veamos cómo CORBA soluciona el problema. Si usted decidió leer el capítulo 9.1, para ahora tendrá una muy buena idea de como funcionan las interfases en Microsoft COM y podrá usted darse cuenta de las diferencias tanto de filosofía como de implementación.

El Open Management Group

En 1989, los altos ejecutivos de varias compañías (desde compañías de Software hasta Bancos) se reunieron para hablar acerca de interfases, y de la importancia que éstas tendrían en el futuro. Estas empresas (que forman el llamado "Open Management Group") decidieron que, dada la enorme importancia que las interfases tendrían, sería muy util especificar un estándar para que todos los lenguajes de programación pudieran exponer interfases, sin importar el lenguaje, el sistema operativo o el vendedor de servicios de objetos.

CORBA es el resultado de muchos años de trabajo de varias compañías para definir un estándar que satisfaga a todos los lenguajes de todos los sistemas operativos. COM fué el primer transporte de interfases soportado por Delphi, pero CORBA es una tecnología mucho más madura y sólida para tranporte de interfases, por el simple y sencillo motivo de que CORBA ha estado funcionando por mucho tiempo en varios sistemas operativos y lenguajes.

Así que la primera diferencia entre COM y CORBA es que COM nos limita a tecnologías Windows, mientras CORBA nos abre las puertas a la posibilidad de usar e implementar interfases en Unix, Linux, Mainframes de IBM, Solaris, Sillicon Graphics, Windows, etcétera, en lenguajes tan dispares como Java, C, Delphi, COBOL, SmallTalk, FORTRAN, LISP y muchos otros.

Independencia de Lenguaje

¿Cómo se logra la independencia entre lenguajes? Tal como vimos en el capítulo 9, Las interfases CORBA se representan en un Lenguaje unificado llamado IDL (Interface Definition Language). Cada lenguaje (Delphi, Java, C, etc.) cuenta con un traductor (también llamado "compilador") de IDL, que traduce las sentencias de la definición de la interfase al lenguaje adecuado.

Cuando usted compra librerías de CORBA (también llamadas ORBs) para su lenguaje, las librerías normalmente vienen con programas llamados "idl2XXX", donde "XXX" es el nombre de su lenguaje. De esta manera, un ORB para java viene con un compilador de IDL llamado "idl2java", mientras que C++ vendría con un compilador llamado "idl2cpp". En delphi tenemos un caso especial, porque Delphi puede leer IDL directamente en el editor de librerías de tipos y traducirlo a PAS automáticamente (así que el compilador de IDL viene integrado en las versiones Client/Server y Enterprise).

Independencia de Sistemas Operativos y Lenguajes

Como ORB no es dominado por una sola compañía sino por un grupo, mientras uste pueda compilar su programa para un sistema operativo X y pueda comprar unas librerías ORB para el mismo sistema operativo (y que funcionen con su lenguaje), usted puede hablar con cualquier otro servicio en la red que exponga un ORB, sin importar qué sistema operativo o qué marca de ORB está ejecutándose en la máquina que expone el ORB.

CORBA es una Especificación

Tal como lo hicimos en las interfases, hay que ver lo que CORBA no es:

Componentes de Visibroker

Visibroker es un ORB que cumple con todos los requerimientos de CORBA. Visibroker se compone de lo siguiente (Los nombres de servicio entre comillas son los nombres de la implementación de Visibroker en particular):

Capítulo -->