2. Introduction :
Configuring Mule involves XML, and though
using a decent XML editor can help a lot,
there are still a enough angle brackets to
warrant a coffee break as projects get more
complicated.
As the number of flows and components in a
Mule project increases, so does the amount
of noise in its configuration files, making it
harder and harder to understand and
maintain them.
4. Pattern Types :
Simple Service
Web Service Proxy
Bridge
Validator
HTTP Proxy
5. Simple Service :
Exposes JAX-WS annotated components as
SOAP web services.
Exposes JAX-RS annotated beans as RESTful
components.
The simple service pattern is used to expose a
component as a request-response service.
Several types of components are supported:
POJOs
JAX-WS services
JAX-RS services
JAXB and XPath processing components
6. Web Service Proxy
Proxies remote web services. Can perform
transformations on the SOAP envelope.
Can rewrite or redirect remoteWSDLs to
local ones.
7. Bridge :
Establishes a direct conduit between an inbound
endpoint and an outbound endpoint.
Supports request-response and one-way bridging.
Can perform transformations.
Supports transactional bridging of inbound to
outbound.
The bridge pattern is used to bridge an inbound and
outbound endpoint. Here’s an example that bridges an
http and vm endpoint:
8. Validator :
Validates inbound messages against a
defined acceptance filter.
Returns an ACK or NACK response
synchronously and dispatches valid messages
asynchronously.
9. HTTP Proxy :
Sits between a caller application and a target
web resource, propagating HTTP requests
and responses.
You can use it to access remote web
resources in a controlled manner.
10. Configuration patterns, which are, by design, not
as powerful as either of the others.They have
instead been designed for ease of use.The four
configuration patterns that exist today make
things that people do all the time simple,
understandable, and fast to create.
In short, if one of the configuration patterns
solves your problem, use it. It’s like using a library
class that solves a programming problem instead
of coding a new one that duplicates it. If your
problem doesn’t match one of the configuration
patterns, use a flow.