Tipos corba

Solo disponible en BuenasTareas
  • Páginas : 12 (2902 palabras )
  • Descarga(s) : 0
  • Publicado : 18 de septiembre de 2010
Leer documento completo
Vista previa del texto
Sistemas de Información
Tecnologías de objetos distribuidos:

CORBA: El lenguaje IDL (Invocación estática)
Agradecimientos: Jesus Villamor Lugo, Simon Pickin de IT/UCIIIM, Juan Pavón UCM, Fernándo Bellas UDC
1

CORBA IDL. Invocación estática Índice
¿Qué es IDL? Características de IDL Jerarquía de tipos en IDL El lenguaje en breves trazos
module interface Operations y parámetrosattributes exception,raises Tipos en IDL (primitivos, construidos) typedef

Traducción de tipos
Tipos simples Tipos complejos Const

Referencias

2

¿Qué es IDL?
IDL Interface Definition Language
¿Qué es?
Es un lenguaje de definición de interfaces Especifica la sintaxis de los interfaces Es neutral:
independiente del leng. de programación Independiente del sistema operativo

¿Para quésirve?
Establecer un contrato entre cliente y servidor indicando que servicios van a estar accesibles para el cliente desde el servidor.
3

¿Qué es IDL?
¿Cómo se crea?
Es un fichero con extensión .idl que consta de:
Declaración de módulos Declaración de interfaces
Soportan herencia Contienen atributos y operaciones

Declaración de tipos de datos,constantes y excepciones necesarios paradefinir las operaciones y atributos

¿Cómo se usa?
Se utiliza un compilador de idl que genera código para el lenguaje destino para poder invocar operaciones e implementar las interfaces. Existen mappings estandarizados para múltiples lenguajes (C, C++, Java, Cobol, Smalltalk, Ada, …) Al compilar se generan varios ficheros (ej. en java)
El Stub de cliente y el Skeleton del servidor Clases Holder yHelper Una clase para la implementación base

4

Características de IDL
Es un lenguaje neutro y de sólo definición
La manipulación de lo definido se hace en cualquiera de los lenguajes (generalmente OO) para los que se haya generado Stubs y Skeletons Aunque su sintaxis está fuertemente basada en C (Java y C++)

El fichero IDL crea su propio ámbito para cada uno de sus elementos
Losidentificadores sólo pueden ser definidos una vez dentro de un ámbito
Los identificadores son sensitivos a las mayúsculas

Las operaciones dentro de un mismo ámbito no pueden sobrescribirse
No existe polimorfismo

Permite herencia múltiple de interfaces
Siempre que las interfaces heredadas no definan la misma operación
5

El lenguaje en breves trazos
Interfaces. Conjunto de operaciones queun cliente puede “requerir” sobre un objeto. ( “Target Object” = Objeto de tipo interfaz X)
Operaciones. Entidad que denota un servicio que va ha ser requerido. [oneway] (param1,...,paramL) [raises (except1,..,exceptL)] [context(name1,...,nameL)] Atributo. Define dos operaciones:
Get_atributoX Set_atributoX Puede ser de solo lectura (get_atributoX)
6

Implementación de los Objetos
Laimplementación de los objetos llevan consigo los La implementación de los objetos llevan consigo los conceptos relativos a su comportamiento en un sistema conceptos relativos a su comportamiento en un sistema computacional computacional

Existen dos modelos:
⌦ Modelo de ejecución: Describe “como” los servicios son “ejecutados” ⌦ Modelo de construcción: Describe “como” los servicios son “definidos” (define el estado de los
objetos, métodos,infraestructura de selección de métodos).
7

Ejemplo IDL
module Banca { module Banca {
interface Cuenta { interface Cuenta { exception SaldoInsuficiente { float exception SaldoInsuficiente { float readonly attribute float balance; readonly attribute float balance; void ingreso(in float suma); void ingreso(in float suma); void reintegro(in floatsuma) raises void reintegro(in float suma) raises }; }; balance; balance; }; };

(SaldoInsuficiente); (SaldoInsuficiente);

interface interface readonly readonly }; };

CuentaCredito : CuentaCredito : attribute float attribute float

Cuenta { Cuenta { credito; credito;

interface Banco { interface Banco { exception Rechazada { string causa; }; exception Rechazada { string causa; };...
tracking img