SlideShare a Scribd company logo
1 of 22
Mule ESB
What is Mule ESB?
• Mule is a lightweight Java-based enterprise service bus (ESB) and integration
platform that allows developers to connect applications together quickly and
easily, enabling them to exchange data and allows different applications to
communicate with each other by acting as a transit system for carrying data
between applications within your enterprise or across the Internet.
• It enables easy integration of existing systems, regardless of the different
technologies that the applications use.
Example: JMS, Web Services, JDBC, HTTP, and more
Capabilities of Mule
• Service creation and hosting — expose and host reusable services, using the ESB
as a lightweight service container
• Service mediation — shield services from message formats and protocols,
separate business logic from messaging, and enable location-independent service
calls
• Message routing — route, filter, aggregate, and re-sequence messages based on
content and rules
• Data transformation — exchange data across varying formats and transport
protocols
Do I need an ESB and when to select an ESB?
It is form the article written by MuleSoft founder and VP of Product Strategy Ross Mason: To ESB or not to ESB.
1. Are you integrating 3 or more applications/services?
2. Will you need to plug in more applications in the future?
3. Do you need to use more than one type of communication protocol?
4. Do you need message routing capabilities such as forking and aggregating
message flows, or content-based routing?
5. Do you need to publish services for consumption by other applications?
Advantages of Mule provides over other
competitors
• Mule's stage event-driven architecture (SEDA) makes it highly scalable.
• Mule components can be any type you want. You can easily integrate anything from
a "plain old Java object" (POJO) to a component from another framework.
• Mule and the ESB model enable significant component reuse.
• Unlike other frameworks, Mule allows you to use your existing components without
any changes. Components do not require any Mule-specific code to run in Mule,
and there is no programmatic API required. The business logic is kept completely
separate from the messaging logic.
Mule Enterprise
• There are two editions of Mule. Community and Enterprise.
• Enterprise is the enterprise-class version of the ESB, with additional features
and capabilities that are ideal for production deployments of Mule that have
requirements for performance, HA, resiliency, or technical support.
https://www.mulesoft.com/platform/soa/mule-esb-enterprise
Installation
Anypoint Studio
• Canvas /Message Flow
• Global Elements
• Configuration XML
• Palette ( where mule building blocks/elements are available )
1. Connector 4. Transformers
2. Scope 5. Filters
3. Components 6. Flow Control elements (or "Routers")
Message Sources
• Mule processes messages, also known as events.
• which may be transmitted from resources external to Mule.
Example: A message can be initiated by an event
• Such as a consumer request from a mobile device.
• A change to data in a database.
• The creation of a new customer ID in a Software as a service(Saas) application.
• The first building block of most flows is a receiver which receives new messages and places them in the queue for processing. This
message source – receives messages from one or more external sources, thus triggering the execution of a flow.
• Message sources in Mule are usually Anypoint Connectors, elements which provide connectivity to a specific external source, either via
a standard protocol (such as HTTP, FTP, SMTP) or a third-party API (such as Salesforce.com, Twitter, or MongoDB.)
Message Processors
• In Mule, message processors are grouped together by category.
• Mule transformers are the key to exchanging data between nodes.
• Mule to convert message payload data to a format that another application can
understand.
• Mule uses Staged Event-Driven Architecture (SEDA) for core asynchronous
message processing in flows.
• Importantly, components don’t have to have any Mule-specific code.
• It can be simply be POJOs, Spring beans, Java beans, Groovy scripts, Python, JavaScript,
Ruby, and PHP or web services containing the business logic for processing data.
Mule Flow
• A flow is the most versatile and powerful
integration mechanism available in Mule.
• A flow is the construct within which you link
together several individual elements to handle the
receipt, processing, and eventual routing of a
message.
• You can connect many flows together to build a
complete application and each names should be
unique.
Private Flows, Sub Flows, Flow-Ref
Mule Message Structure
The Mule message is the data that passes through an application
via one or more flows. It consists of two main parts:
• The message header, which contains metadata about the
message.
• The message payload, which contains your business-specific
data.
• A Mule message is, itself, embedded within a Mule message
object.
• Some Mule message objects may contain variables,
attachments, and exception payloads
Mule Expression Language
Mule Expression Language (MEL) is the primary language used for formulating
expressions in Mule, allows us to access, manipulate, and use information from
the message and its environment.
• MEL is a lightweight and Mule-specific expression language that you can use to access and
evaluate the data in the payload, properties and variables of a Mule message.
• Accessible and usable from within virtually every message processor in Mule.
• MEL enables you to quickly and elegantly filter, route, or otherwise act upon the different
parts of the Mule message object.
#[message.inboundProperties.propertyName]
Properties & Variables
• The metadata contained in the message header consists of properties which
provide useful information about the message.
• Properties and Variables share a common format: each individual property or
variable has a name and a value.
• A message’s properties and variables have specific scopes that define and
organize how they apply across that message’s lifecycle.
• Properties have two main scopes: inbound and outbound.
• Inbound properties are immutable, are automatically generated by the message source and
cannot be set or manipulated by the user.
• Outbound properties are mutable; they are set during the course of a flow and can become
inbound properties when the message passes from the outbound endpoint of one flow to the
inbound endpoint of a different flow via a transport.
• Variables are user-defined metadata about a message. Variables have three scopes:
• Flow variables apply only to the flow in which they exist.
• Session variables apply across all flows within the same application.
• Record variables apply to only to records processed as part of a batch.
Anypoint Studio
• Palette (Message Processors)
1. Connector
2. Scope
3. Components
4. Transformers
5. Filters
6. Flow Control elements (or "Routers")
7. Error Handling
8. Security
Anypoint Connectors
• Anypoint Connectors receive or send messages between Mule and one or
more external sources.
• Connectors can act as message sources by working as inbound endpoints.
• Connectors can act as a message processor that performs an operation in the
middle of a flow.
• Connectors can be at the end of a flow and act as the recipient of the final
payload data.
Connectors in Mule are either endpoint-based or operation-based
Endpoint-Based Connectors
• Endpoint-based connectors follow either a one-way or request-response exchange pattern.
• Endpoint-based connectors are configured as either inbound or outbound endpoints in a flow.
• Inbound endpoints serve as a message source for a flow.
• Outbound endpoints can occur mid-flow or at the end of flows and send information to external
systems.
• Connectors often (but not always) named and based around a standard data communication
protocol
such as FTP and SMTP.
Operation-Based Connectors
• Operation-based connectors follow an information exchange pattern based on the operation that
you select and are often (but not always) named and based around one or more specific third-party
APIs.
• When you add an operation-based connector to your flow, you immediately define a specific
operation for that connector to perform.
Global Connector Configurations
Components
• Components are the message processors which is embedded with business
logic and it is executes on message.
• Components fall into three categories
1. General Components
2. Script Components
3. Web service Components.
• General Components
• General components execute whenever a message is received.
• The logic embedded into General components cannot be modified.
• Components such as the Logger and Flow Reference fall into this category.
• Script Components
Script components do not contain pre-packaged logic. Instead it allows the developer to specify the logic
(in the form of a custom script or a Java class) to add into the component.
• Script components also allow you to:
• Configure interceptors
• Add Spring beans
• Change the value or reference of a specific property within the associated class
• The Java Component allows you to reference a Java class.
• The other Script components support the Groovy, JavaScript, Python and Ruby scripting engines
• sd

More Related Content

What's hot (14)

Mule
MuleMule
Mule
 
Mule rabbit mq
Mule rabbit mqMule rabbit mq
Mule rabbit mq
 
Mule esb basic introduction
Mule esb basic introductionMule esb basic introduction
Mule esb basic introduction
 
Overview of Mule
Overview of MuleOverview of Mule
Overview of Mule
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule concepts elements in a mule flow
Mule concepts elements in a mule flowMule concepts elements in a mule flow
Mule concepts elements in a mule flow
 
Mule rabbitmq
Mule rabbitmqMule rabbitmq
Mule rabbitmq
 
mulesoft filters
mulesoft filtersmulesoft filters
mulesoft filters
 
Mule overview
Mule overviewMule overview
Mule overview
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb messages
Mule esb messagesMule esb messages
Mule esb messages
 
Mule message structure
Mule message structureMule message structure
Mule message structure
 
Mule: Java Component
Mule: Java ComponentMule: Java Component
Mule: Java Component
 
Muleflowarchitecture
MuleflowarchitectureMuleflowarchitecture
Muleflowarchitecture
 

Similar to Mule ESB Lightweight Java Integration Platform

Similar to Mule ESB Lightweight Java Integration Platform (20)

Mule esb naveen
Mule esb naveenMule esb naveen
Mule esb naveen
 
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
 
Mule esb and_relevant_components
Mule esb and_relevant_componentsMule esb and_relevant_components
Mule esb and_relevant_components
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule chapter2
Mule chapter2Mule chapter2
Mule chapter2
 
Mule concepts
Mule conceptsMule concepts
Mule concepts
 
Mule enterprise service introduction
Mule enterprise service introductionMule enterprise service introduction
Mule enterprise service introduction
 
Introduction to Mule ESB
Introduction to Mule ESBIntroduction to Mule ESB
Introduction to Mule ESB
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb Basics
Mule esb BasicsMule esb Basics
Mule esb Basics
 

Recently uploaded

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

Mule ESB Lightweight Java Integration Platform

  • 2. What is Mule ESB? • Mule is a lightweight Java-based enterprise service bus (ESB) and integration platform that allows developers to connect applications together quickly and easily, enabling them to exchange data and allows different applications to communicate with each other by acting as a transit system for carrying data between applications within your enterprise or across the Internet. • It enables easy integration of existing systems, regardless of the different technologies that the applications use. Example: JMS, Web Services, JDBC, HTTP, and more
  • 3. Capabilities of Mule • Service creation and hosting — expose and host reusable services, using the ESB as a lightweight service container • Service mediation — shield services from message formats and protocols, separate business logic from messaging, and enable location-independent service calls • Message routing — route, filter, aggregate, and re-sequence messages based on content and rules • Data transformation — exchange data across varying formats and transport protocols
  • 4. Do I need an ESB and when to select an ESB? It is form the article written by MuleSoft founder and VP of Product Strategy Ross Mason: To ESB or not to ESB. 1. Are you integrating 3 or more applications/services? 2. Will you need to plug in more applications in the future? 3. Do you need to use more than one type of communication protocol? 4. Do you need message routing capabilities such as forking and aggregating message flows, or content-based routing? 5. Do you need to publish services for consumption by other applications?
  • 5. Advantages of Mule provides over other competitors • Mule's stage event-driven architecture (SEDA) makes it highly scalable. • Mule components can be any type you want. You can easily integrate anything from a "plain old Java object" (POJO) to a component from another framework. • Mule and the ESB model enable significant component reuse. • Unlike other frameworks, Mule allows you to use your existing components without any changes. Components do not require any Mule-specific code to run in Mule, and there is no programmatic API required. The business logic is kept completely separate from the messaging logic.
  • 6. Mule Enterprise • There are two editions of Mule. Community and Enterprise. • Enterprise is the enterprise-class version of the ESB, with additional features and capabilities that are ideal for production deployments of Mule that have requirements for performance, HA, resiliency, or technical support. https://www.mulesoft.com/platform/soa/mule-esb-enterprise
  • 8. Anypoint Studio • Canvas /Message Flow • Global Elements • Configuration XML • Palette ( where mule building blocks/elements are available ) 1. Connector 4. Transformers 2. Scope 5. Filters 3. Components 6. Flow Control elements (or "Routers")
  • 9. Message Sources • Mule processes messages, also known as events. • which may be transmitted from resources external to Mule. Example: A message can be initiated by an event • Such as a consumer request from a mobile device. • A change to data in a database. • The creation of a new customer ID in a Software as a service(Saas) application. • The first building block of most flows is a receiver which receives new messages and places them in the queue for processing. This message source – receives messages from one or more external sources, thus triggering the execution of a flow. • Message sources in Mule are usually Anypoint Connectors, elements which provide connectivity to a specific external source, either via a standard protocol (such as HTTP, FTP, SMTP) or a third-party API (such as Salesforce.com, Twitter, or MongoDB.)
  • 10. Message Processors • In Mule, message processors are grouped together by category. • Mule transformers are the key to exchanging data between nodes. • Mule to convert message payload data to a format that another application can understand. • Mule uses Staged Event-Driven Architecture (SEDA) for core asynchronous message processing in flows. • Importantly, components don’t have to have any Mule-specific code. • It can be simply be POJOs, Spring beans, Java beans, Groovy scripts, Python, JavaScript, Ruby, and PHP or web services containing the business logic for processing data.
  • 11. Mule Flow • A flow is the most versatile and powerful integration mechanism available in Mule. • A flow is the construct within which you link together several individual elements to handle the receipt, processing, and eventual routing of a message. • You can connect many flows together to build a complete application and each names should be unique. Private Flows, Sub Flows, Flow-Ref
  • 12. Mule Message Structure The Mule message is the data that passes through an application via one or more flows. It consists of two main parts: • The message header, which contains metadata about the message. • The message payload, which contains your business-specific data. • A Mule message is, itself, embedded within a Mule message object. • Some Mule message objects may contain variables, attachments, and exception payloads
  • 13. Mule Expression Language Mule Expression Language (MEL) is the primary language used for formulating expressions in Mule, allows us to access, manipulate, and use information from the message and its environment. • MEL is a lightweight and Mule-specific expression language that you can use to access and evaluate the data in the payload, properties and variables of a Mule message. • Accessible and usable from within virtually every message processor in Mule. • MEL enables you to quickly and elegantly filter, route, or otherwise act upon the different parts of the Mule message object. #[message.inboundProperties.propertyName]
  • 14. Properties & Variables • The metadata contained in the message header consists of properties which provide useful information about the message. • Properties and Variables share a common format: each individual property or variable has a name and a value. • A message’s properties and variables have specific scopes that define and organize how they apply across that message’s lifecycle.
  • 15. • Properties have two main scopes: inbound and outbound. • Inbound properties are immutable, are automatically generated by the message source and cannot be set or manipulated by the user. • Outbound properties are mutable; they are set during the course of a flow and can become inbound properties when the message passes from the outbound endpoint of one flow to the inbound endpoint of a different flow via a transport.
  • 16. • Variables are user-defined metadata about a message. Variables have three scopes: • Flow variables apply only to the flow in which they exist. • Session variables apply across all flows within the same application. • Record variables apply to only to records processed as part of a batch.
  • 17. Anypoint Studio • Palette (Message Processors) 1. Connector 2. Scope 3. Components 4. Transformers 5. Filters 6. Flow Control elements (or "Routers") 7. Error Handling 8. Security
  • 18. Anypoint Connectors • Anypoint Connectors receive or send messages between Mule and one or more external sources. • Connectors can act as message sources by working as inbound endpoints. • Connectors can act as a message processor that performs an operation in the middle of a flow. • Connectors can be at the end of a flow and act as the recipient of the final payload data.
  • 19. Connectors in Mule are either endpoint-based or operation-based Endpoint-Based Connectors • Endpoint-based connectors follow either a one-way or request-response exchange pattern. • Endpoint-based connectors are configured as either inbound or outbound endpoints in a flow. • Inbound endpoints serve as a message source for a flow. • Outbound endpoints can occur mid-flow or at the end of flows and send information to external systems. • Connectors often (but not always) named and based around a standard data communication protocol such as FTP and SMTP. Operation-Based Connectors • Operation-based connectors follow an information exchange pattern based on the operation that you select and are often (but not always) named and based around one or more specific third-party APIs. • When you add an operation-based connector to your flow, you immediately define a specific operation for that connector to perform. Global Connector Configurations
  • 20. Components • Components are the message processors which is embedded with business logic and it is executes on message. • Components fall into three categories 1. General Components 2. Script Components 3. Web service Components.
  • 21. • General Components • General components execute whenever a message is received. • The logic embedded into General components cannot be modified. • Components such as the Logger and Flow Reference fall into this category. • Script Components Script components do not contain pre-packaged logic. Instead it allows the developer to specify the logic (in the form of a custom script or a Java class) to add into the component. • Script components also allow you to: • Configure interceptors • Add Spring beans • Change the value or reference of a specific property within the associated class • The Java Component allows you to reference a Java class. • The other Script components support the Groovy, JavaScript, Python and Ruby scripting engines