构建SOA组合业务服务 使用IBM WebSphere Business Modeler
http://tech.ddvip.com 2007年08月18日 社区交流
内容摘要:本文将说明有关使用 WBM V6 进行业务流程的建模、组装和部署的最佳实践。另外,本文还将确定在 WBM 和 WID 集成中存在的一些差距,并说明在示例流程建模工作(基于本文中描述的一个实际使用情况)中获得的经验教训。
计时器
在客户环境中,可能需要使用上面的某个建模元素类型,而这就是纯业务模型或流程 WBM 构造与 WID 中的 BPEL 流程之间的差距。只要采用 WBM Basic 模式,可以将上面列出的所有不可用的元素类型包括到流程中。Basic 模式中的流程是纯 业务流程,对特定技术(如 BPEL 或 WebSphere MQ 工作流的 FDL)没有依赖性。当从 Basic 模式切换到 WebSphere Process Server 模式时,以上任何元素类型都可能导致出错。
所获得的经验教训
本文将说明获得的有关使用 WBM V6 进行业务流程的建模、组装和部署的经验教训。
在 WBM 中支持流程依赖关系
有时候会希望描述依赖于其他 BPEL 流程的 BPEL 流程,例如:A 将 B 作为服务调用。可通过使用全局流程在 WBM 中完成此工作。通过指定其间的依赖关系来连接两个全局流程(请参见图 1 中的流程依赖关系)。尽管 WBM 中有子流程 的概念,但业务流程中的子流程将转换为父 BPEL 流程中的流 结构,而不是独立的 BPEL 流程。另外,尽管在 WBM 的技术属性视图中可以将任务指定为可稍后转换为独立 BPEL 的流程,但不能在 WBM 中对该独立流程进行建模。有时候需要能够进行建模以进行生成的独立 BPEL 流程,因为您将在不同的场景中重用该 BPEL 流程。或者,您可能需要使得该 BPEL 流程成为长期运行的流程,而其父 BPEL 流程却是仅短时间内运行的流程。对于这种依赖关系,请使用全局流程。如果要使用局部流程,请在运行转换流程之后通过手动修改生成的 BPEL 流程框架来创建依赖关系。
使用 Java 代码片段时考虑任务粒度
WID 支持将 Java™ 代码片段嵌入到 BPEL 流程内。SCA 编程模型还将 Java 体系结构作为 SCA 组件的实现类型提供。通常,如果在 BPEL 流程内需要较小的功能(如简单的计算),可以将此代码嵌入到 BPEL 流程内的 Java 代码片段中。不过,如果需要重用 Java 代码的业务逻辑或业务逻辑非常复杂,则可以将此逻辑放入独立的 Java 类型 SCA 组件中,BPEL 流程可将此组件作为普通 SCA 服务引用。使用 WBM 建模流程且希望将该流程转换为 BPEL 流程时,请仔细考虑每个任务的粒度。如果任务的粒度恰当(实现简单功能),则在 WBM 中相应地使用 map 元素;可以在生成的 BPEL 流程框架中将此元素转换为空的 Java 代码片段。
来源:developerworks 作者:Qiang Wang 责编:豆豆技术应用