- 浏览: 451002 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (371)
- Java (44)
- Flex (25)
- Design Pattern / UML (5)
- JVM (14)
- Software Engineer (4)
- Testing (30)
- Web Backend (60)
- Linux (7)
- Database (11)
- SOA (28)
- English (6)
- FX (5)
- SAP Support (25)
- SAP Development (5)
- SAP Impl & Oprn (8)
- Articles (15)
- Music (4)
- Recipe (14)
- Multi-thread (4)
- Lucene (2)
- CS basic / Algorithm (12)
- Tour (3)
- C C++ (21)
- Others (10)
- Code Repository C++ (1)
- Code Repository Java (1)
- Code Repository Algorithm (1)
- Code Repository SQL (1)
- Web Frontend (4)
最新评论
-
xiangxm:
Java 强引用、 软引用、 弱引用、虚引用 -
nml-lyb:
123
Mule 的第一个例子 -
nml-lyb:
http://www.baidu.com
Mule 的第一个例子 -
white___ant:
...
Java 强引用、 软引用、 弱引用、虚引用 -
joeyon:
...
Java NIO介绍
下面这段文字为转载: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的东西 整明白。把公司的东西变成自己的东西。让自己变得更值钱,嘿嘿...
发表评论
-
Mule 例子:以axis做为inbound,传递复杂类型,MuleClient UMOMessage
2009-09-22 16:29 2953这个例子出自:http://raymondhekk.iteye ... -
Axis 客户端代码
2009-09-22 16:16 1806import org.apache.axis.client.C ... -
Mule 的 Loan Broker 例子的 PPT (经典的ESB的例子)
2009-09-21 14:26 1690http://wiki.springside.org.cn/d ... -
Aqualogic Service Bus 的第三个例子 (消息流进阶)
2009-09-18 17:34 982P87 的那个例子 1、已经发布的Web Servic ... -
Aqualogic Service Bus 的第二个例子 (消息流基础)
2009-09-17 15:15 1188消息流节点类型: 启动节点、路由节点、分支节点、管道对节点 ... -
Aqualogic Service Bus 的第一个例子 (入门)
2009-09-17 11:17 1537本例子出自 《SOA权威指南》 第三章中的那个入门例子。 亲 ... -
Mule Transformers
2009-09-07 14:58 1675Using Transformers [ Configuri ... -
XMPP协议简介
2009-09-07 14:15 1749XMPP协议简介 XMPP(Ext ... -
REST(Representational State Transfer) 介绍
2009-08-31 23:24 1299REST(Representational State Tra ... -
Staged Event Driven Architecture (SEDA) 介绍
2009-08-31 10:29 2425一、前言 二、当前流行的两种并发处理编程模型 ... -
Camel 入门
2009-08-27 18:25 862前段时间和一些朋友聊 ... -
OSGi 入门
2009-08-27 18:15 664还没开始入... -
Mule 的消息路由
2009-08-27 17:53 1201Mule的消息路由 作者 J ... -
Mule 的第二个例子
2009-08-27 15:17 2924这个例子 主要 演示了 web service 作为 inbo ... -
Geronimo入门
2009-08-25 16:23 911http://www.matrix.org.cn/resour ... -
Apache Mina 入门
2009-08-25 13:31 11532007 年 12 月 24 日 本文将通过一个简单的问 ... -
CXF -- JAXB
2009-08-21 10:38 5421JAXB : Java API for XML Bindin ... -
CXF -- JAX-WS
2009-08-21 10:01 1330JAX-WS Java API for XML Web Se ... -
CXF的第一个例子 -- 深入剖析
2009-08-20 20:43 1683Web Service 的 Client 和 Server 端 ... -
CXF的第一个例子 (附 wsdl详解)
2009-08-20 16:52 29931、在eclipse中 创建一个java project。 ...
相关推荐
该文档是本人查阅国外官网,个人实践撰写60页常用开发技术,可适用于大多数Mule业务开发 ,提供配套视频讲解 ,https://space.bilibili.com/405243872/dynamic,对于付费用户可提供相关源码及安装包文件,bilibili请...
MuleESB用户手册第一章.pdf
MuleEsb开源框架简介.pdf
ESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docx
mule -esb 源码
Mule ESB 项目在Linux中的部署与开发与应用案例
Mule ESB 是一个轻量级的基于java的企业服务总线和集成平台, 使得开发人员可以快速,简单的连接多个应用, 使得它们可以交换数据。 Mule ESB 容易集成现有异构系统,包括:JMS, Web Services, JDBC, HTTP, 等. ESB...
This book provides a tutorial on how to develop Mule ESB 3 applications. It covers the essentials, such as using the Mule IDE, writing a configuration file, routing messages, and testing your ...
看了很多,这个还不错。 MuleESB 3.0 中文 教程. MuleESB 3.0 中文 教程.
文档主要介绍了Mule ESB的使用方法,并结合具体实例加深对ESB的理解,对新手很有帮助哦!
一个基于Mule-ESB的综合业务处理平台的设计和实现.doc
EIP经典案例Load Broker————Mule ESB实践
mule,mule esb,Mule,ESB
Mule ESB 3 User Guide This book describes how to use Mule for software development. Some of the documentation on this site is under construction for the current release. If you have any feedback on ...
mule esb 3 user guider: 社区成熟,文档丰富的开源esb mule用户手册
ESB原理及Mule ESB实践