`

Mule ESB 开发实例基本概念介绍

    博客分类:
  • ESB
阅读更多

1、Flow:

 

流,也就是消息流是由接收消息,处理消息,为消息选择路径等一系列组件组成的。它是mule中的核心思想,十分重要。以下是一个简单flow的例子以及代码:

 

 

<flow name="Simple_Example_Flow1" doc:name="Simple_Example_Flow1">

<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP" path="kittens"/>

    <set-payload value="Kittens? Kittens!" doc:name="Set Payload"/>

    <echo-component doc:name="Echo"/>

</flow>

 

具体细节后面会有讲的。

流中可以依据功能划分为三大类:

         Message processor(消息处理器):对消息进行加工处理,如filtertransformerrouter等。

         Message source(消息源):flow开始的地方,接收消息进入流中,触发处理器,如:Inbound/Outbound Endpoints

         Component(组件):主要实现一些特殊的功能,mule studio中提供的完成不了的。

2、Mule Message

消息,是通过整个应用程序可能流经很多flow。它有两个重要的组成部分:

         Message header:包含该消息的基本的元数据。元数据是由属性(properties)和变量(variables)组成,元数据可以为我们提供有用的信息,譬如告诉我们这个消息去向哪里。元数据都有一个特定的范围来规定它的生命周期。

属性(properties)的范围有两种:

Inbound properties:在消息源头被创建,不能被用户设置和修改。

Outbound properties:可以被用户配置,outbound属性如果随着一个message从一个Flowoutbound endpoint(出口端)流近另一个FlowInbound endpoint(入口端)可以变成Inbound properties。在一些特殊情况,如新的Flowflow-ref而不是transport的话,范围还是没有改变。

         变量(variables)是用户自定义的元数据,也有两种范围:

                            Flow variables:仅存在当前flow中。

                            Session variables:存在这应用程序中。

         Message payload:是你真正要在应用程序中传输的数据,消息头中的元数据只是起到更好的表明要传输的数据,而payload才是你真正要传输的数据。

工作环境:

Canvas:是用来布局各个组件的,你可以在右上角搜索需要的组件名或者根据分类查找。

下面可以切换三种视图,message flow:就是当前视图、global elements:定义的全局元素、configuration xmlxml编辑的视图。

Package explorerflows文件中存放的.mflow文件,就是canvas中显示的文件。

Outline:缩略图。Console:控制平台。

全局元素:

你可以定义元素为全局的,这样可以在多处调用,定义全局有两种方法,一种在global elements中直接添加一个,选择你要添加的元素以及相应属性。另一种是在xml编辑环境编写。Note:全局元素要有name属性,这样才可以被别处调用。通过<元素名-ref  name=””>标签被调用。

Visual editor(视图编辑)

         中间是画布,用来将各种元素拖拽到这里布局配置,右侧是提供的各个元素,分成了八类,依次是Endpoints, Scopes, Components, Transformers, Filters, Flow control, Error handling, Cloud connectors。如果你想使用哪个元素,直接拖拽到画布上,双击即可以打开配置面板,配置相应属性。

         以下会分开讲各类元素功能以及相应配置,视图编辑和xml编辑在一起讲,最后会有综合在一起的例子。

3、Endpoints(端点):

用来接收和发送数据,负责连接外部资源并发送数据。分为Inbound endpoints输入端点,Outbound endpoints输出端点。端点需要关联一个connector连接器完成输入输出。如果没有配置连接器系统会默认配置一个。

         我们创建一个例子,右侧拖拽一个http端点到画布上,再在filter上搜索echo,找到在components中,拖拽跟http端点放在一起。Echo是一个输出组件,如图:

双击http端点,出现配置面板如图。

这里有五个选项标签,

General中可以配置显示名称,默认为http

信息交换模式,有one-wayrequest-response。单向和请求响应。

Host,port,path等。

Advancedhttp outbound在这里会比inbound多一个是否重定向的选项。

我们什么也不需要配置,直接ok.

右键点击flows文件夹中mflow文件,选择作为mule application程序运行。

在浏览器中打http://localhost:8081/任意字符,回车。就会在浏览器中出现该字符。

看一下xml配置文件:

    <flow name="sudy_muleFlow1" doc:name="sudy_muleFlow1">

        <http:inbound-endpoint exchange-pattern="request-response" host="localhost"

port="8081" doc:name="HTTP"/>

        <echo-component doc:name="Echo"/>

</flow>

首先定义了一个流,命名为sudy_muleFlow1,显示名为sudy_muleFlow1。在流中我们首先定义了一个httpinbound-endpoint,设置了交换模式为请求-响应,主机为localhost,端口号为8081,显示名为HTTP。接着是输出组件echo。这就构成了一个最基本的流。这里没有定义连接器,系统会提供一个默认的给它。

 

分享到:
评论

相关推荐

    Mule ESB手册-中文版

    根据提供的文件内容,以下是关于Mule ESB手册-中文版的知识点: 1. Mule ESB简介 ...通过这些知识点的学习,可以加深对Mule ESB的使用方法的理解,并通过实例加深对ESB概念的理解,对新手来说非常有帮助。

    Mule ESB开发工具以及相匹配的英文手册和中文手册(翻译狗充值翻译)

    `APDevFundamentals3.8_studentManual_20jun2016.pdf` 和 `APDevFundamentals3.8_studentManual_20jun2016【翻译狗www.fanyigou.com】.pdf` 这两个文件是关于Mule ESB开发基础的教材,可能包含了以下几个方面的内容...

    MuleESB_3.0_中文教程

    通过《Mule ESB 3.0 中文教程》,你将能够掌握Mule ESB的基础知识,理解其核心概念,并具备开发和管理Mule ESB应用的能力。随着学习的深入,你还将了解到更多高级特性和实践技巧,为你的IT职业生涯添加一项重要的...

    mule esb 项目 例子 入门

    本教程将带您入门Mule ESB项目,通过实例学习其核心概念和操作。 首先,我们需要理解ESB的基本概念。ESB作为一个中间件,它的主要作用是提供一种松耦合的方式,使得各个系统之间可以通过标准接口进行通信,而不是...

    MULE开发实例1---并行调用多个webservice接口

    总结起来,这个Mule开发实例展示了如何利用Mule ESB的Scatter-Gather模式并行调用多个Web服务接口,这在分布式系统和微服务架构中非常常见。通过对这个实例的深入理解和实践,开发者可以增强其在服务集成和并发处理...

    mule esb cookbook

    1. **Mule ESB基础**:介绍Mule ESB的基本概念、架构和工作原理,包括流(Flows)、消息处理器(Message Processors)以及连接器(Connectors)等核心元素。 2. **集成场景**:涵盖不同类型的集成,如API集成、...

    MuleESB 3.0 中文 教程. 理论实例

    ### MuleESB 3.0 中文教程:理论与实例详解 #### 一、MuleESB 3.0 概述 MuleESB 3.0是一款基于企业集成模式(EIP,Enterprise Integration Patterns)实现的轻量级消息传递框架与整合平台。EIP是由Gregor Hohpe和...

    Mule ESB cookbook

    1. **Mule ESB基础**:介绍Mule ESB的核心概念,包括事件驱动架构(EDA)、消息代理、连接器(Connectors)和传输(Transports),以及Mule Studio集成开发环境的使用。 2. **安装与配置**:详述如何下载、安装Mule...

    esb-mule系统设计

    **ESB(企业服务总线)** ...总之,"esb-mule系统设计"的学习资料涵盖了ESB的基本概念、MULE ESB的特性和使用、SOA架构的优势,以及MULE与SPRING的整合。通过深入学习和实践,你将能够构建高效的企业服务集成解决方案。

    mule in action 即mule实战源码

    《Mule in Action》作为实战指南,深入讲解了Mule ESB的各个方面,包括安装配置、基本概念、核心组件、高级特性、监控和调试,以及最佳实践。读者可以通过书中丰富的实例和代码示例,快速掌握Mule ESB的使用技巧,...

    mule_examples.rar_mule_mule 开发_mule-2.2.1-src

    总的来说,"mule_examples.rar"提供了深入学习Mule ESB开发的宝贵资源。通过研究源代码、实践示例项目并参考相关文档,开发者可以逐步掌握Mule ESB的精髓,从而在实际工作中构建高效、灵活的企业级集成解决方案。

    Mule in action

    首先,我们要了解Mule ESB的基本概念。Mule作为一个轻量级的ESB,其核心功能包括消息传递、协议转换、数据格式转换、服务代理和路由规则等。它支持多种通信协议,如HTTP、JMS、FTP、SMTP等,能够处理XML、JSON等多种...

    MULE用户指南3.3

    2. **MULE配置与部署**:用户指南将详细介绍如何配置MULE实例,包括设置环境变量、安装和启动MULE服务器,以及部署MULE应用到不同的运行时环境,如MULE Standalone或CloudHub。 3. **连接器(Connectors)**:MULE ...

    mule-1.4.4-getting-started.pdf

    - **基本概念介绍**:这里介绍了 Mule 服务器的基本概念,包括其架构、主要组件及其作用等,为初学者提供了理论基础。 #### 三、启动服务器 - **启动方法**:讲解了如何启动 Mule 服务器,包括首次启动和常规启动...

    mule_esb_soademo:soa 演示使用休息服务

    "Mule_esb_soademo"项目是一个实例,展示了如何利用Mule ESB和REST(Representational State Transfer,表述性状态转移)服务来实施SOA概念。REST是一种轻量级的Web服务设计风格,它使用HTTP协议进行数据交换,易于...

    mule-2.2.1-users-guide

    这部分内容提供了关于 Mule 配置的基本概念和术语的介绍,为更深入的学习奠定了基础。 #### 二十四、配置参考 配置参考部分提供了详细的配置选项和参数的解释,帮助开发者更好地理解和配置 Mule 应用程序。 #### ...

    mule ce xmemcached

    2. **Mule Community Edition**: Mule的免费版本,提供了基本的集成功能,适合小型项目或学习用途。 3. **收费的缓存模块**: 在Mule中,某些高级缓存功能可能只在付费的企业版中提供,这促使开发者寻找开源替代方案...

    Mule in Action

    - **Mule的基本概念**:本章介绍了Mule的基础知识,包括它的历史背景、主要特性和应用场景。对于初学者来说,这是一个很好的起点,能够帮助他们建立起对Mule的基本理解。 - **安装与配置**:指导用户如何下载和安装...

Global site tag (gtag.js) - Google Analytics