論文涉及技術:使用 portlet 與業務流程引擎建立連線

lp2001lp發表於2006-03-07

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進行溝通.

相關文章