您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > Mule3.0开发图解教程
环境搭建和例子:Downloadmulestandaloefromwebsite:1.(suchas:D:\mulesl312)InstallingMuleIDEinEclipse3.StartEclipse,andsetupaworkspaceforyourinstallationofMuleifyouhaven'talready.(Makesureyourworkspacedoesnothaveaspaceinthedirectorypath)4.Intheworkbenchview,chooseHelpInstallNewSoftware.5.PresstheAddbuttonnexttotheWorkwithtextbox,enter:YouarenowreadytoconfiguretheMuledistributionasdescribedinthenextsection.ConfigMULE_HOMEandaddbintopath:10.MULE_HOME:D:\mulesl31211.Path:%Path%;%MULE_HOME%\binCreateanewMuleproject:HowtoImportaexistingprojecttoMuleprojectandrunit:thereissomeecamplesinexamplefolderofMULE,wecanimportthemWeneeedtoaddMuleclasspathlibtotheprojectThenwecanruntheprojectonMuleruntimelikeas:Soserverstarts:NFO2011-06-2211:38:01,125[main]org.mule.module.management.agent.JmxAgent:RegisteredEndpointServicewithname:Mule.04cd6ac8-9c81-11e0-95b7-8bd1ea0dc252:type=Endpoint,service=HelloWorld,connector=connector.http.mule.default,name=endpoint.http.localhost.8888INFO2011-06-2211:38:01,125[main]org.mule.module.management.agent.JmxAgent:RegisteredConnectorServicewithnameMule.04cd6ac8-9c81-11e0-95b7-8bd1ea0dc252:type=Connector,name=connector.servlet.mule.default.1INFO2011-06-2211:38:01,125[main]org.mule.module.management.agent.JmxAgent:RegisteredConnectorServicewithnameMule.04cd6ac8-9c81-11e0-95b7-8bd1ea0dc252:type=Connector,name=connector.stdio.mule.default.1INFO2011-06-2211:38:01,125[main]org.mule.module.management.agent.JmxAgent:RegisteredConnectorServicewithnameMule.04cd6ac8-9c81-11e0-95b7-8bd1ea0dc252:type=Connector,name=connector.VM.mule.default.1INFO2011-06-2211:38:01,125[main]org.mule.module.management.agent.JmxAgent:RegisteredConnectorServicewithnameMule.04cd6ac8-9c81-11e0-95b7-8bd1ea0dc252:type=Connector,name=connector.http.mule.default.1INFO2011-06-2211:38:01,140[main]org.mule.DefaultMuleContext:***********************************************************************MuleESBandIntegrationPlatform**Version:3.1.2Build:21975**MuleSoft,Inc.**Formoreinformationgoto****Serverstarted:11-6-22上午11:38**ServerID:04cd6ac8-9c81-11e0-95b7-8bd1ea0dc252**JDK:1.6.0_10-rc2(mixedmode,sharing)**OSencoding:UTF-8,Muleencoding:UTF-8**OS:WindowsXP-ServicePack3(5.1,x86)**Host:PC-201103071221(192.168.40.61)**Mode:Development****AgentsRunning:**JMXAgent***********************************************************************mule-config.xml:inbound-endpointaddress==HttpRequestToNameStringexchange-pattern=request-responsenot-filterwildcard-filterpattern=/favicon.ico//not-filter/inbound-endpoint//所有的转换器都在此,就我理解所有的转换过程其实都要自己写,可以自己定义通用的转换器重用并扩展。访问URL//publicclassChatStringToStringextendsAbstractTransformer父类custom-transformername=StringToNameStringclass=org.mule.example.hello.StringToNameString/custom-transformername=NameStringToChatStringclass=org.mule.example.hello.NameStringToChatString/custom-transformername=ChatStringToStringclass=org.mule.example.hello.ChatStringToString/custom-transformername=HttpRequestToNameStringclass=org.mule.example.hello.HttpRequestToNameString/custom-transformername=ExceptionToStringclass=org.mule.example.hello.ExceptionToString/custom-transformername=HttpRequestToParameterclass=org.mule.transport.servlet.transformers.HttpRequestToParameter/custom-transformername=ObjectToStringclass=org.mule.transformer.simple.ObjectToString/理论和模型:1.简介MuleESB是一个基于Java的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。MuleESB支持集成现有系统而无论其底层采用何种技术,如JMS、WebServices、JDBC、HTTP以及其他技术。2.整体结构图整体结构从上图可见,Mule通过Transports/Connectors与外围的异构系统连接,提供Routing(路由)、TransactionManagement(事务管理)、Transformation(转换)、MessageBroker(消息代理)、TransportationManagement(传输管理)、Security(安全)等核心模块。Mule可以单独使用,也可以架设在常用的应用服务器上。图架构简图外围系统的服务请求通过MuleESB的Transport接入,Mule通过Transformer进行数据的格式转换,然后经过InboundRouter进行消息过滤(内部通过配置filter实现)后交给Mule的Component进行业务逻辑处理,处理后的结果通过OutboundRouter确定传递给哪个接收方,然后通过Transformer进行数据格式转换,通过Transport连接至接收方,传递信息。此图描述的是Mule中的一个典型场景的处理过程,涵盖了Mule中的各个关键组件。其中某些处理步骤不是必须的,如InboundRouter、Transformer。后续可以看到一些其他场景的处理。3.功能a.服务中介将业务逻辑和消息发送分离屏蔽服务的消息格式和协议提供任意位置的服务调用提供协议桥接b.数据转换在应用间交换不同格式的信息操作消息的负载内容,包括加密、压缩和编码转换在异构的传输协议的数据类型间格式化消息c.消息路由基于消息内容和复杂规则路由消息消息的过滤、聚合以及重新排列序号d.服务创建和托管暴露端点、EJB、SpringBean以及POJO作为服务作为轻量级的服务容器进行服务托管MuleESB中有一些基本的概念,理解这些基本概念后才能理解Mule的内部机制。从中也可以看到Mule解决问题的基本思路。4.基本概念4.1ModelModel表示托管各个服务的运行时环境。图Model4.2ServiceService是用来处理服务请求的基本单位,它调用各个组件进行服务请求的处理。图Service4.3TransportTransport管理消息的接收和发送,数据转换的过程也是在Transport中通过调用Transformer完成的。图Transport4.3.1ConnectorConnector用于管控特定协议的使用,如HTTPConnector、JMSConnector等。4.3.2End-PointEndpoint用于表示一种协议的特定使用方式,如listening/polling、从中读取、向指定地址
本文标题:Mule3.0开发图解教程
链接地址:https://www.777doc.com/doc-6133121 .html