Está en la página 1de 1

CAPITULO 17 CASO DE ESTUDIO CORBA

Corba es un diseño de middleware que permite a los programas de aplicación que se comuniquen unos a
otros con independencia en sus lenguajes de programación, sus plataformas hardware y software, las redes
que se comunican y sus implementaciones, El OMG fue formado en 1989 con la perspectiva de
proporcionar la adopción de sistemas de objetos distribuidos para conseguir los beneficios de la
programación orientada a objetos distribuidos para el desarrollo de software y la utilización sobre sistemas
distribuidos que comenzaba entonces a difundirse. Para lograr este objetivo, se implementaron sistemas
abiertos basados en interfaces estándares orientadas a objetos. Estos sistemas podrían constituirse
partiendo de una base heterogénea de hardware, redes de computadoras, sistemas operativos y lenguaje
de programación, el modelo de objetos de corba, los cliente pueden ser cualquier programador que envié
mensajes de petición a los objetos remotos y reciba las respuestas, corba idl, puede ser el nombre y
conjunto de métodos que podrá utilizar los clientes, estos vienen precedidos de las definiciones de dos
estructuras que se emplean como tipo de los parámetros en la definición, los parámetros y resultados de
corba en idl, para cada parámetro se marca como de entrada o de salida o ambos, Podrán ser uno
cualquiera de los tipos primitivos (long y boolean), Cualquier parámetro cuyo tipo es especificado mediante
el nombre de una interfaz IDL es una referencia a un objeto corba, Los argumentos de tipo primitivo y
construido se copian y se pasan por valor, el tipo object, Es el nombre de tipo cuyo valor son referencias
a objetos remotos, las excepciones en corba idl, Permite que se definan excepciones en las interfaces y
sean lanzadas por sus métodos, la semántica de invocación, es un método concreto puede ser mediante
la palabra clave oneway, el cliente no se bloquea en las peticiones oneway que solamente pueden
emplearse para los métodos sin resultados, el servicio de nombres corba, a proporcionan algunas
interfaces sobre las funciones del ORB que los programadores necesitan conocer.

La arquitectura de corba, está diseñada para dar soporte al papel de un intermediario de peticiones de
objetos que les permita a los clientes que nvoquen métodos en objetos remotos, donde tanto los clientes
como los servidores puedan implementarse en variedades de lenguajes de programación, corba distingue
entre invocaciones estáticas y dinámicas. Las invocaciones estatificas se emplean cuando se conoce en
tiempo de compilación, la interfaz remota del objeto corba lo que permite emplear un resguardo de
clientes y un esqueleto de servidor. La interfaz remota no es conocida en tiempo de compilación debe
emplearse una invocación dinámica, las clases de esqueletos se generan en el lenguaje del servidor
mediante un compilador de IDL igual que antes, las invocaciones de métodos remotos se despachan
mediante el esqueleto apropiado a un sirviente concreto, el lenguaje de definicion de interfaz de corba
ofrece mecanismos para definir módulos, interfaces, tipos, atributos y signaturas de métodos, también
proporciona las posibilidades de procesamiento estándar de c++, la gramática de idl es un subconjunto
de ansi c++ con constructores adicionales para soportar asignaturas de métodos, las referencias a
objetos remotos en corba 2.0 especifica un formato para las referencias a objetos remotos que es
adecuada para su uso tanto si el objeto es activable remotamente como si no, las referencias que utilizan
este formato se denominan referencias a objetos remotos interoperables (ior, interoperable object
reference), el ior transitorio de un objeto corba dura solo el tiempo en que dura el proceso que lo aloja,
mientras que un ior persistente perdura entre las activaciones de los objetos corba, un ior transitorio
contiene los detalles de las direcciones del servidor que contiene el objeto corba mientras, que un ior
persistente contendrá los detalles de las direcciones del repositorio de implementación. En ambos casos,
el orb cliente envía el mensaje de petición al servidor cuya dirección pormenorizada proporciona el ior, los
struct, enum y unión se escriben como clases java; las secuencias y las cadenas en idl se corresponden
con las cadenas (array) en java. una excepción de idl se corresponde con una clase java que proporciona
variables de instancia a los campos de la excepción y los constructores. la relación con c++ es igual
directa, los servicio de eventos de corba, son la especificación del servicio de eventos de corba define
interfaces que permiten a los objetos de interés, denominados proveedores (supplier), comunicar
notificaciones a sus suscriptores, llamados consumidores (consumer), las notificaciones se comunican
como argumentos o resultados de invocaciones síncronas ordinarias de métodos remotos corba, las
notificaciones pueden propagarse tanto impulsadas (push) por el proveedor. en el primer caso, el
consumidor implementa la interfaz pushconsumer que incluye un método push que toma cualquier tipo de
dato corba como valor de retorno, los proveedores registran sus referencias a objetos remotos frente a
los consumidores, los consumidores invocan el método pull y reciben como resultado una notificación.

También podría gustarte