JBoss Fuse Service Works - O Fuse além da integração - PT-BR

546 visualizações

Publicada em

JBoss Fuse Service Works - O Fuse além da integração

Red Hat Day 07/11/2014

1 - Arquitetura de aplicações Java
2 - Soluções de integração
3 - Arquitetura orientada a serviços SOA
5 - Diferença entre JBoss Fuse e JBoss Fuse Service Works

Publicada em: Tecnologia
1 comentário
3 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
546
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
10
Comentários
1
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

JBoss Fuse Service Works - O Fuse além da integração - PT-BR

  1. 1. JBOSS FUSE SERVICE WORKS O Fuse além da integração
  2. 2. Elvis Rocha ● Consultor na Tecnisys há 3 anos ● Instrutor pela Red Hat e Especialista JBoss ● Background em desenvolvimento e arquitetura Java ● 12 anos de experiência na área de TI, 10 anos com java elvis.rocha@tecnisys.com.br @elvisnaomorreu
  3. 3. Tecnisys ● Há 22 anos oferecendo soluções open source ● Red Hat Advanced Business Partner ● Maior parceiro Red Hat na América Latina ● Consultoria especializada em soluções na stack de middleware, plataforma e cloud da Red Hat www.tecnisys.com.br
  4. 4. Tópicos ● Arquitetura de aplicações Java ● Arquitetura orientada a serviços ● Estilos de integração de sistemas ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works
  5. 5. Tópicos ● Arquitetura de aplicações Java ● Arquitetura orientada a serviços ● Estilos de integração de sistemas ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works
  6. 6. Arquitetura Clássica de Aplicações Web Java ● Modelo MVC ● Stack de frameworks JavaEE / Spring + JSF / GWT / Spring ● Arquitetura comprovada e muito utilizada
  7. 7. Arquitetura Clássica de Aplicações Web Java ● Modelo MVC ● Stack de frameworks JavaEE / Spring + JSF / GWT / Spring ● Arquitetura comprovada e muito utilizada ● A camada de apresentação às vezes é separada
  8. 8. Arquitetura de Aplicações Web Java (RIA / Mobile) ● Modelo MVC ● Stack de frameworks JavaEE / Spring JSF / GWT / Spring MVC ● Frameworks Javascript ● JSON é o modelo de dados preferido do lado client ● Arquitetura comprovada e muito utilizada
  9. 9. WebServices - SOAP vs REST ● SOAP é conhecido por ser mais pesado e complexo ● Contrato formal entre linguagens para definir o formato das mensagens ● Suporta XML e binário ● Preferido para SOA ● REST é conhecido por ser leve e fácil de implementar ● Não tem um contrato formal para definir o formato das mensagens ● Múltiplos tipos de dados (JSON, XML, texto, binário) ● Preferido em aplicações modernas e mobile
  10. 10. XML vs JSON ● XML é o formato nativo de transferência de dados entre diferentes aplicações ● Estrutura formal ● Validação de conteúdo ● O formato só muda se todos os participantes concordarem ● Suporta os tipos de dados texto e binário ● JSON é o formato “nativo” para aplicações modernas e aplicações mobile ● Não tem estrutura formal ● O conteúdo não pode ser validado ● Muda de formato facilmente ● Somente texto
  11. 11. Tópicos ● Arquitetura de aplicações Java ● Arquitetura orientada a serviços ● Estilos de integração de sistemas ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works
  12. 12. Princípios da Orientação a Serviços – SOA
  13. 13. Você tem ou precisa de SOA? ● Eu preciso fazer um sistema conversar com outro. Eu preciso de SOA? ● Eu preciso expor uma API pública. Eu preciso de SOA? ● Eu estou usando um ESB e tenho todos os serviços publicados nele. Significa que eu tenho SOA? ● Eu tenho vários WebServices na empresa. Então eu tenho SOA?
  14. 14. Do que você precisa: De uma solução de Integração ou de SOA? ● Você quer levar uma informação de um sistema A para um sistema B? ● Você tem situações problemáticas de integração e precisa de uma solução? ● Você precisa desenvolver componentes para se comunicar com suites já existentes tais como SAP, SalesForce, OpenShift, AWS e Gmail?
  15. 15. SOA passa por integração, mas não é somente isso ● SOA é uma solução de negócio e não de tecnologia ● Desenvolver a aplicação pensando em expor serviços como um contrato (Arquitetura de serviços) ● Gerenciar dentro de sua empresa o inventário desses serviços ● Composição dos serviços para entregar o resultado esperado ● Organizar o ecossistema desses serviços compostos para atender a uma regra de negócio (Governança)
  16. 16. Arquitetura orientada a serviços ● Os serviços: 1. Devem trabalhar com baixíssimo acoplamento 2. Devem funcionar de forma autônoma e independente 3. Devem ser reutilizáveis, mas não por somente um sistema e sim por vários 4. Devem possuir um bom nível de abstração de forma a minimizar o acesso aos detalhes de funcionamento do sistema 5. Devem ser autossuficientes e suportar composição (serem combinados com outros serviços) 6. Devem ser stateless, somente a composição pode ser stateful
  17. 17. Tópicos ● Arquitetura de aplicações Java ● Arquitetura orientada a serviços ● Estilos de integração de sistemas ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works
  18. 18. Integração de dados com processamento em lote (batch) ● Integração Ad hoc (para resolver um problema específico no momento) ● Exige uma verificação prévia (cuidadosa) dos dados ● Não existe uma responsabilidade definida (mestre - escravo) ● Difícil de manter e monitorar ● Delay
  19. 19. Arquitetura de Integração de dados em lote (batch) ● Orientado ao transporte eficiente de uma quantidade grande de dados ● A maioria das soluções requer um middleware específico (Database-vendor solutions) ● ETL
  20. 20. Arquitetura de Integração de dados em tempo real ● Integração ponto a ponto ● Alto acoplamento entre aplicações e componentes ● Difícil de manter ● Difícil de versionar ● Spaguetti ● Ad hoc ● Não é SOA
  21. 21. Arquitetura orientada a serviços em tempo real
  22. 22. Arquitetura orientada a serviços em tempo real ● Adição do ESB - JBoss Fuse ● Adapters (+ conectividade) ● Protocol Mapping (+ interoperabilidade) ● Transformation / Filter / Routing / Enrichment / Monitoring ● Message-oriented ● Service-oriented
  23. 23. Arquitetura de integração, desenvolvimento e governança orientada a serviços em tempo real
  24. 24. Arquitetura de integração, desenvolvimento e governança orientada a serviços em tempo real ● JBoss Fuse Service Works ● Adapters + Protocol Mapping + Messaging ● Transformation / Filter / Routing / Enrichment / Monitoring ● Business Rules ● BPM + Service Orchestration ● Governança ● Service Delivery Lifecycle Management ● Business Transaction Monitoring
  25. 25. Tópicos ● Arquitetura de aplicações Java ● Arquitetura orientada a serviços ● Estilos de integração de sistemas ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works
  26. 26. Red Hat JBoss Fuse ● Core ESB + Apache Camel + Apache CXF ● Container OSGI Apache Karaf ● Fuse Fabric ● ActiveMQ
  27. 27. Arquitetura do JBoss Fuse ● Core ESB + Apache Camel + Apache CXF ● Container OSGI Apache Karaf ● Fuse Fabric ● ActiveMQ
  28. 28. Fuse Core ESB ● É um framework de integração pois auxilia provendo a infraestrutura básica para implementar rotas, gateways e outras facilidades para a integração ● Não implementa uma arquitetura SOA, mas fornece as características básicas para que possa ser implementado ● O ESB remove o acoplamento entre o serviço chamado e o meio de transporte
  29. 29. Apache Camel ● Framework de integração (EAI Patterns) ● Suporta in-memory BUS (Alternativa ao JBI) ● Suporta mensagens síncronas e assíncronas ● Tratamento de erros/exceções e suporte a debug ● Implementa mais de 50 patterns ● Possui mais de 120 componentes
  30. 30. Apache Karaf + Fuse Fabric ● Container Karaf OSGI: ● Plataforma OSGI-based com suporte a gerência de configuração, provisionamento e hot deploy ● Fuse Fabric: ● Baseado no Apache Zookeper ● Possui containers que podem ter um ou mais profiles ● Ensemble: Grupo de containers ● Micro Containers: java, docker, openshift, kubernetes
  31. 31. Apache Active MQ ● Message Broker de alta performance e full JMS client ● Transacional ● Suporta clientes JMS, C, C++, .Net e Stomp
  32. 32. Tópicos ● Arquitetura de aplicações Java ● Arquitetura orientada a serviços ● Estilos de integração de sistemas ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works
  33. 33. Red Hat JBoss Fuse Service Works ● Core ESB + Apache Camel + Apache CXF ● JBoss EAP 6 ● Overlord (DTGov e RTGov) – Runtime Governance ● Riftsaw (Service Orchestration) ● Switchyard (SCA) ● Drools (BRMS) ● JBPM (BPM Suite) ● S-RAMP ● Smooks
  34. 34. Arquitetura do JBoss Fuse Service Works ● Core ESB + Apache Camel + Apache CXF ● JBoss EAP 6 ● Overlord (DTGov e RTGov) – Runtime Governance ● Riftsaw (Service Orchestration) ● Switchyard (SCA) ● Drools (BRMS) ● JBPM (BPM Suite) ● S-RAMP ● Smooks
  35. 35. JBoss EAP 6 ● Full Java EE 6 Certified ● Permite a você criar cenários de integração aproveitando a arquitetura modular do JBoss baseada em módulos java e não bundles OSGI ● Permite trabalhar com componentes JavaEE como componentes EJB, fazer uso da injeção com CDI e utilizar o cluster do JBoss EAP
  36. 36. Overlord ● Design-Time Governance (DTGov) – Workflow ● Management Deployment (Push artifacts) ● Project Lifecycle Management
  37. 37. Overlord ● Runtime Time Governance (RTGov) ● Project Lifecycle Management
  38. 38. S-RAMP ● SOA Repository Artifact Model and Protocol ● Protocol: S-RAMP 1.0 ● JCR: ModeShape e Infinispan ● Maven: ... <repository> <id>local-sramp-repo</id> <name>S-RAMP Releases Repository</name> <url>sramp://localhost:8080/s-ramp-server/</url> </repository> ...
  39. 39. Switchyard ● Implementa SCA ● Coarse-grained services ● Você cria bindings para os componentes (Reference) ● Componentes: Bean CDI Processo BPM Processo BPEL Camel Route Drools Rule KIE (Drools/BPM)
  40. 40. BRMS ● Business Rule Management System ● Separa regras de negócio da aplicação ● Coleta os dados (facts) e combina com as informações (rules) e tira as conclusões (inferencing) ● Benefícios: Facilidade de mudança Menos erros Mais visibilidade das regras ● CEP
  41. 41. BPM Suite ● Definição, execução e gerenciamento de Processos ● BPMN 2.0 ● Forms Designer ● Business Central ● Decision Tables ● OptaPlanner
  42. 42. Cloud?
  43. 43. JBoss Fuse ou JBoss Fuse Service Works?
  44. 44. Dúvidas?

×