microservices with red red hat jboss fuse
TRANSCRIPT
![Page 1: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/1.jpg)
Microservices with Red
Red Hat JBoss Fuse
Alexey Brook
CTO, Head of Integration & SOA Center of Excellence
Matrix
![Page 2: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/2.jpg)
Agenda
Who we are – Integration and SOA Center of Excellence
Microservices – the right way to do SOA
Why ESBs are still around
JBoss Fuse: benefits for Microservices with JBoss Studio, CXF, Camel, and Fabric8
Red Hat Microservices platform – end to end
![Page 3: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/3.jpg)
MATRIX INTEGRATION AND SOA COE
![Page 4: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/4.jpg)
Matrix CoE Concept
Center Of Excellence
Architects
Non-
Functional
Business
Partner
Software
Expertise,
Knowledge
Consulting
Delivery
Experience
![Page 5: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/5.jpg)
Integration & SOA CoE
Integration, Middleware, SOA
Service
platforms
Services
Security
Architecture
Services DevOps &
Testing
Java and
Tools
ESB, BPM, SRR, BRM,
APIM, CEP, …
Planning
and Scoping
Topology, Federation,
Clustering
![Page 6: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/6.jpg)
Red Hat Partnership
![Page 7: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/7.jpg)
MICROSERVICES – THE RIGHT WAY TO DO SOA
![Page 8: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/8.jpg)
Microservice definition
Microservices is an approach to application development in which a large application is built as a suite of modular services. Each module supports a specific business goal and uses a simple, well-defined interface to communicate with other modules (What.com).
![Page 9: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/9.jpg)
Microservice definition
Microservices is an approach to application development in which a large application is built as a suite of modular services. Each module supports a specific business goal and uses a simple, well-defined interface to communicate with other modules (What.com).
Microservices is a specialization of and implementation approach for service-oriented architectures (SOA) used to build flexible, independently deployable software systems (Wikipedia).
![Page 10: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/10.jpg)
Microservice definition
Microservices is an approach to application development in which a large application is built as a suite of modular services. Each module supports a specific business goal and uses a simple, well-defined interface to communicate with other modules (What.com).
Microservices is a specialization of and implementation approach for service-oriented architectures (SOA) used to build flexible, independently deployable software systems (Wikipedia).
The common definition of microservices generally relies upon each microservice providing an API endpoint, often but not always a stateless REST API which can be accessed over HTTP(S) just like a standard webpage (opensource.com).
![Page 11: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/11.jpg)
Service Oriented Concepts
Independent, reusable, “atomic” building blocks
Decoupled architecture
Standard protocols and integration techniques
Management / Governance
Centralized integration efforts, let service be “business services”
![Page 12: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/12.jpg)
Microservices – pragmatic SOA
Manageable
SmallIndependent
ReusableSecure
Atomic
Decoupled
StandardIntegrated
ScalableTestable
Simple
![Page 13: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/13.jpg)
WHY ESBS ARE STILL AROUND?So…
![Page 14: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/14.jpg)
Generic application architecture
Web Client
Mobile Apps
Partners Apps
JS FrameworksAJAX Layer
Composite Services
APIs Layer (API Management)
DB
services platform
Micro-Services
Service proxies
micro-services on the platform ? !!
![Page 15: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/15.jpg)
Microservices platform
Service Contract – defined operations (WSDL, Swagger)
Service Binding – use standards (SOAP, REST, JMS, …)
Service Implementation – patterns, faults, business
Service lifecycle – testing, packaging, deployment
Testing, visibility, security, …
![Page 16: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/16.jpg)
Microservices platform
Service Contract – defined operations (WSDL, Swagger)
Service Binding – use standards (SOAP, REST, JMS, …)
Service Implementation – patterns, faults, business
Service lifecycle – testing, packaging, deployment
Testing, visibility, security, …
You can code it all , or …
![Page 17: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/17.jpg)
Microservices platform
Service Contract – defined operations (WSDL, Swagger)
Service Binding – use standards (SOAP, REST, JMS, …)
Service Implementation – patterns, faults, business
Service lifecycle – testing, packaging, deployment
Testing, visibility, security, …
You can code it all , or …
![Page 18: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/18.jpg)
JBOSS FUSE: BENEFITS FOR MICROSERVICES
![Page 19: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/19.jpg)
JBoss Fuse (v6.3) Components
JBoss Dev Studio 8.x-10.x - Makes things visual
Apache Camel 2.17.0 - Bindings, routing, DSLs
Apache CXF 3.1.5 - SOAP/REST full-featured
Fabric8 1.2 - Platform management
Apache ActiveMQ 5.11.0 - JMS, supported in Camel
SwithYard 2.1.0 - SCA implementation
Apache Karaf 2.4 - OSGi container
+ JBoss EAP as your JEE Application Server
![Page 20: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/20.jpg)
JBoss Fuse visual development
Visual debugger for Camel routes:
- Break points- Tracing
![Page 21: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/21.jpg)
JBoss Fuse visual development
Visual data mapping, included in Camel routes- XML / JSON / Java- Custom formats
![Page 22: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/22.jpg)
Service implementation
Apache Camel framework is fully supported within Fuse product.
Camel itself is a powerful integration framework, and allows to define full
service implementations using Java language.
Camel users Java/XML to define a “map” between interfaces and
implementationsCamel can use
several languages to define routes and patterns.
Service logic can be provided with
POJOs and/or Spring beans
© Developing Microservices with Apache Camel by Claus Ibsen
![Page 23: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/23.jpg)
Service Bindings - REST
Camel java DSL fully supports REST/JSON bindings in Java
code, and allows to simply route HTTP API to the Java
implementation
And also helps to generate Swagger
documentation
© Developing Microservices with Apache Camel by Claus Ibsen
![Page 24: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/24.jpg)
Service Bindings - REST
And similar with XML DSL
![Page 25: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/25.jpg)
Service Contracts
<cxf:cxfEndpoint id="reportEndpoint"
address="/report/"
serviceClass="org.apache.camel.example.reportincident.ReportIncidentEndpoint"
wsdlURL="wsdl/report_incident.wsdl"/>
WSDL Visual Editor
Using CXF & Maven with “contract-first” archetype
allows to automatically generate endpoint definition
from a WSDL
![Page 26: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/26.jpg)
Service deployment and scaling
Microservices are a system backbone, behind the APIs and GUI – scalable environment is a must.
Docker container with OpenShift provides a manageable environment for JBoss products.
JBoss Fuse (with JBoss EAP) images can be managed using Fabric8 and Kubernetes
Integrated Fabric8 makes it simple to manage large and distributed JBoss Fuse deployments
![Page 27: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/27.jpg)
RED HAT MICROSERVICESPLATFORM – END TO END
![Page 28: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/28.jpg)
Generic application architecture
Web Client
Mobile Apps
Partners Apps
JS FrameworksAJAX Layer
Composite Services
APIs Layer (API Management)
DB
services platform
Micro-Services
Service proxies
![Page 29: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/29.jpg)
RED HAT
-Linux
-Open-Shift
RED HAT based architecture
Web Client
Mobile Apps
Partners Apps
JS FrameworksAJAX Layer
Camel RED HAT JBoss Fuse CXF
runs on JBoss EAP
3scale API Management
JBoss Fuse gives us an end to endservice platform
Micro-Services
![Page 30: Microservices with Red Red Hat JBoss Fuse](https://reader036.vdocuments.mx/reader036/viewer/2022082210/58a2ece31a28abb77f8b915a/html5/thumbnails/30.jpg)
Summary
The Microservices principles are new, and better pattern for doing SOA the right way. And RED HAT products
can give you an end to end platform for Microservices implementation, management and run-time.