Capitulos de este wiki
  1. 1 Corba generalidades

CORBA generalidades - Corba generalidades

1 - Corba generalidades

[editar]
Artículo creado por FREDY RECALDE.
10 de Mayo de 2006
ENSAYO - CORBA

Hace unos cuantos años en el florecer de las tecnologías de computación, el mundo se encontraba ya con un macro funcionamiento de equipos que trabajaban  aislados unos de otros, que se basaban en aplicaciones de software que cumplirían un propósito especifico, luego que el hecho de compartir algunos datos entre estos sistemas era escaso y de hacerse se hacia por los métodos rústicos del momento, teniendo que llevar físicamente los medios de almacenamiento como tarjetas, cintas discos de un sistema a otro, mas tarde con el apogeo de la industria militar, el siguiente paso seria conectar los anteriores sistemas a través de las redes bajo la configuración de los distintos protocolos de comunicación otra vez propios de la aplicación y donde unos pocos eran los propietario, luego estos protocolos se estandarizaran, para entonces encontrarse con equipos ya al alcance del usuario no especializado, donde las diferentes configuraciones que se hagan dependerían del costo de inversión que pretendería hacer.

De la mano de la tecnología física de información también fueron creciendo los distintos lenguajes que gestionarían dicha maquinaria, es así como una tecnología fue heredando la mejoras de las anteriores desde la programación estructurada luego modular y llegando a la programación orientada a objetos, mas sin embargo aun hoy con metodos de programación orientada a objetos, no se ha logrado el objetivo pleno: que a bajos costos obtener varios componentes software que se integren para varias plataformas y tecnologías, en un solo sistema complejo.

En la búsqueda de encontrar el mecanismo de cubrir el estándar de interfaces que sean abiertas a varios sistemas, se destacan Microsoft con la puesta en el mercado de tecnologías COM+, COM, DCOM,. Sun Microsystems, con Java Beans. Y Object Group, consorcio que esta integrado por varias industrias ha desarrollado CORBA (Common Request Broker Architecture).  CORBA, ofrece servicios de interconexión e interoperatividad de objetos, servicios conocidos como middleware, desde sus comienzos CORBA se plantea como objetivo la interconexión abierta de distintos lenguajes, plataformas e implementaciones, asegurando los estándares necesarios para lograr interoperatividad en todos los niveles del mercado de objetos, ahora CORBA esta constituido en esencia por tres componentes: el primero es un conjunto de interfaces de invocación, el segundo el Object request broker (ORB) y el tercero un conjunto de adaptador de objetos (Objects adapters); Corba llega así a proveer mas allá de los servicios middleware , llegando con un infraestructura framework para construir aplicaciones orientadas a objetos, de esta manera las interfaces definen los servicios que prestan los objetos , luego el ORB se encarga de la localización e invocación de los  métodos sobre los objetos y el object adapter es aquel que liga la implementación del objeto con el ORB.

Como una introducción a lo que en esencia es CORBA se tendría que esta es un  Middleware, o marco de trabajo estándar y abierto de objetos distribuidos que permite a los componentes en la red ínter operar en un ambiente común sin importar el lenguaje de desarrollo sistema operacional, tipo de red, responde así a la necesidad de interoperabilidad ante la gran proliferación de productos en el mercado  hardware y software, para ellos CORBA automatiza muchas tareas comunes y “pesadas” de programación de redes tales como registro, localización y activación de objetos; manejo de errores y excepciones; codificación y decodificación de parámetros, y protocolo de transmisión.

Para un ambiente de sistemas donde actué CORBA, se tendrá que para cada implementación de objeto, se define una interface atravez de la especificación normalizada conocida como IDL (Interface Definition Language) : que es suma  un archivo con el equivalente a un archivo de cabecera en C++, en el que se definen las clases y las propiedades (variables de la clase) y métodos de esas clases. En si, IDL no es un lenguaje para implementar interfaces CORBA, sino que es un lenguaje que llega a definir interfaces CORBA, por ello la equivalencia con un archivo de cabecera de C++, donde, normalmente, no se incluye ninguna implementación, sino simplemente definiciones;  el archivo IDL es el que establece el contrato de comunicación  entre los objetos y las aplicaciones que hagan uso de ellos. Así, este archivo es lo único que necesita una aplicación cliente para acceder a los objetos, pues a partir de ella podrá generar los cabos y esqueletos  para el lenguaje que vaya a ser usado para la implementación de los clientes. Es decir, el cliente no necesitara de unas librerías específicas desarrolladas para acceder a los objetos, sino que simplemente necesitará la definición de las interfaces implementadas por nuestros objetos. CORBA se encarga del resto, a través del IDL en forma Estática al momento de compilación, o en forma Dinámica al momento de ejecución un Cliente que requiera el servicio de una Implementación de Objeto, podrá ser ejecutada. Las invocaciones a métodos remotos son enviados por los clientes llamando objetos locales llamados “Stubs”, el cual intercepta dichas invocaciones y continua el proceso de llevar y retornar automáticamente dicha invocación. La Implementación del objeto, no tiene que conocer el mecanismo por el cual un Cliente le ha invocado un servicio.

CORBA esta fundamentado en dos modelos: Un modelo de Objetos, el cual agrega todas as características de la teoría orientada a objetos como lo son los tipos de datos, abstracción, herencia polimorfismo, además se fundamenta en un modelo de referencia o arquitectura conocida como Object Management Architecture., que es una entidad sin animo de lucro que desarrolla especificaciones independientes de cualquier proveedor en  la industria del software;  y actualmente esta entidad tiene más de 800 miembros. La OMG se perfila para llegar a establecer a CORBA como el “Middleware que esta en todas partes de los sistemas del mundo” a través de sus especificaciones CORBA/IIOP.  La OMG esta estructurado en tres grandes frentes: el Comité de Plataforma Tecnológica (PTC), el Comité de Dominio Tecnológico (DTC) y  la Junta de Arquitectura (Architecture Board). Dentro de los Comités Técnicos y Junta de Arquitectura, trabajan las Fuerzas de Trabajo, Grupos de Interés especial y Grupos de Trabajo quienes llevan a cabo los procesos de adopción tecnológico de la OMG.

El modelo de referencia de OMA esta compuesto por los elementos de: 1.)Object Request Broker – ORB, que representa el medio o bus de objetos a través del cual se comunican todos los objetos participantes en el sistema, es el núcleo de comunicaciones del estándar, provee la infraestructura que permite a objetos comunicarse, independiente de la plataforma especifica y técnicas que se usen par implementar el objeto. 2.) Objetos de Servicio - CORBAServices: conjunto de objetos genéricos, que se usan como soporte para tareas comunes pr programas distribuidos. 3.) Objetos de Dominio – CORBADomain : conjunto de objetos que son comunes y estándares dentro de un dominio o mercado de aplicación. 4.) Facilidades Comunes - CORBAFacilities: conjunto de objetos orientados hacia las aplicaciones de usuario final como Administración de datos, aplicaciones, interfaces de usuario. 5.) Objetos de Aplicación: objetos de aplicación desarrollados por los programadores.

En suma CORBA es una tecnología que oculta la programación a bajo nivel de aplicaciones distribuidas, de tal forma que el programador no se tiene que ocupar de tratar con sockets, flujos de datos, paquetes, sesiones etc. CORBA oculta todos estos detalles de bajo nivel. No obstante CORBA también brinda al programador una tecnología orientada objetos, las funciones y los datos se agrupan en objetos, estos objetos pueden estar en diferentes máquinas, pero el programador accederá a ellos a través de funciones normales dentro de su programa; En un sentido general CORBA "envuelve" el código escrito en otro lenguaje en un paquete que contiene información adicional sobre las capacidades del código que contiene, y sobre cómo llamar a sus métodos. Los objetos que resultan pueden entonces ser invocados desde otro programa u objeto CORBA desde la red. En este sentido CORBA se puede considerar como un formato de documentación legible por la máquina.

FREDY GUIDE  RECALDE

 
[editar]

1 opinión

Muy bueno.

Muy bueno, ya que yo programo en c pero com dicen acà aveces se torna muy complicado con el cuento este de las librerias y trozo detalles que por lo visto lo estàn mejorando acá.

Artículos relacionados con 'CORBA generalidades'

Generalidades del desrrollo de corba