A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CORBA Cleivson Arruda – Rafael Lima –

Apresentações semelhantes


Apresentação em tema: "CORBA Cleivson Arruda – Rafael Lima –"— Transcrição da apresentação:

1 CORBA Cleivson Arruda – csa3@cin.ufpe.br Rafael Lima – ragpl@cin.ufpe.br

2 R OTEIRO 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

3 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

4 S ERVIÇO DE M IDDLEWARE 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

5 S ERVIÇ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 CORBA especifica um total de 18 servicos

6 S ERVIÇO DE N OMES Definição Associação biunívoca entre um nome e um serviço Para que usar? Transparência de localização dos serviços

7 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...

8 CORBA

9 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

10 C ONFIGURANDO IDE S www.mico.org MICO 2.3.13 No Windows Visual Studio 2008 No Linux Eclipse 3.2 + CDT

11 C ONFIGURANDO O MICO NO W INDOWS Faça o download do código fonte do MICO em http://www.mico.org 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 http://www.cin.ufpe.br/~if677/monitoria/corba

12 C ONFIGURANDO O V ISUAL S TUDIO 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

13 C ONFIGURANDO O V ISUAL S TUDIO 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

14 C ONFIGURANDO O V ISUAL S TUDIO 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”

15 C ONFIGURANDO O V ISUAL S TUDIO 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”

16 C ONFIGURANDO O V ISUAL S TUDIO 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

17 C ONFIGURANDO O V ISUAL S TUDIO 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 * “mico2313.lib” e * “micocoss2313.lib” (sem as aspas e separadas por um espaço) 26) Clique em OK *2313 para nova versão do mico e 2312 para a já compilada

18 C ONFIGURANDO O MICO NO L INUX No linux (Eclipse 3.2 + CDT) Criar um Projeto C/C++ Vocês já fizeram isso milhões de vezes.

19 C ONFIGURANDO AS B IBLIOTECAS

20 PRONTO!! Acredite!! Eclipse Configurado!

21 E XEMPLO : C ONTA O NLINE Criando a IDL Compilando a IDL Implementando o Serviço Implementando o Servidor Implementando o Cliente Inicializando o Servidor de nomes

22 C RIAR IDL interface account{ void deposito (in long valor); void saque (in long valor); long getSaldo(); }; Colocar isso no arquivo account.idl

23 C OMPILANDO A IDL Lembrar de mudar no arquivo account.cc o include para include “account.h”

24 I MPLEMENTANDO O S ERVIÇO

25 I MPLEMENTANDO O S ERVIDOR

26 I MPLEMENTANDO O C LIENTE

27 I NICIALIZANDO O S ERVIDOR DE NOMES

28 A PÓS INICIAR O SERVIDOR DE NOMES... Basta executar o Servidor E depois executar o Cliente

29 D ÚVIDAS Dúvidas?

30 E XERCÍCIO interface AulaPratica{ void imprimirNoProjetor(in string mensagem); }; Nome do servico “projetor” Endereco do servidor de nomes: “serverAddress:9001”

31 R EFERÊNCIAS http://www.frb.br/ciente/Impressa/Info/I.8. Semiramis.Middleware.pdf http://www.cin.ufpe.br/~if677/monitoria/co rba/ http://www.omg.org/gettingstarted/corbafa q.htm http://www.opendylan.org/documentation/ opendylan/corba/corba_1.htm http://www.answers.com/topic/corba?cat=t echnology http://en.wikipedia.org/wiki/CORBA


Carregar ppt "CORBA Cleivson Arruda – Rafael Lima –"

Apresentações semelhantes


Anúncios Google