CORBA Common Object Request Broker Computação Distribuída João Bosco Mangueira Sobral The Client/Server Evolution Computação Distribuída João Bosco Mangueira Sobral O que é a tecnologia CORBA? • CORBA • Common Object Request Broker Architecture – Uma camada de software que distribui objetos – Oferece uma série de serviços de objeto – É padonizada pela OMG • IDL - Interface Definition Language – – – – Padrão para definição dos Serviços dos objetos Linguagem semelhate ao C Portabilidade para Java, C++, Delphi, Smalltalk, etc.. Permite integração entre sistemas heterogêneos. Computação Distribuída João Bosco Mangueira Sobral OMA – Object Management Architecture Computação Distribuída João Bosco Mangueira Sobral Integração Cliente/Servidor Invoca método () no objeto Z IDL Objeto Z método() IDL Requisições de Objeto ORB – barramento de objetos Object Request Broker Os serviços são distribuidos na forma de Objetos em um barramento Computação Distribuída João Bosco Mangueira Sobral Estrutura do CORBA 2.0 Computação Distribuída João Bosco Mangueira Sobral CORBA algumas características • Invocação estática – Os parâmetros podem ser conhecidos • Invocação dinâmica – Os parâmetros podem ser “descobertos” • Escalabilidade – Criação de uma rede de serviços intergalática • Segurança, Transparência e Controle – Serviços disponíveis pela arquitetura • Coexistência com sistemas atuais (legados) Computação Distribuída João Bosco Mangueira Sobral Evolução dos Componentes Computação Distribuída João Bosco Mangueira Sobral Anatomia do CORBA 2.0 interface Servico Cliente _SKELTON _STUB ORB BOA IIOP - Internet InterORB Protocol Computação Distribuída João Bosco Mangueira Sobral A IDL modela as interfaces Account A linguagem IDL suporta Os princípios da Orientação a Objetos float balance makeDeposit makeWithdrawal Computação Distribuída João Bosco Mangueira Sobral Exemplo de interface IDL Account float balance makeDeposit makeWithdrawal Computação Distribuída João Bosco Mangueira Sobral // IDL interface Account { //Attributes attribute float balance; readonly attribute string owner; //Operations void makeDeposit(in float amount, out float newBalance); void makeWithdrawal(in float amount, out float newBalance); }; idl2java Cliente InterfaceHolder.java InterfaceHelper.java _st_Interface Interface.idl idl2java _sk_Interface _InterfaceImplBase.java VisiBroker for Java Interface.java Servidor _exemplo_Interface.java Computação Distribuída João Bosco Mangueira Sobral CORBA e Java • O uso de Java na Arquitetura CORBA ... – ... Dá mobilidade de código. – ... Facilita o CORBA para a WEB. • Java “concorre” com CORBA no RMI e EJB (alternativas semelhantes) Computação Distribuída João Bosco Mangueira Sobral Método para desenvolvimento Servidor Java/outras Análise Modelo Codigo Interface IDL Projeto Cliente Java/outras Modelagem UML/CORBA Computação Distribuída João Bosco Mangueira Sobral Implementação CORBA/Java Integração entre as tecnologias Dominio do Problema UML Analise e Projeto CORBA Arquitetura da Solucao Java Ambiente de Implementacao Computação Distribuída João Bosco Mangueira Sobral Links interessantes • http://www.omg.org • http:/www.cetus-links.org Computação Distribuída João Bosco Mangueira Sobral