- JBoss Fuse is Red Hat's integration platform that provides an ESB and integration capabilities using Apache Camel and CXF.
- JBoss Fuse Service Works builds upon JBoss Fuse and adds additional capabilities for service delivery including runtime governance, service orchestration, business rules management, and a BPM suite.
- Key additional components in Service Works include Overlord for design-time and runtime governance, Riftsaw for service orchestration, Drools for business rules, and jBPM for business process management.
2. 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
elvis.rocha@gmail.com
@elvisnaomorreu
3. 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 such
as middleware, development and infrastructure
www.tecnisys.com.br
4. ● Java applications architecture
● Service Oriented Architecture
● Systems integration styles
● Red Hat JBoss Fuse
● Red Hat JBoss Fuse Service Works
Topics
5. ● Java applications architecture
● Service Oriented Architecture
● Systems integration styles
● Red Hat JBoss Fuse
● Red Hat JBoss Fuse Service Works
6. Classic java web applications architecture
● MVC Model
● Frameworks stack
JavaEE / Spring
+ JSF / GWT / Spring
● Most used technologies
● Proven architecture
7. Classic java web applications architecture
● MVC Model
● Frameworks stack
JavaEE / Spring
+ JSF / GWT / Spring
● Most used technologies
● Proven architecture
● Sometimes it has a
presentation layer
8. RIA / Mobile java web applications architecture
● MVC Model
● Frameworks stack
JavaEE / Spring
JSF / GWT / Spring MVC
● Javascript Frameworks
● JSON data model is preferred
● Most used technologies
● Proven architecture
9. WebServices - SOAP vs REST
● SOAP is known for the
complexity and additional
overhead
● Requires a formal contract
between systems to define
the message format
● Supports XML and binary
data
● The preferred choice for
SOA
● REST is known for be easy
to use and lightweight
● Doesn't requires a formal
contract to define the
message format
● Supports multiple data types
such as JSON, XML, text
and binary
● The preferred choice for
mobile and modern
applications
10. XML vs JSON
● XML is the native message
exchange format between
systems
● Formal structure
● Content validation
● The format is changed only
when all participants agreed
● Supports text and binary
data
● JSON is the “native” format
for mobile and modern
applications
● No formal structure
● No content validation
● The format can be easily
changed
● Text only (javascript format)
11. ● Java applications architecture
● Service Oriented Architecture
● Systems integration styles
● Red Hat JBoss Fuse
● Red Hat JBoss Fuse Service Works
13. 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 services
published in it.
Does it means that I have SOA?
● I have a lot of published web services in my
company.
Does it means that I have SOA?
14. What do you need:
An integration solution or SOA?
● Do you want to send an information from system A
to system B?
● Do you have complex integration issues and need
a solution?
● Do you need components to integrate with existing
services such as SAP, Salesforce, AWS and
Google App?
15. 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 with
contracts among them. (service oriented)
● Manage your company service inventory.
● Compose services to get the expected results
● Orchestrate the composed services. Manage the services
ecosystem to reach business goals.
(Governance)
16. 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
17. ● Java applications architecture
● Service Oriented Architecture
● System integration styles
● Red Hat JBoss Fuse
● Red Hat JBoss Fuse Service Works
18. Batch processing data integration
● Ad hoc integration
● Requires a careful
verification of the data
● There's no defined
responsibility in none of the
sides
● Hard to monitor and maintain
● Delay
19. Batch data integration solution
● Made for transportation of
huge amounts of data
● Most of the solutions
requires a specific
middleware
(Database-vendor solutions)
● ETL
20. Real time integration architecture
● Peer to peer
● Tightly coupled
● Hard to maintain
● No version control
● Spaguetti
● Ad hoc
● Is not SOA
22. 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
23. Real time service oriented architecture with development,
integration and governance support
24. 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 Transaction
Monitoring
25. ● Java applications architecture
● Service Oriented Architecture
● Systems integration styles
● Red Hat JBoss Fuse
● Red Hat JBoss Fuse Service Works
28. Fuse Core ESB
● An integration framework that provides basic
infrastructure and promotes easy implementation of
routes, gateways and other integration scenarios
● Does not implements SOA but provides the standard
features to be able to implement it
● The ESB remove the coupling of a service and its
transport layer
29. 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
30. 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
31. Apache Active MQ
● High-performance message and full JMS client
● Transactional
● Supports some clients such as JMS, C, C++, .Net and
Stomp
32. ● Java applications architecture
● Service Oriented Architecture
● Systems integration styles
● Red Hat JBoss Fuse
● Red Hat JBoss Fuse Service Works
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
35. JBoss EAP 6
● Full Java EE 6 Certified
● Allows you to create integration scenarios based on
JBoss modular architecture, not based on OSGI
bundles architecture.
● Allows you to create components Java EE for
integration scenarios such as EJB, use dependency
injection with CDI and create a JBoss cluster
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. Switchyard
● Implements SCA
● Coarse-grained services
● Handmade binding components (Reference)
● Components:
CDI Bean
BPM process
BPEL process
Camel route
Drools rule
KIE (Drools/BPM)
40. BRMS
● Business Rule Management System
● Business rules and decision logic out of the
applications
● Data collector (facts), binding (rules) and the outcome
(inferencing)
● Beneficts:
Easy to change
Less error-prone
More rules visibility
● Complex event
processing (CEP)
41. BPM Suite
● Process definition, execution and management
● BPMN 2.0
● Forms Designer
● Business Central
● Decision Tables
● OptaPlanner