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

990 Comentários

  1. MelvinKnone MelvinKnone

    Программы лечения формируются с учётом состояния организма и индивидуальных потребностей пациента. Это обеспечивает эффективность и снижает вероятность рецидива.
    Детальнее – наркологическая клиника в донце

  2. https://888starz.net.co/
    888Starz Colombia es un casino en linea y casa de apuestas deportivas que cuenta con mas de 9.500 juegos disponibles, incluyendo tragamonedas, mesas con crupier en vivo y una amplia oferta de deportes que abarca desde la Liga BetPlay hasta la UEFA Champions League y las competiciones de esports.

  3. https://ufc327odds.com/
    The upcoming UFC 327 light heavyweight championship bout in Miami presents a classic pick’em for those placing wagers, as ex-champion Jiri Prochazka (-142) and on-a-roll knockout artist Carlos Ulberg (+120) gear up to square off for the unclaimed belt. The extremely close odds highlight how evenly matched these two finishers really are, setting up a matchup where a wager on either competitor is simply a matter of which devastating skillset you anticipate will reign supreme.

  4. https://sportium.net.co/
    A plataforma Sportium Colombia trata-se de um cassino e site de apostas esportivas digitais que funciona com plena legalidade amparado pela licenca da Coljuegos, resultado da alianca entre CIRSA e Ladbrokes desde 2007. Oferece um ambiente completo e seguro no qual os apostadores colombianos podem aproveitar desde palpites no futebol ate slots e cassino em tempo real com dealers reais, tudo em um unico lugar.

  5. https://miamifightcard.com/
    Regarding MediaFightCard’s lineup, the gambling markets reveal a notable dynamic with belt-holders being the betting underdogs and challengers holding favorite status. In the main event for the vacant light heavyweight title, ex-titleholder Jiri Prochazka started as a slight -143 favorite over the in-form Carlos Ulberg, who comes in as a +116 underdog even with his nine-fight winning streak.

  6. https://miamifightcard.com/
    Regarding MediaFightCard’s lineup, the betting odds showcase a notable dynamic with titleholders entering as underdogs and aspirants carrying favorite status. In the featured bout for the unclaimed light heavyweight title, previous belt-holder Jiri Prochazka started as a narrow -143 favorite over the fast-rising Carlos Ulberg, who comes in as a +116 underdog considering his nine-fight winning streak.

  7. Wow, amazing blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your site is wonderful, let alone the content!

Deixe um comentário

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