首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

10.2  BPEL的基本特性

相对于对象组装技术,服务组装更为复杂。人们必须面对SOA环境中异构的、松耦合的、自主的服务。它们间的交互关系是动态的、按需发生的,而且缺少中央控制。因此,BPEL提供的服务组装模型提供了下列特性。

(1)灵活性:服务组装模型应该具有丰富的表现能力,能够描述复杂的交互场景,而且能够快速地适应变化。

(2)嵌套组装:一个业务流程可以表现为一个标准的Web服务,并被组装到其他流程或服务中,构成更粗粒度的服务,提高了服务的可伸缩性和重用性。

(3)关注点分离:BPEL只关注与服务组装的业务逻辑;其他关注点,比如服务质量(QoS,Quality of Service),事务处理等,可被作为附加扩展,由具体实现平台进行处理。

(4)会话状态和生命周期管理:与无状态的Web服务不同,一个业务流程通常具有明确的生命周期模型。BPEL提供了对长时间运行的、有状态交互的支持。

(5)可恢复性:这对于业务流程(尤其对长时间运行的流程)是非常重要的。BPEL提供了内置的失败处理和补偿机制,对于可预测的错误进行必要的处理。