1 / 41

Integrações de Aplicações Empresariais

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. Organização. Módulo 1: Integração de Aplicações; Troca de Mensagens (Client-Server); Módulo 2: RPC RMI; Módulo 3: Corba

Download Presentation

Integrações de Aplicações Empresariais

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 1 - Sumário • Integração de Aplicações; • Introdução; • Arquiteturas; • Middleware; • Troca de Mensagens; • Arquitetura Client-Server • JMS – Java Message Server; • Estudo de Caso; • Atividade;

  5. Integração de AplicaçõesIntrodução • Integrar: • Sistemas Legados; • Sistemas Distribuídos; • Comércio Eletrônico; • Cliente / Fornecedor; • etc...

  6. Integração de AplicaçõesIntrodução - Desafios • Heterogeneidade; • Abertura; • Segurança; • Escalabilidade; • Tolerância a Falhas; • Concorrência; • Transparência;

  7. Integração de AplicaçõesTransparência

  8. Integração de AplicaçõesArquiteturas – Cliente / Servidor

  9. Integração de AplicaçõesArquiteturas – Cliente / Vários Servidores

  10. Integração de AplicaçõesArquiteturas – Servidor Proxy

  11. Integração de AplicaçõesArquiteturas – Peer-to-Peer

  12. Integração de AplicaçõesArquiteturas – Código Móvel

  13. Integração de AplicaçõesArquiteturas – Agente Móvel • É um programa que viaja de um computador para outros; • Inclui código e dados; • Geralmente realiza coleta de informações; • Realiza acesso a recursos locais no servidor em que executa;

  14. Integração de AplicaçõesExemplos – Intra-Rede

  15. intranet ISP backbone satellite link desktop computer: % % % % server: network link: Integração de AplicaçõesExemplos – Inter-Rede

  16. Integração de AplicaçõesMiddleware

  17. agreed port any port socket socket message client server other ports Internet address = 138.37.94.248 Internet address = 138.37.88.249 Troca de MensagensComunicação Sockets

  18. Troca de MensagensArquitetura Client-Server Client Server Request doOperation getRequest message select object execute (wait) method Reply sendReply message (continuation)

  19. Troca de MensagensArquitetura Client-Server • public byte[] doOperation (RemoteObjectRef o, int methodId, byte[] arguments) • sends a request message to the remote object and returns the reply. • The arguments specify the remote object, the method to be invoked and the arguments of that method. • public byte[] getRequest (); • acquires a client request via the server port. • public void sendReply (byte[] reply, InetAddress clientHost, int clientPort); • sends the reply message reply to the client at its Internet address and port.

  20. N a m e M es sag es s e nt b y C li e nt S e r ve r C li e nt R R e qu es t R R R e pl y R e qu es t R R A R e pl y A ck no w ledg e re ply R e qu es t Troca de MensagensArquitetura Client-Server

  21. Troca de MensagensVisão do JNDI usado pelo JMS • JNDI: Java Naming and Directory Interface; • É uma interface para registro e localização de nomes e diretórios; • É necessário existir um provedor JNDI que implemente a interface;

  22. Troca de MensagensVisão do JNDI usado pelo JMS

  23. Troca de MensagensVisão do JNDI usado pelo JMS • Nomes estão em um contexto; • Aplicação precisa obter o contexto JNDI inicial; • É necessário informar: • Initial Context Factory; • Provider URL

  24. Troca de MensagensVisão do JNDI usado pelo JMS • Pesquisa no Contexto: • queue = (Queue) ic.lookup(queueName);

  25. Troca de MensagensJMS – Java Message Server • É uma API para troca de mensagens entre processos; • JMS não implementa a troca de mensagens; • JMS é apenas uma interface; • É necessário um “provedor” para implementar a interface JMS;

  26. Troca de MensagensJMS – Java Message Server: Arquitetura • Provedor: implementa a interface JMS; • Cliente JMS: envia ou recebe mensagem; • Domínio de troca: ponto-a-ponto ou publicação-assinatura; • Mensagem: objetos trocados na comunicação;

  27. Troca de MensagensJMS – Java Message Server: Arquitetura • Filas: recebem mensagens ponto-a-ponto; • Tópicos: recebem as mensagens publicação-assinatura; • Objetos administrados: usados para criar a conexão: • Fábricas e Destinos; • Conexão e Sessão;

  28. Troca de MensagensJMS – Java Message Server

  29. Troca de MensagensJMS – Java Message Server: Conexão • Cliente obtém acesso ao JMS Provider através do JNDI; • Ferramenta administrativa cria ConnectionFactory e Destination; • Cliente pesquisa no JNDI; • Cliente acessa JMS Provider;

  30. Troca de MensagensJMS – Java Message Server: Conexão

  31. Troca de MensagensJMS – Java Message Server: Tipos de Troca • Ponto-a-Ponto: • Trabalha com filas; • Mensagem de um para um; • Publicação-Assinatura: • Trabalho com tópicos; • Mensagem de um para muitos;

  32. Troca de MensagensJMS – Point-to-Point

  33. Troca de MensagensJMS – Publishes / Subscribes

  34. Troca de MensagensJMS – Java Message Server: API • Ver JavaDoc

  35. Troca de MensagensEstudo de Caso - Ambiente • J2SE 1.4: • Verificar instalação e configuração; • Variável JAVA_HOME e bin no path; • J2EE 1.3: • Verificar instalação e configuração; • Variável J2EE_HOME, bin no path e lib\j2ee.jar no classpath • Implementação de Referência será o provedor JNDI e JMS;

  36. Troca de MensagensEstudo de Caso - Queue • Código Fonte: • SimpleQueueSender/SimpleQueueReceiver; • Compilar Sender / Receiver; • Iniciar Provedor JNDI e JMS; • start j2ee –verbose; • Executar servidor / cliente: • java <fonte> jms/Queue;

  37. Troca de MensagensEstudo de Caso - Queue • Executar na mesma janela: • Java SimpleQueueSender jms/Queue 5; • Java SimpleQueueReceiver jms/Queue; • Testar em diferentes máquinas; • Criar uma nova fila: • j2eeAdmin –addJmsDestionation jms/MyQueue Queue; • Fazer testes com nova fila;

  38. Troca de MensagensAtividade - Queue • Criar duas filas: • Cliente para Servidor; • Servidor para Cliente; • Cliente envia uma requisição para servidor por uma fila; • Servidor responde para cliente pela outra fila; • Mensagens são exibidas no cliente e no servidor;

  39. Troca de MensagensEstudo de Caso - Topic • Código Fonte: • SimpleTopicSubscriber / TextListener; • SimpleTopicPublisher; • Compilar Subscriber / Publisher; • Iniciar Provedor JNDI e JMS; • start j2ee –verbose; • Executar Subscriber / Publisher: • java <fonte> jms/Topic;

  40. Troca de MensagensEstudo de Caso - Topic • Testar em diferentes máquinas; • Criar um novo tópico: • j2eeAdmin –addJmsDestionation jms/MyTopic Topic; • Listar recursos; • Remover recursos; • Fazer testes com novo Tópico;

  41. Troca de MensagensAtividade - Topic • Criar dois tópicos: • Cliente para Servidor; • Servidor para Cliente; • Cliente envia uma requisição para servidor por um tópico; • Servidor responde para cliente pelo outro tópico; • Mensagens são exibidas no cliente e no servidor;

More Related