`

Mule, AquaLogic ESB 学习阶段性总结 (2009.9.21)

    博客分类:
  • SOA
阅读更多

下面这段文字为转载:http://dragonetzhou.iteye.com/blog/171499

 

首先考虑一个最简单的例子:只有一个入口和一个出口。只涉及到一个服务提供者和服务消费者。服务提供者只提供webservice协议进行访问。消费者只 能通过http协议。那么两者如何通信呢。消费者没法直接访问提供者,那么消费者就访问ESB了。ESB就提供了一个虚拟的基于http协议的端点。然后 ESB就在另外一端以webservice协议访问提供者。就这么简单。

   但是在这里必须弄清楚的是:从服务提供者的视角来看,只有一种方式连接到ESB。从消费者的视角来看,可以以多种方式访问ESB。从ESB的视角来看,有多种方式访问服务提供者,但是对于一个特定的服务提供者来说访问方式是一定的。

   好了。这里定义了两个端点(服务地址+访问协议)。一个是虚拟的ESB为消费者提供的访问端点。一个是真实的可以为ESB所能访问到的服务端点。那么在这两个端点之间又有点什么东西呢?应该定义什么东西来连接着两点呢?Mule 定义了一个叫UMO 的组件。然后将两个端点附在了UMO 上面。UMO 本来就是一个虚的概念,它可以是POJO,也可以什么都不是。Mule 需要一个载体来完成两个端口的连接,这个就是UMO 。这样Mule 就可以将其他的ESB概念:数据格式的转换,路由,监控和日志往UMO 上面加了。这么一路下来不就是一个管道的概念了吗?服务消费者-->入站端口-->数据格式转换-->路由-->UMO -->路由-->数据转换-->出站端口-->服务提供者。

   到这里,前面一段是根据正常的思路一步步走来。后面我就开始胡思乱想了,也不知道原作者是不是这么想的。

   UMO 之虚与实:当出站端口连接的是一个真实的访问地址,这个UMO 就是实的;反之则是虚的。UMO 也 可以同时有实有虚。例如下图,UMO1就有虚有实,UMO2就是一个实的。为什么会这样呢?实与虚其实是针对是否有业务服务来说的。有则是实的,没有则是 虚的。根据ESB是连接,管理,路由的这么一个原则。实的端口就实现了连接的这么一个功能。而需的其实起到了一个路由的作用。那么一个服务请求完全有可能 经过N个虚的UMO 才到达服务提供者。ESB不应该有真实的业务服务。那么UMO 就是一个抽象的东西,它不实现业务逻辑。

画完这幅图,我怎么觉得它像一个树形结构啊。UMO 是枝,Service Provider 就是叶啊。

   端点之主动与被动:一说到主动,被动,我就想到男的应该主动,女的应该是被动的。那么ESB应该是主动还是被动呢?两者都有,那ESB岂不是不男不女。扯 远了。首先ESB作为服务提供者的代理,它应该提供代理服务被动让各种消费者访问;其次,ESB作为服务的联系人应该主动地调用真实的服务。那么像前面的 例子,入站就是被动服务啦,有请求来我就进行处理,请求通过继续往前走,不通过就打回去。出站就是主动服务了,调用真实的业务服务组件。那么Mule 是如何处理的呢?Mule 也定义了入站和出站。Mule 的出站没什么好说的,肯定是主动出击了,访问真实的服务或是下一个UMO 节点。可是Mule 的 入站除了被动,还可以主动。先说被动,例如http,soap,servlet,tcp,vm等协议在入站时就是被动的,有请求来我就处理。其实现就是把 MessageReciever设计成一个监听服务,不断监听端口是否有请求进来。这个太好理解了。可是对于file,ftp,jdbc协议,竟然可以是 主动出击,而不是被动等待。奇怪了,what happen?仔细想了想,问题出在协议上面,http等协议是一种请求/响应的模式。而file等协议是一种实体操作模式,例如读写文件系统,读写数据 库。所有这种模式在入站端只能是主动出击了,从文件系统和数据库自动抓取数据。

 

=============================================

 

自己的总结:

 

    最近一段时间研究了 Mule ESB, AquaLogic ESB 这两种实现 SOA 的技术(或者叫做平台)。经过前一阵子的懵懵懂懂,现在很多东西都越来越清晰了。

 

    上面转载的这篇文章,从全局的角度来说,和我的理解完全一致。研究完mule之后,再用一用aqualogic,大部分的概念(代理服务,业务服务,路由,叶子节点,管道...)都会豁然开朗。

 

    还需要理解的一个问题就是: 在mule 的内部,inbound --> component --> outbound 数据的一步步传递是通过 底层 事件 的机制实现的。

 

    计算机的好多东西都是 想起来容易 实现起来难。 我下一步的目标就是把 项目中的 那套mule的东西 整明白。把公司的东西变成自己的东西。让自己变得更值钱,嘿嘿...

分享到:
评论

相关推荐

    ESB Mule最新开发教程文档.pdf

    该文档是本人查阅国外官网,个人实践撰写60页常用开发技术,可适用于大多数Mule业务开发 ,提供配套视频讲解 ,https://space.bilibili.com/405243872/dynamic,对于付费用户可提供相关源码及安装包文件,bilibili请...

    Mule ESB手册-中文版

    Mule ESB支持多种传输协议、消息格式和数据转换,可以简化服务集成的复杂性,并提供强大的消息路由、转换和分发能力。 2. Mule Studio 使用 Mule Studio是基于Eclipse的集成开发环境(IDE),它为开发人员提供了一...

    mule -esb 源码

    《深入解析Mule ESB源码》 Mule ESB(Enterprise Service Bus,企业服务总线)是一款开源的集成平台,旨在简化企业级应用之间的数据交互。本文将围绕Mule ESB的源码进行深入探讨,揭示其核心设计理念与工作原理。 ...

    MuleESB用户手册第一章.pdf

    3. **消息路由**:基于内容和规则的消息路由功能允许Mule ESB根据特定条件对消息进行筛选、合并和重新排序,增强了系统的灵活性和智能性。 4. **数据转换**:Mule ESB支持在不同的数据格式和传输协议之间进行转换,...

    MuleEsb开源框架简介.pdf

    Mule ESB 开源框架简介 Mule ESB 是一个基于 Java 的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。Mule ESB 支持集成现有系统而无论其底层采用何种技术,如 JMS、...

    EIP经典案例ESB实践之Mule实现.rar_eip_esb_mule_mule esb

    **企业集成平台(EIP)与企业服务总线(ESB)** 企业集成平台(Enterprise Integration Platform, EIP)是企业信息化建设...通过学习和实践,你可以掌握如何利用Mule ESB优化企业的服务集成,提升系统的健壮性和效率。

    Mule ESB Studio 3.3中文使用手册(官方翻译)

    Mule ESB Studio 3.3 中文使用手册(官方翻译) Mule ESB Studio 3.3 是一款功能强大且灵活的集成平台,旨在帮助开发者快速构建、部署和管理企业级集成解决方案。该手册旨在指导用户如何安装、配置和使用 Mule ESB ...

    MuleESB帮助文档

    《Mule ESB详解——构建...总结来说,Mule ESB是企业级集成的重要工具,通过它,企业可以打破系统间的壁垒,实现数据和服务的高效流通。深入了解并熟练掌握Mule ESB,将极大地提升企业的技术能力,推动业务创新和发展。

    mule-standalone-3.9.0.zip

    - 使用命令行工具或启动脚本(如“bin/mule.bat”或“bin/mule.sh”)启动Mule ESB。 5. **监控与管理**: - Mule ESB 3.9.0提供了一个内置的管理界面,可以通过Web浏览器访问,用于监控运行状态、查看日志和管理...

    mule esb 3 tutorial.pdf

    ### Mule ESB 3 教程概览 #### 一、引言 Mule ESB 3(Enterprise Service Bus)是一款广泛应用于企业级集成场景的开源中间件平台。本书旨在为开发者提供全面且深入的指导,帮助他们掌握如何利用Mule ESB 3 开发...

    mule ESB 3 user guider

    总结来说,《Mule ESB 3用户指南》为用户提供了一个全面的、步骤详细的、实践导向的指导,从基础的配置、服务集成到开发、测试、文档编写和云服务集成,覆盖了使用Mule ESB进行企业级集成应用开发的各个阶段。

    ESB原理及Mule ESB实践

    ### ESB原理及Mule ESB实践 #### ESB(Enterprise Service Bus)原理概述 **ESB**(企业服务总线)是SOA(面向服务架构)架构中的关键组件之一,用于实现服务间的智能集成与管理。其核心作用在于简化不同系统间的...

    MuleESB_3.0_中文教程

    Mule ESB通过提供一种松散耦合的方式,降低了系统间的依赖性,提高了系统的可维护性和可扩展性。 2. **Mule ESB架构**:Mule ESB基于事件驱动的架构,允许它快速响应系统中的变化。它由消息代理、连接器、数据转换...

    MULE ESB-4.1企业版运行环境

    9. **版本管理**:升级或维护MULE ESB时,需要注意兼容性问题,同时需要备份现有应用,以免丢失配置或数据。 综上所述,MULE ESB-4.1企业版运行环境是企业级集成和API管理的重要组成部分,它为开发、部署和管理Mule...

    mule IDE (mule ESB)

    Mule ESB 是一个轻量级的基于java的企业服务总线和集成平台, 使得开发人员可以快速,简单的连接多个应用, 使得它们可以交换数据。 Mule ESB 容易集成现有异构系统,包括:JMS, Web Services, JDBC, HTTP, 等. ESB...

    mule esb 的简单介绍

    Mule ESB,全称Mule Enterprise Service Bus,是一个开源的企业服务总线系统,旨在促进不同应用程序和服务之间的数据交换和集成。Mule的核心设计是基于轻量级的Java平台,尤其是J2EE 1.4标准,使得它能够在各种企业...

    Mule_ESB_3_User_Guide.pdf

    Mule ESB内置了对JSON格式的原生支持,提供了JSON转换器,方便数据在不同服务间传输时保持格式的一致性。 ### 总结 这份指南详细介绍了Mule ESB 3的各个方面,从基础概念到高级配置,从创建基本服务到与外部云服务...

    MULE ESB-4.1社区办运行环境

    MULE ESB-4.1社区版是Mulesoft为开发者提供的免费版本,它包含了基本的ESB功能,适合学习、开发和小规模项目部署。 在MULE ESB-4.1社区版中,主要包含以下几个关键组件和概念: 1. **AnyPoint Studio**: AnyPoint ...

    ESB解决方案-mule分享.docx

    目前市场上有多种 ESB 产品,包括 Oracle 的商业 ESB 产品、Progress 的商业 ESB 产品、TIBCO 的商业 ESB 产品、Mule 的开源 ESB 框架、WSO2 的开源 ESB 框架等。这些产品都提供了基本的 ESB 功能,包括消息传递、...

Global site tag (gtag.js) - Google Analytics