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

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

CORBA André Ricardo (xico) – arss at cin Hugo Calazans – htcrs at cin.

Apresentações semelhantes


Apresentação em tema: "CORBA André Ricardo (xico) – arss at cin Hugo Calazans – htcrs at cin."— Transcrição da apresentação:

1 CORBA André Ricardo (xico) – arss at cin Hugo Calazans – htcrs at cin

2 Roteiro O que é CORBA?O que é CORBA? –Servicos servico de nomesservico de nomes IDLIDL MICOMICO –Configurando IDEs No Windows (Visual Studio 2005)No Windows (Visual Studio 2005) No linux (Eclipse 3.2 + CDT)No linux (Eclipse 3.2 + CDT) ExemploExemplo Exercício PráticoExercício Prático DúvidasDúvidas

3 O que é CORBA? Common Object Request Broker ArchitetureCommon Object Request Broker Architeture CORBA é uma ESPECIFICAÇÃO de middlewareCORBA é uma ESPECIFICAÇÃO de middleware –Mediador da computação distribuída MICO é um exemplo de implementação desta especificaçãoMICO é um exemplo de implementação desta especificação

4 Serviço de Middleware Definição de Bernstein: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 Serviços de CORBA Additional Structuring Mechanisms for the OTSAdditional Structuring Mechanisms for the OTS Collection ServiceCollection Service Concurrency ServiceConcurrency Service Enhanced View of TimeEnhanced View of Time Event ServiceEvent Service Externalization ServiceExternalization Service Naming ServiceNaming Service Licensing ServiceLicensing Service Life Cycle ServiceLife 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 Serviço de Nomes DefiniçãoDefinição –Associação biunívoca entre um nome e um serviço Para que usar?Para que usar? –Transparência de localização dos serviços

7 IDL Interface Definition LanguageInterface Definition Language Baseada em C++Baseada em C++ Não possui algoritmos ou variáveisNão possui algoritmos ou variáveis –Puramente declarativa Padrões definidos para:Padrões definidos para: –Java, COBOL, Smalltalk, Ada, Lisp, Python, IDLscript...

8 CORBA

9 MICO Uma implementacao LGPL (free software) de CORBA em C++Uma implementacao LGPL (free software) de CORBA em C++ Serviços implementadosServiços implementados –Naming service –Trading service –Event service –Relationship service –Property service –Time service –Security service

10 Configurando IDEs www.mico.orgwww.mico.orgwww.mico.org –MICO 2.3.12 No WindowsNo Windows –Visual Studio 2005 No LinuxNo Linux –Eclipse 3.2 + CDT

11 Configurando o MICO no Windows Faça o download do código fonte do MICO em http://www.mico.orgFaç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ódigoDescompacte 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 PATHEdite 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/corbaComo 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 http://www.cin.ufpe.br/~if677/monitoria/corba

12 Configurando o Visual Studio 1) File -> New-> Project… 2) Expanda Visual C++ 3) Selecione a pasta Win32 4) Selecione Win32 Console Application 5) Especifique um nome e um diretório para o projeto 6) Clique em OK

13 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

14 Configurando o Visual Studio Foi criado um projeto vazio 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 em Cancel

15 Configurando o Visual Studio 14) Add -> New Item 15) Clique em Visual C++ e selecione C++ File 16) Especifique um nome para o arquivo Exemplo: server.cpp 17) Clique em Add

16 Configurando o Visual Studio O arquivo server.cpp foi criado. 18) Clique com o botão direito em cima do projeto 19) Selecione Properties O diretório C/C++ está agora habilitado! 20) Clique nele 21) Em Additional Included Directories especifique o caminho completo até o diretório include do MICO Exemplo: D:\mico\include

17 Configurando o Visual Studio 22) Expanda Linker e selecione Geral 23) Em Additional Library Directories, especifique o caminho completo até as bibliotecas do mico para win-32 Exemplo: D:\mico\win32-bin\lib 24) Selecione Input 25) Em Additional Dependencies, digite as strings mico2312.lib e micocoss2312.lib (sem as aspas e separadas por um espaço) 26) Clique em OK

18 Configurando o MICO no Linux No linux (Eclipse 3.2 + CDT)No linux (Eclipse 3.2 + CDT) –Criar um Projeto C/C++ Vocês já fizeram isso milhões de vezes.Vocês já fizeram isso milhões de vezes.

19 Configurando as Bibliotecas

20 PRONTO!! Acredite!!Acredite!! Eclipse Configurado!Eclipse Configurado!

21 Exemplo: Conta Online –Criando a IDL –Compilando a IDL –Implementando o Serviço –Implementando o Servidor –Implementando o Cliente –Inicializando o Servidor de nomes

22 Criar IDL Interface Account{ void deposito (in long valor); void deposito (in long valor); void saque (in long valor); void saque (in long valor); long getSaldo(); long getSaldo();}; Colocar isso no arquivo account.idlColocar isso no arquivo account.idl

23 Compilando a IDL

24 Implementando o Serviço

25 Implementando o Servidor

26 Implementando o Cliente

27 Inicializando o Servidor de nomes

28 Após iniciar o servidor de nomes... Basta executar o ServidorBasta executar o Servidor E depois executar o ClienteE depois executar o Cliente

29 Dúvidas Dúvidas?Dúvidas?

30 Exercício interface AulaPratica{ void imprimirNoProjetor(in string mensagem); void imprimirNoProjetor(in string mensagem);}; Nome do servicoNome do servico –projetor Endereco do servidor de nomes:Endereco do servidor de nomes: –serverAddress:9001

31 Referências http://www.frb.br/ciente/Impressa/Info/I.8.Semirami s.Middleware.pdfhttp://www.frb.br/ciente/Impressa/Info/I.8.Semirami s.Middleware.pdfhttp://www.frb.br/ciente/Impressa/Info/I.8.Semirami s.Middleware.pdfhttp://www.frb.br/ciente/Impressa/Info/I.8.Semirami s.Middleware.pdf http://www.cin.ufpe.br/~if677/monitoria/corba/http://www.cin.ufpe.br/~if677/monitoria/corba/http://www.cin.ufpe.br/~if677/monitoria/corba/ http://www.omg.org/gettingstarted/corbafaq.htmhttp://www.omg.org/gettingstarted/corbafaq.htmhttp://www.omg.org/gettingstarted/corbafaq.htm http://www.opendylan.org/documentation/opendylan /corba/corba_1.htmhttp://www.opendylan.org/documentation/opendylan /corba/corba_1.htmhttp://www.opendylan.org/documentation/opendylan /corba/corba_1.htmhttp://www.opendylan.org/documentation/opendylan /corba/corba_1.htm http://www.answers.com/topic/corba?cat=technologyhttp://www.answers.com/topic/corba?cat=technologyhttp://www.answers.com/topic/corba?cat=technology http://en.wikipedia.org/wiki/CORBAhttp://en.wikipedia.org/wiki/CORBAhttp://en.wikipedia.org/wiki/CORBA


Carregar ppt "CORBA André Ricardo (xico) – arss at cin Hugo Calazans – htcrs at cin."

Apresentações semelhantes


Anúncios Google