newhappy的专栏

高级系统分析师,专注于对SOA,Ajax以及J2EE架构的研究,欢迎大家与我交流.Email:pleasechess@126.com

牛海彬ID:newhappy2008
475375次访问,排名97好友16人,关注者48
吉林大学软件工程硕士;一汽启明CPDM项目组软件工程师;
newhappy2008的文章
原创 186 篇
翻译 24 篇
转载 99 篇
评论 251 篇
newhappy的公告
非常感谢CSDN提供了这么好的一个平台,过去的一年为生活而忙忙碌碌,博客更新的不多,在新的一年里,我会勤快一点,多学一些技术,多交一些技术上的朋友.
最近评论
ilikepomelo:http://www.bt170.cn BT下载
zhangmeng13:请问 我想用路径调图片 怎么写代码 谢谢
huangk:还是比较模糊,能否举例说明?
Jesse_zzj:得仔细研究研究了
qikii:这种程序在监控的时候使用,一般都不用的
文章分类
收藏
    相册
    友情连接
    114社区
    SOA-中间件
    张孝祥(RSS)
    杨洪波(RSS)
    沈东良
    许式伟(RSS)
    谭振林(RSS)
    银狐999(RSS)
    阿蒙专栏(RSS)
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 分析:BPM与SOA之间的区别及联系 收藏

    新一篇: 解析:用SAAJ解决SOA集成问题 | 旧一篇: 2006 IBM SOA主题会开始座席预定工作

    关于业务流程管理(BPM)和面向服务架构(SOA)之间关系的讨论热闹非凡。二者也是多年来的热门话题,但是关于它们的讨论通常都出现在互不相关的论坛上,讨论它们的人通常也属于不同的圈子。不过现在这种情况正在改变,因为这两个概念以及相关技术的使用者和提供者正日渐将二者结合起来看待。

      BPM阵营通常声称,SOA对于实现BPM来说不是必需的。只需部署一个BPM套件,就可以更快地实现目标而不会带来多少复杂性。SOA阵营则注重于如何从一般意义上解决企业IT的复杂性。该阵营通常声称BPM是SOA的一个特性,但是它是SOA解决方案的一部分,而不是一个单独的东西。当SOA领域的人士谈到BPM时,该术语通常与服务编排或流程整合同义,而不强调对业务分析人员友好的建模或人员交互,而后者对BPM阵营来说非常重要。

      为了澄清这些误解,我认为有必要阐明BPM与SOA的不同本质:SOA是一种架构方法;BPM则是一组协调活动。

      因此,可以很容易地得到使用SOA或不使用SOA的BPM,反之亦然。我们来看看不同组合的优点。

      如果部署一个不使用SOA的BPM套件,则可以获得快速创建、执行和监控/管理业务流程的能力。业务流程的模型可以由业务分析人员创建,但是其完整实现则需要与底层IT系统的集成(以及定义用户如何与该流程交互,但是现在我们暂不考虑)。BPM套件(如BEA的AquaLogic BPM Suite)支持使用各种不同的技术(面向服务的或不是面向服务的)对应用程序和数据库进行轻松访问。实现由代码和来自于并依赖于底层系统接口的元数据组成,因此,对底层数据库和应用程序的任何更改都将导致对业务流程的更改。

      如果组织和IT环境规模比较小,并且由同样一组人来控制所有的系统(包括BPM套件)的话,这是完全可以的。如果底层系统完全不更改的话,这种方法同样运行良好。

      但是,如果BPM套件由一个小组部署,并消费来自另一个小组的系统的服务,那么协调和管理每个小组中的更改的任务很快就会变得非常困难。这是SOA要解决的典型问题,因此,SOA可以应用于BPM套件的部署,就像应用于其它地方一样。

      如果BPM作为SOA的一部分进行部署,这意味着当一个业务流程连接到底层系统时,它连接到由企业服务总线所提供的代理服务,这样就隐藏了底层应用程序和数据库的复杂性。这具有以下优点:

      将业务流程连接到系统的过程会更简单,因为IT可以公开更有用的接口,比如聚合的数据服务或使用标准协议而不是专有协议的服务。这减少了实现流程所需的IT工作量,并允许流程人员将精力集中于流程,而不是粘合流程与底层系统所需的技术。

      它使得实现更为健壮,因为对底层IT系统的更改不必影响流程所使用的接口。

      它在BPM套件之外提供了一个独立的控制和管理层。这允许IT小组更好地管理他们所拥有和维护的服务的策略和资源。

      SOA还支持从BPM套件中获得对它所连接到的系统的更好可见度。IT小组可以在服务注册库中注册服务,流程开发人员(甚至可能是业务分析师)可以在构建流程时浏览这样的注册库。这确保了服务可以被正确地使用和重用,而且通常简化了业务流程,因为使用正确的服务可以将流程本身的复杂性降至最低。

      无疑,这些优点只有在IT基础架构足够复杂,并且/或者BPM项目达到一定的范围和规模时才能显现出来。因此,在很多情况下,应该首先开发出BPM,而将SOA组件留待以后考虑。

      最好的方法是一开始就让业务运作团队和IT企业架构小组保持良好的对话,并针对未来进行规划,同时支持战术性执行。这就需要正确地组合产品。例如,BPM套件本身应该能够提供丰富的连通性,以便无需全面应用完善的SOA来使得BPM运行,这一点非常重要。类似地,BPM套件应该支持SOA,这样BPM与SOA才不至于存在于独立的竖井中,这也很重要。 

    发表于 @ 2006年10月21日 18:12:00|评论(loading...)|编辑

    新一篇: 解析:用SAAJ解决SOA集成问题 | 旧一篇: 2006 IBM SOA主题会开始座席预定工作

    评论

    #hared 发表于2006-10-26 20:29:00  IP: 210.77.121.*
    看了你的分析, 我有一些疑问:
    1. 这里的BPM到底是什么? 好像一会儿在讲BPM, 一会儿又在讲BPM套件, 那么这里讲的到底是BPM概念, BPM套件,SOA概念, SOA套件的谁和谁之间的关系 ?
    2. 你理解的"SOA阵营则注重于如何从一般意义上解决企业IT的复杂性", 其中的一般意义是什么 ?, 企业IT的复杂性是什么?
    3. BPM是什么样的协调活动?
    4. "BPM套件(如BEA的AquaLogic BPM Suite)支持使用各种不同的技术(面向服务的或不是面向服务的)对应用程序和数据库进行轻松访问。实现由代码和来自于并依赖于底层系统接口的元数据组成,因此,对底层数据库和应用程序的任何更改都将导致对业务流程的更改。 ", 这里为什么底层数据库和应用程序的任何更改会导致业务流程的更改 ? 是什么业务流程 ? 是什么更改 ?
    5. "如果BPM作为SOA的一部分进行部署"是什么意思 ? 什么叫进行部署 ?
    6. "如果BPM套件由一个小组部署,并消费来自另一个小组的系统的服务,那么协调和管理每个小组中的更改的任务很快就会变得非常困难", 这是你的假设吗?
    7. "SOA还支持从BPM套件中获得对它所连接到的系统的更好可见度"目的是什么 ? 或者说解决了什么问题?
    8. "类似地,BPM套件应该支持SOA,这样BPM与SOA才不至于存在于独立的竖井中" , 什么意思 ? 不支持就是竖井吗 ? 有什么样的问题 ? 会导致什么样的后果 ?

    以上问题, newhappy2008先生能不能给一个回答 ?
    #newhappy2008 发表于2006-10-28 12:01:00  IP: 221.8.46.*
    to hared:
    很高兴你能提出这么多问题,谢谢你的关注.我找几个认为比较重要的解释一下.
    BPM指的是业务流程之间的管理,如企业的erp和pdm之间的集成,就是要实现两系统之间和数据和业务流程一致性.
    SOA是一种技术架构,是一种开放,兼容性很好的设计.如果一个企业的各系统都是采用soa架构,那么只要调用其他系统提供的服务,就可以完成业务流程的整合,如果用传统的方法去做,那么几个系统之间,比如foxpro旧系统,j2ee技术的erp,和.net之间的pdm工作流之间如果要整合,那么必须解决各种技术上的问题.如果直接通过调用另一系统的数据库来操作,一方面会加大系统之间的耦合,另一方面对另一系统的封装和操作会大大增加it开发的难度,就是上面提高的企业it的复杂性.
    这样解释可以吗?我的email是pleasechess@126.com, 欢迎和我直接交流.
    #sam 发表于2006-11-07 12:06:00  IP: 61.49.106.*
    非常深入的分析,我是来自为制造业提供BPM服务的咨询人员。
    现在制造业虽然信息化水平不高,但同样面临系统的集成应用。为了保护以前投资的重用性,互连是个必然,因为没有哪一家服务商能提供企业所需的全部应用系统。构建基于服务架构(SOA)的企业IT 系统,相信是个必然趋势。因为只有系统基于SOA才能支持业务的变化和及时响应这种变化。我现在的问题是,截止到目前,对于已经在运行的系统(肯定不是基于SOA标准的了)如何处理?它满足了一部分应用,但不够灵活,关键是它需要和其他系统进行集成,而且还要适应未来业务的变化。
    目前很多企业正在经历业务模式的调整和业务流程的再造,确认的流程不仅需要以前系统的支持,而且要建设新的系统。如何应用SOA的架构来应对现在的设计流程和未来不确定性的变化呢?期盼您的回复,谢!
    #newhappy2008 发表于2006-11-08 19:30:00  IP: 221.9.240.*
    to sam:
    我个人人为,首先可以考虑根据业务从现有的系统中提取服务,进行集成。对于紧密捆绑而无法拆解的系统、开发者离职无力修改,或者委外项目无法取得程序代码等情况,则需要考虑重新开发的问题。现有的系统全面转换为SOA架构的系统需要一个比较长的过渡期。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © newhappy