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.499 Comentários

  1. australia no deposit online casino, play casino promo code (Romeo) pokies australia
    no money required and online slots australia ipad, or apple pay
    online casino united states

  2. free slots united states, best australian casino sites and poker online with friends canada, or are gambling
    winnings earned income usa

    My blog post; bingo pilipino machine (Sherlyn)

  3. list of united statesn online casinos, canadian slots bangor maine and $5 deposit online casino canada, or
    free chip no deposit united states 2021

    Look at my website :: bingo players rattle; Grace,

  4. slot machines ontario united states, free online
    games to win real money no deposit australia and united kingdom skagit casino in bellingham wa (Fredericka) club, or free united statesn slot machine games

  5. android casino united kingdom, best online casino south united states and free casino
    usa bonus no deposit, or bingo liner uk

    Feel free to surf to my site :: how to get your money back from gambling sites – Milan

  6. new online casino advertising malaysia [Athena] canadian casino, real
    money online gambling canada and australian casino free
    spins, or the top online pokies and casinos in australia day

  7. horse race bets on win and place​

    Look at my web page :: cheltenham new betting account offers​;
    Ruby,

  8. are true blue casino no deposit bonus codes 2021;
    Sheri, winnings taxed in australia, best online casino new zealand wise gamblers and free online
    pokies win real money united kingdom, or united kingdom online
    pokies paypal

  9. best online pokies united states is gateway casino open (Marsha), casino victoria bc canada and online casino available in australia, or
    slots frenzy

  10. is there a casino in toronto canada, advanced roulette
    uk and how to cheat at blackjack in casino (Nickolas) to
    cheat pokie machines canada, or are slot machines illegal in united kingdom

  11. what poker sites are legal in united states,
    new casino non uk and casino aidasol (Misty) chips value uk, or betsoft no deposit bonus united states

  12. play free pokies usa, wild life slots australia and online casino play with real money (Bertie) pokies australia no deposit signup bonus,
    or no wager bonus slots usa

  13. best gambling website canada, top online pokies and casinos canadian update and new zealandn poker casino free online
    casino games no money [Kyle],
    or play poker in south united states

  14. yukon gold casino app, cash online poker canada
    and gambling issues in australia, or new when will fire rock casino open (Bailey) uk

  15. legal gambling sites australia, free spins no deposit no wager
    uk 2021 and united kingdom online poker news, or uk gambling forum

    Feel free to surf to my blog post :: russian roulette tabletop simulator
    (Lilian)

  16. top 10 online casinos in canada, best online poker
    app new zealand and australian free pokies games, or poker runs
    united states 2021

    Also visit my homepage; harrah’s chester gambling [Estelle]

  17. free spins casino no deposit usa, online dan bilzerian site casino; Nicki, no deposit bonus free
    spins usa and does united states have casinos,
    or best real money pokies new zealand

  18. native united statesn gambling rights, is it legal to play
    online slots in australia and free skill based casino gaming; Serena, bonus no deposit required uk, or new
    zealand real money slots

  19. 80 free spins no deposit uk, united statesn original slot
    machine game and best online poker site for beginners usa, or
    new casino slot sites usa

    Here is my site … go to fete bingo (Leonida)

Deixe um comentário

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