Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

Event-driven services in SOA

Design an event-driven and service-oriented platform with Mule

  • Print
  • Feedback

Page 4 of 7

I use the Mule framework to demonstrate the concepts and ideas discussed in this article.

The Mule architecture

The Mule architecture consists primarily of the following elements:

The Universal Message Object (UMO) API

The UMO API defines the services and interactions of objects to be managed by Mule.

UMO components

UMO components can be any component in the Mule system that receives, processes, and sends data as event messages.

Mule server

The Mule server component is a server application launched to bootstrap the Mule environment.

Descriptors

The descriptor components describe a Mule UMO's attributes. New Mule UMOs can be initialized as needed from their associated descriptor. A descriptor consists of:

  • The UMO component name
  • The UMO component version
  • The UMO component implementation class
  • An exception strategy
  • Inbound and outbound providers
  • Inbound and outbound routers
  • Interceptors
  • Receive and send endpoints
  • Inbound and outbound transformers
  • Miscellaneous properties


Connectors

Connectors are components that provide the implementation for connecting to an external system or protocol and managing the session for that system or protocol. A connector is responsible for sending data to an external message receiver and for managing the registration and deregistration of message receivers.

Providers

Providers are components that manage the sending, receiving, and transformation of event data to and from external systems. They enable connections to external systems or other components in Mule. A provider acts as a bridge from the external system into Mule and vice versa. It is, in fact, a composite of a set of objects used to connect to and communicate with the underlying system. The elements of a provider are:

  • Connector:Responsible for connecting to the underlying system
  • Message receiver:Used to receive events from the system
  • Connector dispatchers:Pass data to the system
  • Transformers:Convert data received from the system and data being sent to the system
  • Endpoint:Used as the channel address through which a connection is made
  • Transaction configuration:Used to define the connection's transactional properties


Endpoint resolvers

Endpoint resolvers determine what method to invoke on a UMO component when the component receives an event.

Transformers

Transformer components transform message or event payloads to and from different data formats. Transformers can be chained together to perform successive transforms on an event before an object receives it.

Message adapters

Message adapters provide a common manner in which to read disparate data from external systems.

Message receivers

Message receivers are listener-endpoint threads that receive data from an external system.

Message dispatchers

Message dispatchers send (synchronous) or dispatch (asynchronous) events to the underlying technology.

Message routers

Message routers are components that can be configured for a UMO component to route a message to deferent providers based on the message or other configuration.

Agents

Agents are components that bind to external services such as Java Management Extension servers.

  • Print
  • Feedback

Resources