Corba ejemplos

Páginas: 16 (3891 palabras) Publicado: 22 de junio de 2011
Aplicaciones distribuidas
VIII Common Object Request Broker Architecture (CORBA)

Common Object Request Broker Architecture
Similar a RMI, estándar para objetos distribuidos Permite integrar programas en distintos lenguajes
Java, C++, C, Smalltalk, Ada, COBOL, etc.

Incluye servicios adicionales integrados
Nombres, persistencia, eventos, etc.

Creado por el consorcio OMG (ObjectManagement Group)
OMG = más de 800 empresas: Sun, IBM, Apple, Digital, Netscape, Oracle, Borland, NCR, Siemens, ILOG, Telefónica I+D... OMG fundada en 1988 CORBA 1.0: 1992, CORBA 2.0: 1997, CORBA 2.6: dic 2001

JDK 1.2 / 1.4 incorpora CORBA 2.0 / 2.3 con el nombre de Java IDL Otros estándares existentes: competencia CORBA / RMI / DCOM
2

Objetos distribuidos CORBA

La arquitectura CORBA
ORB:intermediario entre clientes y servidores
Transmite las peticiones cliente-servidor y las respuestas servidor-cliente Se necesita un ORB en cada máquina (en Java IDL, uno en cada proceso)

Cliente
Invocación de métodos

Servidor

Stub: intermediario entre clientes y ORB
Recoge del cliente llamadas a métodos y las transmite al ORB Una clase de stub por cada clase remota

ORB StubsORB Skeletons Servidores
3

Esqueleto: intermediario entre ORB y objetos del servidor
Recibe llamadas del ORB y ejecuta los métodos correspondientes en el servidor sobre el objeto que corresponda
4

Arquitectura

Definición de interfaces: el lenguaje OMG IDL
Interface Definition Language
Servidor Descripción de la interfaz de los objetos: operaciones y tipos de argumentos Equivalentea la definición de interfaces Remote en RMI Compatible con distintos lenguajes de programación Conceptos y sintaxis semejantes a C++ / Java

Cliente
llamada método request ORB Stub

IIOP

request ORB
Esq

llamada método uele to

Características:
IDL permite herencia entre interfaces IDL no admite sobreescritura de métodos o atributos heredados IDL no permite pasar objetos por valor(sólo structs)
6

Oculto al programador

IIOP: Internet Inter-ORB Protocol
5

Ejemplo I: hello world

Hello World: definición de interfaz
module HelloApp { interface Hello { string sayHello(); oneway void shutdown(); }; };

Atención: basado en JDK 1.4
7

Fichero Hello.idl
8

Hello World: definición de interfaz
module HelloApp { Declaración interface Hello { del stringsayHello(); Módulo oneway void shutdown(); }; }; Esto genera un espacio de
Fichero Hello.idl nombres (un directorio). Equivale a un package
9

Hello World: definición de interfaz
module HelloApp { interface Hello { Declaración string sayHello(); de la Interfaz oneway void shutdown(); }; }; Esto genera una declaración
de interfaz en el código Java Fichero Hello.idl
10

Hello World: definiciónde interfaz
module HelloApp { interface Hello { Declaración string sayHello(); de las Operaciones oneway void shutdown(); }; Cada operación en IDL genera }; su correspondiente método en
Java Fichero Hello.idl
11

Compilación del código IDL
Stub

cliente

IDL Traductor IDL Interfaz de los objetos

C C++ Java Smalltalk COBOL Ada

Esqueleto

servidor

Código (a completar) para laimplementación de los objetos
12

Traducción del código IDL
A partir de la versión 1.4 (JDK y J2SE) se utiliza el comando idlj
Conocido como idltojava. Por omisión, genera sólo los ficheros necesarios en el cliente. Para generar los stub para los clientes y los esqueletos para los servidores, opción –fall (o –fserver). De acuerdo a la especificación Portable Object Adapter (POA) de CORBA.13

Traducción del código IDL
Hello.java HelloOperations.java idlj –fall Hello.idl idlj –fall Hello.idl HelloPOA.java _HelloStub.java HelloHelper.java HelloHolder.java

14

Hello.java
package HelloApp; /** * HelloApp/Hello.java . * Generated by the IDL-to-Java compiler (portable), version "3.1" * from Hello.idl */ public interface Hello extends HelloOperations, org.omg.CORBA.Object,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Corba
  • CORBA
  • Corba
  • Corba
  • Corba
  • CORBA
  • CORBA
  • Corba

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS