SOA与BPM--如何识别服务

来源:百度文库 编辑:神马文学网 时间:2024/04/29 14:36:18
在SOA中,典型情况下,服务是一个或多个分布式业务流程的组成部分。也就是说,服务的主要动机来自于业务流程。当然,随之就产生了如何识别服务的问题。这也就牵涉到了BPM。
BPM可以代表“业务流程管理”、“业务流程建模”。后者通常是前者的一部分。
服务是业务流程的组成部分。因此,要让服务发挥作用,就必须先考虑业务流程。然而流程管理是个巨大的课题,它包括了很多方面,比如分析业务、实现和集成业务战略、监测和最优化业务流程、建立相应的工具和文化,以及让业务与IT结盟。说起SOA和BPM的关系时,很显然,流程分解以后,最底层的活动就是服务。(BPM的SOA本质。SOA是创建更灵活的企业基础架构的架构方法,而BPM是一套协调的业务流程活动。SOA使用户可以轻松完成将业务流程连接到基础系统的任务,从而节省时间和IT资源。与之相比,将流程链接到传统的应用通常要依赖大量不同的专有技术。而且,在采用BPM的同时转向SOA可以促进SOA组件的再利用,从而最大程度地降低业务流程本身的复杂性。)
业务流程建模
一个模型实际上是一种针对流程的表示法,它使得公司可以归档、模拟、共享、实现、评估和持续改进自己的运营。
通过SOA,这些模型扮演了重要的角色,因此标准逐渐演化得能支持使用不同的工具进行业务员建模。有的工具甚至允许你通过流程引擎直接执行建模后的流程。(如ActiveBPRL)。
BPEL
使用工具和引擎进行建模和运行业务流程时,业务流程执行语言扮演了基础的角色。
从概念上,BPEL是一种描述业务流动和顺序的XML语言。而业务流动和顺序本身就是服务。语言元素提供了各种能力,如调用服务、处理响应、以及处理流程的变量、控制结构和错误。
从原则上讲,BPEL是可读的,但是,人工读写太麻烦。通常,应该使用一个BPEL工具来设计和执行流程。
被重命名为WS-BPEL,是因为它创建的“流程“按Web Service方式提供。于是,要调用这些流程和服务----必须使用Web Service;
当然,这种业务流程建模标准并不是只能应用于Web Service技术。用BPEL XML文件方式组合的流程和服务包括两部分:一部分是业务流程的结构,另一部分是一个绑定,把该结构与具体被调用或者被使用的技术操作关联起来。提供到了Web Service的标准绑定,当然你也可以使用其他绑定。 比如,对于将数据库查询当做基本服务使用,Oracle BPEL工具提供了直接的支持。
其他标准
只有BPEL和XPDL事为引擎提供的(可以被读取执行),而且,BPEL目前没有符号支持,所以,个公司花费很大力气试图把其他建模语言和符号转换到BPEL和XPDL。由于将一个复杂的场景转换到另一种可能会很困难,所以OMG最近开始致力于一个转换业务流程模型的标准,称为BPDM。
最重要的表示方法是BPMN、UML、EPC。与BPEL纯粹用XML格式来阐述业务流程不同,这些图形符号是业务流程看起来一致的保证。