Ir ao conteúdo

Um exemplo da utilização de CORBA

Olá,

CORBA (Common Object Request Broker Architecture) é um padrão definido pelo grupo OMG (Object Management Group), este permite a interação entre Objetos Distribuídos, em diferentes linguagens e sistemas. Ele também proporciona total transparência na comunicação entre os objetos distribuídos. A localização de objetos é feito via suas referências, que são resolvidas pelo ORB. A linguagem IDL (Interface Definition Language) é a tecnologia utilizada para descrever as interfaces dos objetos. Esta é uma linguagem puramente declarativa. Ela possui seus próprios tipos de dados, que são mapeados para tipos de dados nas linguagens suportadas. Existe o Compilador IDL que gera os códigos responsáveis pela comunicação entre objetos, mapeia os tipos de dados, se encarrega de fazer a serialização dos dados.

Mas na prática como funciona? Bom, possuimos as definições em um arquivo .idl, neste caso o arquivo Bank-idl (lembre-se de renomea-lo para bank.idl).

Acessando esse arquivo vocês verão diversas definições como:

Definição do modulo

module banco {

Definição do tipo valor

typedef double valor;

Definição da estrutura de dados Transação

struct transacao {
unsigned long data; // Formato: ddmmyyyy
string<12> descricao;
valor quantia;
};

Definição da interface, seus métodos, variaveis, excessões

interface auto_atendimento {
readonly attribute string boas_vindas;
valor saldo ( in conta c )
raises ( conta_inval );
void extrato ( in conta c,
out transacoes t, out valor saldo )
raises ( conta_inval );
void transferencia ( in conta origem,
in conta destino, in valor v )
raises ( conta_inval, saldo_insuf );
void investimento ( in conta c,
in aplicacao apl, in valor v )
raises ( conta_inval, saldo_insuf );
};

Com este arquivo, você pode criar as diversas interfaces com diferentes compiladores para diferentes linguagens. Para gerar as interfaces utilize

idlj -fall bank.idl

O mesmo irá gerar diversos arquivos dentro da pasta banco, com arquivos .java, com interfaces, métodos e exceções. Os mesmos devem ser ainda implementados para funcionar como você desejar.

Um exemplo de implementação de um Servidor de Banco e um Cliente em Java, utilizando CORBA com IDL

Matheus

PS: Isto foi apenas uma breve introdução. O CORBA utiliza diversas outras definições como o OMA e outras.

Publicado emjava

2.955 Comentários

  1. DennisThasp DennisThasp

    Решение о стационарном лечении принимает врач после осмотра. Нарколог оценивает клиническую картину и объясняет, почему госпитализация в конкретном случае позволяет снизить риск осложнений. Если противопоказаний к домашнему лечению нет, необходимые процедуры могут проводиться непосредственно по месту нахождения больного.
    Получить больше информации – vyvod-iz-zapoya-kruglosutochno-reutov

  2. Jamesmof Jamesmof

    Запой носит разную продолжительность: иногда он длится три или пять дней, а у пациентов с большим стажем алкоголизма — недели и дольше. Чем продолжительнее период употребления, тем выше вероятность обострения хронических болезней, психических осложнений и опасных реакций организма. Особенно внимательно следует относиться к пожилого возраста больным, пациентам с циррозом, заболеваниями сердца, почек и поджелудочной железы. В подобных ситуациях врач-нарколог определяет, можно ли оказать помощь дома либо безопаснее выбрать стационар клиники.
    Дополнительная информация – вывод из запоя вызов на дом в Красноярске

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *