论坛首页 Java企业应用论坛

SOA与工作流、ESB的关系

浏览 8636 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-12-09  

看了http://www.iteye.com/topic/148856?page=5,因为严重反对楼主这样的把SOA和工作流关联起来的行为,忍不住写了这个贴。

从技术实现上看,我理解的SOA包括如下内容:
1)首先要有service的实现和封装。就是通过某个方式,用技术的方法把服务封装出来。(比较好的是 webservice+sca)
2)其次要有service的管理。可能是通过简单的表结构来做一个服务表,可能是用service registry来做一个注册中心,可能是ESB。
3)再其次要实现service的编排。这个可能是一个BPM产品来实现。

BPM产品和工作流的区别在哪里?这个涉及到SOA的本质。
请看http://hongsoft.iteye.com/blog/288992
(BA使用BPM工具,在一个集成的环境中来建模和部署可执行的业务流程)

楼主的工作流的技术和场景,严重违反了这个标准:
1)没有让BA参与进来
2)没有一个集成的环境 ,工具不能产生可执行的业务流程

 

我理解如果结合大家ESB方面的疑问,可以这样定位SOA三个阶段:

1.       应用级:大多数客户的状况,客户的预算是先实施一个应用。这级的目标是:SOBA应用按SOA的范式来调用外界的服务,而且SOBA应用内的服务可以很容易地融合到以后的SOA整体架构中。这个级别不需要ESB

2.       部门级:客户只对业务流程进行了局部研究,业务集成范围限于部门内(或者限于某个业务领域内)。这个级别需要一个服务管理库,但是还是不需要ESB(企业服务总线)。

3.       企业级:这个级别需要ESB和企业业务库。 

如果企业在有限的集成服务范围内,盲目地投资实现非常高级的SOA架构,将造成很大的成本负担,IT投资过大,需求不可控制,取得的业务优势会得不偿失。而根据未来要求,分步实施、稳步推进是SOA架构实施的正确路线。

   发表时间:2008-12-09  
感觉第二级不是很有必要~~

现实中,企业往往先从第3级开始的,只有当你的esb并入了大多数系统后,企业才有可能在后续新开发的系统加上第一级的要求!
0 请登录后投票
   发表时间:2008-12-09  
对了,问一句,BA是个啥
0 请登录后投票
   发表时间:2008-12-09   最后修改:2008-12-09
czx566 写道
对了,问一句,BA是个啥

Busyness Analyser
?
0 请登录后投票
   发表时间:2008-12-10  
BA就是  业务分析人员的意思,也可指 业务分析专家。

我见过 国内很多公司 有这个职位的。

国外就更普遍。
0 请登录后投票
   发表时间:2008-12-10  
回czx566,其实我认为 第2阶段是 正确使用ESB的前提:

服务总线其实分为两大类,一是ESB企业服务总线如IBM的产品;二是服务总线如Aqualogic Service Bus。一般的服务总线都有如数据转换、协议转换、消息路由等等通用功能,而ESB还多了负载均衡、安全策略、服务监控、团队开发支持等特性。

1) 应用级不需要服务总线(最好是没有ESB,否则带来项目复杂性)
2) 部门级(领域级)需要服务总线,但是不需要ESB (如果客户已经买了ESB,一定要用,也可以初步使用;如果没有买ESB,则不需要ESB,可以考虑买EOS的简单ESB实现版本)
3) 企业级: 需要ESB。但是这个级别的项目我们很难争取到,市场上也不一定存在。
0 请登录后投票
   发表时间:2008-12-10  
呵呵。上面是  我个人 对 EOS  对 服务总线的归纳,并不代表 公司的观点。

我想大家的项目,最大也就是 对企业某个领域(比如5个CRM系统)的 业务的 管理,
这样的情况下,对服务的调用 只需要 调用到   服务总线中的服务,并不需要ESB。

如果CRM要调用 计费系统的 服务怎么办?
那就需要用  服务总线,把  计费领域的  服务管理起来,对外(CRM)提供调用。


注意:这里是  多个服务总线,但是并不是ESB。


0 请登录后投票
   发表时间:2008-12-10  
hongsoft 写道

BA就是  业务分析人员的意思,也可指 业务分析专家。 我见过 国内很多公司 有这个职位的。 国外就更普遍。


能否加您联系方式,本人刚毕业,现在在一家以工作流为核心产品的公司工作,但似乎公司的研发核心人员大部分离职了,所以急切想找一位像您一样的前辈来指点迷津,万分感谢.
我QQ 14463141
  邮箱 shiw_learn@163.com
万分感谢!
0 请登录后投票
   发表时间:2008-12-10  
“现实中,企业往往先从第3级开始的,只有当你的esb并入了大多数系统后,企业才有可能在后续新开发的系统加上第一级的要求! ”

我明白你说的现状,它的产生有两个原因:
1)  IBM等公司 已经 卖了太多的ESB(一般是通过SOA来卖的),企业感觉不用也是浪费
2) 新开发的系统,应该天然的 支持 对外暴露 服务的接口,不应该留给以后的系统集成。    (这个就是我的blog说的 开发即集成的概念之一)


当然,在你说的情况之下(企业已经有ESB了),那当然也可以把它用上。
只是我个人认为 ESB实在不是个 好东西,而多个服务总线才是我们的需要。

0 请登录后投票
   发表时间:2008-12-10  
hongsoft 写道
回czx566,其实我认为 第2阶段是 正确使用ESB的前提:

服务总线其实分为两大类,一是ESB企业服务总线如IBM的产品;二是服务总线如Aqualogic Service Bus。一般的服务总线都有如数据转换、协议转换、消息路由等等通用功能,而ESB还多了负载均衡、安全策略、服务监控、团队开发支持等特性。

1) 应用级不需要服务总线(最好是没有ESB,否则带来项目复杂性)
2) 部门级(领域级)需要服务总线,但是不需要ESB (如果客户已经买了ESB,一定要用,也可以初步使用;如果没有买ESB,则不需要ESB,可以考虑买EOS的简单ESB实现版本)
3) 企业级: 需要ESB。但是这个级别的项目我们很难争取到,市场上也不一定存在。


我理解你说的部门级,也就是传统的EAI解决方案: 点到点解决模式~

这种点到点的模式 如果系统比较少还好,如果多了,那么头就大了。

所以在我们有ESB这种资源的前提下,我觉得点到点的模式可以不考虑了~~

所以我说第二阶段感觉没有必要。

    而目前的情况来说,据我个人所知,如果一旦一个企业决定上SOA,一定先上ESB~~~
让ESB先去兼容原有的应用系统,如果领导一看效果不错,才有可能将后续的系统开发加上必须符合SOA架构的系统要求,所以对于目前很多企业来说,第一,第二,第三阶段这样并存的企业很多~~

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics