SlideShare une entreprise Scribd logo
1  sur  27
ESB Training
Online
Agenda Day 2
 Structuring Mule Applications
• Create and reference flows and
subflows
• Pass messages between flows
using the Java Virtual Machine
(VM) transport
• Investigate variable persistence
through subflows and flows
and across transport barriers
• Encapsulate global elements in
separate configuration files
• Sharing resources between
applications
 Consuming Web Services
• Consume RESTful web services with and
without parameters
• Consume SOAP web services
• Use DataWeave to pass parameters to SOAP
web services
Structuring Mule
Applications
Goal
Create and reference
flows and subflows
 Makes the graphical view more
intuitive
 Makes XML code easier to read
 Enables code reuse
 Provides separation between an
interface and implementation
 Makes them easier to test
Break up flows into separate flows and subflows
Subflows
 Subflows are executed exactly as if
the processors were still in the
calling flow
Flows
 Flows, on the other hand, have much more
flexibility in how they are used
• Can have their own processing and
exception strategies
• Can be synchronous or asynchronous
 Flows without message sources are sometimes
called private flows
Usage of pools depends
on a flow’s behavior
Synchronous
Strategy
 When a flow receives a message, all processing,
including the processing of the response, is
done in the same thread
 Uses only the message source's thread pool
 The Flow's thread pool is elastic and will have
one idle thread that is never used
 Tuning for higher-throughput happens on the
connector receiver's level
 Threads are blocking, preventing reuse by
other inbound requests until entire flow has
completed processing
Queued-
Asynchronous
Strategy
 Decouples and uses all 3 thread pools
• Receiver/Source thread pool
• Flow thread pool
• Despatcher thread pool
 Uses queues, whose threads drop messages off
for the subsequent pool's thread to pickup
 Pools, queues, and behaviors of this strategy
are configurable
 By default, the flow thread pool has 16 threads
Creating Flows and
Subflows
Walk Through Demo
Module 03
 The Java Virtual Machine (VM) transport can
be used for intra-JVM communication between
flows
 Each app in a Mule instance has its own,
unique set of VM endpoints
 The VM transport can only handle
communications within an app or between
apps in the same domain
 This transport by default uses in-memory
queues bit can optionally be configured to use
persistent queues
The Java Virtual Machine
(VM) transport
Using Java Virtual Machine
(VM) transport in Mule flows
Walk Through Demo
Module 04
Separating apps into multiple configuration files
Organizing Mule
application files
 Just as we separated flows into multiple flows,
we also want to separate configuration files
into multiple configuration files
 Monolithic files are difficult to read and
maintain
 Separating an application into multiple
configuration files makes code
• Easier to read
• Easier to work with
• Easier to test
• More maintainable
Encapsulating global elements to global
configuration file
 It can be confusing if you reference global
elements in one file that are defined in various,
unrelated files
 It also makes it hard to find them
 A good solution is to put most global elements
in one config file
• All the rest of the files reference them
• If global element is specific to and only
used in one file, it makes sense to keep it in
that file
Creating global
configuration file
Walk Through Demo
Module 05
Sharing resources
between applications
Shared domains
 Can be used to share some
connectors and endpoints between
applications
 Enables multiple development
teams to work in parallel using the
same set of reusable connectors
 Defining these connectors as shared
resources at the domain level
allows the team to
• Expose multiple services
within the domain on same
port
• Share the connection to
persistent storage
• Ensure consistency between
applications upon any changes,
as the configuration is only set
in one place
Using domains to share resources
between apps
 Only available on-prem, not in
Cloudhub
 The general process is to
• Create a Mule Domain Project
and associate Mule
applications with a domain
• Define a set of resources for a
domain to share between apps
 Currently supported connectors
• HTTP/HTTPS, VMQ, Database,
JMS, VM, Jboss and Bitronix
Transaction Managers
Creating Mule Domain
Project
Walk Through Demo
Module 06
Summary
 Separate a flow into multiple flows for easier to
read files and for reusability
 Extract duplicate code into reusable private
flows or subflows
 Private flows are flows without message
sources
 Subflows are executed exactly as if in the
calling flow
• always run synchronously
• Inherit processing and exception strategies
of the calling flow
 A flow processing strategy determines how
Mule implements message processing for a
given flow
• All Mule flows have an implicit processing
strategy which Mules apply automatically
• Endpoints with a request-response
exchange pattern are set to synchronous
• Endpoints with a one-way exchange
 Use Flow Reference to let flows directly
reference one another without a transport in a
middle
 Use the Java Virtual Machine (VM) transport
for intra-JVM communication between Mule
flows
 Flow variables persist through all flows unless
the message crosses a transport boundary (like
VM or HTTP)
 Session variable persist across some but not all
transport barriers (VM yes, HTTP no)
 Separate application functionality into multiple
configuration files
 Share resources between applications by
creating a shared Domain
Consuming Web
Services
Goal
Consuming
RESTful Web
Services
 First check and see if there is an existing
Anypoint Connector to connect to the service
provider
 If there is not, use the HTTP Request connector
• For the connector:
 Specify host, port, and optionally, a
base path
• For the endpoint
 Specify path and method
Passing data to a
RESTful web service
 For an HTTP Request endpoint, you can add
parameters
• URI parameters
• Query parameters
• Headers
 Send form parameters with a request by setting
them in the payload
 Include attachments by adding an Attachment
transformer to your flow
Consuming RESTful
Web Services
Walk Through Demo
Module 07
Consuming SOAP
Web Services
Mule's SOAP support is based on Apache CXF
 CXF is a web services framework in Java for
SOAP messaging
 Handles all serialization and deserialization
 Handles all SOAP envelope and namespace
processing
 Developer sees only POJOs, etc. - not SOAP
XML
Consuming SOAP
Web Services
 First check and see if there is an existing
Anypoint Connector to connect to the service
provider
 If there is not, use the Web Service Consumer
connector
• provide the location of the WSDL
• The rest will be configured for you: host,
port, address, available operations
 If you need more features, use the CXF
component
• Also used to expose an endpoint as a
SOAP service
Consuming SOAP Web
Services
Walk Through Demo
Module 08
Passing Arguments to
SOAP Web Services
with DataWeave
Use DataWeave to add and map an input
argument
Passing Arguments to SOAP
Web Services with
DataWeave
Walk Through Demo
Module 09
Summary
 Use the HTTP Request connector to consume
REST web services
 Use the Web Service Consumer connector to
consume SOAP web services
 Use the DataWeave Transform Message
component to pass arguments to SOAP web
services

Contenu connexe

Tendances

Create Account in Salesforce using Mule ESB
Create Account in Salesforce using Mule ESBCreate Account in Salesforce using Mule ESB
Create Account in Salesforce using Mule ESBSanjeet Pandey
 
Mulesoft Calling Flow of Other Applications
Mulesoft Calling Flow of Other ApplicationsMulesoft Calling Flow of Other Applications
Mulesoft Calling Flow of Other Applicationskumar gaurav
 
Working of mule
Working of muleWorking of mule
Working of muleSindhu VL
 
MuleSoft CloudHub FAQ
MuleSoft CloudHub FAQMuleSoft CloudHub FAQ
MuleSoft CloudHub FAQShanky Gupta
 
MuleEsb Complete integration and middleware solution
MuleEsb Complete integration and middleware solutionMuleEsb Complete integration and middleware solution
MuleEsb Complete integration and middleware solutionRajkattamuri
 
Deployment of Mule ESB Application using MMC
Deployment of Mule ESB Application using MMCDeployment of Mule ESB Application using MMC
Deployment of Mule ESB Application using MMCSanjeet Pandey
 
Exposing Web Service (CXF) With Mule ESB
Exposing Web Service (CXF) With Mule ESBExposing Web Service (CXF) With Mule ESB
Exposing Web Service (CXF) With Mule ESBJitendra Bafna
 
Integration with Sercice-Now using Mule ESB
Integration with Sercice-Now using Mule ESBIntegration with Sercice-Now using Mule ESB
Integration with Sercice-Now using Mule ESBSanjeet Pandey
 
Using mule configuration patterns
Using mule configuration patternsUsing mule configuration patterns
Using mule configuration patternsSindhu VL
 
Mule components
Mule componentsMule components
Mule componentsKrishna_in
 
Logging best practice in mule using logger component
Logging best practice in mule using logger componentLogging best practice in mule using logger component
Logging best practice in mule using logger componentGovind Mulinti
 
Introduce Mule
Introduce MuleIntroduce Mule
Introduce Mulemha4
 
SOAP-UI The Web service Testing
SOAP-UI The Web service TestingSOAP-UI The Web service Testing
SOAP-UI The Web service TestingGanesh Mandala
 
Mule esb made system integration easy
Mule esb made system integration easy Mule esb made system integration easy
Mule esb made system integration easy javeed_mhd
 
Magento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelMagento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelIgor Miniailo
 

Tendances (20)

Create Account in Salesforce using Mule ESB
Create Account in Salesforce using Mule ESBCreate Account in Salesforce using Mule ESB
Create Account in Salesforce using Mule ESB
 
Mulesoft Calling Flow of Other Applications
Mulesoft Calling Flow of Other ApplicationsMulesoft Calling Flow of Other Applications
Mulesoft Calling Flow of Other Applications
 
Web application with mule
Web application with muleWeb application with mule
Web application with mule
 
Working of mule
Working of muleWorking of mule
Working of mule
 
Mule esb soap_service
Mule esb soap_serviceMule esb soap_service
Mule esb soap_service
 
MuleSoft CloudHub FAQ
MuleSoft CloudHub FAQMuleSoft CloudHub FAQ
MuleSoft CloudHub FAQ
 
MuleEsb Complete integration and middleware solution
MuleEsb Complete integration and middleware solutionMuleEsb Complete integration and middleware solution
MuleEsb Complete integration and middleware solution
 
Deployment of Mule ESB Application using MMC
Deployment of Mule ESB Application using MMCDeployment of Mule ESB Application using MMC
Deployment of Mule ESB Application using MMC
 
Exposing Web Service (CXF) With Mule ESB
Exposing Web Service (CXF) With Mule ESBExposing Web Service (CXF) With Mule ESB
Exposing Web Service (CXF) With Mule ESB
 
Mule CMIS connector
Mule CMIS connectorMule CMIS connector
Mule CMIS connector
 
Integration with Sercice-Now using Mule ESB
Integration with Sercice-Now using Mule ESBIntegration with Sercice-Now using Mule ESB
Integration with Sercice-Now using Mule ESB
 
Using mule configuration patterns
Using mule configuration patternsUsing mule configuration patterns
Using mule configuration patterns
 
Mule components
Mule componentsMule components
Mule components
 
Servlets api overview
Servlets api overviewServlets api overview
Servlets api overview
 
Logging best practice in mule using logger component
Logging best practice in mule using logger componentLogging best practice in mule using logger component
Logging best practice in mule using logger component
 
Mule soa
Mule soaMule soa
Mule soa
 
Introduce Mule
Introduce MuleIntroduce Mule
Introduce Mule
 
SOAP-UI The Web service Testing
SOAP-UI The Web service TestingSOAP-UI The Web service Testing
SOAP-UI The Web service Testing
 
Mule esb made system integration easy
Mule esb made system integration easy Mule esb made system integration easy
Mule esb made system integration easy
 
Magento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelMagento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor Model
 

En vedette

презентация Microsoft office power point
презентация Microsoft office power pointпрезентация Microsoft office power point
презентация Microsoft office power pointtank1975
 
Estrategia para mejorar la escritura
Estrategia para mejorar la escrituraEstrategia para mejorar la escritura
Estrategia para mejorar la escrituraNANCY TELLEZ
 
ΓΙΑΤΙ, Γ.ΜΑΓΚΛΗΣ, ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ
ΓΙΑΤΙ, Γ.ΜΑΓΚΛΗΣ, ΦΥΛΛΟ ΕΡΓΑΣΙΑΣΓΙΑΤΙ, Γ.ΜΑΓΚΛΗΣ, ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ
ΓΙΑΤΙ, Γ.ΜΑΓΚΛΗΣ, ΦΥΛΛΟ ΕΡΓΑΣΙΑΣAlexandra Gerakini
 
UM in the News: Marketing and promotion in social media platform
UM in the News: Marketing and promotion in social media platformUM in the News: Marketing and promotion in social media platform
UM in the News: Marketing and promotion in social media platformNor Hazidah
 
3Com 3CV21200
3Com 3CV212003Com 3CV21200
3Com 3CV21200savomir
 
Afforestation
AfforestationAfforestation
AfforestationASWATHI M
 
A Seminar Presentation at the Missouri S&T in Rolla, MO
A Seminar Presentation at the Missouri S&T in Rolla, MOA Seminar Presentation at the Missouri S&T in Rolla, MO
A Seminar Presentation at the Missouri S&T in Rolla, MOMissouri S&T
 
[Indonesia]Mollusca
[Indonesia]Mollusca[Indonesia]Mollusca
[Indonesia]MolluscaKira Skyller
 
La Carrera Que No Debes Perder
La Carrera Que No Debes PerderLa Carrera Que No Debes Perder
La Carrera Que No Debes PerderJoe Garza
 
LMCP1532 PEMBANGUNAN BANDAR MAMPAN
LMCP1532 PEMBANGUNAN BANDAR MAMPANLMCP1532 PEMBANGUNAN BANDAR MAMPAN
LMCP1532 PEMBANGUNAN BANDAR MAMPAN1234567ainul
 
Secure Sensitive Data With Mule Credentials Vault
Secure Sensitive Data With Mule Credentials VaultSecure Sensitive Data With Mule Credentials Vault
Secure Sensitive Data With Mule Credentials VaultJitendra Bafna
 
Report & abstract on dab
Report & abstract on dabReport & abstract on dab
Report & abstract on dabEshaan Verma
 
Kumoten: Dropshipping Programme
Kumoten: Dropshipping ProgrammeKumoten: Dropshipping Programme
Kumoten: Dropshipping ProgrammeNor Hazidah
 

En vedette (17)

Linea punto plano ofi
Linea punto plano ofiLinea punto plano ofi
Linea punto plano ofi
 
презентация Microsoft office power point
презентация Microsoft office power pointпрезентация Microsoft office power point
презентация Microsoft office power point
 
Estrategia para mejorar la escritura
Estrategia para mejorar la escrituraEstrategia para mejorar la escritura
Estrategia para mejorar la escritura
 
Anorexia
AnorexiaAnorexia
Anorexia
 
TALLER - CONSTRUYAMOS UN AUTOMÓVIL.
TALLER - CONSTRUYAMOS UN AUTOMÓVIL. TALLER - CONSTRUYAMOS UN AUTOMÓVIL.
TALLER - CONSTRUYAMOS UN AUTOMÓVIL.
 
ΓΙΑΤΙ, Γ.ΜΑΓΚΛΗΣ, ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ
ΓΙΑΤΙ, Γ.ΜΑΓΚΛΗΣ, ΦΥΛΛΟ ΕΡΓΑΣΙΑΣΓΙΑΤΙ, Γ.ΜΑΓΚΛΗΣ, ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ
ΓΙΑΤΙ, Γ.ΜΑΓΚΛΗΣ, ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ
 
UM in the News: Marketing and promotion in social media platform
UM in the News: Marketing and promotion in social media platformUM in the News: Marketing and promotion in social media platform
UM in the News: Marketing and promotion in social media platform
 
3Com 3CV21200
3Com 3CV212003Com 3CV21200
3Com 3CV21200
 
Afforestation
AfforestationAfforestation
Afforestation
 
A Seminar Presentation at the Missouri S&T in Rolla, MO
A Seminar Presentation at the Missouri S&T in Rolla, MOA Seminar Presentation at the Missouri S&T in Rolla, MO
A Seminar Presentation at the Missouri S&T in Rolla, MO
 
[Indonesia]Mollusca
[Indonesia]Mollusca[Indonesia]Mollusca
[Indonesia]Mollusca
 
Bulimia
Bulimia Bulimia
Bulimia
 
La Carrera Que No Debes Perder
La Carrera Que No Debes PerderLa Carrera Que No Debes Perder
La Carrera Que No Debes Perder
 
LMCP1532 PEMBANGUNAN BANDAR MAMPAN
LMCP1532 PEMBANGUNAN BANDAR MAMPANLMCP1532 PEMBANGUNAN BANDAR MAMPAN
LMCP1532 PEMBANGUNAN BANDAR MAMPAN
 
Secure Sensitive Data With Mule Credentials Vault
Secure Sensitive Data With Mule Credentials VaultSecure Sensitive Data With Mule Credentials Vault
Secure Sensitive Data With Mule Credentials Vault
 
Report & abstract on dab
Report & abstract on dabReport & abstract on dab
Report & abstract on dab
 
Kumoten: Dropshipping Programme
Kumoten: Dropshipping ProgrammeKumoten: Dropshipping Programme
Kumoten: Dropshipping Programme
 

Similaire à ESB Online Training Part 2

Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to MicroservicesDavid Currie
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceDeveloping Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceJack-Junjie Cai
 
Mule esb and_relevant_components
Mule esb and_relevant_componentsMule esb and_relevant_components
Mule esb and_relevant_componentsPaaras Baru
 
Sai mule esb batch
Sai mule esb batchSai mule esb batch
Sai mule esb batchsaikiran6423
 
Ashok mule esb
Ashok mule esbAshok mule esb
Ashok mule esbaskumar037
 
Configuration patterns in mule
Configuration patterns in muleConfiguration patterns in mule
Configuration patterns in muleSindhu VL
 
Web services provide an organization without human supervision
Web services provide an organization without human  supervisionWeb services provide an organization without human  supervision
Web services provide an organization without human supervisionnandepovanhu
 

Similaire à ESB Online Training Part 2 (20)

Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceDeveloping Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
 
Mule esb and_relevant_components
Mule esb and_relevant_componentsMule esb and_relevant_components
Mule esb and_relevant_components
 
Mule slides
Mule slides Mule slides
Mule slides
 
Mule esb kranthi
Mule esb kranthiMule esb kranthi
Mule esb kranthi
 
Mule esb kranthi
Mule esb kranthiMule esb kranthi
Mule esb kranthi
 
Mule esb
Mule esb Mule esb
Mule esb
 
Mule
MuleMule
Mule
 
Esb process
Esb processEsb process
Esb process
 
Mule
MuleMule
Mule
 
Sai mule esb batch
Sai mule esb batchSai mule esb batch
Sai mule esb batch
 
Ashok mule esb
Ashok mule esbAshok mule esb
Ashok mule esb
 
Mule esb naveen
Mule esb naveenMule esb naveen
Mule esb naveen
 
Niranjan mule esb
Niranjan mule esbNiranjan mule esb
Niranjan mule esb
 
Srilekha mule esb
Srilekha mule esbSrilekha mule esb
Srilekha mule esb
 
Mule esb overview
Mule esb overviewMule esb overview
Mule esb overview
 
Configuration patterns in mule
Configuration patterns in muleConfiguration patterns in mule
Configuration patterns in mule
 
Soa
SoaSoa
Soa
 
Web services provide an organization without human supervision
Web services provide an organization without human  supervisionWeb services provide an organization without human  supervision
Web services provide an organization without human supervision
 
Microservices deck
Microservices deckMicroservices deck
Microservices deck
 

Plus de Vince Soliza

MuleSoft Consuming Soap Web Service - CXF Proxy-Client Module
MuleSoft Consuming Soap Web Service - CXF Proxy-Client ModuleMuleSoft Consuming Soap Web Service - CXF Proxy-Client Module
MuleSoft Consuming Soap Web Service - CXF Proxy-Client ModuleVince Soliza
 
MuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client ModuleMuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client ModuleVince Soliza
 
Mulesoft Consuming Web Service - Web Service Consumer
Mulesoft Consuming Web Service - Web Service ConsumerMulesoft Consuming Web Service - Web Service Consumer
Mulesoft Consuming Web Service - Web Service ConsumerVince Soliza
 
Mulesoft Salesforce Connector - OAuth 2.0 JWT Bearer
Mulesoft Salesforce Connector -  OAuth 2.0 JWT BearerMulesoft Salesforce Connector -  OAuth 2.0 JWT Bearer
Mulesoft Salesforce Connector - OAuth 2.0 JWT BearerVince Soliza
 
Rate Limiting - SLA Based Policy
Rate Limiting - SLA Based PolicyRate Limiting - SLA Based Policy
Rate Limiting - SLA Based PolicyVince Soliza
 
Apply Rate Limiting Policy
Apply Rate Limiting Policy Apply Rate Limiting Policy
Apply Rate Limiting Policy Vince Soliza
 
Anypoint platform for api
Anypoint platform for apiAnypoint platform for api
Anypoint platform for apiVince Soliza
 

Plus de Vince Soliza (7)

MuleSoft Consuming Soap Web Service - CXF Proxy-Client Module
MuleSoft Consuming Soap Web Service - CXF Proxy-Client ModuleMuleSoft Consuming Soap Web Service - CXF Proxy-Client Module
MuleSoft Consuming Soap Web Service - CXF Proxy-Client Module
 
MuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client ModuleMuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
 
Mulesoft Consuming Web Service - Web Service Consumer
Mulesoft Consuming Web Service - Web Service ConsumerMulesoft Consuming Web Service - Web Service Consumer
Mulesoft Consuming Web Service - Web Service Consumer
 
Mulesoft Salesforce Connector - OAuth 2.0 JWT Bearer
Mulesoft Salesforce Connector -  OAuth 2.0 JWT BearerMulesoft Salesforce Connector -  OAuth 2.0 JWT Bearer
Mulesoft Salesforce Connector - OAuth 2.0 JWT Bearer
 
Rate Limiting - SLA Based Policy
Rate Limiting - SLA Based PolicyRate Limiting - SLA Based Policy
Rate Limiting - SLA Based Policy
 
Apply Rate Limiting Policy
Apply Rate Limiting Policy Apply Rate Limiting Policy
Apply Rate Limiting Policy
 
Anypoint platform for api
Anypoint platform for apiAnypoint platform for api
Anypoint platform for api
 

Dernier

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

ESB Online Training Part 2

  • 2. Agenda Day 2  Structuring Mule Applications • Create and reference flows and subflows • Pass messages between flows using the Java Virtual Machine (VM) transport • Investigate variable persistence through subflows and flows and across transport barriers • Encapsulate global elements in separate configuration files • Sharing resources between applications  Consuming Web Services • Consume RESTful web services with and without parameters • Consume SOAP web services • Use DataWeave to pass parameters to SOAP web services
  • 4. Create and reference flows and subflows  Makes the graphical view more intuitive  Makes XML code easier to read  Enables code reuse  Provides separation between an interface and implementation  Makes them easier to test Break up flows into separate flows and subflows
  • 5. Subflows  Subflows are executed exactly as if the processors were still in the calling flow
  • 6. Flows  Flows, on the other hand, have much more flexibility in how they are used • Can have their own processing and exception strategies • Can be synchronous or asynchronous  Flows without message sources are sometimes called private flows
  • 7. Usage of pools depends on a flow’s behavior
  • 8. Synchronous Strategy  When a flow receives a message, all processing, including the processing of the response, is done in the same thread  Uses only the message source's thread pool  The Flow's thread pool is elastic and will have one idle thread that is never used  Tuning for higher-throughput happens on the connector receiver's level  Threads are blocking, preventing reuse by other inbound requests until entire flow has completed processing
  • 9. Queued- Asynchronous Strategy  Decouples and uses all 3 thread pools • Receiver/Source thread pool • Flow thread pool • Despatcher thread pool  Uses queues, whose threads drop messages off for the subsequent pool's thread to pickup  Pools, queues, and behaviors of this strategy are configurable  By default, the flow thread pool has 16 threads
  • 10. Creating Flows and Subflows Walk Through Demo Module 03
  • 11.  The Java Virtual Machine (VM) transport can be used for intra-JVM communication between flows  Each app in a Mule instance has its own, unique set of VM endpoints  The VM transport can only handle communications within an app or between apps in the same domain  This transport by default uses in-memory queues bit can optionally be configured to use persistent queues The Java Virtual Machine (VM) transport
  • 12. Using Java Virtual Machine (VM) transport in Mule flows Walk Through Demo Module 04
  • 13. Separating apps into multiple configuration files Organizing Mule application files  Just as we separated flows into multiple flows, we also want to separate configuration files into multiple configuration files  Monolithic files are difficult to read and maintain  Separating an application into multiple configuration files makes code • Easier to read • Easier to work with • Easier to test • More maintainable Encapsulating global elements to global configuration file  It can be confusing if you reference global elements in one file that are defined in various, unrelated files  It also makes it hard to find them  A good solution is to put most global elements in one config file • All the rest of the files reference them • If global element is specific to and only used in one file, it makes sense to keep it in that file
  • 14. Creating global configuration file Walk Through Demo Module 05
  • 15. Sharing resources between applications Shared domains  Can be used to share some connectors and endpoints between applications  Enables multiple development teams to work in parallel using the same set of reusable connectors  Defining these connectors as shared resources at the domain level allows the team to • Expose multiple services within the domain on same port • Share the connection to persistent storage • Ensure consistency between applications upon any changes, as the configuration is only set in one place Using domains to share resources between apps  Only available on-prem, not in Cloudhub  The general process is to • Create a Mule Domain Project and associate Mule applications with a domain • Define a set of resources for a domain to share between apps  Currently supported connectors • HTTP/HTTPS, VMQ, Database, JMS, VM, Jboss and Bitronix Transaction Managers
  • 16. Creating Mule Domain Project Walk Through Demo Module 06
  • 17. Summary  Separate a flow into multiple flows for easier to read files and for reusability  Extract duplicate code into reusable private flows or subflows  Private flows are flows without message sources  Subflows are executed exactly as if in the calling flow • always run synchronously • Inherit processing and exception strategies of the calling flow  A flow processing strategy determines how Mule implements message processing for a given flow • All Mule flows have an implicit processing strategy which Mules apply automatically • Endpoints with a request-response exchange pattern are set to synchronous • Endpoints with a one-way exchange  Use Flow Reference to let flows directly reference one another without a transport in a middle  Use the Java Virtual Machine (VM) transport for intra-JVM communication between Mule flows  Flow variables persist through all flows unless the message crosses a transport boundary (like VM or HTTP)  Session variable persist across some but not all transport barriers (VM yes, HTTP no)  Separate application functionality into multiple configuration files  Share resources between applications by creating a shared Domain
  • 19. Consuming RESTful Web Services  First check and see if there is an existing Anypoint Connector to connect to the service provider  If there is not, use the HTTP Request connector • For the connector:  Specify host, port, and optionally, a base path • For the endpoint  Specify path and method
  • 20. Passing data to a RESTful web service  For an HTTP Request endpoint, you can add parameters • URI parameters • Query parameters • Headers  Send form parameters with a request by setting them in the payload  Include attachments by adding an Attachment transformer to your flow
  • 21. Consuming RESTful Web Services Walk Through Demo Module 07
  • 22. Consuming SOAP Web Services Mule's SOAP support is based on Apache CXF  CXF is a web services framework in Java for SOAP messaging  Handles all serialization and deserialization  Handles all SOAP envelope and namespace processing  Developer sees only POJOs, etc. - not SOAP XML
  • 23. Consuming SOAP Web Services  First check and see if there is an existing Anypoint Connector to connect to the service provider  If there is not, use the Web Service Consumer connector • provide the location of the WSDL • The rest will be configured for you: host, port, address, available operations  If you need more features, use the CXF component • Also used to expose an endpoint as a SOAP service
  • 24. Consuming SOAP Web Services Walk Through Demo Module 08
  • 25. Passing Arguments to SOAP Web Services with DataWeave Use DataWeave to add and map an input argument
  • 26. Passing Arguments to SOAP Web Services with DataWeave Walk Through Demo Module 09
  • 27. Summary  Use the HTTP Request connector to consume REST web services  Use the Web Service Consumer connector to consume SOAP web services  Use the DataWeave Transform Message component to pass arguments to SOAP web services