O Elefante e a Mula

917 visualizações

Publicada em

How to integrate multiple applications using ESB

Publicada em: Negócios

O Elefante e a Mula

  1. 1. O elefante e a mula Taffarel de Lima Oliveira
  2. 2. Agenda ● O que é ESB? ● Características de um ESB ● Por que usar um ESB? ● Mule ESB ● Utilizando a mula para fazer o trabalho pesado ● Considerações finais
  3. 3. Era uma vez...
  4. 4. O que é um ESB? ESB = Enterprise Service Bus Origem do termo surgiu em 2002 pela Gartner. Roy Schulte, descreveu como uma categoria de software na época.
  5. 5. O que é um ESB? "A style of integration architecture that allows communication via a common communication bus that consists of a variety of point-to-point connections between providers and users of services." "An infrastructure that a company uses for integrating services in the application landscape." "An architecture pattern that enables interoperability between heterogeneous environments, using service orientation."
  6. 6. O que é um ESB? “ESB is just one architecture” Ross Mason
  7. 7. O que é um ESB? Enterprise Service Bus
  8. 8. Características de um ESB ● Message Transformation; ● Message Enhancement; ● Protocol Tranformation; ● Service Mapping ● Message Processing ● Process Choreography ● Service Orchestration ● Transaction ● Security ● Routing
  9. 9. Por que usar um ESB? ● Arquitetura bem definida; ● Escalável; ● Facilidade de integrar novas aplicações; ● Confiabilidade; ● Facilidade em migrar os sistemas legados;
  10. 10. Mule ESB
  11. 11. Mule ESB
  12. 12. Mule ESB ● Utilizando XML; ● Usando Mule Studio, arrastando os componentes;
  13. 13. Mule ESB
  14. 14. Mule ESB
  15. 15. Mule ESB <?xml version="1.0" encoding="UTF-8"?> <mule xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="CE-3.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mulehttp.xsd"> <flow name="SimpleExampleFlow1" doc:name="SimpleExampleFlow1"> <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="php/conference" doc:name="HTTP"/> <set-payload value="PHP Conference 2013" doc:name="Set Payload"/> <echo-component doc:name="Echo"/> </flow> </mule>
  16. 16. Mule ESB ● Header da mensagem, que contem os metadados da mensagem; ● Payload da mensagem, que contem a mensagem em si;
  17. 17. Mule ESB Components General Components ● ● Web Service Components Echo REST Flow Reference SOAP Logger ● Script Components Groovy Java JavaScript Python Ruby Script
  18. 18. Mule ESB Inbound and Outbound Endpoints ● Inbound and Outbound Endpoints ● AJAX Inbound Only Endpoints IMAP Enterprise Edition Database (JDBC) Jetty Enterprise Edition FTP Pop3 File Generic Salesforce (Streaming) HTTP Servlet JMS, VM Twitter (Streaming) Quartz SFTP SSL (TLS), TCP, UDP ● Outbound Only Endpoints SMTP
  19. 19. Mule ESB Filters And/Not/Or Custom Exception Expression Filter Ref Idempotent Message Message Message Property Payload Regex Schema Validation Wildcard Filter
  20. 20. Mule ESB Routers ● Flow Controls That Do Not Change the Payload All Choice First Successful Round Robin ● Flow Controls That Modify the Payload Collection Aggregator Collection Splitter Custom Aggregator Message Chunk Aggregator Message Chunk Splitter Resequencer Splitter
  21. 21. Mule ESB Scops Async Cache Composite Source Foreach Message Enricher Poll Sub Flow Until Successful
  22. 22. Mule ESB Error Handling Catch exception strategy Rollback exception strategy Reference exception strategy Choice exception strategy
  23. 23. Utilizando a mula para fazer o trabalho pesado!
  24. 24. Utilizando a mula para fazer o trabalho pesado! ESB
  25. 25. Utilizando a mula para fazer o trabalho pesado!
  26. 26. Utilizando a mula para fazer o trabalho pesado!
  27. 27. Utilizando a mula para fazer o trabalho pesado!
  28. 28. Considerações finais! Arquitetura ESB é uma boa pedida para integrar projetos que: ● Inclua mais do que duas aplicações; ● Permitindo a inclusão de novas aplicações no futuro; ● Baixo custo de manutenção; ● Menos dor de cabeça, na hora em que uma integração para; ● Baixa curva de aprendizado; ● Comunidade ativa e fácil acesso aos core-developers;
  29. 29. Contatos taffarelo3@gmail.com Github.com.br/taffarel https://coderwall.com/taffarel OBRIGADO!!

×