论文涉及技术:使用 portlet 与业务流程引擎建立连接

1、论文中:使用开源Portal实现与用Petri网建模的基于Web服务的工作流引擎进行交互.

2、[转自IBM]

本文显示了如何创建 portlet 向业务流程提供输入和接收业务流程的输出。用户可以使用 Process Choreographer 提供的业务流程 Java API 来调用业务流程。本文同时包含了可供下载的样本代码。

引言

IBM® WebSphere® Portal V5.1 将业务流程功能集成到门户部署中了。这种支持技术利用 WebSphere Portal (WP) 流程管理接口向很多企业提供了新的用于使用 WebSphere Business Integration Server Foundation (WBISF) Process Choreography 组件的选项。

例如,Process Choreographer 提供了缺省的 Web 客户端,用户可以使用它与为创建中断性或者非中断性的业务流程的任务进行交互。用户可以列出流程模板,输入数据,实例化流程,并与创建为 Staff 和 Receive 活动的用户工作条目一起工作。尽管这种客户端接口有利于在业务活动的部署期间进行测试,但是它并不是用户想要提供给其最终用户的接口类型。

需要为您的用户以 Web 应用程序的方式或者在 WebSphere Portal 中运行 portlet 的方式开发自己的定制用户接口。用户最有可能使用 Process Choreographer 提供的开放 Java™ API(本文中涉及到的 API 均称为 BPE API)与流程引擎进行交互。

本文描述了如何如何使用 Business Process Engine (BPE) API 来创建 portlet 以调用业务流程。为了领会本文的大部分内容,用户需要了解 Process Choreographer、Web 服务、业务流程引擎和 WebSphere Portal。

 

理解流程的类型

在深入了解实际编写 portlet 的详细资料之前,我们首先看一看流程的两种基本类型:

  • 可中断性流程是长时间运行并且由事务服务组成的流程类型。用于批准 loan 应用程序的流程就是这样的一个实例。
  • 非中断性流程是短期存活的操作行为,组合起来形成单独的事务操作,信用卡的确认就是一例。

 

可中断性流程

如果流程的每个步骤都运行在自己的物理事物中,那么该业务流程就是可中断性流程。可中断性流程通常都是长期运行的流程。如果业务流程需要等待外部激励或者包括了用户之间的交互,那么该业务流程就必需是可间断的。外部激励的例子有:

  • 在企业对企业的交互中由另一个业务流程发送的事件
  • 对异步调用行为的响应
  • 完成员工活动

 

可中断性流程有以下特征:

  • 作为一些事务运行
  • 由同步服务和异步服务组成
  • 通过初始方法或者 sendMessage 方法启动,因为不能同步检索输出消息
  • 正常情况下会运行很长的时间
  • 能持久地保存运行时值

 

非中断性流程

非中断性业务流程以单线程的方式运行,从启动到结束期间是不可中断的。非中断性流程也称为 microflows。这些流程有不同的事务能力。它们能够作为活动会话的一部分运行在分布式事务中,或者和本地事务一起运行。

非中断性流程具有以下特征:

  • 作为单一事务运行。
  • 只由同步服务和非中断性子流程组成。这就意味着非中断性流程不能包括:
    • 全体活动或者等待活动
    • 异步调用
    • 多个接受活动
    • 可中断性子流程
  • 使用调用方法的方式启动,以便在流程结束后返回输出消息。
  • 通常运行时间较短。
  • 在数据库中不保存运行时值。
  • 不包括中断性流程。

 


介绍本文的场景

本文的场景是创建了能够通过调用流程来返回存储的参数值的简易 portlet 。为证券报价定义的流程是一个简单的非中断性流程。用户可以查看使用 portlet 调用该流程的步骤。

样本代码

下载中提供了支持该场景的代码。

软件需求

要实现该场景,用户至少拥有一种以下所示的环境:

  • IBM WebSphere Business Integration Server Foundation 5.1.x 下的 IBM WebSphere Portal V5.0.2.2 (以下简称 Server Foundation)
  • Server Foundation 下的 IBM WebSphere Portal V5.1

 

用户还需要使用配置了 WebSphere Portal Toolkit 的 IBM WebSphere Studio Application Developer Integration Edition 5.1.x (以下简称 Application Developer)。


来自 portlet 的通信机制

在 portlet 和流程之间存在多个通信选择项。

使用 BPE API

BPE API 为开发用于基于 Business Process Execution Language (BPEL) 的流程的应用程序提供了以下表现:

  • Enterprise JavaBean (EJB) 表现,它能实现 API 的本地或者远程调用。用于每种调用类型(LocalBusinessProcess 接口和 BusinessProcess 接口)的无状态会话 bean 显示了应用程序能调用的函数。BusinessProcessService 接口为这些会话 bean 提供了一种公用接口。
  • Java Message Service (JMS) 表现,它使得使用 JMS 能够远程调用 API 函数的子集。

使用 Web 服务客户端

或者,可以将该流程显示为 Web 服务。那么就可以生成用于 Web 服务的 Java 代理,并使用代理实例化流程。

本文将讨论使用 BPE API 和 EJB 调用流程。

2、考虑BPEL4WS技术,让Portlet与其API进行沟通.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值