solving integration problems with jboss fuse - red hat · solving integration problems with jboss...
TRANSCRIPT
![Page 1: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/1.jpg)
Solving Integration ProblemsWith JBoss Fuse
LEARN. NETWORK. EXPERIENCE OPEN SOURCE
redhat.com/summit
Scott England Sullivan - Principle Integration ArchitectPeter Blinstrubas - Middleware Solutions Architect
![Page 2: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/2.jpg)
Agenda
● Customer’s Problem● Fuse In 0 to 60 MPH ● Architecture ● Steps to Multitenacy● What’s Next?● Conclusion
![Page 3: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/3.jpg)
Customer Quote
“Camel is the right way to do integration!”
![Page 4: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/4.jpg)
The Story
● Healthcare Company
– Modernize SOA – Gain Agility– Reduce Cost– Monolith to
Multitenancy
![Page 5: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/5.jpg)
Customer’s Problem
![Page 6: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/6.jpg)
Problem
Migrate from a COTS product while maintaining operational parity and the capability to evolve into multitenancy.
![Page 7: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/7.jpg)
Fuse in 0 to 60 MPH
![Page 8: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/8.jpg)
JBoss Fuse ArchitectureJBoss Fuse Architecture
Container
Asynchronous Messaging
Integration FrameworkWeb Services Framework
Apache CXF
Apache Active-MQ
Container Management Clustering & Deployment
Apache Camel
Apache karaf
Fabric8
Management &
Monitoring
Development&
Tooling
JBoss Developer
Studio
JBoss Operations
Network
FuseManagement
Console
Fuse Cartridge A-MQ Cartridge
![Page 9: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/9.jpg)
Middleware Integration
● Small-footprint messaging system
● Built for interoperability:
● persistence, clustering, failover, security,etc
JBOSS A-MQ
Apache Active MQ
Apache Karaf +Fuse Fabric
MANAGEMENT WITH JON & JBOSS MANAGEMENT CONSOLE
DEVELOPMENT WITH JBDSWITH FUSE IDE
JBOSS FUSE
Services (Apache CXF)
Integration (Apache Camel)
Messaging (JBoss A-MQ)
MANAGEMENT WITH JON & FUSE MANAGEMENT CONSOLE
DEVELOPMENT WITH JBDS
JBoss A-MQ JBoss Fuse
● Provides Core Integration functionality
● EIP as a first-order concept
● Simplifies Integration, Transformation, Mediation
![Page 10: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/10.jpg)
Apache Camel50+ Enterprise Integration Patterns
http://camel.apache.org/eip
![Page 11: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/11.jpg)
A-MQ
● ActiveMQ in Action
● Community website
○ http://activemq.apache.org/
● Apache Software Foundation project (AcitiveMQ)
● High performance, reliable message broker
o Clustering and Fault Tolerance
● Myriad of connectivity options
o Native Java, C/C++, and .NET
o AMQP, MQTT, STOMP, and OpenWire
● Embedded and standalone deployment options
![Page 12: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/12.jpg)
Apache CXF
Standards Support
JSR Support
● JAX-WS - Java API for XML-Based Web Services (JAX-WS) 2.0
- JSR-224
● Web Services Metadata for the Java Platform - JSR-181
● JAX-RS - The Java API for RESTful Web Services - JSR-311
● SAAJ - SOAP with Attachments API for Java (SAAJ) - JSR-67
WS-* & Related Specifications Support
● Basic support: WS-I Basic Profile 1.1
● Quality of Service: WS-Reliable Messaging
● Metadata: WS-Policy, WSDL 1.1 - Web Service Definition Language
● Communication Security: WS-Security, WS-SecurityPolicy, WS-SecureConversation, WS-Trust (partial support)
● Messaging Support: WS-Addressing, SOAP 1.1, SOAP 1.2, Message Transmission Optimization Mechanism (MTOM)
![Page 13: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/13.jpg)
13
Base Profile V1.0 Data Services Profile V1.0
Registry
3 – Profiles are stored in the Fabric registry
Managing Fuse with Fabric & ProfilesManaging Fuse with Fabric & Profiles
Data Services Profile V1.0
Extends
DevContainerDevContainer
Base Profile V1.0 Data Services Profile V1.0
DevContainer
4 – Define a new containerConfiguration
Base Services Profile V1.0
2 – Fabric profiles are created that define related
code to be deployed
6 –Start the containerBundles/Features
1 – Code artifacts are created and available
in maven
5- Assign Profiles to theContainer
runtime
DevContainer = running
![Page 14: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/14.jpg)
14
Architecture
![Page 15: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/15.jpg)
Discovery
– Auditable and Reproducible
– Scalability and Isolatation ● Grow to Multitenancy● Scale containers and services independently
– Standard VM environment.
– New to JBoss Fuse
![Page 16: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/16.jpg)
Key Recommendations
– Fuse: ● Validated as the best path to multitenancy● Encourages modular development practice● Fabric delivers fine to coarse grained service definitions
– Simplification: ● Simplify initial physical architecture w.r.t services/Domains
– Mututable: ● Sets foundation for the level of scalability and isolation
required by the customer in their environment
![Page 17: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/17.jpg)
JBOSS FUSE GATEWAY AND SERVICES DEPLOYMENT
J MS Protocol (Asynchronous)
HTTPS Protocol (Synchronous)
Broker VMs
Network of Brokers
Fuse Gateway (GW) and Services VMs
AMQ VM A AMQ VM B AMQ VM C
JBoss Fuse Active JBoss Fuse Active JBoss Fuse Active
= 4 core x 4 GB VM or Bare Metal compute resource
NoB Transports
Fuse VM
JBoss Fuse Active
ActiveMQActiveMQActiveMQ
VM
Network of Brokers (NoB)
allows messages to move from
broker to broker dependent on
where the actual consumer is connected
The Gateway JMS Producer
Transport
Producers Consumers
Camel Camel Camel
= HTTPS Connections (Solid Line)
= JMS Connections (Dashed Line)
Fuse VM
JBoss Fuse Active
Camel CXF
GW Services
Camel CXF
GW Services
AMQ VM +1
JBoss Fuse Active
ActiveMQ Camel
Scale additional VMs when needed
The Services JMS
Consumer Transport
The asynchronous layer will decouple
the incoming synchronous
HTTP requests to free up resources
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
L7
F5
Scale additional VMs when needed
![Page 18: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/18.jpg)
JBOSS FUSE RECOMMENDED DEPLOYMENT TOPOLOGY
Fuse Fabric
Maven Repo VM
Artifact Repo
Maven Repo VM
Artifact Repo
Broker VMs
Network of Brokers
Fuse Gateway (GW) and Services VMs
AMQ VM A AMQ VM B AMQ VM C
JBoss Fuse Active JBoss Fuse Active JBoss Fuse Active
= 4 core x 4 GB VM or Bare Metal compute resource
NoB Transports
Fuse VM A
JBoss Fuse Active
Fuse VM B
JBoss Fuse Active
Fuse VM C
JBoss Fuse Active
Camel CXF
ActiveMQActiveMQActiveMQ
VM
Camel Camel Camel
= HTTPS Connections (Solid Line)
= Zookeeper Connections (Dashed Line)
GW Services
Fuse VM + 1
JBoss Fuse Active
Camel CXF
GW Services
Camel CXF
GW Services
Camel CXF
GW Services
AMQ VM +1
JBoss Fuse Active
ActiveMQ Camel
Scale additional VMs when needed
Fabric requires an odd number of instances to reach a quorum
Fabric VM
JBoss Fuse
Fabric
Fabric VM
JBoss Fuse
Fabric
Fabric VM
JBoss Fuse
Fabric
Fabric VM
JBoss Fuse
Fabric
+1 Instance as a standby in the case of a failure to maintain the quorum
= 1 core x 4 GB VM or Bare Metal compute resourceVM
Zookeeper Transport
Zookeeper Transport
Zookeeper Transport
HTTP Maven Transport
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
Scale additional VMs when needed
![Page 19: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/19.jpg)
19
Fuse/Fabric – Simplified ArchitectureFuse/Fabric – Simplified Architecture
FS002
Fabric Server
FS001
Fabric Server
FS003
Fabric Server
Fuse001
Fuse 1Container
ESB002
Fabric Servers2xCPU, 16GB RAM, 10GB HDD
Fuse Servers8xCPU, 20GB RAM, 10GB HDD, 50GB SAN
AMQ 1Active
FS003
Fabric Server
FS003
Fabric Server
ESB002
AMQ 2Active
Fuse002
Fuse 2 Container
Fuse003
Fuse 3Container
ESB002
AMQ 3Active
Partition
![Page 20: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/20.jpg)
Steps to Multitenancy
![Page 21: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/21.jpg)
STEPS TO MULTITENANCY
• First deploy monolith application
• Identify candidates for partitioning⁃Use metrics or reliability history to identify outliers⁃Handle them on a case-by-case basis
• Consider isolating services for various forces, including:⁃ Performance characteristics/contention
⁃ Business domain functionality
⁃ Deployment churn/update frequency
⁃ Criticality
⁃ Security (data at rest, in motion, etc)
⁃ SLAs
• Establish a CI/CD process
![Page 22: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/22.jpg)
22
Fuse/Fabric – Architecture with “n” PartitionsFuse/Fabric – Architecture with “n” Partitions
Fuse001
Fuse 1Container
ESB002
AMQ 1Active
ESB002
AMQ 2Active
Fuse002
Fuse 2 Container
Fuse003
Fuse 3Container
ESB002
AMQ 3Active
Partition 1
Fuse004
Fuse 1Container
Fuse005
Fuse 2 Container
Fuse006
Fuse 3Container
Partition 2
Fa
bric En
sem
ble
![Page 23: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/23.jpg)
23
Fuse/Fabric - Architecture “n” PartitionsFuse/Fabric - Architecture “n” Partitions
Fuse001
Fuse 1Container
ESB002
AMQ 1Active
ESB002
AMQ 2Active
Fuse002
Fuse 2 Container
Fuse003
Fuse 3Container
ESB002
AMQ 3Active
Fuse004
Fuse 4Container
ESB004
AMQ 4Active
ESB005
AMQ 5Active
Fuse005
Fuse 5 Container
Fuse006
Fuse 6Container
ESB006
AMQ 6Active
Fa
bric Se
rvers
Partition 1
Partition 2
![Page 24: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/24.jpg)
What’s Next?
![Page 25: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/25.jpg)
Growth Plan
● Process for scaling to multiple organizations
– shared Fuse platform– balance central automation with autonomous
teams– scale up to 1000s of fabric profiles
● Migration between environments● Works within existing recommended Architecture
![Page 26: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/26.jpg)
Next Steps
● Today
– We have the foundation for multitenancy with modular services
– Established a flexible, scalable, auditable, and repeatable architecture
● “Tomorrow”
– Build out multitenancy environment– Establish a Dev/Ops tool chain
● JBoss Fuse is a first class citizen in a CI/CD tool chain.
![Page 27: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/27.jpg)
Conclusion
![Page 28: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/28.jpg)
Conclusion
● Migration plan established● Foundation for multitenancy● Highly Scalable and Available● Establish standard Dev/Ops Processes
![Page 29: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/29.jpg)
Any questions?
Thank You
![Page 30: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/30.jpg)
![Page 31: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/31.jpg)
Solving Integration ProblemsWith JBoss Fuse
LEARN. NETWORK. EXPERIENCE OPEN SOURCE
redhat.com/summit
Scott England Sullivan - Principle Integration ArchitectPeter Blinstrubas - Middleware Solutions Architect
![Page 32: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/32.jpg)
Agenda
● Customer’s Problem● Fuse In 0 to 60 MPH ● Architecture ● Steps to Multitenacy● What’s Next?● Conclusion
![Page 33: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/33.jpg)
Customer Quote
“Camel is the right way to do integration!”
![Page 34: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/34.jpg)
The Story
● Healthcare Company
– Modernize SOA – Gain Agility– Reduce Cost– Monolith to
Multitenancy
![Page 35: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/35.jpg)
Customer’s Problem
![Page 36: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/36.jpg)
Problem
Migrate from a COTS product while maintaining operational parity and the capability to evolve into multitenancy.
Migrate from a cots product while maintaining operational parity and the capability to evolve into multitenenancy
Establish an Integration Architecture that is scalable and provides isolation for fine grained and coarse grained services.
![Page 37: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/37.jpg)
Fuse in 0 to 60 MPH
![Page 38: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/38.jpg)
JBoss Fuse ArchitectureJBoss Fuse Architecture
Container
Asynchronous Messaging
Integration FrameworkWeb Services Framework
Apache CXF
Apache Active-MQ
Container Management Clustering & Deployment
Apache Camel
Apache karaf
Fabric8
Management &
Monitoring
Development&
Tooling
JBoss Developer
Studio
JBoss Operations
Network
FuseManagement
Console
Fuse Cartridge A-MQ Cartridge
![Page 39: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/39.jpg)
Middleware Integration
● Small-footprint messaging system
● Built for interoperability:
● persistence, clustering, failover, security,etc
JBOSS A-MQ
Apache Active MQ
Apache Karaf +Fuse Fabric
MANAGEMENT WITH JON & JBOSS MANAGEMENT CONSOLE
DEVELOPMENT WITH JBDSWITH FUSE IDE
JBOSS FUSE
Services (Apache CXF)
Integration (Apache Camel)
Messaging (JBoss A-MQ)
MANAGEMENT WITH JON & FUSE MANAGEMENT CONSOLE
DEVELOPMENT WITH JBDS
JBoss A-MQ JBoss Fuse
● Provides Core Integration functionality
● EIP as a first-order concept
● Simplifies Integration, Transformation, Mediation
![Page 40: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/40.jpg)
Apache Camel50+ Enterprise Integration Patterns
http://camel.apache.org/eip
![Page 41: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/41.jpg)
A-MQ
● ActiveMQ in Action
● Community website
○ http://activemq.apache.org/
● Apache Software Foundation project (AcitiveMQ)
● High performance, reliable message broker
o Clustering and Fault Tolerance
● Myriad of connectivity options
o Native Java, C/C++, and .NET
o AMQP, MQTT, STOMP, and OpenWire
● Embedded and standalone deployment options
Supports publish/subscribe, point to point, message groups, out of band messaging and streaming, distributed transactions, …
STOMP protocol enables Ruby, JS, Perl, Python, PHP, ActionScript, ...
Pre-integrated with open source integration and application frameworks
Deep integration with Spring Framework, OSGi, and Java EE
![Page 42: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/42.jpg)
Apache CXF
Standards Support
JSR Support
● JAX-WS - Java API for XML-Based Web Services (JAX-WS) 2.0
- JSR-224
● Web Services Metadata for the Java Platform - JSR-181
● JAX-RS - The Java API for RESTful Web Services - JSR-311
● SAAJ - SOAP with Attachments API for Java (SAAJ) - JSR-67
WS-* & Related Specifications Support
● Basic support: WS-I Basic Profile 1.1
● Quality of Service: WS-Reliable Messaging
● Metadata: WS-Policy, WSDL 1.1 - Web Service Definition Language
● Communication Security: WS-Security, WS-SecurityPolicy, WS-SecureConversation, WS-Trust (partial support)
● Messaging Support: WS-Addressing, SOAP 1.1, SOAP 1.2, Message Transmission Optimization Mechanism (MTOM)
Soap and REST stack
![Page 43: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/43.jpg)
13
Base Profile V1.0 Data Services Profile V1.0
Registry
3 – Profiles are stored in the Fabric registry
Managing Fuse with Fabric & ProfilesManaging Fuse with Fabric & Profiles
Data Services Profile V1.0
Extends
DevContainerDevContainer
Base Profile V1.0 Data Services Profile V1.0
DevContainer
4 – Define a new containerConfiguration
Base Services Profile V1.0
2 – Fabric profiles are created that define related
code to be deployed
6 –Start the containerBundles/Features
1 – Code artifacts are created and available
in maven
5- Assign Profiles to theContainer
runtime
DevContainer = running
![Page 44: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/44.jpg)
14
Architecture
![Page 45: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/45.jpg)
Discovery
– Auditable and Reproducible
– Scalability and Isolatation ● Grow to Multitenancy● Scale containers and services independently
– Standard VM environment.
– New to JBoss Fuse
![Page 46: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/46.jpg)
Key Recommendations
– Fuse: ● Validated as the best path to multitenancy● Encourages modular development practice● Fabric delivers fine to coarse grained service definitions
– Simplification: ● Simplify initial physical architecture w.r.t services/Domains
– Mututable: ● Sets foundation for the level of scalability and isolation
required by the customer in their environment
![Page 47: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/47.jpg)
JBOSS FUSE GATEWAY AND SERVICES DEPLOYMENT
J MS Protocol (Asynchronous)
HTTPS Protocol (Synchronous)
Broker VMs
Network of Brokers
Fuse Gateway (GW) and Services VMs
AMQ VM A AMQ VM B AMQ VM C
JBoss Fuse Active JBoss Fuse Active JBoss Fuse Active
= 4 core x 4 GB VM or Bare Metal compute resource
NoB Transports
Fuse VM
JBoss Fuse Active
ActiveMQActiveMQActiveMQ
VM
Network of Brokers (NoB)
allows messages to move from
broker to broker dependent on
where the actual consumer is connected
The Gateway JMS Producer
Transport
Producers Consumers
Camel Camel Camel
= HTTPS Connections (Solid Line)
= JMS Connections (Dashed Line)
Fuse VM
JBoss Fuse Active
Camel CXF
GW Services
Camel CXF
GW Services
AMQ VM +1
JBoss Fuse Active
ActiveMQ Camel
Scale additional VMs when needed
The Services JMS
Consumer Transport
The asynchronous layer will decouple
the incoming synchronous
HTTP requests to free up resources
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
L7
F5
Scale additional VMs when needed
![Page 48: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/48.jpg)
JBOSS FUSE RECOMMENDED DEPLOYMENT TOPOLOGY
Fuse Fabric
Maven Repo VM
Artifact Repo
Maven Repo VM
Artifact Repo
Broker VMs
Network of Brokers
Fuse Gateway (GW) and Services VMs
AMQ VM A AMQ VM B AMQ VM C
JBoss Fuse Active JBoss Fuse Active JBoss Fuse Active
= 4 core x 4 GB VM or Bare Metal compute resource
NoB Transports
Fuse VM A
JBoss Fuse Active
Fuse VM B
JBoss Fuse Active
Fuse VM C
JBoss Fuse Active
Camel CXF
ActiveMQActiveMQActiveMQ
VM
Camel Camel Camel
= HTTPS Connections (Solid Line)
= Zookeeper Connections (Dashed Line)
GW Services
Fuse VM + 1
JBoss Fuse Active
Camel CXF
GW Services
Camel CXF
GW Services
Camel CXF
GW Services
AMQ VM +1
JBoss Fuse Active
ActiveMQ Camel
Scale additional VMs when needed
Fabric requires an odd number of instances to reach a quorum
Fabric VM
JBoss Fuse
Fabric
Fabric VM
JBoss Fuse
Fabric
Fabric VM
JBoss Fuse
Fabric
Fabric VM
JBoss Fuse
Fabric
+1 Instance as a standby in the case of a failure to maintain the quorum
= 1 core x 4 GB VM or Bare Metal compute resourceVM
Zookeeper Transport
Zookeeper Transport
Zookeeper Transport
HTTP Maven Transport
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
JBoss Fuse VM:All Services
JBoss Fuse Active
Camel
CXF
GW
ServicesServicesServicesServicesServicesServicesServicesServicesMember
Scale additional VMs when needed
![Page 49: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/49.jpg)
19
Fuse/Fabric – Simplified ArchitectureFuse/Fabric – Simplified Architecture
FS002
Fabric Server
FS001
Fabric Server
FS003
Fabric Server
Fuse001
Fuse 1Container
ESB002
Fabric Servers2xCPU, 16GB RAM, 10GB HDD
Fuse Servers8xCPU, 20GB RAM, 10GB HDD, 50GB SAN
AMQ 1Active
FS003
Fabric Server
FS003
Fabric Server
ESB002
AMQ 2Active
Fuse002
Fuse 2 Container
Fuse003
Fuse 3Container
ESB002
AMQ 3Active
Partition
Simplified and efficient single JVM per VM– In the absence of hard data, always start here– Used throughout industry verticals with
successTriple Active at both GW/Services and Message Broker Layers
– Eliminates single point of failure condition if one instance is removed for maintenance
Fabric Separation of concerns– Isolates message flows from management– Creates independently scalable partitions
![Page 50: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/50.jpg)
Steps to Multitenancy
![Page 51: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/51.jpg)
STEPS TO MULTITENANCY
• First deploy monolith application
• Identify candidates for partitioning⁃Use metrics or reliability history to identify outliers⁃Handle them on a case-by-case basis
• Consider isolating services for various forces, including:⁃ Performance characteristics/contention
⁃ Business domain functionality
⁃ Deployment churn/update frequency
⁃ Criticality
⁃ Security (data at rest, in motion, etc)
⁃ SLAs
• Establish a CI/CD process
![Page 52: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/52.jpg)
22
Fuse/Fabric – Architecture with “n” PartitionsFuse/Fabric – Architecture with “n” Partitions
Fuse001
Fuse 1Container
ESB002
AMQ 1Active
ESB002
AMQ 2Active
Fuse002
Fuse 2 Container
Fuse003
Fuse 3Container
ESB002
AMQ 3Active
Partition 1
Fuse004
Fuse 1Container
Fuse005
Fuse 2 Container
Fuse006
Fuse 3Container
Partition 2F
abric En
semb
le
![Page 53: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/53.jpg)
23
Fuse/Fabric - Architecture “n” PartitionsFuse/Fabric - Architecture “n” Partitions
Fuse001
Fuse 1Container
ESB002
AMQ 1Active
ESB002
AMQ 2Active
Fuse002
Fuse 2 Container
Fuse003
Fuse 3Container
ESB002
AMQ 3Active
Fuse004
Fuse 4Container
ESB004
AMQ 4Active
ESB005
AMQ 5Active
Fuse005
Fuse 5 Container
Fuse006
Fuse 6Container
ESB006
AMQ 6Active
Fabric S
ervers
Partition 1
Partition 2
Key take away is Jboss fuse provides the flexibility to architect a solution that meets the needs of your organization. Not everyone else.
![Page 54: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/54.jpg)
What’s Next?
![Page 55: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/55.jpg)
Growth Plan
● Process for scaling to multiple organizations
– shared Fuse platform– balance central automation with autonomous
teams– scale up to 1000s of fabric profiles
● Migration between environments● Works within existing recommended Architecture
![Page 56: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/56.jpg)
Next Steps
● Today
– We have the foundation for multitenancy with modular services
– Established a flexible, scalable, auditable, and repeatable architecture
● “Tomorrow”
– Build out multitenancy environment– Establish a Dev/Ops tool chain
● JBoss Fuse is a first class citizen in a CI/CD tool chain.
Jboss Fuse is a first class citizen in a CI/CD tool chain.
● Take advantage of Fuse’s native CI/CD capabilities
● CI/CD process includes automated tests/integration/acceptance, etc) to enact change to a production system.
● Increases visibility into the auditable and reproducible environment.
● Establish operational metrics feedback loop.
![Page 57: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/57.jpg)
Conclusion
![Page 58: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/58.jpg)
Conclusion
● Migration plan established● Foundation for multitenancy● Highly Scalable and Available● Establish standard Dev/Ops Processes
![Page 59: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/59.jpg)
Any questions?
Thank You
29
![Page 60: Solving Integration Problems With JBoss Fuse - Red Hat · Solving Integration Problems With JBoss Fuse LEARN. NETWORK. EXPERIENCE OPEN SOURCE ... Fuse/Fabric – Architecture with](https://reader031.vdocuments.mx/reader031/viewer/2022022508/5acfe6897f8b9a6c6c8dace5/html5/thumbnails/60.jpg)