1. how to work
当你去检查一个消息在mule esb当中 是如何流动的时候,你回发现整个架构中存在着三个层面:应用层,整合层,以及传输层..
同样,在mule 开发中也有三种不同类型任务你需要去做:
(1) 服务组件开发 可以是存在的pojo,cloud connectors ,或者是包含业务逻辑的和消费,处理消息的sping bean
(2) 服务协调,通过配置各种 服务调停和协调必须得组件 去允许松耦合的组件去使用mule 流.
(3) 服务整合 屏蔽协议让每个服务之间实现解耦合.
摘翻自:http://www.mulesoft.org/documentation/display/MULE3CONCEPTS/How+Mule+Works
2. about mule configuration
一个mule esb 配置文件就是一棵树,就像下图展示的一样(图:)
图中的每个组件都提供了访问mule内部配置对象的能力:
custom message processors 处理消息,修改消息或消息流.
flows 使用message processors 去定义源头和目标之间的消息流
mule global configuration 全局配置,比如默认交易超时时间
connectors 任何一中传输方式使用的非默认配置
endpoints 定义接收和发送消息所使用的通道,地址,或者是路径,你可以在全局环境中配置它们,在多个flow中引用
transformers 将数据从一种格式转换成另一种格式,你可以在全局环境中定义它们,在多个flow中引用.
filters 过滤中不符合已定义规则的消息,,你可以在全局环境中定义它们,在多个flow中引用.
models 一个或多个models将你得服务组件有逻辑性的组织起来
services 一个或多一个service 封装了你的components,configure routers,endpoints,transformers,and filters.
下面是一个简单的mule esb 配置文件样本.
- <mule xmlns="http://www.mulesoft.org/schema/mule/core"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:vm="http://www.mulesoft.org/schema/mule/vm"
- xsi:schemaLocation="
- http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.0/mule.xsd
- http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/3.0/mule-vm.xsd">
- <vm:connector name="vmConnector" queueTimeout="5000"/>
- <vm:endpoint name="CustomerRequests" path="customer.requests"/>
- <vm:endpoint name="CustomerResponses" path="customer.responses"/>
- <custom-transformer name="ThisToThat" class="com.acme.transformer.ThisToThat"/>
- <flow name="myBasicFlow">
- <inbound-endpoint ref="CustomerRequests"/>
- <component class="com.acme.service.BasicService"/>
- <outbound-endpoint ref="CustomerResponses" transformer-refs="ThisToThat"/>
- </flow>
- </mule>
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vm="http://www.mulesoft.org/schema/mule/vm" xsi:schemaLocation=" http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.0/mule.xsd http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/3.0/mule-vm.xsd"> <vm:connector name="vmConnector" queueTimeout="5000"/> <vm:endpoint name="CustomerRequests" path="customer.requests"/> <vm:endpoint name="CustomerResponses" path="customer.responses"/> <custom-transformer name="ThisToThat" class="com.acme.transformer.ThisToThat"/> <flow name="myBasicFlow"> <inbound-endpoint ref="CustomerRequests"/> <component class="com.acme.service.BasicService"/> <outbound-endpoint ref="CustomerResponses" transformer-refs="ThisToThat"/> </flow> </mule>
摘翻自: http://www.mulesoft.org/documentation/display/MULE3CONCEPTS/About+Mule+Configuration
3. understanding the mule architeture(了解mule的架构)
about soa 面向服务架构,详情具体google.
mediation 从消息中分离业务逻辑
orchestration 在不同的服务组件中路由消息
components 处理消息数据
endpoints 把everyging 装配到一个
了解逻辑数据流