[SOA] Mule ESB Linux 部署

来源:互联网 发布:电脑上多重网络 编辑:程序博客网 时间:2024/03/29 16:42
本文介绍如何在 Linux 上部署 Mule ESB。Mule 是一个以Java为核心的轻量级的消息框架和整合平台,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf编写的一本书)而实现的。Mule的核心组件是UMO(Universal Message Objects,从Mule2.0开始UMO这一概念已经被组件Componse所代替),UMO实现整合逻辑。UMO可以是POJO,JavaBean等等。它支持30多种传输协议(file,FTP,UDP,TCP,email,HTTP,SOAP,JMS等),并整合了许多流行的开源项目,比如Spring,ActiveMQ,CXF,Axis,Drools等。

顺便过一下关于ESB(企业服务总线)的概念:


回头继续说说 Mule,Mule Studio是一个功能强大、用户界面友好的基于Eclipse的开发工具(下载地址)。使用者不需要深入了解Mule的XML配置语法,就可以在几分钟内轻松的创建、编辑、测试Mule ESB流程。Mule Studio基于Eclipse技术,包含3个主要部件:项目结构树、工具箱和画布。项目结构树包含整个项目的目录结构。创建Mule项目后将看到Mule项目的名称和如下的文件和目录结构:

路径

描述

src/main/java

存放自定义的Java类

src/main/resources

存放流程图

src/test/resources

存放自定义的Java测试类

Application

存放Mule部署属性文件

Src

Main/app包含流程的xml文件;Main/test包含流程测试相关文件

mule-project.xml

项目metadata文件。可以编辑里面的名字、描述和服务器运行时版本等信息

JRE System Library

Java runtime libraries.

Mule Runtime

Mule runtime libraries.

下图是Mule Studio中的项目结构树截图:



在 test.mflow 里就可以拖过拖拽进行服务流程的控制了。下图是一个简单的 http-inbound / http-outbound 示例。


该示例实际就是实现一个转发功能,Mule ESB 将通过 http://localhost:8090 暴露出内部服务 http://localhost:8080 中间做一个 XML Schema 的校验。查看原始XML配置如下:
    <flow name="proxyFlow" doc:name="proxyFlow">      <http:inbound-endpoint address="http://localhost:8090" encoding="UTF-8" exchange-pattern="request-response" doc:name="HTTP" />      <echo-component doc:name="Echo"/>      <http:outbound-endpoint method="GET" doc:name="HTTP" encoding="UTF-8" address="http://localhost:8080#[header:INBOUND:http.request]" exchange-pattern="request-response"/>    </flow>

接下来看看如何部署 ESB(当然得先准备一个 Web 服务)
1. 导出 Mule 应用:在 MuleStudio 工程上右键 Export  保存一个 .zip 文件。
 

2. 在 Linux 中部署 Mule Manage Console (mmc) 
首先确保 Linux 已安装了 Java 1.6,下载 MMC:tar -xvzf mmc-distribution-mule-console-bundle-3.3.2.tar.gz  解压后在 /mule-enterprise-standalone-3.3.2/bin 目录下运行 mule 这就启动了 Mule mmc 了。接下来可以通过 Mule 的Web 页面进行进一步的部署。


3. 通过 Web 页面部署 Mule 应用(flow)

http://localhost:8585/mmc

添加前面生成的 zip 文件,进行发布。


4. 发布之后的监控
按照下图顺序可以对发布的 Mule 应用进行监控,比如服务的运行情况,还有 Request, Response 等信息。


下次将继续介绍 Mule flow 几种典型场景的配置。

原创粉丝点击