Mule (software)
Encyclopedia
Mule is a lightweight enterprise service bus
(ESB) and integration framework. It can handle services and applications using disparate transport and messaging technologies. The platform is Java
-based, but can broker interactions between other platforms such as .NET
using web service
s or sockets
.
The architecture is a scalable, highly-distributable object broker that can seamlessly handle interactions across legacy systems, in-house applications and almost all modern transports and protocols.
Mule has an integration engine, but the community edition lacks the support for Advanced Management interfaces. MuleSoft offers an Enterprise Edition of Mule that provides a rich Management console, a Service registry, and High Availability.
Enterprise service bus
An enterprise service bus is a software architecture model used for designing and implementing the interaction and communication between mutually interacting software applications in Service Oriented Architecture...
(ESB) and integration framework. It can handle services and applications using disparate transport and messaging technologies. The platform is Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
-based, but can broker interactions between other platforms such as .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
using web service
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...
s or sockets
Berkeley sockets
The Berkeley sockets application programming interface comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly for communications across a computer network....
.
The architecture is a scalable, highly-distributable object broker that can seamlessly handle interactions across legacy systems, in-house applications and almost all modern transports and protocols.
Features
Some of the key features of Mule are:- Pluggable connectivity, for around 50 protocols including JMSJava Message ServiceThe Java Message Service API is a Java Message Oriented Middleware API for sending messages between two or more clients. JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914...
, JDBCJava Database ConnectivityJava DataBase Connectivity, commonly referred to as JDBC, is an API for the Java programming language that defines how a client may access a database. It provides methods for querying and updating data in a database. JDBC is oriented towards relational databases...
, TCPTransmission Control ProtocolThe Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
, UDPUser Datagram ProtocolThe User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...
, MulticastMulticastIn computer networking, multicast is the delivery of a message or information to a group of destination computers simultaneously in a single transmission from the source creating copies automatically in other network elements, such as routers, only when the topology of the network requires...
, HTTPHypertext Transfer ProtocolThe Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web....
, servlet, SMTPSimple Mail Transfer ProtocolSimple Mail Transfer Protocol is an Internet standard for electronic mail transmission across Internet Protocol networks. SMTP was first defined by RFC 821 , and last updated by RFC 5321 which includes the extended SMTP additions, and is the protocol in widespread use today...
, POP3Post Office ProtocolIn computing, the Post Office Protocol is an application-layer Internet standard protocol used by local e-mail clients to retrieve e-mail from a remote server over a TCP/IP connection. POP and IMAP are the two most prevalent Internet standard protocols for e-mail retrieval. Virtually all modern...
, file, XMPPExtensible Messaging and Presence ProtocolExtensible Messaging and Presence Protocol is an open-standard communications protocol for message-oriented middleware based on XML . The protocol was originally named Jabber, and was developed by the Jabber open-source community in 1999 for near-real-time, extensible instant messaging , presence...
. - Message routing capabilities
- Deployment topologies including ESBEnterprise service busAn enterprise service bus is a software architecture model used for designing and implementing the interaction and communication between mutually interacting software applications in Service Oriented Architecture...
, ESN, "hub and spoke"Spoke-hub distribution paradigmThe hub-and-spoke distribution paradigm is a system of connections arranged like a chariot wheel, in which all traffic moves along spokes connected to the hub at the center...
and client server - Web servicesWeb serviceA Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...
and WS-* support using Apache CXFApache CXFApache CXF is an open-source, fully featured Web services framework. It originated as the combination of two open-source projects: Celtix developed by IONA Technologies and XFire developed by a team hosted at Codehaus. These two projects were combined by people working together at the Apache...
, XfireXfireXfire is a proprietary freeware instant messaging service for gamers, that also serves as a game server browser and has various other features. It is currently available for Microsoft Windows. Xfire was originally developed by Ultimate Arena based in Menlo Park, California...
, AxisApache AxisApache Axis is an open source, XML based Web service framework. It consists of a Java and a C++ implementation of the SOAP server, and various utilities and APIs for generating and deploying Web service applications. Using Apache Axis, developers can create interoperable, distributed computing...
and GlueWebMethods GluewebMethods Glue is an enterprise web services platform from webMethods to provide web services/SOAP capabilities to existing Java and C/C++ applications.... - Integration with JBossJBossJBoss Application Server is an open-source Java EE-based application server. An important distinction for this class of software is that it not only implements a server that runs on Java, but it actually implements the Java EE part of Java...
and other application servers - Spring integration
- Transformation layer
- Integrated security managementSecurity managementSecurity Management is a broad field of management related to asset management, physical security and human resource safety functions. It entails the identification of an organization's information assets and the development, documentation and implementation of policies, standards, procedures and...
Concepts
- Supports routing and message auditing capabilities as defined in Enterprise Integration PatternsEnterprise Integration PatternsEnterprise Integration Patterns is a book by Gregor Hohpe and Bobby Woolf and describes a number of design patterns for the use of enterprise application integration and message-oriented middleware....
by Gregor Hohpe and Bobby Woolf. - Non-intrusive approach. Any object can be managed by the ESBEnterprise service busAn enterprise service bus is a software architecture model used for designing and implementing the interaction and communication between mutually interacting software applications in Service Oriented Architecture...
container.
Supporting tools
- Mule IDE, which is a set of EclipseEclipse (software)Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
plug-ins for developing, deploying and managing Mule projects. - Mule Studio a graphical tool for designing, testing and running Mule flows.
- MuleForge provides a hosted project environment for Mule extensions such as Transports Modules, examples and core extensions. MuleForge provides its project management environment using AtlassianAtlassianAtlassian is a software company based in Sydney, Australia which makes business enterprise software, targeted at software developers. On 1 September 2010, the World Economic Forum announced the company as a Technology Pioneer for 2011.- Products :...
tools.
Mule has an integration engine, but the community edition lacks the support for Advanced Management interfaces. MuleSoft offers an Enterprise Edition of Mule that provides a rich Management console, a Service registry, and High Availability.
See also
- AdroitLogic UltraESBUltraESBUltraESB is a lightweight enterprise service bus capable of supporting many transports and message formats natively. It allows messages to be mediated via Java or JSR 223 scripting languages over the JDK support, and is the first ESB to claim support for Zero-Copy proxying of messages.The initial...
- Apache ServiceMixApache ServiceMixApache ServiceMix is an enterprise-class open-source distributed enterprise service bus and service-oriented architecture . It was built from the ground up on the semantics and APIs of the Java Business Integration specification JSR 208 and released under the Apache License...
, a similar and related open sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
ESB - FUSE ESBFUSE ESBFuse ESB is an open source integration platform based on Apache ServiceMix that supports JBI and OSGi for use in enterprise IT organizations. It is certified, productized and fully supported by the people who wrote the code...
(enterprise ServiceMix) - Guaraná DSLGuaraná DSLGuaraná DSL is a Domain-Specific Language to design enterprise application integration solutions at a high-level of abstraction. The resulting models are platform-independent, so engineers do not need to have skills on a low-level integration technology when designing their solutions...
- Open ESBOpen ESBOpen ESB is a Java based open source enterprise service bus. Open ESB can be used as a platform for both Enterprise Application Integration and SOA. Open ESB is built on open standards....
- Petals ESB
Further reading
- Tijs Rademakers and Jos Dirksen, "Open-Source ESBs in Action" (Manning Publications: Oct 2008, ISBN 1933988215; ISBN 13 978-1933988214), http://www.esbinaction.com
- Peter Delia and Antoine Borg, "Mule 2: A Developer’s Guide" (Apress: Nov 2008, ISBN 143020981X; ISBN 13 978-1430209812), http://www.ricston.com/mule-2-developer-guide-to-esb-and-integration-platform/
- David Dossot and John D'Emic, "Mule in Action" (Manning Publications: Apr 2009, ISBN 1933988967; ISBN 13 978-1933988962), http://www.muleinaction.com