Universidade Federal de Santa Catarina. Sistemas de Informação INE5638 - Introdução a Projetos Professor Renato Cislaghi Integração de Sistemas com Enterprise Service Bus Gabriel Nunes Menezes - 05138191 Pedro Castello Branco Galoppini - 05138400 Orientador: Prof. Frank Siqueira Florianópolis, julho de 2008. Sumário 1 Objetivos ......................................................................................................................................... 3 1.1 TEMA ........................................................................................................................................... 3 1.2 DELIMITAÇÃO DO ESCOPO ............................................................................................... 3 1.3 OBJETIVO GERAL ................................................................................................................... 3 1.4 OBJETIVOS ESPECÍFICOS ...................................................................................................... 3 1.5 Motivações ................................................................................................................................... 3 2 Objeto .............................................................................................................................................. 4 2.1 TÉCNICAS E FERRAMENTAS ............................................................................................. 4 3 Cronograma ..................................................................................................................................... 5 1 Objetivos 1.1 TEMA O projeto de conclusão de curso proposto tem como tema principal a integração de sistemas utilizando uma arquitetura de Enterprise Service Bus, a qual fornecerá um ponto único para integração entre diversos sistemas e serviços, tornando transparente para o desenvolvedor destes sistemas quais os protocolos utilizados nos sistemas que desejam se comunicar. 1.2 DELIMITAÇÃO DO ESCOPO Serão abordadas os problemas encontrados nas abordagens para a integração entre sistemas utilizadas atualmente, e será desenvolvido um sistema que propõe realizar esta integração utilizando um Enterprise Service Bus. 1.3 OBJETIVO GERAL Construir um suporte para integração de sistemas utilizando Enterprise Service Bus (ESB), que permita a interação de sistemas legados com provedores de serviços construídos com base em uma arquitetura orientada a serviços (SOA), provendo mecanismos para transformação de dados, conectividade e tratamento de erros. 1.4 OBJETIVOS ESPECÍFICOS Estudar a arquitetura de Enterprise Service Bus(ESB) Estudar a arquitetura de WebServices Estudar a arquitetura de comunicação via Sockets Estudar outras abordagens para a integração de sistemas Construir uma camada de integração de sistemas utilizando um ESB 1.5 Motivações Atualmente grandes organizações possuem vários sistemas que dão suporte aos seus processos de negócios, muitas vezes faz-se nescessária a integração deles, ou até mesmo com sistemas de terceiros, e um dos grandes problemas nesse assunto é a diferença entre o formato dos dados que serão utilizados nesta comunicação. Tendo isto em vista, foi decidido abordar neste trabalho uma arquitetura que solucione as dificuldades citadas e forneça um ponto único de integração entre sistemas. 2 Objeto 2.1 TÉCNICAS E FERRAMENTAS Algumas técnologias e ferramentas que serão utilizadas na elaboração deste trabalho: Java: Os sistemas e exemplos criados neste trabalho utilizarão Java como linguagem de programação. Java é uma linguagem de programação orientada a objeto desenvolvida na década de noventa por James Gosling, na SUN Microsystems. Java tem sintaxe similar às linguagens C e C++. Ela é compilada em bytecodes, que podem ser executados por uma máquina virtual ou por hardware específico (Deitel; Deitel, 2004). Sockets: Sockets são canais de comunicação capazes de estabelecer uma ligação bidirecional entre aplicações rodando em uma determinada rede. Classes sockets são utilizadas para representar uma conexão entre programas clientes e programas servidores. O Java possui o pacote java.net que provê duas classes: Socket e SocketServer, que implementa o lado cliente da conexão e o lado servidor, respectivamente. (http://java.sun.com/docs/books/tutorial/networking/sockets/, 2008) WebServices São serviços de sistemas localizados em algum lugar da internet, acessivel através de uma interface padrão e utilizam protocolos de Internet para a troca de dados, como HTTP ou SMTP. Enterprise Service Bus Enterprise Service Bus(ESB) é um sistema de middleware distribuído utilizado para a integração de sistema utilizando uma arquitetura orientada a serviços(http://www.infoq.com/news/2007/09/what-does-the-term-esb-mean,2008). Um ESB implementa muitas alternativas para a trocad e informações, como Sockets, WebServices, Email entre outros, permitindo aos desenvolvedores se focarem apenas nas regras de negócio que devem implementar, abstraindo os detalhes para a comunicação. 3 Cronograma Atividade Entrega da Proposta Levantamento bibliográfico e aquisição de material para elaboração do TCC sobre ESB Planejamento de estrutura do projeto, definição de requisitos e introdução do trabalho. Desenvolvimento do projeto (parte prática) Duração 3 dias Início 4/7/2008 Fim 7/7/2008 31 dias 11/7/2008 4/8/2008 28 dias 4/8/2008 1/9/2008 2 meses 1/9/2008 1/11/2008 Desenvolvimento de capítulo Lições Aprendidas Aplicação de testes, correção de bugs e possíveis evoluções no projeto prático. Elaboração das conclusões do trabalho Elaboração de artigo com todo o conteúdo desenvolvido Revisões no trabalho desenvolvido e preparação de apresentação. 1 mês 1/11/2008 1/12/2008 2 meses 1/12/2008 1/2/2009 20 dias 1/2/2009 21/2/2009 1 mês 21/2/2009 21/3/2009 14 dias 21/3/2009 4/4/2009