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

3.220 Comentários

  1. DonaldHab DonaldHab

    В этой статье мы рассматриваем разрушительное влияние зависимости на жизнь человека. Обсуждаются аспекты, такие как здоровье, отношения и профессиональные достижения. Читатели узнают о необходимости обращения за помощью и о путях к восстановлению.
    Открой скрытое – alco.rehab

  2. lalabet_wjOa lalabet_wjOa

    Ik zit nu een maandje of vier bij Lalabet en niet gelogen had ik er weinig van verwacht. Het aanbod viel me alleen mee: meer dan 2000 titels als ik het goed heb geteld. NetEnt, Play’n GO en Pragmatic zie je overal terug, en de bekende namen a la Gates of Olympus en Book of Dead zitten er gewoon tussen.

    Waar ik de meeste tijd verlies is de live-sectie. Die tafels draaien op Evolution en dat is gewoon kwaliteit: echte croupiers en soms zelfs een Nederlandstalige tafel, plus Crazy Time en Lightning Roulette. De stream hapert bij mij nooit, zelfs op mobiel data.

    Over de bonus: je krijgt 100% tot 500 euro plus 200 free spins, plus 50 no deposit spins bij verificatie. Je moet het 35 keer rondspelen, gemiddeld voor de markt, zeg maar. Lees die kleine lettertjes wel even, meer daarover staat op forums.riversidefriends.org profile voor je je aanmeldt. Een account maken is zo gebeurd en je kunt al vanaf 10 euro los.

    Je kunt met iDEAL, Visa/Mastercard of e-wallets als Skrill en Neteller terecht, en crypto kan ook, Bitcoin en Litecoin. Uitbetalen bij Lalabet duurde bij mij ongeveer 24 tot 48 uur, via Skrill zelfs sneller. Dat vond ik wel jammer: de verificatie duurde onnodig lang, daarna ging alles vlot.

    De support is bereikbaar via live chat, meestal reageert er binnen een paar minuten iemand. Bij Lalabet werd ik netjes in het Nederlands geholpen, al moest ik een keer twee keer uitleggen wat ik bedoelde. Een echte app is er niet, het schaalt netjes naar je scherm en je kunt hem als snelkoppeling op je scherm zetten.

    Qua licentie zit het bij Curacao, dus geen Nederlandse toezichthouder — houd daar rekening mee. Persoonlijk heb ik nooit gedoe gehad met mijn geld, al hou ik het bewust klein.

  3. RobertMon RobertMon

    Выезд нарколога на дому может включать медикаментозное лечение, инфузионную поддержку, капельницы, препараты для нормализации самочувствия и рекомендации по продолжению лечения алкоголизма. Конкретный состав медикаментов врач выбирает после осмотра пациента. Если домашний формат недостаточен, нарколог предлагает лечение в клинике и объясняет преимущества наблюдения в стационаре.
    Изучить вопрос подробнее – анонимная наркологическая клиника

Deixe um comentário

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