Mule_ESB_用户手册第一章.doc
《Mule_ESB_用户手册第一章.doc》由会员分享,可在线阅读,更多相关《Mule_ESB_用户手册第一章.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Mule ESB 用户手册作者:杨欣华第1章:Mule ESB简介1、什么是Mule ESB?Mule ESB是一种基于java的、轻量级的企业服务总线和集成平台,她允许开发者快速的、简单的连接应用,并能够实现数据的转换。Mule ESB的主要功能如下:l 服务的创建与管理(Service creation and hosting):用Mule ESB作为一个轻量级的服务容器来暴露和管理可重用的服务。l 服务调解(Service mediation):隐藏服务消息的格式和协议,将业务逻辑从消息中独立出来,并可以实现本地独立的服务调用。l 消息路由(Message routing):基于内容和规
2、则的消息路由、消息过滤、消息合并和消息的重新排序。l 数据转换(Data transformation):在不同的格式和传输协议中进行转换数据。我们是否需要ESB?这部分内容可以参考“To ESB or not to ESB”Mule的核心竞争力1、Mule的组件可以是你想要的任意类型。你可以轻松整合任何来自其他框架中某个组件的“简单的Java对象”(POJO)。2、Mule和它的ESB模型能够重用重要组件。和其他框架不同,Mule允许你使用现有组件而不需要任何的修改。组件不需要任何Mule-specific编码,也不需要编程API,就能在Mule中运行。业务逻辑被完整的从消息逻辑中分离出来。
3、3、消息可以是任何格式,可以是SOAP,也可以是二进制图像文件。Mule没有任何设计约束,如:XML消息或WSDL 服务契约。4、你可以部署Mule在多种拓扑结构中,而不仅仅是ESB。因为Mule是轻量级的,是可嵌入的。Mule可以大大降低产品上市时间,提高生产率,保证项目的安全,能够根据需要适应改变并向上或向下升级应用。2、理解Mule ESB的消息框架 通过网络一个应用能发送数据到另一个应用。但是,许多应用没有能力读取或处理来自其他应用的数据。Mule ESB通过提供一个消息框架可以解决这个问题,这个消息框架能够在应用间将数据作为消息来读取、转换和发送。每个消息都是一个仅仅是一个数据包,能
4、够在应用间通过一个特别的通道被处理和发送。和传统的ESB不同,Mule ESB只转换需要转换的数据。传统的ESB你不得不为每个应用都创建adapter,这些adapter用于将应用连接到总线上,并转换应用数据到一种单一的通用消息格式。开发这些adapter及处理每个消息需要大量的时间和精力。Mule ESB消除了单一消息格式化的需求。信息可以通过任何通道(如HTTP或JMS)传送,并且只转换那些需要转换的数据。因此Mule ESB和传统的ESB相比能够提升性能并降低开发时间。参考文档:企业集成模式:设计、建立和部署消息解决方案3、理解Mule ESB的架构这一部分描述了Mule ESB架构的各
5、个组成部分以及它们是如何处理消息和消息中的数据的。SOA简介SOA是面向服务的架构的缩写,是软件开发的发展方向。SOA允许IT 组织通过联合应用的功能组件或者服务来创建新的应用。使用SOA企业能大大节省开发成本并能迅速的适应业务条件的改变。SOA还能更好的整合企业的IT资源,包括早先独立开发的应用以及遗留系统。Mule ESB完全支持SOA方法论并能够编排互相通信的服务,使你能够很容易的将所用的应用整合到一起。数据的处理Mule ESB通过service component(service component)来处理消息,实现业务逻辑。Mule ESBservice component的重要功
6、能是不需要任何“Mule ESB-specific”编码,service component仅仅是一个包含用特殊方式处理数据的业务逻辑的POJO, Spring bean, Java bean, 或者web service。Mule ESB管理这些service component,通过设置配置文件来打包他们,暴露他们成服务并根据配置文件中这些服务的定义确保正确的消息传送给service component或由service component发出。在service component中路由消息 service component通过inbound router和outbound router
7、 来获得和发送消息,它们能保证service component可以接收和发送正确的消息。inbound router用于指定service component即将处理的消息,它可以对消息进行过滤、聚合、重新排序,然后再传给service component。outbound router用于指定被service component处理后的消息将被发送到哪里。你可以定义多个inbound 和 outbound路由约束,甚至可以将router串联起来,共同为service component服务。从消息中分离业务逻辑 在Mule ESB中,service component被完全从消息格式中分离
8、出来(service components are completely shielded from the message format.)。Mule ESB用“transport”进行消息的搬运,且一种“transport”只能搬运一种数据,“transformers”用于改变消息负载的格式,转换消息对象的类型。值得注意的是“transformers”只是用来转换需要转换的数据,另外你可以用多个类型的“transport”来处理不同的“通道”(channels)Wiring Everything Together(连接各个服务) 配置文件中的元素“Endpoints”主要用于将所有的服务连
9、接起来。你需要在“inbound 和 outbound routers”中指定“Endpoints”,告诉Mule ESB什么样的“transport”被使用、发送消息去那里和那个service component应该接收这个消息。“Endpoints”主要的组成部分是以URI(uniform resource indicator)表示的地址。4、理解逻辑数据流(Logical Data Flow) 下面图表举例说明了,在Mule ESB中数据流失怎么工作的。. The customer places an order on the company web site, and an invoi
10、ce is created as an XML form and submitted to . The HTTP transport receives the XML invoice and wraps it in a Mule message. The Customer Data services inbound endpoint is set to and its inbound router specifies that the message must contain a Java object, so the HTTP transport prepares to transform
11、the XML invoice and dispatch the message to the service. The XML to Object transformer converts the XML invoice into a Java object. Note that the next service and the final application also expect Java objects, so no further transformers are used in this scenario. The transport passes the message wi
12、th its transformed payload to the Customer Data service. The Customer Data service component queries the master customer database to pull additional data about the customer and updates the invoice with the data. The HTTP transport uses the outbound router configuration to determine that it must now
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Mule_ESB_ 用户手册 第一章
限制150内