Peter Delia, co-founder with Ross Mason [CTO of Mulesource], of Ricston, based in Malta, is providing today's training, starting with an overview of Mule, Mulesource and Ricston.
SOA Topologies; Mule can be configured to implement any topology
- ESB - see Mule project front page
- ESN
- Peer Network
- Client Server/Hub & Spolke
- Pipeline
Mule Architecture: Each Mule instance connects to many Applications and/or Service Components & other Mule Instances; each Mule Instance has a Mule.Manager & Service Containers; more detail on wiki; Mule supports a wide variety of transport providers.
Core Concepts - see diagram on wiki
- Service Components - can be simple POJO
- Endpoints [message receiver or dispatcher, connector, transformer] & Transport Providers [synchronous & asynchronous endpoints possible]
- Inbound Routers
- Outbound Routers
- Transformers
- Service Manager
Question - running threads in Mule, running Mule on slower, but multi-core machine - it depends on specific needs and processes, as to whether or not it is advisable, but it is possible.
Configuring Mule
- extensible
- XML file
- DTD
- root is UMOManager [Universal Message Object = Service Component]
XML Configuration File Structure
- Mule Environment
- Connectors - used to send & receive data over a particular channel: name, className, 〈ref〉 - it is possible to configure connectors on endpoints
- Transformers: name, className, returnClass, property
- Endpoint - used to control how events are sent & received, best configured on routers; transformers are configured on endpoints; Global endpoints, Endpoint Identifier
- Routers - inbound Routers, outbound Routers, response Routers, filters, catchAllStrategies
- Service Components: mule-descriptor element
- Mule Components
We'll be blogging from MuleCon2007 throughout today and tomorrow.