Mule이란 Java기반의 경량 메세지 프레임워크이다. 이를 사용하면 어플리케이션들 사이에 데이터를 교환하는 것이 쉽게 된다. Mule은 서비스 기반 아키텍쳐(Service Oriented Architecture)로 만들어져서 기존의 시스템에 쉽게 적용(integration)하는 것이 가능하다. Mule을 사용하면 어플리케이션이 사용하는 기술이 서로 상이(JMS, Web Services, JDBC, HTTP 등) 하더라도 상관없이 메세지를 보내거나 받을 수 있다.

Mule 프레임워크는 매우 확장성있고(Scalable), 작게 시작해서 시간에 걸쳐서 점점 더 늘려가는 것이 가능하다. Mule은 같은 서버에 있든 서로 다른 서버에 있든 어떤 기저 프로토콜을 사용하든지 관계없이  어플리케이션들 사이, 또는 컴포너트들 상이의 상호동작을 투명하게 관리한다.

Mule을 고안한 모토는 Enterprise Service Bus(ESB) 아키텍쳐이다. ESB의 주 장점은 인트라넷 또는 인터넷에서 어플리케이션 간에 데이터를 주고 받는 매개자 역할이다. 

Mule is based on ideas from Enterprise Service Bus (ESB) architectures. The key advantage of an ESB is that it allows different applications to communicate with each other by acting as a transit system for carrying data between applications within your intranet or across the Internet. There are currently several commercial ESB implementations on the market. However, many of these provide limited functionality or are built on top of an existing application server or messaging server, locking you into that specific vendor. Mule is vendor-neutral, so different vendor implementations can plug in to it. You are never locked in to a specific vendor when you use Mule.  

Mule provides many advantages over competitors, including:

  • Mule components can be any type you want. You can easily integrate anything from a "plain old Java object" (POJO) to a component from another framework.
  • Mule and the ESB model enable significant component reuse. Unlike other frameworks, Mule allows you to use your existing components without any changes. Components do not require any Mule-specific code to run in Mule, and there is no programmatic API required. The business logic is kept completely separate from the messaging logic.
  • Messages can be in any format from SOAP to binary image files. Mule does not force any design constraints on the architect, such as XML messaging or WSDL service contracts.
  • You can deploy Mule in a variety of topologies, not just ESB. Because it is lightweight and embeddable, Mule can dramatically decrease time to market and increases productivity for projects to provide secure, scalable applications that are adaptive to change and can scale up or down as needed.

MuleSource also provides administration tools that allow you to manage your deployments (Mule HQ) and control your infrastructure (Mule Galaxy). These tools are described in more detail in the Administering Mule section.

Ryeonho Heo,
2009. 4. 13. 오후 9:51