Mule (software)
Encyclopedia
Mule is a lightweight enterprise service bus
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 JMS
    Java Message Service
    The 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...

    , JDBC
    Java Database Connectivity
    Java 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...

    , TCP
    Transmission Control Protocol
    The 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...

    , UDP
    User Datagram Protocol
    The 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...

    , Multicast
    Multicast
    In 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...

    , HTTP
    Hypertext Transfer Protocol
    The 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, SMTP
    Simple Mail Transfer Protocol
    Simple 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...

    , POP3
    Post Office Protocol
    In 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, XMPP
    Extensible Messaging and Presence Protocol
    Extensible 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 ESB
    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...

    , ESN, "hub and spoke"
    Spoke-hub distribution paradigm
    The 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 services
    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...

     and WS-* support using Apache CXF
    Apache CXF
    Apache 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...

    , Xfire
    Xfire
    Xfire 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...

    , Axis
    Apache Axis
    Apache 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 Glue
    WebMethods Glue
    webMethods Glue is an enterprise web services platform from webMethods to provide web services/SOAP capabilities to existing Java and C/C++ applications....

  • Integration with JBoss
    JBoss
    JBoss 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 management
    Security management
    Security 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 Patterns
    Enterprise Integration Patterns
    Enterprise 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 ESB
    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...

     container.

Supporting tools

  1. Mule IDE, which is a set of Eclipse
    Eclipse (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.
  2. Mule Studio a graphical tool for designing, testing and running Mule flows.
  3. MuleForge provides a hosted project environment for Mule extensions such as Transports Modules, examples and core extensions. MuleForge provides its project management environment using Atlassian
    Atlassian
    Atlassian 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 UltraESB
    UltraESB
    UltraESB 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 ServiceMix
    Apache ServiceMix
    Apache 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 source
    Open source
    The 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 ESB
    FUSE ESB
    Fuse 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á DSL
    Guaraná DSL
    Guaraná 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 ESB
    Open ESB
    Open 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

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK