WebSphere Process Server Version 7 中的新增功能

CloudSpace發表於2010-03-30

轉自:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1002_fasbinder1/1002_fasbinder1.html

增強的工作流支援

WebSphere Process Server 可以自動執行各種業務過程,包括以整合為中心的過程、以人員為中心的過程以及這兩種風格的混合體。Version 7.0 中的幾個改進支援更多工作流場景。

並行批准

一種常見的工作流需求是,讓兩個或更多負責人審查同一個請求並進行 “投票”。在 WebSphere Process Server 以前的版本中,可以在過程中顯式地建模並行批准,或者使用包含多個迭代的迴圈。現在在 Version 7.0 中,可以直接設定並行批准,其中包含投票和結果聚合。

在這個場景中,把一個並行路由任務分配給一個使用者組。對於每個分配的使用者,自動地建立一個子任務。對子任務的結果進行聚合,產生並行路由任務的輸出。

在定義人工任務時,可以使用一個新屬性把所有權模式設定為 single 或 parallel,見圖 1。


圖 1. 所有權模式
所有權模式

可以使用可選的完成功能提前完成任務,即使子任務還沒有全部完成。例如,根據簡單多數的原則,如果三個人中有兩個投了贊成票,那麼就可以批准請求,不需要另一個人批准了。在任務屬性中定義提前完成的條件,見圖 2。可以指定時間或條件。系統提供了預定義的簡單條件,還允許定義定製的條件。


圖 2. 完成屬性
完成屬性

子任務完成或滿足完成條件之後,需要把結果聚合為人工任務的輸出。在人工任務屬性中定義聚合,見圖 3。系統為不同的資料型別提供了預定義的聚合函式。例如,在使用 int 資料型別時,聚合函式包括 average、minimum、maximum 和 total。


圖 3. 聚合屬性
聚合屬性

修改正在執行的過程

WebSphere Process Server V6.2 增加了把正在執行的過程從一個版本遷移到另一個版本的 API 支援。只要對業務邏輯的所有修改仍然在新例項中存在,就可以遷移例項。例如,如果在老版本和新版本中都有人工任務 ApprovalTask,就可以遷移這個任務上當前的過程例項。如果在新版本中沒有這個任務,就不能遷移這個過程版本。Version 7.0 增強了這個功能,增加了對 Business Process Choreographer 的遷移支援。

把過程例項遷移到新版本的步驟如下:

  1. 登入到 Business Process Choreographer Explorer。
  2. 單擊 Process Instances - Administered By Me
  3. 找到要遷移的過程例項,單擊過程例項名稱的連結。
  4. 如果過程模板有新版本,那麼會在其他操作上部看到 “Migrate” 按鈕,見圖 4。單擊 Migrate。例項就會遷移。

    圖 4. 遷移過程例項
    遷移過程例項

Version 7.0 還支援對正在執行的過程應用多種修改。

除了遷移版本,還可以修改正在執行的過程,包括:

  • 新增或刪除活動
  • 修改活動的屬性
  • 新增或刪除分支和連結
  • 修改與分支和連結相關聯的條件
  • 修改錯誤處理
  • 新增變數
  • 修改服務質量屬性
  • 修改過程或其活動的事務行為
  • 修改刪除行為或過程
  • 復位計時器
  • 糾正關聯集
  • 修改過程例項所有權

這些新功能可以增強工作流過程的靈活性。獲得授權的管理員可以修改正在執行的過程例項,從而滿足業務的需要。

頁面流支援

WebSphere Process Server 以前的版本引入了頁面流的概念,可以使用新的 API 在一個操作中完成工作項並宣告同一過程中的下一個工作項。在 Version 7.0 中,可以通過預設的 Business Space 使用者介面使用這個功能。

為人工任務啟用頁面流支援的步驟如下:

  1. 在 Process Editor 中,選擇一個人工任務。
  2. 在 Properties 選項卡中,單擊 Environment 選項卡。
  3. 單擊 Add 按鈕新增一個定製的屬性。指定 htm.hasNext 作為名稱,指定 true 作為值,見圖 5。

    圖 5. 人工任務的定製屬性
    人工任務的定製屬性

在部署過程時,這個屬性告訴執行時引擎這個任務在頁面流中使用。在執行時操作這個人工任務時,Task Information 部件顯示 Next 按鈕而不是一般的 Submit 按鈕,見圖 6。單擊 Next 按鈕呼叫 completeAndClaimSuccessor API,直接轉到流中的下一個人工任務。


圖 6. 頁面流
頁面流

接受下一個可用任務

在傳統的工作流中,使用者從列表中選擇任務,從而決定接下來做什麼。在某些情況下,選擇任務是多餘的步驟,因為使用者可能總是要選擇最新的任務或優先順序最高的任務,或者按其他排序方法選擇任務。在其他情況下,可能不想讓使用者決定接下來做什麼,從而避免他們只選擇最輕鬆的任務。為了支援這些場景,Task Information 部件提供一個接受下一個可用任務的新設定,見圖 7。在啟用這個選項時,可以選擇從哪個任務列表中選擇下一個任務,以及選擇按什麼次序獲取下一個任務。現在,系統按所選的次序自動地獲取下一個任務,使用者可以少執行一個操作步驟。


圖 7. Task Information 設定
Task Information 設定

變數

在某些情況下,在過程中使用變數之前需要初始化變數。在 WebSphere Process Server 以前的版本中,使用 BPEL Assign 活動或 Java™ 片段初始化變數。在 Version 7.0 中,可以在每個變數的屬性中指定預設值,見圖 8。


圖 8. 指定預設值
指定預設值

在使用 Assign BPEL 活動時,可以從列表中選擇新選項 “Value Composer”,見圖 9。


圖 9. 選擇 Value Composer
選擇 Value Composer

Value Composer 支援輸入複雜或簡單型別的值。可以使用圖 10 所示的 Value Composer,也可以通過選擇單選按鈕使用 XML 編輯器。Assign 活動也可以使用 Value Composer。


圖 10. Value Composer
Value Composer

查詢表

WebSphere Process Server 有一個稱為查詢表的特性,它可以提高大型部署的效能。如果有非常多的人工任務,資料庫重新整理工作列表或尋找某個人工任務例項需要花費相當長時間。可以使用查詢表提高速度。

開發人員可以使用 Query Table Builder 工具建立查詢表定義。然後,管理員把查詢表定義部署到伺服器上。然後,通過在 Human Task Manager API 中指定要使用的查詢表使用它,見清單 1。


清單 1. 查詢表 API 示例

				
// retrieve HTM EJB
InitialContext context= new InitialContext();
Object bject = context.lookup("com/ibm/task/api/HumanTaskManagerHome");
HumanTaskManagerHome htmHome = (HumanTaskManagerHome) 
       javax.rmi.PortableRemoteObject.narrow(object, 
        HumanTaskManagerHome.class);
HumanTaskManager htmEJB = htmHome.create();
       
// claim task
FilterOptions filterOptions = new FilterOptions();
filterOptions.setThreshold(20); // claim within the first 20 entries
      
ClaimResult result = htmEJB.claim("CUSTOMER.HIGHTHROUGHPUT", // use this qtd 
    filterOptions, // pass filter
    null, // current user
    null, // no parameters to provide
    10);  // 10 retries

增強的替換功能

替換支援已經得到增強,可以支援一個新模式:按時間間隔定義的臨時缺席。使用者可以使用這個新模式,而不需要把某人標為缺席,當他回來時再修改標誌。Business Process Choreographer (BPC) Explorer 支援這個新功能。

Business Space 改進

WebSphere 提供的 Business Space 是一個 Web 2.0 使用者介面,所有 WebSphere Business Process Management (BPM) 產品都使用它。每個產品提供一套插入 Business Space 的部件。在 WebSphere Process Server V7.0 中,Business Space 有許多改進。

人工工作流

除了現有的工作流部件(Human Workflow Diagram、Task Definitions List、Task Information 和 Task List)之外,在 Version 7.0 中還有三個新部件:

  • Escalations List
  • Process Definitions List
  • Process List

在 Escalations List 部件中,可以檢視或啟動您有權訪問的任何調升(escalation),還可以檢查分配給您的任何調升。可以使用選單和列標題篩選調升。圖 11 顯示 Escalations List。突出顯示的下拉選單包含瀏覽所有調升、管理調升的任務或對任務執行調升(即使還沒有觸發計時器)的選項。在預設情況下,Escalations List 部件與 Task Information 部件連線。如果作為工作項傳送通知,單擊 Open the task 圖示會在 Task Information 部件中顯示調升資訊。


圖 11. Escalations List
Escalations List

Process Definitions List 顯示過程模板的列表,見圖 12。單擊 Open the process definition 會在另一個部件中顯示過程定義,比如 Human Workflow Diagram 部件。


圖 12. Process Definitions List
Process Definitions List

Process List 顯示已經啟動的過程例項的列表,見圖 13。單擊右邊的圖示,或者選擇過程,然後單擊 Open,就可以開啟它。


圖 13. Processes List
Processes List

與 Business Space 以前的版本一樣,可以單擊列標題的右邊,然後選擇向上或向下箭頭以設定排序次序。在生產環境中,列表中的過程數量非常多,因此除了排序之外,列表篩選也很有幫助。Version 7.0 中的一個新特性是篩選 Business Space 部件中的列表。為了設定篩選器,把滑鼠移動到列標題的左邊。圖 14 所示的篩選器圖示將出現。可以選擇它,然後輸入篩選條件。不需要萬用字元。如果需要名稱以 “Pr” 開頭的所有過程,只需輸入 “Pr” 作為篩選條件。列表現在只顯示符合篩選條件的條目。


圖 14. 設定篩選器
設定篩選器

解決方案管理部件

在以前的版本中,Business Space 主要供業務使用者使用。Version 7.0 增加了供解決方案管理員 使用的新功能。解決方案管理員可以通過幾個新部件用開箱即用的模板建立解決方案管理空間。

Module Administration 部件按照與 WebSphere Integration Developer 相似的佈局顯示部署的模組的檢視,見圖 15。可以檢視和更新模組屬性以及通過 WebSphere Service Registry and Repository 建立的模組策略。還可以通過這個部件檢視服務控制點的狀態。


圖 15. Module Administration 部件
Module Administration 部件

Business Calendars 部件用於管理時間表。可以在時間表中建立或刪除活動。解決方案管理員可以使用 Security Roles 部件(見圖 16)管理系統和模組角色,向使用者分配 BPMAdmin 和 BPMRoleManager 角色。


圖 16. Security Roles 部件
Security Roles 部件

服務管理部件

有一套新的部件支援服務管理。Service Monitor 部件以圖表形式監視服務響應時間和吞吐量,見圖 17。可以使用各種操作配置要提供的統計資料,比如平均值、最小值和最大值,以及時間段是一秒、一分鐘還是自監視開始以來的總時間量。還可以對比監視資料集。


圖 17. Service Monitor 部件
Service Monitor 部件

儲存轉發 是 WebSphere Process Server Version 7.0 中新增的服務質量屬性。可以使用兩個新部件管理髮送到目標服務的訊息的儲存和轉發。Store and Forward 部件列出啟用了這種服務質量的所有服務點,可以使用 Store and Forward Details 部件檢視和管理端點本身。在發生服務故障時,儲存服務請求。管理員可以重新提交儲存的請求。這個特性可以簡化 WebSphere Interchange Server 使用者的遷移。

Module Health 部件

新的 Module Health 部件用於監視模組的健康狀態和診斷任何問題。可以檢視關於環境和拓撲的資訊。可以使用多選項卡介面檢視系統資訊。Topology 選項卡顯示部署環境、叢集和獨立伺服器的狀態,見圖 18。


圖 18. Topology 選項卡
Topology 選項卡

System Components 選項卡顯示伺服器、Business Space 以及 BPC 和 SCA 元件的狀態,見圖 19。


圖 19. System Components 選項卡
System Components 選項卡

System Messaging Engines 選項卡顯示訊息傳遞引擎的狀態。Queues 選項卡顯示訊息傳遞引擎定義的佇列點的狀態、深度和利用率,見圖 20。


圖 20. Queues 選項卡
Queues 選項卡

Data Sources 選項卡顯示資料庫資料來源的健康狀態。Failed Events 選項卡顯示系統中所有失敗的事件。可以通過單擊列標題對這些新部件中的任何列進行排序。

這些新部件讓管理員能夠訪問系統健康狀態資訊,以前只能從管理控制檯獲取這些資訊。現在,不再需要訪問多個螢幕,資訊已經整合為一個檢視了。

System Health 部件

新的 System Health 部件監視部署的整合模組的健康狀態,便於快速地診斷問題。前面討論的 Module Health 部件顯示具體模組的健康狀態,而這個部件顯示整個系統的健康狀態。使用多選項卡介面檢視資訊。伺服器和叢集狀態顯示在 Topology 選項卡中。應用程式狀態顯示在 System Applications 選項卡中。Applications 選項卡顯示關於部署的應用程式的資訊,見圖 21。關於佇列點的資訊顯示在 Queues 選項卡中。


圖 21. System Health 部件
System Health 部件

其他 Business Space 更新

現有的部件提高了使用的方便性,減少了所需的配置。Business Space 現在基於 Lotus Mashups 2.0,這提高了現有部件之間的互操作性。為 Business Space Version 7.0 建立的部件現在可以在 WebSphere Portal Server Version 6.1.5 中執行。


SOA 核心

WebSphere Process Server 是在 SOA 基礎上構建的。Version 7 通過許多改進支援新標準並提高了效能。現在,WebSphere Process Server 和 WebSphere Enterprise Service Bus (ESB) 都支援事件序列。

新的 SCA 容器

WebSphere Process Server V7.0 基於 WebSphere Application Server V7。新的 Service Component Architecture (SCA) 容器提供更好的效能。在以前的版本中,部署的模組要求生成和部署 EJB 專案。新的 SCA 容器在大多數情況下消除了這個需求,這提高了程式碼生成、打包、部署和檢驗的速度。使用這個新功能不需要修改程式設計模型。

Version 7 執行時包含 SCA 容器的新版本和 V6.2 版本,可以同時支援為這兩個版本構建的專案。採用 V6.2 和 V7 模式的模組可以互操作。

這些改進可以加快從 WebSphere Integration Developer、WebSphere Business Modeler 或命令列部署 BPM 解決方案的速度。

業務物件執行時

在以前的版本中,業務物件基於 Service Data Object (SDO) 程式設計模型,採用 Eclipse Modeling Framework (EMF) 實現。在 Version 7.0 中,程式設計模型仍然是 SDO,但是實現現在基於 XML。這在某些情況下會提高效能並改進 XML 處理。新的實現支援使用弱資料型別、型別轉換和其他複雜的資料處理功能。為了提供相容性,執行時包含 V6.2 和 V7.0 兩種實現,它們可以互操作。如果在以前的版本中編寫了 EMF 程式碼,而不是按照建議使用 SDO,那麼需要保持 V6.2 模式。如果使用 SDO 程式碼,模組可以在 V7 模式中執行,不需要修改程式碼。

EJB 繫結

WebSphere Process Server V6.2 支援使用 EJB 2.1 繫結的 SCA 匯入。Version 7 現在支援 EJB 3.0 規範,同時仍然支援 EJB 2.1。現在可以使用 SCA 匯出公開包含本地 EJB 介面的模組,匯入可以呼叫本地 EJB。支援 WSDL 和 Java™ 介面。

訊息繫結

WebSphere MQ V7 增加了對 MQ 和 MQ JMS 繫結的支援。這些繫結現在使用 MQ V7 JCA 資源介面卡,這支援 MQ V7 和更早的介面。現在,不使用監聽器埠,而是使用啟用規範(activation specification)。可以指定預先配置的啟用規範,也可以在安裝應用程式時自動地建立它。在以前的版本中,支援 MQ Client 和 CCDT 連線。在 Version 7 中,增加了對 BINDINGS 和 BINDINGSTHENCLIENT 連線的支援。

所有 MQ 和 JMS 繫結現在都支援 Pub/Sub,可以把訊息釋出到主題而不是佇列。

儲存和轉發

WebSphere MQ 和 JMS 提供持久化訊息傳遞 作為一種服務質量。如果訊息目標離線,就把訊息儲存在磁碟上,當目標系統再次上線時可以繼續處理訊息。

WebSphere Process Server 和 WebSphere ESB V7 支援使用儲存和轉發,這把訊息儲存在磁碟上,當服務重新可用時把訊息傳送到目標。同步和非同步服務都可以使用儲存和轉發。在非同步服務上可以使用用於儲存和轉發的 SCA 限定符。關於 Store And Forward 部件的資訊參見討論 Business Space 的小節。

對於從長期執行的過程發出的同步呼叫,不支援儲存和轉發。

改進實現價值的速度

WebSphere Process Server 的安裝和配置進行了改進,包括簡化了叢集配置。拓撲和資料庫配置和管理得到了改進。可以匯入和匯出靜態的關係資料,這簡化了裝載關係表的過程。

從以前的版本遷移到 Version 7.0

對於 WebSphere Dynamic Process Edition、WebSphere Business Services Fabric、WebSphere Process Server、WebSphere ESB、WebSphere Business Monitor 和 WebSphere Business Compass,WebSphere Process Server V7 使用共同的命令和使用者介面進行版本遷移。執行 V6.0.2、V6.1.0、V6.1.2 或 V6.2 的 WebSphere Process Server for Multiplatforms 或 WebSphere ESB for Multiplatforms 環境只需執行一個步驟即可遷移到 V7.0。

平臺改進

WebSphere Process Server V7 支援軟體和標準的新版本:

  • 在 z/OS® 上,改進了 WebSphere Customization Tool 的整合和 WebSphere Process Server for z/OS 的安裝體驗,增強的工具支援有助於 DB2® 資料庫建立過程,Common Installer Framework 為所有 z/OS BPM 產品提供一致的安裝體驗。
  • 可以使用 Microsoft® SQL Server 2008 作為儲存 WebSphere Process Server 程式資料(不包括 Business Process Choreographer Explorer 報告功能)的底層資料庫。
  • 現在支援 Java EE 5、EJB 3.0、JPA 和 Java SDK 6,增強了 Java 整合。
  • Web 服務支援改進包括 WS-Addressing、附件、Kerberos 令牌概要檔案和 WS-Policy 支援。現在還通過 WSDL 中生成的 MIME 繫結支援引用的附件。
  • 增加了對 Open SCA 的互操作性支援,可以保護使用標準協議的事務連線。
  • 增強了 OSGi 支援和 XML 保真度。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-630788/,如需轉載,請註明出處,否則將追究法律責任。

相關文章