45
JBOSS FUSE SERVICE WORKS O Fuse além da integração

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

JBOSS FUSE SERVICE WORKS

O Fuse além da integração

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

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

[email protected]

@elvisnaomorreu

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

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

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

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

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

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

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

Arquitetura Clássica de Aplicações Web Java

● Modelo MVC

● Stack de frameworks JavaEE / Spring

+ JSF / GWT / Spring

● Arquitetura comprovada e muito utilizada

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

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

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

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

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

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

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

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

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

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

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

Princípios da Orientação a Serviços – SOA

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

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?

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

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?

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

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)

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

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

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

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

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

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

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

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

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

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

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

Arquitetura orientada a serviços em tempo real

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

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

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

Arquitetura de integração, desenvolvimento e governança orientada a serviços em tempo real

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

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

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

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

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

Red Hat JBoss Fuse

● Core ESB + Apache Camel + Apache CXF

● Container OSGI Apache Karaf

● Fuse Fabric

● ActiveMQ

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

Arquitetura do JBoss Fuse

● Core ESB + Apache Camel + Apache CXF

● Container OSGI Apache Karaf

● Fuse Fabric

● ActiveMQ

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

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

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

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

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

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

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

Apache Active MQ

● Message Broker de alta performance e full JMS client

● Transacional

● Suporta clientes JMS, C, C++, .Net e Stomp

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

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

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

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

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

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

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

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

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

Overlord

● Design-Time Governance (DTGov) – Workflow

● Management Deployment (Push artifacts)

● Project Lifecycle Management

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

Overlord

● Runtime Time Governance (RTGov)

● Project Lifecycle Management

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

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>

...

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

Switchyard

● Implementa SCA

● Coarse-grained services

● Você cria bindings para os componentes (Reference)

● Componentes: Bean CDI Processo BPM Processo BPELCamel RouteDrools RuleKIE (Drools/BPM)

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

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çaMenos errosMais visibilidade das regras

● CEP

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

BPM Suite

● Definição, execução e gerenciamento de Processos

● BPMN 2.0

● Forms Designer

● Business Central

● Decision Tables

● OptaPlanner

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

Cloud?

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

JBoss Fuse ou JBoss Fuse Service Works?

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

Dúvidas?

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