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

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

Integrações de Aplicações Empresariais Prof. Paulo Fernando da Silva UNC – Universidade do Contestado Pós-Graduação em Sistemas de Informação Aplicados.

Apresentações semelhantes


Apresentação em tema: "Integrações de Aplicações Empresariais Prof. Paulo Fernando da Silva UNC – Universidade do Contestado Pós-Graduação em Sistemas de Informação Aplicados."— Transcrição da apresentação:

1 Integrações de Aplicações Empresariais Prof. Paulo Fernando da Silva UNC – Universidade do Contestado Pós-Graduação em Sistemas de Informação Aplicados a Web

2 Organização Módulo 1: –Integração de Aplicações; –Troca de Mensagens (Client-Server); Módulo 2: –RPC –RMI; Módulo 3: –Corba –DCOM;

3 Organização Módulo 4: –Enterprise Java Beans; –Servidores de Aplicação; Módulo 5: –Message Brokers; –Agentes de Software; Módulo 6: –Web Services / XML; –Avaliação;

4 Módulo 3 - Sumário CORBA – Common Object Request Broker Arquitecture –Introdução; –Arquitetura CORBA; –Estudo de Caso; –Atividade; DCOM – Distributed Component Object Model –Arquitetura DCOM; –Ferramentas DCOM; –Estudo de Caso; –Atividade;

5 CORBA Introdução CORBA começou a ser desenvolvido em 1989, quando um grupo de empresas reuniu- se em uma organização, denominada OMG; É um padrão para interoperabilidade entre objetos distribuídos: –permitem que objetos escritos em diferentes linguagens e, compilados por diferentes compiladores comuniquem-se; –comunicação através de protocolos padronizados de forma transparente;

6 CORBA Introdução Padrão CORBA é uma especificação aberta, independente de linguagem e fabricante; Assegura a possibilidade de se desenvolver sistemas baseados em interação, que incorporam componentes de múltiplas origens;

7 CORBA Arquitetura OMA:Object Manegement Architecture; A OMA agrupa um conjunto de objetos CORBA em serviços e facilidades; Object Request Broker (ORB) habilita clientes e objetos a se comunicarem em um ambiente distribuído;

8 CORBA Arquitetura Há quatro categorias de interfaces: –Objetos de Serviços (Object Services) são interfaces para serviços gerais; –Facilidades Comuns (Common Facilities) são interfaces para facilidades horizontais orientadas para usuário; –Interfaces de Domínio (Domain Interfaces) são interfaces de aplicações de um domínio específico; –Interfaces de Aplicação (Application Interfaces) são interfaces não padronizadas para aplicações específicas.

9 CORBA Arquitetura

10 client server proxy or dynamic invocation implementation repository object adapter ORB skeleton or dynamic skeleton client program interface repository Request Reply core for A Servant A

11 CORBA Arquitetura - ORB É um mecanismo pelo qual objetos fazem ou recebem requisições de outros objetos; O cliente não precisa estar ciente: –do mecanismo usado para comunicar ou ativar um objeto; –de como o objeto é implementado; –onde o objeto está localizado; Permite interoperabilidade;

12 CORBA Arquitetura - ORB

13 CORBA Arquitetura – ORB Parte Cliente Client IDL Stubs: –Prove interfaces estáticas para o acesso aos objetos remotos; –Agem como um proxy para o objeto remoto do servidor –Gerados a partir de uma IDL; –Fazem marshalling;

14 CORBA Arquitetura – ORB Parte Cliente Dynamic Invocation Interface (DII): –Permite descobrir métodos de servidores remotos em tempo de execução; –CORBA define APIs para a localização de meta-dados que definem as interfaces dos servidores: para a geração dos parâmetros, para invocação remota, e para o retorno dos dados;

15 CORBA Arquitetura – ORB Parte Cliente Interface Repository APIs (IR): –Permitem obter a descrição de todas as interfaces dos componentes registrados, os métodos que eles suportam, e os parâmetros que eles utilizam; –É uma base de dados distribuída que contém as definições das interfaces no formato da IDL;

16 CORBA Arquitetura – ORB Parte Servidor Server IDL Stubs: –fornecem interfaces estáticas para cada serviço exportado pelo servidor; –Também são criados pelo compilador IDL; –Fazem unMarshalling;

17 CORBA Arquitetura – ORB Parte Servidor Dynamic Skeleton Interface (DSI): –fornece mecanismos de ligação (binding) em tempo de execução; –para servidores que necessitam manipular requisições de objetos que não possuem stubs nem skeletons compilados; –O DSI do servidor é equivalente ao DII do cliente;

18 CORBA Arquitetura – ORB Parte Servidor Object Adapter: –localiza-se no topo dos serviços de comunicação do ORB; –recebe as requisições dos serviços antes dos objetos do servidor; Provê um ambiente de execução: –para a instanciação dos objetos dos servidores; –para a passagem das requisições;

19 CORBA Arquitetura – ORB Parte Servidor Implementation Repository (IR): –fornece um repositório de informações sobre as classes que um objeto suporta e os objetos que estão instanciados; –Utilizado para armazenar informações adicionais associadas com as implementações de cada ORB, entre elas segurança e dados administrativos;

20 CORBA Serviços CORBA (CORBAservices) Serviço de Nomeação (Naming Service): –Provê capacidade para ligar um nome a um objeto; –Resolver um nome é determinar o objeto associado a um determinado nome;

21 CORBA Serviços CORBA (CORBAservices) Serviço de Evento (Event Service): –Suporta eventos assíncronos (desacoplamento do produtor e consumidor); –Através de implementações apropriadas de canais de eventos oferece uma entrega confiável dos eventos;

22 CORBA Serviços CORBA (CORBAservices) Serviço de Persistência; Serviço de Controle de Concorrência; Serviço de Consulta; Serviço de Segurança; Serviço de Tempo;...

23 CORBA IDL e Mapeamento linguagem independente; OMG IDL é derivada do C++; suporta tipos como: –inteiro com ou sem sinal; –tipos enumerados, estruturas, uniões, seqüências; –exceções;

24 CORBA IDL e Mapeamento interface Printer { void print ( ); }; interface ColorPrinter: Printer { enum ColorMode {BackAndWhite, FullColor}; void set-color (in ColorMode mode); long numero( ); };

25 CORBA IDL e Mapeamento Mapeamento especifica como a IDL pode ser traduzida para outra linguagem; –Em C++ as interfaces IDL são mapeadas para classes e as operações são mapeadas para funções dessas classes; Mapeamentos OMG IDL padronizados: –C, C++, Smalltalk, Cobol, Ada e Java;

26 CORBA Estudo de Caso Boas Vindas ao CORBA; Código da interface: –BoasVindas.idl; Implementação objeto remoto: –Msg_Boas_VindasImpl.java; Servidor: servidor.java; Cliente: cliente.java;

27 CORBA Estudo de Caso Gerar stubs: idlj –fall BoasVindas.idl; –_Msg_Boas_VindasStub.java; –Msg_Boas_Vindas.java; –Msg_Boas_VindasOperations.java; –Msg_Boas_VindasHelper.java; –Msg_Boas_VindasHolder.java; –Msg_Boas_VindasPOA.java;

28 CORBA Estudo de Caso Compilar Servidor: –javac BoasVindas\servidor.java; Compilar Cliente: –javac cliente.java;

29 CORBA Estudo de Caso Executar ORB: –orbd –ORBInitialPort 2000; Executar Servidor: –java BoasVindas.servidor –ORBInitialPort 2000; Executar Cliente: –java cliente –ORBInitialPort 2000 – ORBInitialHost localhost;

30 CORBA Atividade Testar estudo de caso em diferentes computadores; Passar e retornar parâmetro na mensagem; Desenvolver aplicação remota: –Soma; –Subtração; –Nome do servidor;

31 DCOM Introdução Distributed Component Object Model; Extensão do Component Object Model protocol (COM); Microsoft 1996; Aplicações podem ser construídas a partir de objetos COM localizados em diferentes máquinas;

32 DCOM Arquitetura Client Component No mesmo processo Rápido, chamadas de função direta Client Component COM Client Process Server Process Na mesma máquina Rápido, IPC Através de máquinas DCE-RPC baseado no protocolo DCOMCOM DCE RPC Client Server Machine Client Machine COM Component

33 DCOM Arquitetura COM Client Component COM Runtime ServidorCliente TCP, UDP SPX,IPX Net BUI COM Runtime Proxy Other Component

34 DCOM Arquitetura

35 DCOM Arquitetura – Ligação Cliente-Servidor Servidor se registra no registro do Windows; –Cliente procura servidor pelo seu GUID; Passagem de parâmetro em CoCreateInstanceEx; –Não necessita registro no windows; –Cliente acessa direto o servidor;

36 DCOM Estudo de Caso – Delphi – Servidor Criar nova aplicação; Criar objeto COM de nome TestDCOM; –adicionar método sendMsg; –criar parâmetro msg, BSTR, in; –criar parâmetro resp, BSTR*, out; retval; Clicar no refresh para gerar código; –Gerado arquivo TLB; Implementar TTestDCOM.sendMsg;

37 DCOM Estudo de Caso – Delphi – Cliente Criar nova aplicação; Adicionar no cliente: –TLB do servidor; –uses do TLB e de ActiveX; – vTestDCOM: ITestDCOM;

38 DCOM Estudo de Caso – Delphi – Cliente Na criação do form: –CoCreateInstance(CLASS_TestDCOM, nil, CLSCTX_SERVER, IID_ITestDCOM, vTestDCOM); No clique de um botão: –msg:= 'teste'; –vTestDCOM.sendMsg(msg, resp); –Form1.Caption := resp;

39 DCOM Estudo de Caso – Execução Executar o Servidor; Executar o Cliente; Testar Mensagens; Atividade: –Colocar um edit no cliente e enviar as mensagens digitadas;


Carregar ppt "Integrações de Aplicações Empresariais Prof. Paulo Fernando da Silva UNC – Universidade do Contestado Pós-Graduação em Sistemas de Informação Aplicados."

Apresentações semelhantes


Anúncios Google