WEB开发网
开发学院软件开发Python 异步操作和 Web 服务,第 3 部分: 向 Web 服务添加... 阅读

异步操作和 Web 服务,第 3 部分: 向 Web 服务添加业务语义

 2010-03-23 00:00:00 来源:WEB开发网   
核心提示: 使用 BPEL XML 语法描述的业务流程模型可以由 业务流程引擎来解释和执行,业务流程引擎通常是 Web 应用程序服务器的运行时的一部分;它管理正执行的流程的流动和控制权,异步操作和 Web 服务,第 3 部分: 向 Web 服务添加业务语义(5),流程中的每个步骤都将用一个 活动来代表;这种

使用 BPEL XML 语法描述的业务流程模型可以由 业务流程引擎来解释和执行。业务流程引擎通常是 Web 应用程序服务器的运行时的一部分;它管理正执行的流程的流动和控制权。流程中的每个步骤都将用一个 活动来代表;这种活动被实现为外部伙伴服务上的一个出站 Web 服务调用或对一个入站 Web 服务请求的处理。业务流程引擎执行流程模型时会通过它的 Web 服务接口创建一个可运行的流程实例。这些流程接口用于启动流程本身或者用于控制流程的各个方面(例如等待(wait)、终止(terminate)和补偿(compensate))。流程所公开的 Web 服务操作在执行与该流程相关联的业务任务时,可以聚集其他的 Web 服务。因此,流程流将包含流程自身和内部 Web 服务以及外部伙伴 Web 服务之间的一组 Web 服务交互。

长时间运行的业务事务需要异步 Web 服务支持

由于以下几个因素,在分布式环境中运行的企业业务流程的持续时间一般比较长:

与伙伴的交互因因特网延迟而变慢。

批处理通常被推给旧的后端系统来承担。

B2B 解决方案经常需要常规的数据和传输转换。

由于处理时间的关系,与交互相关联的 Web 服务请求和响应将依赖异步操作把这两个事件分开。

BPEL 既支持同步操作又支持异步操作。对于前者,可以使用 <reply> 活动标记把对请求的响应定义为在同一个执行线程上返回。但对于长时间运行的业务流程(其中的许多活动可能是并行运行,并且使用了非阻塞线程以提高效率),BPEL 使得流程可以被描述,这样就可以使用 <invoke> 活动标记在分开的执行线程上生成响应。

流程活动的协调

就象 WS-C 和 WS-T 规范中所提到的那样,除了把参与伙伴的角色和职责映射到业务流程描述中外,还需要使用一组公共基础架构服务把分布式环境中所需的活动协调和事务支持所具有的可运行的特征应用到流程实现中去。但协调工具和事务工具的使用将由业务流程引擎根据 BPEL 流程描述结构来管理。因此,流程描述本身将不会显式利用规范中列出的协调和事务服务。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:异步 操作 Web

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接