Mule ESB Studio v3.3 安装使用手册(附文档下载)--by he_sk

Mule ESB Studio v3.3 安装使用手册  from he_sk  下载链接:http://mule3doc.googlecode.com/svn/trunk/others/Mule+ESB+Studio+v3.3%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.docx

 

1      ***初级教程***

如果你还没有做好准备,请到http://www.mulesoft.org下载免费的社区版Mule ESB,按照网站上的说明启动Mule Studio,并且选择一个工作区(另外,你还可以下载30天免费试用的企业版Mule ESB)

2      安装Mule Studio

安装前,请确认你的机器上已经安装了1.6版本的JDK。最后请确认你的JDK环境变量配置是否正确

 

2.1 导出

将下载的文件解压到你的硬盘分区的根目录下,例如:C:\

1. 执行

找到C:\MuleStudio目录,运行muleStudio.exe启动Studio

2. 选择工作区

点击OK使用默认的工作区

 

3      使用Studio模板

1. 点击File 菜单,选择New > Mule Project

2. 出现New Mule Project面板后,为你的项目输入名称和一个简短的说明,如图:

3. 在Server Runtime选项上选择你将要使用的Mule运行时版本,如图:

4. 点击旁边的复选框,根据现有的模板创建项目,单击项目,选择你想要使用的模板创建项目,如图:

5. 点击Finish按钮,Mule Studio会创建并打开一个新的项目,完成预创建和预配置的流程

6. 在Mule Studio的Package Explorer栏中,右键点击mule-config.mflow文件,选择Run As > Mule Application

7. 停止运行该项目,请在Mule Studio控制台点击红色的Terminate按钮,如图:

 

4      运行独立的例子

1. 到MuleESB Standalone目录下,找到Examples目录下你想运行的例子

2. 拷贝.zip文件的例子到$MULE_HOME/apps目录下,例如:运行Flight Reservation example的例子,拷贝mule-example-flight-reservation-3.3.0.zip$MULE_HOME/apps目录下,如图:

3. 启动Mule,运行这个例子

5      启动Mule Studio

如果你在安装过程中启动了MuleStudio,并且已经在运行了,请跳过本节的其余部分,直接进行:创建新项目

 

如果当前MuleStudio没有启动,通过完成下面的步骤启动应用程序

 

1. 找到Mule Studio安装目录

2. 执行muleStudio.exe

3. 点击OK使用默认的工作区

6      创建新项目

1. 如果你看到是各种控制组件的应用程序窗口(右下图),请直接进入第2节。相反(左下图),这是你第一次运行Studio。单击Go to Mule Studio,然后进入第2节

2.点击File > New > Mule Project

3. 在弹出的New Mule Project窗口中输入你的项目名称

4. 点击描述文本框中的任意位置,然后键入与项目有关的描述,需要注意的是Server Settings显示的是Mule Server3.2.1 社区版

5. 点击Next

 

所有项目都包含至少一个消息流程,由于是一个简单的项目,所以只有一个消息流程。我们将把应用程序的名称用作流程的名称,所以请在New Mule Flow面板中输入名称:“Spell Checker”,然后点击描述文本框中的任意位置。

 

注意,Studio会自动将大写字母转换为小写,使用“_”字符替换单词之间的空格,并在结尾追加“. mflow”。结果显示在File name字段中。当你建立Spell Checker应用程序的拖放和拖放界面时,. mflow文件会一直跟踪你的工作。

 

Description中输入任意描述,点击Finish完成创建

7      文件夹设置

Spell Checker应用程序需要一对特殊的文件夹,方便数据的输入和输出。可以通过完成以下步骤来创建它们:

1.      找到Studio菜单> File > Open File >

2.      然后在Open File的窗口中找到你的Studio安装目录,例如:C:\MuleStudio > Examples > SpellChecker

3.      在该目录下创建两个分别以InXMLOutXML命名的文件夹

8      关于Mule流程

在我们的例子中(如下图),Web客户端发送HTTP消息的Inbound Endpoint设置为“request-response”的交换模式。换句话说,用户期望应用程序能够响应他们的请求。

过滤器判断收到的消息是否有效,然后决定丢弃或者传递给流程中的下一个模块(将HTTP请求按照JMS规范进行转换)

接着,用Java编写的一个业务逻辑组件的消息进行处理,然后生成一个回答,传递到另一个转换器,将回答从JMS转回HTTP响应,然后把响应返回给正在等待的Web客户端。

 

 

9      模块部署

你可以从右侧组件栏中拖拽组件到画板上,从而创建一个Mule 流程,组件栏中一共包含七个类别的组件:EndpointsScopesComponentsTransformersFiltersFlow Control、和Cloud Connectors

10            创建Spell Checker流程

1.      在Endpoints类组件栏中找到File,单击并拖放到左侧画板中相应的位置

2.      单击并拖动HTTP,也放在Endpoints组中,但要确保你把它放到File图标的右侧,因此,它会出现在用虚线表示的边框内

3.      松开鼠标按钮后,会有一条箭头线从File组件指向HTTP组件

4.      添加另一个File组件,将Endpoints类组件栏中的File组件拖放到HTTP组件的右侧,必须确保它也出现在用虚线表示的边框内

5.      最后,拖放Ehco组件,将它放到第一个File组件和HTTP组件中间,你的画板展示了一个完整的流程,如下图:

11            配置流程组件

几乎所有的Mule组件提供的配置选项,你都可以通过对话框设置,无需编写XML

 

 

12            File入站端

1.      双击流程中最左侧的File组件,会弹出一个EndpointProperties对话框,默认显示General选项卡,需要注意的是,Mule自动识别这个文件组件为入站端点(Inbound Endpoint)。

2.      在Display Name输入框中,你必须输入一个具有很强描述性的名字,比如:“Incomming data File”

3.      在Path Information面板中,在Path字段输入InXML所在项目的路径,整体路径看起来像这样:C:\MuleStudio\Examples\SpellChecker\InXML

4.      点击OK,完成Incoming Endpoint的配置并返回画板

13            Echo组件

应用启动时,在Studio控制台输出消息的组件,无需特殊配置

 

1.      你也可以在General选项卡的Display Name字段输入名字,在Documentation选项卡的descriptive comments字段输入一些描述信息,当你的鼠标移到该组件上面,会展示出这些信息

2.      点击OK,完成Echo组件的配置并返回画板

14            HTTP Endpoint

这个出站端从后台检索信息(这例子中的后台是Google Spell Checker API

 

1.      双击HTTP组件,在General选项卡中完成配置

Host字段输入www.google.com/tbproxy/spell?lang=en

Port字段输入Google Spell Checker Server使用的端口:80

Method字段输入GoogleSpell Checker Server使用的方法类型:POST

2.      点击OK完成配置

 

如果你打算在公司防火墙后面运行本教程中的应用程序,需要另外配置:

双击HTTP Endpoint,点击References选项卡

点击Connector Reference选项卡右边的"+"图标

点击Proxy Settings,进行如下图配置:

15            File 出站端

1.      双击配置流程右边的File组件

2.      在Path InformationPath字段输入OutXML所在项目的路径,整体路径看起来像这样:C:\MuleStudio\Examples\SpellChecker\OutXML

3.      在Output pattern栏中配置以下输出格式:

#[function:datestamp:dd-MM-yy]_#[function:systime].xml

这会让Mule在OutXML目录下以时间戳的格式给生成数据的文件命名

4.      点击OK完成配置

祝贺你!你已经完成了你的第一个Mule ESB应用

 

可选:点击控制台下方的Configuration XML选项卡切换到XML视图,你可以看到XML格式的流程信息,你可以直接修改这些XML内容,只要切回流程视图,你的修改会很快体现在视图中,在XML视图中你应该看到如下内容:

 

16            运行Spell Checker

Package Explorer栏中,鼠标右键spell_checker.mflow,在弹出的菜单中点击Run As > Mule Application

 

如果你没有保存该应用,在弹出的Save and launch对话框中点击OK,Mule会保存并自动运行该应用

 

随后控制台会打印出Started app 'spell_checker'等信息

 

17            测试Spell Checker

你的项目正在运行,Mule正在检查InXML目录下的XML文件,如果要启动一个流程,你需要拷贝一个XML文件到这个目录下

 

1.      到Spell Checker 目录下(例如:C:\MuleStudio\Examples\SpellChecker)

2.      找到spellcheck.xml文件,这个文件中包含一些拼写错误的内容:"Creeating mi fiirst MulleStudio aplication!"

3.      将这个文件拷贝到InXML目录下,请注意,你只需要做这一步

Studio控制台会输出一些信息,最后的内容是:"Writing file to..."

随后spellcheck.xml文件不再保留在InXML目录下

一个新的文件在OutXML目录下产生

这个新产生的文件名字包含我们在File出站端指定的时间戳格式,如:

21-01-12_1327187012641.xml

新产生的文件中包含拼写错误的单词的更正

Spell Checker应用会一直运行,等待处理新的文件

 

下面是你拷贝到InXML目录下的spellcheck.xml文件内容:

<?xml version="1.0" encoding="utf-8" ?>

  <spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1">

    <text>Creeating mi fiirst Mulle Studio aplication!</text>

</spellrequest>

 

 

 

 

 

 

 


下面是Google API返回的修改建议,这部分内容保存在以时间戳格式命名的文件中,放在OutXML目录下

<?xml version="1.0" encoding="UTF-8"?>

  <spellresult error="0" clipped="0" charschecked="44">

    <c o="0" l="9" s="0">Creating Crating Greeting Cremating Curating</c>

    <c o="13" l="6" s="0">first     foist fist fiesta fest</c>

    <c o="20" l="5" s="0">Muller Mlle Mule Mull        Miller</c>

    <c o="33" l="10" s="0">application applications allocation placation implication</c>

</spellresult>

 

 

 

 

 

 

 

 


18            ***中级教程***

初级教程演示了如何创建简单的拼写检查的应用程序。中级教程将会演示如何使用Studio拖放接口去完成更复杂的Ajax Spell Checker,它包含了以下几项内容:

1.      GoogleSpell Checker的web服务

2.      一个HTML页面

3.      预先排好序的Mule组件

本教程覆盖了以下任务:

1.      创建一个有Ajax出站端和Ajax连接器的流程

2.      将网页上的数据转换后传递到Mule 消息处理器的流程

3.      使用XSL和Mule转换器预处理用户输入的内容,变成Google API能够理解的XML格式

4.      创建一个Google Spell Checker API的连接,以便它可以处理网页上输入的内容

5.      通过Ajax返回XML数据给原网页

6.      在流程里实现一个Jetty HTTP server

如果你已经完成了初级教程,最好关闭之前教程中所做的项目,否则可能会在接下来的教程中引起混乱,你需要做好以下步骤:

1.       鼠标右键spell_checker或者你在基本教程中使用的其他命名的项目

2.       选择Close Project选项

 

 

 

 

 


这个Ajax Spell Checker流程包含五个组件和一个连接器

本节覆盖了前面基础教程中创建项目的步骤:

1.      点击File > New > Mule Project

2.      在弹出的New Mule Project窗口中输入Ajax Spell Checker作为项目名称,点击Next

3.      当New Mule Flow面板出现之后,在Name字段输入ajax flow或者其他比较有意义的名字,名字中的空格会被替换成下划线,比如:ajax flow会最终以ajax_flow.mflow呈现,

点击Finish

 

19            向流程中添加组件

如果你已经创建了Ajax Spell Checker,请双击ajax_flow.mflow文件,它在Package Explorer栏的flows目录下

 

接下来在Global Elements视图中创建Ajax connector组件,在Message Flow视图中创建Ajax endpoint组件,本教程后面会演示这两个组件如何一起实现Jetty HTTP 服务器的Ajax传输通道

 

 

 

 

 

 


将以下组件按照编号的顺序从左至右拖放到画板中,如下图所示,这些组件分别在右侧组件栏的EndpointTransformerComponents类别中:

1. AjaxEndpoint

2. Object-to-XMLTransformer

3. XSLTTransformer

4. HTTPEndpoint

5. EchoComponent

 

如果你创建的组件不小心放错了顺序,只需要删除它,然后从组件栏中拖放另一个放到你的画板中

 

 

 

 


20            添加和配置连接器

接下来,添加并且配置Ajax连接器,它是一个全局元素(即模板),它向Ajax Endpoint提供服务器连接信息

 

1.      点击画板底部的Global Elements选项卡,打开Global Elements视图

 

 

2.      点击Create按钮打开Choose Global Type面板

 

3.      展开Connectors节点

4.      选择Ajax,点击OK

a. 在 Name字段输入AjaxConnector

b. 在ServerURL字段输入http://127.0.0.1:8090/Ajax

c. 在ResourceBase字段输入src/main/app/docroot

5.  点击OK,关闭窗口

现在Global Elements视图列出了一个Ajax连接器

21            配置模块

现在,Ajax连接器已经创建好了,接下来需要将这个连接器引用到Ajax Endpoint

22            配置Ajax Endpoint

Ajax Endpoint是流程的Message Source(即入站端),按照下面的步骤完成配置:

1.      点击Message Flow选项卡

2.      双击Ajax组件,打开属性配置面板

3.      在General选项卡的Display Name字段输入AjaxChannel

4.      在Channel字段输入/services/echo,这个路径用于和web页面通讯

5.      点击References选项卡,点击ConnectorReference下拉菜单,选择AjaxConnector,这个就是刚刚在GlobalElements视图中创建的Ajax连接器(windows系统的面板可能和下面的截图有些差异)

点击Connector Reference右边的“增加”或“修改”按钮,可以在References选项卡中编辑这个Ajax连接器,无论你在哪里创建它,都可以在Global Elements视图中看到它

 

 

 

 


6.      点击Documentation选项卡,在Description字段输入一个富有意义的描述,点击OK关闭Endpoint Properties面板

 

 

23            配置Object-to-XML转换器

这个组件将消息转换成XML代码,不需要特别的配置,但是DisplayNameDescription字段会在排除故障时提供有用的信息

 

1.      双击流程画板中的Object-to-XML组件打开属性面板

2.      在General选项卡中的Display Name字段输入ConvertJS Object to XML

3.      在Documentation选项卡中的Description字段输入ConvertJS Object to XML,然后点击OK关闭属性面板

24            配置XSLT转换器

transform.xsl文件为你的应用程序在消息中提取数据并且翻译成能够识别的内容提供指示,Mule Studio中包含很多你在完成教程时需要的文件,按照这些步骤在你的机器上添加多个文件,然后导入到你的Mule Studio应用程序中

 

25            下载和导入XSLT转换文件

1.      你可以双击打开上面的文件,或者按住ctrl键,点击下面的链接来下载这个文件

transform.xslfile

2.      将这个文件保存到:MuleStudio目录> examples > AjaxSpellChecker > TransformFile目录下,以transform.xsl命名

3.      在Studio的左侧Package Explorer栏中,找到应用的src>main>app目录,鼠标右键app目录,选择Import

4.      在导入窗口中,选择General>File System,点击Next

 

5.      在弹出的面板中,选择Browse…按钮,找到刚刚保存的transform.xsl文件,点击Finish

6.      检查导入的文件是否出现在了src>main>app目录下

26            配置XSLT消息处理器

这个组件按照transform.xsl中配置的说明来解析实际的消息,以便后面的流程能够继续执行,按照下面的步骤来完成XSLT消息处理器的配置:

1.      双击XSLT转换器,打开Pattern Properties面板

2.      在General选项卡的Display Name字段输入“Convert XMLStructure”

3.      在XSL File字段输入“src/main/app/transform.xsl”

4.      点击Documentation选项卡,在Description字段输入“Producescompliant XML for the Google API”

5.      点击OK关闭Pattern Properties面板

27            配置HTTP Endpoint

HTTP Endpoint负责向Google Web Service发送XML请求和接收XML响应

 

1.      双击HTTP Endpoint组件打开EndpointProperties面板

2.      在General选项卡的Display Name字段输入“GoogleAPI

3.      在Host字段输入www.google.com/tbproxy/spell?lang=en

4.      在Port字段输入80

5.      在Method字段输入POST

6.      点击HTTP Settings选项卡,在Contenttype下拉列表中选择text/xml

7.      点击Documentation选项卡,在Description字段输入“SendsXML requests to the Google Web service and receives XML responses”

8.      点击OK保存并返回Endpoint Properties面板

28            配置Echo组件

Studio控制台输出请求和响应消息的组件,无需特殊的配置,但你也可以配置Display NameDescription

 

1.      双击Echo组件打开属性面板

2.      在General选项卡的Display Name字段输入“Echoto Console

3.      在Documentation选项卡的Description字段输入“Terminatesthe flow and logs results to the console”

4.      点击OK

 

29            导入HTML页面

这个应用需要一个包含JavaScript代码的HTML页面,用来调用Mule的类,从而完成与流程的通信

30            为HTML文件创建文档根目录

1.      在Package Explorer栏中找到应用的src/main/app目录

2.      鼠标右键点击app目录,选择New > Folder

新建的目录以docroot命名

3.      鼠标右键点击docroot目录,选择Import > File System,点击Next

4.      点击From directory 字段右边的Browse按钮,

找到<Mule Studio目录>\Examples\AjaxSpellChecker\HTMLfile,点击OK

5.      在Import面板的右边,勾选SpellChecker.html左边的复选框,点击Finish

6.      检查SpellChecker.html文件是否成功导入到项目的src/main/app/docroot目录下

7.      双击src/main/app/docroot目录下的SpellChecker.html文件,可以看到文件内容

 

祝贺你!你已经使用Mule Studio创建了一个高级的Mule ESB应用

 

31            运行项目

Mule Studio中运行该项目,观察它究竟做了些什么

 

1.      在Package Explorer栏中,鼠标右键Ajax Spell Checker.mflow,在弹出的菜单中点击Run As > Mule Application,控制台会输出以下信息:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+ Started app 'ajax_spell_checker'                                +

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

 

 

 

 


2.      Mule Studio在创建项目时,做了如下设置:

a.      你在本地计算机上创建了一个Jetty HTTP服务器,Ajax connectorServer URL 被设置为http://127.0.0.1:8090/Ajax,你可以通过这个URL访问这个服务

b.      一个SpellChecker.html文件放到了docroot目录下,src/main/app/docroot将被指定为JettyHTTP服务器的基础资源

c.      通过http://127.0.0.1:8090/Ajax/SpellChecker.html可以访问你的应用

通过浏览器访问http://127.0.0.1:8090/Ajax/SpellChecker.html,页面会出现一个空的文本框,输入heeello,服务的响应会很快出现在下方:

 

请注意:当你每次输入一个字符的时候,Google的web服务会返回一系列的拼写建议,一般情况下,第一个建议是正确的拼写

Echo组件可以让你查看到控制台输出的信息,大致内容如下:

********************************************************************************

* Message received in service: ajax_flow_Flow1. Content is: '<?xml                         *

* version="1.0" encoding="UTF-8"?><spellresult error="0" clipped="0"                      *

* charschecked="7" suggestedl...[100 of 175]'                                          *

********************************************************************************

 

 

 

 

 

 


32            ***高级教程***

初级教程演示了如何创建简单的拼写检查的应用程序。中级教程演示了如何使用Studio拖放接口去完成更复杂的Ajax Spell Checker

 

回顾一下中级教程,这里可以使用数据映射器(DataMapper)替代中级教程中使用的转换器(Transformers),虽然许多步骤重复、相似,但可以借此机会反复实践,更加熟练。往往只是一些比较细微的差异,可以帮助你更快速的掌握Mule Studio的界面操作

 

DataMapper是Mule ESB 企业版中特有的功能,作为回报,MuleSoft欢迎社区版用户开发带有DataMapper功能的应用程序,通过Studio图形界面可以预览数据映射关系。然而,实际部署、运行这样的应用程序,需要向MuleSoft申请一个有效的企业版license

 

 

 

 

 

 

 


由于最近工作比较忙,高级教程暂时没有整理进来。水平有限,有翻译不到位的地方请与我联系:sk.he@hotmail.com,谢谢!

 

参考资料:

http://www.mulesoft.org/documentation/display/MULE3START/Basic+Studio+Tutorial

http://www.mulesoft.org/documentation/display/MULE3START/Intermediate+Studio+Tutorial

http://www.mulesoft.org/documentation/display/MULE3START/Advanced+DataMapper+Tutorial

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值