1 Tema 2: Sistemas Distribuidos con CORBA Programación Concurrente y Distribuida Prácticas.

Slides:



Advertisements
Presentaciones similares
APLICACIONES DISTRIBUIDAS
Advertisements

Características Generales y Entornos de Desarrollo
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
Curso de java básico (scjp)
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Common Object Request Broker Architecture
Lenguajes Servicios Web
Servicios Web.
Orientación a Objetos con Java SE
Tipos de Servicios Web.
Programación Orientada a Objetos
1.2 Sintaxis del lenguaje Java.
RMI Remote Method Invocation
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Introducción XML y WebServices.
Teoría de lenguajes y compiladores
BASES DE DATOS ORIENTADAS A OBJETO
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
TALLER DE PROGRAMACIÓN III
POO Java Módulo 3 Elementos de programas Identificadores
Lic. Rosemary Torrico Bascopé
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Ingeniería del software II
VHDL.
ATC-DistribuidasUniversidad de Oviedo / Dpto. de Informática Programación con OSF RPC y Microsoft RPC.
Ejemplo CORBA: Java IDL
SCJP Sun Certified Programmer for Java 6
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
El lenguaje de programación Java
CORBA IDL Ramón Mª Gómez Labrador Deptº Lenguajes y Sistemas Informáticos Universidad de Sevilla.
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
Sintaxis de C# (Declaraciones y Tipos)
ATC-DistribuidasUniversidad de Oviedo / Dpto. de Informática XDR (External Data Representation) Tipos y codificación.
JAVA RMI The Java Remote Method Invocation ELO330 – Programación de Sistemas Cesar Vásquez I
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Tipo de Datos Básicos.
CORBA: Un Modelo de Objetos Distribuidos
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
Herramientas de polimorfismo y herencia en C++
FACULTAD DE ESTUDIOS SUPERIORES ARAGON
Asignatura: Base de datos para aplicaciones Integrantes:
Elementos básicos del lenguaje
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
Programación en C para electrónicos
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
Elementos básicos del lenguaje
Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java.
Programación avanzada en Java Miguel Ángel Corella 16 de Septiembre de 2005.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Detalles Generales sobre Java
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
Fundamentos de Programación
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
Programación Orientada a Objetos: CLASES Y OBJETOS
Elementos básicos.  Fuertemente tipeado.  Sintaxis similar a C/C++.  Sin punteros: garbage collection.  Portable.  Integra librerías para objetos.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Patrón de diseño BROKER
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
LICETH CAJAS 3RO ASI 26/10/2010. Es un lenguaje de programación diseñado para crear una amplia gama de aplicaciones que se ejecutan en.NET Framework,
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Tema 2: Sistemas Distribuidos con CORBA
Transcripción de la presentación:

1 Tema 2: Sistemas Distribuidos con CORBA Programación Concurrente y Distribuida Prácticas

22 Tema 2: Sistemas Distribuidos con CORBA Índice: 1.¿Qué es CORBA? 2.Arquitectura de un sistema CORBA 3.Alternativas a CORBA 4.El lenguaje IDL

3 1. ¿Qué es CORBA?  CORBA NO es:  Ni un lenguaje de programación  Ni un sistema operativo Tema 2: Sistemas Distribuidos con CORBA  CORBA es un estándar de la OMG que:  Establece una forma de construcción de software ínter operativo empleando tecnología orientada a objetos  CORBA es sólo una especificación  Dicha especificación es implementada por las distintas plataformas que construyen los fabricantes  Dicha especificación recoge:  La forma en que se define la interfaz de los objetos  Cómo dichos objetos interactúan con ellos  Servicios y facilidades disponibles a los objetos

4 1. ¿Qué es CORBA?  CORBA nos proporciona…  Independencia de lenguaje de programación  IDL (Interface Definition Language): Lenguaje neutral que permite definir las interfaces de los objetos  Los objetos se implementan en nuestro lenguaje habitual de programación  La traducción de IDL a los distintos lenguajes de programación está estandarizada (¡y automatizada!)  Independencia de sistema operativo y hardware  La especificación recoge… Los protocolos por los que interactúan los objetos La forma en la que se representan y transmiten los datos  Independencia de localización física de los objetos Tema 2: Sistemas Distribuidos con CORBA

5 1. ¿Qué es CORBA? Tema 2: Sistemas Distribuidos con CORBA metodo1() metodo2() … metodoA() … atributo1 … atributo2 op1() op2() opA() opAtrib1()

66 Tema 2: Sistemas Distribuidos con CORBA Índice: 1.¿Qué es CORBA? 2.Arquitectura de un sistema CORBA 3.Alternativas a CORBA 4.El lenguaje IDL

7 2. Arquitectura de un sistema CORBA Tema 2: Sistemas Distribuidos con CORBA Objeto 2Objeto 1 Servicios CORBA Facilidades CORBA ORB AO ORB IIOP

8 2. Arquitectura de un sistema CORBA Tema 2: Sistemas Distribuidos con CORBA Objeto 2Objeto 1 Servicios CORBA Facilidades CORBA AO ORB IIOP Servicios CORBA  Implementan funciones de bajo nivel de uso habitual  Interfaz estandarizada  Implementación de cada servicio es opcional  Algunos servicios definidos en estándar:  Servicio de nombres  Servicio de localización  Servicio de eventos  Servicio de propiedades

9 2. Arquitectura de un sistema CORBA Tema 2: Sistemas Distribuidos con CORBA Objeto 2Objeto 1 Servicios CORBA Facilidades CORBA AO ORB IIOP Facilidades CORBA  Implementan funciones de alto nivel de uso habitual  Tipos de facilidades:  Horizontales: común a cualquier tipo de aplicación  Verticales: específicas a un ámbito determinado  Facilidades horizontales:  Interfaz de usuario  Administración de información  Administración de sistemas  Administración de tareas

10 2. Arquitectura de un sistema CORBA Tema 2: Sistemas Distribuidos con CORBA Objeto 2Objeto 1 Servicios CORBA Facilidades CORBA AO ORB IIOP ORB (Object Request Broker)  Actúa como un bus de interconexión de objetos  Gestiona:  comunicación entre objetos  Transferencia de datos (Marshalling/Unmarshalling) IIOP (Internet Inter-ORB Protocol)  Permite interoperación entre ORB’s  Basado en TCP/IP  No es el único protocolo Inter- ORB

11 2. Arquitectura de un sistema CORBA Tema 2: Sistemas Distribuidos con CORBA Objeto 2Objeto 1 Servicios CORBA Facilidades CORBA AO ORB IIOP Adaptador de Objetos  Actúa como interfaz entre ORB y objetos  CORBA estandariza interfaz de adaptador  CORBA 1.0: BOA (Basic Object Adapter)  CORBA 2.0, 3.0: POA (Portable Object Adapter)  Funciones:  Activación de objetos  Mapeo entre interfaces y sus implementaciones  …

12 Tema 2: Sistemas Distribuidos con CORBA Índice: 1.¿Qué es CORBA? 2.Arquitectura de un sistema CORBA 3.Alternativas a CORBA 4.El lenguaje IDL

13 3. Alternativas a CORBA Tema 2: Sistemas Distribuidos con CORBA  Programación mediante interfaz de sockets  ¡Muy bajo nivel!  RPC (Remote Procedure Call)  Protocolo de llamada a procedimientos remotos  Más bajo nivel  DCE (Distributed Computing Environment)  Conjunto de servicios estandarizados de OSF  Idea similar a CORBA  Murió   DCOM (Distributed Component Object Model)  Tecnología propietaria de Microsoft  Sólo para plataformas Windows  Relativamente robusto  Abandonada a favor de.NET

14 3. Alternativas a CORBA Tema 2: Sistemas Distribuidos con CORBA  PVM (Parallel Virtual Machine)  Librerías C/C++ para programación distribuida  Muy usado en ingeniería y matemáticas  Versión 3: ¡1993!   SR (Synchronizing Resources)  Lenguaje de programación de la universidad de Arizona  Exclusivamente empleado en ámbito universitario   MPD (Multithreaded, Parallel and Distributed)  Sucesor de SR 

15 3. Alternativas a CORBA Tema 2: Sistemas Distribuidos con CORBA  Java RMI  Arquitectura muy similar a CORBA (compatible desde JDK 1.2)  Ventaja: paso de objetos por valor  Inconveniente: implementación ligada a interfaz .NET Remoting  Interfaz de invocación remota de plataforma.NET  Similar a CORBA y a Java RMI  Sólo plataforma.NET (.NET 3.0 forma parte de Windows Vista)  Servicios Web  Colección de protocolos y estándares que sirve para intercambiar datos entre aplicaciones  Especificación de interfaces: WSDL  Transporte: HTTP  Invocación remota: SOAP  Representación de datos: XML

16 3. Alternativas a CORBA Tema 2: Sistemas Distribuidos con CORBA Inconvenientes de CORBA  Complejo y extenso  Diferencias importantes entre fabricantes de plataformas  Tecnología en evolución  ¿Poco futuro?

17 Tema 2: Sistemas Distribuidos con CORBA Índice: 1.¿Qué es CORBA? 2.Arquitectura de un sistema CORBA 3.Alternativas a CORBA 4.El lenguaje IDL

18 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

19 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

Notas generales Tema 2: Sistemas Distribuidos con CORBA  Interface Definition Language: no hay sentencias “ejecutables”  Permite definir:  Interfaces, compuestas por Atributos Operaciones  Tipos y constantes  Excepciones  Agrupaciones de todo lo anterior (módulos)

Notas generales Tema 2: Sistemas Distribuidos con CORBA Aspectos léxicos  Mayúsculas y minúsculas:  Son distintas, PERO…  …en un mismo ámbito, dos identificadores no se pueden diferenciar sólo en su uso  Toda declaración termina en “;”  Comentarios:  Estilo C++: // comentario hasta final de línea  Estilo C: /* Comentario hasta cierre de comentario */  Existe preprocesador léxico:  #define, #include, #ifdef…#endif, #ifndef...#endif, etc.  Normalmente: archivos con terminación “.idl”

22 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

Concepto de mapping Tema 2: Sistemas Distribuidos con CORBA  Definición: Elementos o construcciones del lenguaje destino al que se traduce cada elemento IDL  Mapping está normalizado para los distintos lenguajes:  Java  C++  Ada  …

24 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

El tipo interface Tema 2: Sistemas Distribuidos con CORBA  Es un tipo compuesto en IDL  Define una interfaz de objetos  Mapping: se traduce a una interfaz Java  El traductor genera cierta infraestructura para cada interfaz  Sintaxis de la declaración básica: interface nombre { // declaración de atributos // declaración de operaciones }; [readonly] attribute tipo nombre_atributo; readonly attribute long contador; attribute string nombre; [oneway] tipo nombre_operacion (modo tipo nombre_param1, …); long calculo (in long a, in long b); void generar (inout long clave, out string resultado); oneway void registrar (in string nombre);

El tipo interface Tema 2: Sistemas Distribuidos con CORBA  No hay sobrecarga en IDL  ¿La soportaría cualquier lenguaje al que se traduzca?  No pueden coincidir los nombres de una operación y un atributo  No existen  Constructores  Destructores  Modificadores de acceso (private, public, protected)  Mapping atributos:  Una operación de lectura y otra de escritura (si no readonly) interface nombre { … interface nombre { … attribute long contador; int contador(); // Accessor void contador(int value); // Mutator readonly attribute long contador;

El tipo interface Tema 2: Sistemas Distribuidos con CORBA  Mapping operaciones: métodos Java  Parámetros en modo out o inout: clases envoltura  Usa clases envoltura específicas de CORBA en lugar de Java: Ejemplo: org.omg.CORBA.intHolder  En CORBA: tipo interfaz siempre es un tipo por referencia  Nunca se pasan objetos CORBA por valor

28 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

Tipos predefinidos Tema 2: Sistemas Distribuidos con CORBA Tipo IDLDescripción Mapping Java void Tipo nulovoid boolean Tipo lógicoboolean char Carácter básicochar wchar Carácter ampliado (dep. implementación)char float Número realfloat double Número real de doble precisióndouble long double Número real largo de doble precisióndouble long Número entero (32 bits)int long Número entero largo (64 bits)long unsigned long Número entero (32 bits) sin signoint unsigned long long Número entero largo (64 bits) sin signolong

Tipos predefinidos Tema 2: Sistemas Distribuidos con CORBA Tipo IDLDescripción Mapping Java short Entero corto (16 bits)short unsigned short Entero corto (16 bits) sin signoshort octect Byte (8 bits)byte string Cadena de caracteresString

31 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

Constantes Tema 2: Sistemas Distribuidos con CORBA  Sintaxis: const tipo nombre= valor;  Se puden declarar…  Dentro de una interfaz  Fuera de cualquier interfaz  Mapping: const tipo nombre=valor; interface nombreInterface { const tipo nombre=valor; … } interface nombre { public static final tipo value=valor; } interface nombreInterface { public static final tipo nombre=valor; … }

33 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

Tipos compuestos Tema 2: Sistemas Distribuidos con CORBA enum nombre_enumerado {literal 1, literal 2, … literal n };  Mapping: public class nombre_enumerado implements org.omg.CORBA.portable.IDLEntity { private int __value; … public static final int _literal 1 = 0; public static final nombre_enum literal 1 = new nombre_enum(_literal 1 ); … protected nombre_enum (int value) { __value = value; … } … Enumerados  Sintaxis:

35 nombre_enumerado var1= nombre_enumerado.literal1; nombre_enumerado var2= var1; … if (var1 == var2) … nombre_enumerado 4.6 Tipos compuestos Tema 2: Sistemas Distribuidos con CORBA Enumerados (cont.)  No se puede suponer relación de orden entre los literales  Uso: literal 1 literal 2 literal n … Cierto si var1 y var2 apuntan al mismo objeto

Tipos compuestos Tema 2: Sistemas Distribuidos con CORBA struct nombre_structura { tipo 1 campo 1 ; … tipo n campo n ; };  Mapping: public final class nombre_struct implements org.omg.CORBA.portable.IDLEntity { public tipo 1 campo 1 = …; … public nombre_struct (tipo1 _campo1, …) { campo 1 = _campo 1 ; … } … Estructuras  Sintaxis:

37 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

Creación de tipos Tema 2: Sistemas Distribuidos con CORBA typedef tipo nombre_tipo;  Mapping: No ha lugar  El nombre de tipo creado se sustituye por el tipo equivalente  Uso principal: tipos contenedores  Sólo se pueden crear mediante typedef  Sintaxis:

39 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

Tipos contenedores Tema 2: Sistemas Distribuidos con CORBA typedef tipo_base tipo_array [tamaño]; … interface I { attribute tipo_array atributo1; … };  Mapping: array Java del tipo resultante de aplicar mapping al tipo base  Tamaño de array siempre es fijo  Rango del índice: depende de lenguaje de programación Arrays  Los atributos de tipo array deben declararse mediante typedef  Sintaxis:

Tipos contenedores Tema 2: Sistemas Distribuidos con CORBA typedef sequence tipo_secuencia; // Ilimitada typedef sequence tipo_secuencia; // limitada … interface I { attribute tipo_secuencia atributo1; … Secuencias  Secuencia: sucesión de elementos del mismo tipo (lista)  Los atributos de tipo secuencia deben declararse mediante typedef  Dos tipos de secuencias:  Limitadas (bounded)  Ilimitadas (unbounded)  Sintaxis:

Tipos contenedores Tema 2: Sistemas Distribuidos con CORBA Secuencias (cont.)  Mapping: array Java del tipo resultante de aplicar mapping al tipo base  En Java, tanto arrays como secuencias:  ¡Una referencia nula a un array java no es una secuencia ni un array válido!

43 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

44 interface A interface B { { … … }; }; interface C:A,B { … }; 4.9 Herencia Tema 2: Sistemas Distribuidos con CORBA  IDL soporta herencia múltiple  Sintaxis: ABC 1  Mapping: las interfaces Java generadas reflejan la relación de herencia entre las interfaces IDL  (En Java sí es posible herencia múltiple entre interfaces)

Herencia Tema 2: Sistemas Distribuidos con CORBA  Los métodos no se pueden…  Sobrecargar  Redefinir  Ocultar  Si se emplea herencia múltiple: no se puede heredar de clases con nombres coincidentes de atributos y/o operaciones  ¿Lo soportaría el lenguaje destino?

46 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

Excepciones Tema 2: Sistemas Distribuidos con CORBA exception nombre { tipo_campo1 campo1; tipo_campo2 campo2; … }; exception otraexcepcion { };  Las operaciones de los objetos CORBA pueden lanzar excepciones  Excepciones se lanzan en servidor y se capturan en cliente  IDL permite por tanto:  Declarar tipos de excepciones  Declarar qué excepciones puede lanzar cada operación  Sintaxis de declaración de tipo excepción:  Se pueden declarar excepciones dentro o fuera de una interfaz  No se pueden crear jerarquías de excepciones mediante herencia

Excepciones Tema 2: Sistemas Distribuidos con CORBA interface nombre_interface { tipo nombre_oper (modo tipo nombre_param1, …) raises (excep1, excep2…); … };  Sintaxis de declaración de excepciones lanzadas por una operación  Mapping: exception nombre { tipo_campo1 campo1; tipo_campo2 campo2; … }; public final class nombre extends org.omg.CORBA.UserException { tipo_campo1 campo1; tipo_campo2 campo2; … public nombre() {…} public nombre(tipo_campo1 campo1,…) {…} public nombre (String $reason, tipo_campo1 campo1, …) {…} }

Excepciones Tema 2: Sistemas Distribuidos con CORBA interface nombre_interface { tipo nombre_oper (modo tipo nombre_param1, …) raises (excep1, excep2…); … };  Mapping (cont.) … tipo nombre_oper (tipo nombre_param1, …) throws excep1, excep2, … { … } …  En Java, todas las excepciones declaradas en IDL heredan de org.omg.CORBA.UserException  Si implementación de una operación lanza excepción no declarada en IDL: UNKNOWN_EXCEPTION

50 4. El lenguaje IDL Tema 2: Sistemas Distribuidos con CORBA 1.Notas generales 2.Concepto de mapping 3.El tipo interface 4.Tipos predefinidos 5.Constantes 6.Tipos compuestos 7.Creación de tipos 8.Tipos contenedores 9.Herencia 10.Excepciones 11.Módulos

Módulos Tema 2: Sistemas Distribuidos con CORBA module nombre { // declaraciones IDL … };  Módulo=agrupación lógica de declaraciones en IDL  Puede contener declaraciones de todo lo expuesto hasta el momento (incluso módulos)  Sintaxis:  Mapping: paquetes Java  Por cada módulo, se genera un paquete de mismo nombre  Todo lo declarado en dicho módulo se incluye dentro de dicho paquete

52