jboss fuse service works
TRANSCRIPT
JBOSS FUSE SERVICE WORKS
The Fuse beyond integraton
Elvis Rocha
● JBoss specialist and Java consultant
● Middleware consultant and Red Hat Middleware Instructor
● Java development and architecture background
● 12 years experience in IT field
@elvisnaomorreu
Tecnisys
● 22 years of expertise and open-source solutions
● Red Hat Advanced Business Partner
● Biggest LATAM Red Hat Partner
● Specialized consulting in open-source solutions in areas suchas middleware, development and infrastructure
www.tecnisys.com.br
● Java applications architecture● Service Oriented Architecture● Systems integration styles● Red Hat JBoss Fuse● Red Hat JBoss Fuse Service Works
Topics
● Java applications architecture● Service Oriented Architecture● Systems integration styles● Red Hat JBoss Fuse● Red Hat JBoss Fuse Service Works
Classic java web applications architecture
● MVC Model
● Frameworks stack JavaEE / Spring
+ JSF / GWT / Spring
● Most used technologies
● Proven architecture
Classic java web applications architecture
● MVC Model
● Frameworks stack JavaEE / Spring
+ JSF / GWT / Spring
● Most used technologies
● Proven architecture
● Sometimes it has apresentation layer
RIA / Mobile java web applications architecture
● MVC Model
● Frameworks stackJavaEE / Spring
JSF / GWT / Spring MVC
● Javascript Frameworks
● JSON data model is preferred
● Most used technologies
● Proven architecture
WebServices - SOAP vs REST
● SOAP is known for thecomplexity and additionaloverhead
● Requires a formal contractbetween systems to definethe message format
● Supports XML and binarydata
● The preferred choice forSOA
● REST is known for be easyto use and lightweight
● Doesn't requires a formalcontract to define themessage format
● Supports multiple data typessuch as JSON, XML, textand binary
● The preferred choice formobile and modernapplications
XML vs JSON
● XML is the native messageexchange format betweensystems
● Formal structure
● Content validation
● The format is changed onlywhen all participants agreed
● Supports text and binarydata
● JSON is the “native” formatfor mobile and modernapplications
● No formal structure
● No content validation
● The format can be easilychanged
● Text only (javascript format)
● Java applications architecture● Service Oriented Architecture● Systems integration styles● Red Hat JBoss Fuse● Red Hat JBoss Fuse Service Works
Service Oriented Architecture Principles – SOA
Do you have or need SOA?
● I need my systems to talk to each other. I need SOA?
● I need expose a public API. I need SOA?
● I'm using an ESB and I have all my servicespublished in it.Does it means that I have SOA?
● I have a lot of published web services in mycompany.Does it means that I have SOA?
What do you need:An integration solution or SOA?
● Do you want to send an information from system Ato system B?
● Do you have complex integration issues and needa solution?
● Do you need components to integrate with existingservices such as SAP, Salesforce, AWS andGoogle App?
SOA is about integration but far beyond it
● SOA is a solution for your business. Not for your technology
● Build an application and separate it in parts like services withcontracts among them. (service oriented)
● Manage your company service inventory.
● Compose services to get the expected results
● Orchestrate the composed services. Manage the servicesecosystem to reach business goals.(Governance)
Service Oriented Architecture
● The services have to:
1. Be loosely coupled
2. Be autonomous and independent
3. Be reutilizable
4. Have a good level of abstraction to hide the details of the implementation
5. Be auto-sufficient. Service composition must be supported
6. Be stateless. Only composed services have to be stateful
● Java applications architecture● Service Oriented Architecture● System integration styles● Red Hat JBoss Fuse● Red Hat JBoss Fuse Service Works
Batch processing data integration
● Ad hoc integration
● Requires a carefulverification of the data
● There's no definedresponsibility in none of thesides
● Hard to monitor and maintain
● Delay
Batch data integration solution
● Made for transportation ofhuge amounts of data
● Most of the solutionsrequires a specificmiddleware(Database-vendor solutions)
● ETL
Real time integration architecture
● Peer to peer
● Tightly coupled
● Hard to maintain
● No version control
● Spaguetti
● Ad hoc
● Is not SOA
Real time service oriented arquitecture
Real time service oriented architecture
● Addition of an ESB - JBoss Fuse
● Adapters (+ connectivity)
● Protocol Mapping (+ interoperability)
● Transformation / Filter / Routing / Enrichment / Monitoring / Versioning
● Message-oriented
● Service-oriented
Real time service oriented architecture with development,integration and governance support
Real time service oriented architecture with development,integration and governance support
● JBoss Fuse Service Works
● Adapters + Protocol Mapping + Messaging
● Transformation / Filter / Routing / Enrichment / Monitoring / Versioning
● Business Rules
● BPM + Service Orchestration
● Governance
● Service Delivery Lifecycle Management
● Business TransactionMonitoring
● 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
Red Hat JBoss Fuse
● Core ESB + Apache Camel + Apache CXF
● Container OSGI Apache Karaf
● Fuse Fabric
● ActiveMQ
JBoss Fuse architecture
● Core ESB + Apache Camel + Apache CXF
● Container OSGI Apache Karaf
● Fuse Fabric
● ActiveMQ
Fuse Core ESB
● An integration framework that provides basicinfrastructure and promotes easy implementation ofroutes, gateways and other integration scenarios
● Does not implements SOA but provides the standardfeatures to be able to implement it
● The ESB remove the coupling of a service and itstransport layer
Apache Camel
● Integration Framework (EAI Patterns)
● In-memory BUS support (alternative to JBI)
● Synchronous and asynchronous message support
● Debug and error catching/handling support
● Implements more than 50 patterns
● More than 120 components
Apache Karaf + Fuse Fabric
● Container Karaf OSGI:
● OSGI-based platform with management, configuration,provision and hot-deploy support
● Fuse Fabric:
● Apache Zookeper based
● Containers with more than one profile
● Ensemble: Group of containers
● Micro Containers: java, docker, openshift, kubernetes
Apache Active MQ
● High-performance message and full JMS client
● Transactional
● Supports some clients such as JMS, C, C++, .Net andStomp
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
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
JBoss Fuse Service Works Architecture
● 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
JBoss EAP 6
● Full Java EE 6 Certified
● Allows you to create integration scenarios based onJBoss modular architecture, not based on OSGIbundles architecture.
● Allows you to create components Java EE forintegration scenarios such as EJB, use dependencyinjection with CDI and create a JBoss cluster
Overlord
● Design-Time Governance (DTGov) – Workflow
● Management Deployment (Push artifacts)
● Project Lifecycle Management
Overlord
● Runtime Time Governance (RTGov)
● Project Lifecycle Management
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>
...
Switchyard
● Implements SCA
● Coarse-grained services
● Handmade binding components (Reference)
● Components:CDI Bean BPM processBPEL processCamel routeDrools ruleKIE (Drools/BPM)
BRMS
● Business Rule Management System
● Business rules and decision logic out of theapplications
● Data collector (facts), binding (rules) and the outcome(inferencing)
● Beneficts:Easy to changeLess error-proneMore rules visibility
● Complex eventprocessing (CEP)
BPM Suite
● Process definition, execution and management
● BPMN 2.0
● Forms Designer
● Business Central
● Decision Tables
● OptaPlanner
Cloud?
JBoss Fuse ou JBoss Fuse Service Works?