ESB与业务流程管理:剪不断、理还乱(一)

最近几年一直在搞SOA架构下的系统整合以及ESB。无论在产品研发以及项目实施过程中,或多或少都会与流程有一定的关系。我也在一直思考许多与流程有关的问题,当然了我是作为一个流程管理产品的用户去考虑的,多是考虑如何在ESB产品研发的过程中更好的与流程管理产品进行整合,如何在整合项目中将ESB与流程管理更好的使用起来。

前几天与国内流程管理圈里的资深研究者—东方易维的CTO辛鹏(中国开放流程用户组- www.opug.org.cn以及jbpmside  http://code.google.com/p/jbpmside/ 的发起人)进行了一下简单的沟通,下面是我与辛鹏在MSN中的简单对话对话,也希望更多的人能参与进来进行讨论。

 

 

 

 

2009-4-22

 

21:26:59

 

王鑫磊

 

辛鹏

 

…………………………

         

2009-4-22

 

21:27:59

 

王鑫磊

 

辛鹏

 

最近一直在思考一个问题:关于系统整合这种应用,从你的流程管理工具的角度,是怎么考虑的?

         
         

2009-4-22

 

21:30:28

 

辛鹏

 

王鑫磊

 

其实有2个层面,一个是把一些原子服务编排在一起形成一个大的服务

2009-4-22

 

21:30:48

 

辛鹏

 

王鑫磊

 

其实就是BPEL干的事情

2009-4-22

 

21:31:16

 

辛鹏

 

王鑫磊

 

另一个是,BPM,他还是关心一个Human的问题

2009-4-22

 

21:31:52

 

辛鹏

 

王鑫磊

 

其实就是BPEL4PEOPLEHumanTask两个规范干的事情

2009-4-22

 

21:32:33

 

辛鹏

 

王鑫磊

 

对于应用集成来讲,这两个方面都是离不开的

2009-4-22

 

21:34:54

 

王鑫磊

 

辛鹏

 

对于流程中涉及到的各个任务节点,有没有使用ESB进行集成,然后由流程管理器管理的必要呢?

2009-4-22

 

21:35:06

 

王鑫磊

 

辛鹏

 

还是直接由流程管理器管理,而不适用ESB

2009-4-22

 

21:36:10

 

辛鹏

 

王鑫磊

 

我认为这个流程还是有2个层面,你得看哪个层面的流程

2009-4-22

 

21:36:46

 

王鑫磊

 

辛鹏

 

不考虑将原子服务组合为组合服务这个层面

2009-4-22

 

21:37:55

 

辛鹏

 

王鑫磊

 

那第二个层面,有一个场景就是,这个任务节点即需要人参与,又需要去调用异构系统的业务操作,或者需要异构系统的数据

2009-4-22

 

21:38:17

 

辛鹏

 

王鑫磊

 

这时候还是有必要去调用ESB的服务的

2009-4-22

 

21:38:57

 

辛鹏

 

王鑫磊

 

因为对于BPM来讲,它就不用关心它要调用的系统是什么技术体系和数据了

2009-4-22

 

21:40:33

 

辛鹏

 

王鑫磊

 

其实对于这个场景还会有两种模式:一个是ESB推数据给流程节点,另一个是流程节点去ESB拿数据

2009-4-22

 

21:41:16

 

王鑫磊

 

辛鹏

 

是的,对应到ESB产品中,也会有对应的两种模式:一个就是推,一个就是拉。

2009-4-22

 

21:43:21

 

辛鹏

 

王鑫磊

 

嗯,如果是流程节点去ESB拿数据,要简单一些

2009-4-22

 

21:43:51

 

辛鹏

 

王鑫磊

 

ESB推数据给流程节点就要复杂一些

2009-4-22

 

21:45:10

 

辛鹏

 

王鑫磊

 

而这个推,对于一些业务系统,尤其是需要异步操作的地方,还非常的有意义

2009-4-22

 

21:47:32

 

王鑫磊

 

辛鹏

 

我们现在研发的产品,之所以存在推,主要也是为了更好的支持异步消息。这个异步消息是从应用的角度来看的,而不是技术的角度

2009-4-22

 

21:48:22

 

辛鹏

 

王鑫磊

 

没错,当然是从应用的角度

2009-4-22

 

21:49:59

 

辛鹏

 

王鑫磊

 

例如,流程的推进,需要异步的等待某一个业务系统的数据变更,然后这个数据变更后由ESB推给流程节点,然后这个节点继续向下推进

2009-4-22

 

21:51:46

 

王鑫磊

 

辛鹏

 

确实是这样,这也是一个比较典型的场景

2009-4-22

 

21:52:33

 

辛鹏

 

王鑫磊

 

这时候BPM就需要有异步消息的监听机制

2009-4-22

 

21:53:20

 

辛鹏

 

王鑫磊

 

而我们现在的workflowBPM基本上都是同步的事件,对于异步的事件支持的都不好,或者没有支持

2009-4-22

 

21:55:26

 

王鑫磊

 

辛鹏

 

ESB也需要监听BPM异步处理消息后,是否有返回消息。也就是说 ESBBPM都需要至少支持请求回调,轮询或者单步请求者三种最基本的模式,并且是两个产品双向得支持。

2009-4-22

 

21:56:47

 

辛鹏

 

王鑫磊

 

没错,简单的异步,用callback是一种方式

2009-4-22

 

21:57:28

 

辛鹏

 

王鑫磊

 

ajaxxmlhttp本质就是callback

2009-4-22

 

21:58:16

 

辛鹏

 

王鑫磊

 

其实我觉得你们的ESB,功能是一方面,都是要想真正有价值,有人去用,adapter非常重要

2009-4-22

 

22:00:03

 

王鑫磊

 

辛鹏

 

是啊,大公司的一个商业版Adaptor,都卖几十万

2009-4-22

 

22:01:04

 

辛鹏

 

王鑫磊

 

最能给客户带来巨大价值,节省工作量的就是成熟的商用adapter,把产品的架构,接口,机制做好了,然后发动各个行业的贡献者,去贡献adaptor

2009-4-22

 

22:01:39

 

辛鹏

 

王鑫磊

 

不过,要做到这一点很困难呀

2009-4-22

 

22:02:29

 

王鑫磊

 

辛鹏

 

先一点点的对付吧,也不是一天两天能完善好的

2009-4-22

 

22:03:53

 

辛鹏

 

王鑫磊

 

嗯,不过底层一定要设计好架构,一定是完全plugin式的,就像eclipsedrupal

2009-4-22

 

22:05:26

 

辛鹏

 

王鑫磊

 

eclipse用的osgi,而drupal是一个开源的cms,但是它是完全plugin的,现在有几千个module,需要什么就装载什么,我们现在的opug就是用的drupal

2009-4-22

 

22:07:35

 

王鑫磊

 

辛鹏

 

现在的内部架构,内核和各个功能模块之间是以服务的方式设计的。Osgi估计在以后的版本中可能会用到。

2009-4-22

 

22:11:26

 

辛鹏

 

王鑫磊

 

我觉得对于一个容器型的产品平台,用osgi真是不错,例如websphere等,现在都移植到osgi了,但是对于非容器型的B/S应用就不是很合适了,只是目前还不合适

 

原文首发地址:http://www.opug.org.cn/node/75

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值