Corba
This presentation is the property of its rightful owner.
Sponsored Links
1 / 31

CORBA PowerPoint PPT Presentation


  • 83 Views
  • Uploaded on
  • Presentation posted in: General

CORBA. André Ricardo (xico) – arss at cin Hugo Calazans – htcrs at cin. Roteiro. O que é CORBA? Servicos servico de nomes IDL MICO Configurando IDEs No Windows (Visual Studio 2005) No linux (Eclipse 3.2 + CDT) Exemplo Exercício Prático Dúvidas. O que é CORBA?.

Download Presentation

CORBA

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Corba

CORBA

André Ricardo (xico) – arss at cin

Hugo Calazans – htcrs at cin


Roteiro

Roteiro

  • O que é CORBA?

    • Servicos

      • servico de nomes

  • IDL

  • MICO

    • Configurando IDEs

      • No Windows (Visual Studio 2005)

      • No linux (Eclipse 3.2 + CDT)

  • Exemplo

  • Exercício Prático

  • Dúvidas


O que corba

O que é CORBA?

  • Common Object Request Broker Architeture

  • CORBA é uma ESPECIFICAÇÃO de middleware, criado pela OMG(Object Management Group )

  • MICO é um exemplo de implementação desta especificação


Servi o de middleware

Serviço de Middleware

  • Definição de Bernstein:

    • Serviço de propósito geral, situado entre plataformas (serviços de baixo nível) e aplicações, sendo caracterizado pelas APIs e pelos protocolos que suporta


Servi os de corba

Additional Structuring Mechanisms for the OTS

Collection Service

Concurrency Service

Enhanced View of Time

Event Service

Externalization Service

Naming Service

Licensing Service

Life Cycle Service

Notification Service

Persistent State Service

Property Service

Query Service

Relationship Service

Security Service

Time Service

Trading Object Service

Transaction Service

Serviços de CORBA

CORBA especifica um total de 18 servicos


Servi o de nomes

Serviço de Nomes

  • Definição

    • Associação biunívoca entre um nome e um serviço

  • Para que usar?

    • Transparência de localização dos serviços


Corba

IDL

  • Interface Definition Language

  • Baseada em C++

  • Não possui algoritmos ou variáveis

    • Puramente declarativa

  • Padrões definidos para:

    • Java, COBOL, Smalltalk, Ada, Lisp, Python, IDLscript...


Corba1

CORBA


Corba

MICO

  • Uma implementacao LGPL (free software) de CORBA em C++

  • Serviços implementados

    • Naming service

    • Trading service

    • Event service

    • Relationship service

    • Property service

    • Time service

    • Security service


Configurando ides

Configurando IDEs

  • www.mico.org

    • MICO 2.3.12

  • No Windows

    • Visual Studio 2005

  • No Linux

    • Eclipse 3.2 + CDT


Configurando o mico no windows

Configurando o MICO no Windows

  • Faça o download do código fonte do MICO em http://www.mico.org

  • Descompacte e leia as instruções presentes no arquivo README-WIN32 para compilar o código

  • Edite as variáveis de ambiente, adicionando o diretório win32-bin à variável PATH

  • Como alternativa a todo esse processo, você poderá fazer o download de uma versão já compilada de MICO, através do link: http://www.cin.ufpe.br/~if677/monitoria/corba


Configurando o visual studio

Configurando o Visual Studio

1) File -> New-> Project…

2) Expanda “Visual C++ Projects”

3) Selecione a pasta Win32

4) Selecione Win32 Console Project

5) Especifique um nome para o projeto

6) Clique OK


Configurando o visual studio1

Configurando o Visual Studio

7) Clique em “Application Settings”

8) Cerfifique-se de que a opção “Console Application” está selecionada

9) Marque a opção “Empty project”

10) Clique em “Finish” para criar o projeto


Configurando o visual studio2

Configurando o Visual Studio

Foi criado um “Empty project”

11) Clique com o botão direito em cima do projeto para abrir o menu

12) Selecione o item “Properties”

Onde estão as opções “C/C++”?

13) Clique na opção “Cancel”


Configurando o visual studio3

Configurando o Visual Studio

14) Add New Item -> Add

15) Selecione “C++ File”

16) Especifique um nome para o arquivo, como “server.cpp”, por exemplo

17) Clique em “Open”


Configurando o visual studio4

Configurando o Visual Studio

O arquivo “server.cpp” foi criado.

18) Clique em “Project Menu”

19) Selecione “Properties”

O diretório “C/C++” está agora habilitado!

20) Expanda-o

21)

Em “Additional Included Directories” especifique o caminho completo até o diretório include do MICO

Exemplo:

D:\mico\include


Configurando o visual studio5

Configurando o Visual Studio

22) Expanda “Linker”

23) Em “Additonal Library Directories”, especifique o caminho completo até as bibliotecas do mico para win-32 Exemplo: D:\mico\win32-bin\lib

24) Selecione Input

25) Digite as strings “mico2312.lib” e “micocoss2312.lib” (sem as aspas e separadas por um espaço)

26) Clique em OK


Configurando o mico no linux

Configurando o MICO no Linux

  • No linux (Eclipse 3.2 + CDT)

    • Criar um Projeto C/C++

      • Vocês já fizeram isso milhões de vezes. 


Configurando as bibliotecas

Configurando as Bibliotecas


Pronto

PRONTO!!

  • Acredite!!

  • Eclipse Configurado!


Exemplo conta online

Exemplo: Conta Online

  • Criando a IDL

  • Compilando a IDL

  • Implementando o Serviço

  • Implementando o Servidor

  • Implementando o Cliente

  • Inicializando o Servidor de nomes


Criar idl

Criar IDL

interface account{

void deposito (in long valor);

void saque (in long valor);

long getSaldo();

};

  • Colocar isso no arquivo account.idl


Compilando a idl

Compilando a IDL


Implementando o servi o

Implementando o Serviço


Implementando o servidor

Implementando o Servidor


Implementando o cliente

Implementando o Cliente


Inicializando o servidor de nomes

Inicializando o Servidor de nomes


Ap s iniciar o servidor de nomes

Após iniciar o servidor de nomes...

  • Basta executar o Servidor

  • E depois executar o Cliente


D vidas

Dúvidas

  • Dúvidas?


Exerc cio

Exercício

interface AulaPratica{

void imprimirNoProjetor(in string mensagem);

};

  • Nome do servico

    • “projetor”

  • Endereco do servidor de nomes:

    • “serverAddress:9001”


Refer ncias

Referências

  • http://www.frb.br/ciente/Impressa/Info/I.8.Semiramis.Middleware.pdf

  • http://www.cin.ufpe.br/~if677/monitoria/corba/

  • http://www.omg.org/gettingstarted/corbafaq.htm

  • http://www.opendylan.org/documentation/opendylan/corba/corba_1.htm

  • http://www.answers.com/topic/corba?cat=technology

  • http://en.wikipedia.org/wiki/CORBA


  • Login