MVNO패키지 개발 Wiki

 

Mule Overview

Page history last edited by 씨니 3 yrs ago

개요

Mule 은 ESB(Enterprise Service Bus) Framework 입니다. Mule 다양한 연동규격을 사용하는 서비스, application등과 쉽게 연동할수 있도록 해주는 확장성있는 Object Broker역할을 합니다.

 

아래 그림과 같이 mule은 다양한 transport 계층과 연동하여 서비스를 연계할 수 있도록 해줍니다.

 

 

아키텍쳐

Mule 은 기본적인 아키텍쳐는 아래와 같습니다.

 

위 그림에서 Mule은 유명한(?) Enterprise Integration Pattern을 적용하여 크게 아래와 같이 구성되어 있습니다.

  • Provider (Connector, Receiver/Dispatcer, Transformer) : 데이터를 수신/변환/전송하는 모듈
  • Router : Provider로부터 받은 object를 전달을 담당하는 모듈, filter를 둘수 있고 다양한 router를 필요에 따라 구성할 수 있다.
  • UMO Component : Business기능을 위해 작성되는 모듈. Mule에 대한 dependency 없이 일반 java class로 작성가능함.

 

Mule 은 아래와 같은 provider를 제공하고 있으며 필요에 따라 추가적으로 개발하여 적용할 수 있습니다.

 

AS400 DQ ProviderConnectivity to IBM AS400 Data Queue messaging server.
Ejb ProviderAllows Ejb invocations to be made using outbound endpoints.
Email Provider This Provider supplies various email connectivity options.
File Provider This connector allows files to be read and written to irectories on the local file system. The connector can be configured to filter the file it reads and the way files are written, such as whether binary output is used or the file is appended to.
Ftp Provider Allows files to be read / written to a remote ftp server.
Http Provider This provider supplies Http and Https transport of mule events between applications and other Mule servers.
Imap Provider Connectivity to Imap mail folders including IMAPs (secure) support.
Jdbc Provider A Mule provider for Jdbc Connectivity.
Jms Provider A Mule provider for Jms Connectivity. Mules itself is not a Jms server but can use the services of any Jms 1.1 or 1.02b compliant server such as ActiveMq, OpenJms, Joram, JBossMQ and commercial vendors such as WeblogicMQ, WebspereMQ, SonicMQ, SeeBeyond, etc.
Multicast Provider Allows your components to receive an send events via IP multicast groups.
Pop3 Provider Connectivity to POP3 inboxes including POP3s (secure) support.
Quartz Provider Provides scheduling facilities with cron / interval definitions and allows Mule events to be sheduled/rescheduled.
Rmi Provider Enables event to be sent and received over rmi via jrmp.
Servlet Provider Provides connectivity to the Mule server via servlets. provides facilities for Mule components to listen for events received via a servlet request. There is also a servlet implementation that uses the Servlet provider to enable REST style services access. Note this transport is now bundled with the Http transport.
Smtp Provider Connectivity to Smtp servers including SMTPs (secure) support.
Soap Provider Enables your components to be exposed as web services and to act as soap clients. The Soap provider supports Web Methods Glue and Apache Axis.
Ssl Provider Provides secure socket-based communication using SSL or TLS.
Stream Provider This provider allows connectivity to Streams such as System.in and System.out and is useful for testing.
Tcp Provider Enables events to be sent and received over tcp sockets.
Udp Provider Enables events to be sent and received as datagram packets.
Vfs Provider Enables access to and from various protocols such as WebDav, Samba, File System, Jar/Zip and more. This transport is currently in the Sandbox.
Vm Provider A Mule provider that enables event sending and receiving over VM or embedded memory or persistent queues.
WSDL Provider The WSDL transport provider can be used to for invoking remote web services by obtaining the service WSDL. Mule will create a dynamic proxy for the service then invoke it.
Xmpp Provider A Mule provider for connectivity over Xmpp (Jabber) instant messaging protocol

 

Mule은 Geronimo 서버를 내장하여 Standalone 서버로서도 사용가능하며 다양한 WAS에 배포되어 사용도 가능합니다. 또한 다양한 Framework들과 연동을 지원하고 있습니다. 지원되는 Framework은 아래와 같습니다.

  • Spring
  • Hivemind
  • Pico Container
  • Plexus

 

그밖에 Jmx 지원을 통해 처리 데이터 현황이나 connector의 기동정지등 control이 가능하고 AOP기능 (interceptor)을 통해 로깅등 기능을 business component에서 분리할 수 있도록 하고 있습니다.

 

홈페이지에서는 아래와 같은 key feature를 제시하고 있습니다.

* J2EE 1.4 Enterprise Service Bus (ESB) and Messaging broker

* Pluggable connectivity such as JMS (1.0.2b and 1.1), VM (embedded), JDBC, TCP, UDP, multicast, http, servlet, SMTP, POP3, file, XMPP.

* JBI Integration.

* Orchestration of services using WS-BPEL and Mule components and routers.

* Support for asynchronous, synchronous and request-response event processing over any transport.

* Web Services using XFire (STaX-based) Axis or Glue.

* Flexible deployment Topologies including Client/Server, Peer-to-Peer, ESB and Enterprise Service Network.

* Declarative and Programmatic transaction support including XA support.

* End-to-End support for routing, transport and transformation of events.

* Spring framework Integration. Can be used as the ESB container and Mule can be easily embedded into Spring applications.

* Highly scalable enterprise server using the SEDA processing model.

* REST API to provide technology agnostic and language neutral web based access to Mule Events

* Powerful event routing based on patterns in the popular EIP book.

* Dynamic, declarative, content-based and rule-based routing options.

* Non-Intrusive approach. Any object can be managed by the ESB container.

* Powerful Application Integration framework

* Fully extensible development model

Comments (0)

You don't have permission to comment on this page.