下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 Mule讲解

Mule讲解.doc

Mule讲解

叶冰岸
2019-05-09 0人阅读 举报 0 0 暂无简介

简介:本文档为《Mule讲解doc》,可适用于IT/计算机领域

Mulde学习讲解目 录Mule的基本概念  什么是Mule  Mule支持的企业技术有哪些?  Mule引言  MuleESB的主要功能  服务的创建与管理  服务调解  消息路由  数据转换  MuleESB核心概念  服务组件ServiceComponent  服务端点EndPoint  消息路由Router  转换器transformer  传输器和连接器transportconnection  Mule工作原理  Mule流程图  Mule流程例子图  Mule数据流  Mule的基本概念什么是Mule  Mule是基于Java开发平台是一个轻量级的消息框架。可以快速连接外部应用程序比如说外部系统、内部组件甚至说一段脚本通过连接外部应用程序达到我们轻松地交换数据。说到Mule我们不得不先了解ESB的概念为什么这么说呢?Mule的架构风格就是一个ESB的架构ESB(EnterpriseServiceBus)企业服务总线的意思我们可以对“企业服务总线”进行想象一下结合下Mule的概念我们很容易就可以联想到Mule既然是可以实现与外部系统应用进行连接和交换数据那么企业服务总线也是基于该种功能而进行各种不同企业、不同技术、不同领域之间的数据交互而产生的。既然Mule能使我们能够快速、简单地连接各个应用并且还能在各个应用系统之间进行交换数据。Mule使用了SOA的面向服务的架构(将系统进行功能化每个功能提供一种服务。现在非常流行WebService技术以及SOA(面向服务架构)技术)。关于SOA我就不多介绍了。我们项目中使用的也是面向服务的架构技术。后期添加两张图进行说明吧。一个是错乱不堪。一个是荆条有序。Mule支持的企业技术有哪些?  在上一段中我说明了Mule是解决不同企业、不同技术、不同领域之间的数据交互。也就是说不管应用程序采用了什么技术(协议)JMS、WebService、JDBC、HTTP甚至其他的技术Mule都可以准确无误地将它们集成到一起。以及通过协议如SOAP发送到WebService。这就是它的强大之处。你觉得呢?如下图:上图中列出了不同技术之间的在Mule的功能体系下能够连接并能够进行数据交互。比如关于MuleFTP目录文件、HTTP网络协议、JMS的队列(Queue)、JDBC的数据服务、SMTP的Email服务、XMLWebService服务等在这里我不得不引用一句话那就是“Mule的组件可以是你想要的任意类型。你可以轻松整合任何来自其他框架中某个组件的“简单的Java对象”(POJO)”。Mule引言我们通过ESB(企业服务总线)流程图来说明Mule的应用。图中我们可以看到右边显示了不同组件的应用程序系统(有EJB、JMS、WebService)他们所使用的部署服务器也不同通过ESB将各个孤立的应用系统进行连接并且能进行数据的交互。ESB企业服务总线能够接收客户端发出的任意协议请求通过ESB将各个应用系统进行连接返回相应的响应信息给客户端。可见ESB是一个分布式的SOA架构。MuleESB的主要功能MuleESB具有如下四个主要功能:服务的创建与管理(Servicecreationandhosting)服务调解(Servicemediation)消息路由(Messagerouting)数据转换(Datatransformation)服务的创建与管理上图中用户需购买“家电”、“服装”、“零食”三种商品他不用按分类一家店一家店地找他只需通过一家超市就可以把他所需要的商品全部买到。超市这样就把不同类别的商品全部集中到了一起客户购物也方便。MuleESB就是起到了这样的一种作用。用MuleESB作为一个轻量级的服务容器来暴露和管理可重用的服务。在这里举例并没有很明显地表现出“暴露”这一词为什么呢?这个得说说我们的程序了。比如说家电行业提供一个WebService接口方法发布至MuleESB处客户端并非也通过家电行业提供的接口方法可能超市MuleESB中间进行了处理与隐藏超市重新提供一个新的接口暴露给用户访问比如说进口商品价格和出售价格的改变。服务调解隐藏服务消息的格式和协议将业务逻辑从消息中独立出来并可以实现本地独立的服务调用。消息路由基于内容和规则的消息路由(来回)、消息过滤、消息合并和消息的重新排序。消息路由控制组件如何接收消息以及在处理后应该发送到何处去入站路由控制服务如何处理入站消息(如有选择地允许那些符合特定标准的消息)出站路由控制服务处理完消息后该将其发往何处(如将其发送到接收者的列表或将消息拆分然后发送到不同的端点)。数据转换在不同的格式和传输协议中进行转换数据在应用间交换不同格式的信息操作消息的负载内容包括加密、压缩和编码转换在异构的传输协议的数据类型间格式化消息MuleESB核心概念每一个Muleflow都包含一系列接收、传输和处理消息的构件。在一个flow中将若干独立的组件连接在一起来完成消息的接收、处理以及最终的路由。Flow支持同步和异步的子flow单向(oneway)以及请求响应(requestresponse)交换模式。也就组成了以下核心。服务组件(ServiceComponent)服务端点(Endpoint)消息路由(Router)转换器(transformer)传输器和连接器(transportconnection)下面我们就针对这些核心进一步去了解。服务组件ServiceComponent组件一般用来执行某个操作的处理对传入消息数据进行处理并传出消息数据下一编排节点,常用的组件有:Echo组件(显示组件):将节点收到的数据简单的输出到控制台并不对数据做任何处理直接再传递到下一节点。简单地说就是控制台输出请求的信息。作用是显示输入的信息。SOAP服务组件:Mule使用CXF框架(CeltixXFire这个框架得自己去了解了这里不介绍)对外实现SOAP协议的WEBService服务。Logger组件(日志组件):基于Mule表达式决定什么活动信息需要记录日志。根据日志级别不同记录日志的详细程度有不同。这里引出了Mule的表达式何为表达式?类似java函数、数据库函数、javascript函数等等。Java服务组件:执行一个指定JAVA类的方法函数。例如:Spring可以通过配置方式控制Java服务。学过Spring框架的都知道Spring的核心是IOC。简单的说就是通过配置设置Value值。Rest服务组件(HTTP下的Rest):REST是HTTP协议下定义资源、链接、URI的格式化架构。Mule使用Jersey实现RESTful的Web服务(不了解)Jersey按照JAXRS(JSR)规范进行实现。JAXRS通过在Java类中使用标注方式快速实现RESTful服务。FlowReference(流引用组件):该组件可编排任一节点后面表示将上一节点的数据传入到另一个Flow流程。服务端点EndPoint一般来说端点用来发送和接收数据负责连接外部资源并发送信息。端点可以是输入端点也可以是输出端点。输入端点通过关联的连接器接收信息每个连接器负责输入节点的实现。输出端点通过关联的连接器接收信息每个连接器负责输出节点的实现。MuleStudio支持如下几种端点:AJAX:在浏览器与Mule直接采用AJAX异步发送和接收信息。FTP(文件传输协议):两种情况作为入口使用时将定时刷新指定的FTP目录下所有文件每读取一个文件然后立即删除同时将文件内容作为数据向下一节点传递。作为出口使用时将输入数据生成文件并上传至指定FTP服务器并继续向下一节点传递数据。File(文件端点):从文件系统中读、写文件。作为入口使用时将定时反复读取指定目录下所有文件同时可根据配置将文件备份到指点目录中每读取一个文件就将文件内容作为数据向下一节点传递。作为出口端点使用时则将输入数据写入指点文件并继续向下一节点传递数据。Generic:通用端点是信息的字符串表现方式。可以是FTP、HTTP、FileHTTP:通过HTTP协议发送和接收信息。HTTP端点作为入口时接收HTTP协议的请求作为出口时则向指定服务器发送HTTP请求。简单的说就是我们以HTTP形式进行访问。入口当然是接收出口当然是发送。QUARTZ:一般作为入口端点用来定时触发任务。比如说将配置的字符串作为payload向下一节点传递。节点的控制类似java中的continue跳过当前执行走下一步。当然这里也不会是向下一节点执行完了就返回来继续执行。JDBC:是用来与数据库进行交互。作为入口时定时执行SQL语句并返回数据。作为出口时什么语句都可以执行。它使用spring管理数据源(IOC依赖注入)。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/9

Mule讲解

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利