瞭解 WebSphere Business Modeler 與 FileNet 整合

CloudSpace發表於2008-07-25
IBM® WebSphere® Business Modeler 可以將模型匯出到多個不同的目標平臺,其最新匯出功能適用於 IBM FileNet® P8 Business Process Manager。本文介紹哪些建模構造可支援 FileNet,並向您展示如何使用實際操作示例準備匯出模型。

引言

IBM WebSphere Business Modeler 是用於建立業務流程模型的強大工具。為業務流程建模出於不同的原因:

  • 用於文件說明目的:可以使用強大的模擬引擎來評估流程模型,以幫助發現要改進的區域,並啟用“原有”(As-Is) 和“將來”(To-Be) 建模。您可以為靜態和動態流程分析生成報告(包括流程比較報告),並且可以使用流程模擬嘗試“假設”(what if) 場景來測試可能的流程改進。

  • 用於執行:流程模型是技術開發人員的有用資產,因為模型像一個如何構建內容的計劃,它有助於減少複雜性,並縮短開發週期。從這方面說,WebSphere Business Modeler 相當於非技術業務分析人員和技術開發人員之間的紐帶。

IBM FileNet Business Process Manager 是 IBM FileNet P8 系列產品的組成部分,管理以文件為中心的和以人為中心的業務流程的工作流。工作流流程自動化有許多優點,其中包括最大限度提高流程效率、確保流程一致地執行、提高質量、同時縮短週期和降低成本。IBM FileNet Business Process Manager 是 FileNet P8 的組成部分,已整合到 IBM Enterprise Content Management。工作流流程基於 XML Process Definition Language (XPDL) 標準。

以前版本的 WebSphere Business Modeler(以下稱為 Modeler)包括用於目標執行時的建模模式(如 IBM WebSphere MQ Workflow 和 IBM WebSphere Process Server)。這些建模模式公開僅應用於目標平臺的技術詳細資訊,並提供額外級別的錯誤檢查,以確保匯出的模型適用於目標執行時。

Support Pac BA77“IBM WebSphere Business Modeler FileNet Integration”是為 Modeler Version 6.0.2 釋出的,並允許 FileNet P8 Business Process Manager(以下稱為 FileNet)成為 Modeler 的其他匯出目標。對於 Modeler Version 6.1 發行版,此功能現在包括在基礎產品中。這意味著您可以利用強大的 Modeler 功能(如模擬和分析),然後將流程匯出到 XPDL,以便在 FileNet 環境中進一步優化。

FileNet Business Process Manager 模式

要將模型匯出到 FileNet,您必須首先將 Modeler 設定為 FileNet Business Process Manager 模式。要執行此操作,請從 Modeler 選單欄中選擇 Modeling => Mode => FileNet Business Process Manager(圖 1)。(此外,還可以鍵入 Alt+Ctrl+F。)


圖 1. FileNet Business Process Manager 模式
圖 1. FileNet Business Process Manager 模式

對於其他匯出目標,在 FileNet 中並不支援 Modeler 中的每個構造。在進入 FileNet Business Process Manager 模式時,托盤中不支援的構造將變灰,因此您無法將其新增到您的流程中。不支援的元素是:

  • 觀察器
  • 計時器
  • 通知廣播器和接收器
  • 全域性任務、全域性服務和全域性儲存庫
  • 業務規則任務
  • 業務服務和業務服務物件。

如果您嘗試匯出的模型包含這裡所列的任何不支援的元素,則這些元素將標記為錯誤,並且必須在匯出之前糾正。

模型轉換

正如您預期的那樣,FileNet 和 Modeler 不能處理所有相同的元素。因此,需要將流程模型中的元素轉換為 FileNet 中最匹配的元素。當您構建要匯出的模型時,瞭解這些轉換非常重要。

資料流

與 WS-BPEL 非常相似,XPDL 流程中的流僅用於控制;流程元素之間不傳輸資料。資料儲存在各種活動可以訪問的名為資料欄位的全域性變數中。因此,匯出到 FileNet 的流程不能在任務之間的聯結器上使用業務項。相反,您可以使用本地儲存庫來儲存第一個任務的輸出,然後從該儲存庫傳輸到第二個任務,如圖 2 所示。在 FileNet 中,任務之間的連線對映到路由。


圖 2. 資料流模式
圖 2. 資料流模式

如果要傳輸多個資料片段,則每個資料片段需要一個儲存庫。在 FileNet 中,您建立的每個儲存庫都與一個資料欄位對應。在 FileNet Business Process Manager 模式中新增儲存庫時,預設容量設定為 1。在其他模式下,預設容量沒有限制。在 FileNet Business Process Manager 模式中不支援全域性儲存庫;您必須始終使用本地儲存庫。

如果您的流程包含大量的變數,則指向儲存庫的所有連線會使流程圖顯得非常複雜。您可能需要考慮在任務和儲存庫之間不顯示連結,這樣可以使圖表的整個外觀更整潔。要隱藏聯結器,請執行以下操作:

  1. 右鍵單擊流程背景的空白處。
  2. 選擇 Repository Connections,以取消選中該選項(圖 3)。流程圖現在將顯示儲存庫,但將隱藏它們的連線。

圖 3. 隱藏儲存庫連線
圖 3. 隱藏儲存庫連線

對於資料本身,並不是 Modeler 中的每個資料型別在 FileNet 中都有等效項。資料型別將以儘可能接近的方式對映,但是 FileNet 中有一些資料型別在 Modeler 中不受支援,如表 1 所示。


表 1. 資料型別對映
Modeler 資料型別 FileNet 資料欄位
Boolean Boolean
Date DateTime
DateTime DateTime
Decimal(雙精度) 不支援
Decimal(單精度) Float
Duration 不支援
Integer Integer
Integer(位元組) 不支援
Integer(長型) 不支援
Integer(短型) 不支援
Text String
Time String

如果使用一個不支援的資料型別建立儲存庫或業務項,則錯誤將顯示在錯誤檢視中。在匯出之前,您必須更新模型才能使用支援的資料型別。

業務項

FileNet Business Process Manager Service Pack 2 已新增了新功能,可以支援稱為 XML 型別的資料欄位 的複雜資料型別。在此服務包之前,僅支援簡單的資料型別。如果您作為儲存庫的資料型別使用業務項,則可以將其對映到 XML 型別的資料欄位,即使該業務項僅有一個屬性也是如此。使用業務項不會導致任何錯誤或警告,但是您應知道,如果使用的是 Service Pack 2 或更高版本,則僅在 FileNet 中支援業務項。

流程

將 Modeler 中的頂級流程轉換為 FileNet 中的工作流流程。不過,當使用子流程或重用全域性流程時,將使用不同的對映。

您不能期望匯出的流程可以在 FileNet 中執行。在執行匯出流程之前,需要進一步優化匯出流程的結果。

本地流程

在為 FileNet 建立的工作流流程中將本地流程轉換為子對映。在 XPDL 級別,子對映稱為 BlockActivity。在 Modeler 中,資料不傳輸到本地流程。而是使用儲存庫將該資料儲存在頂級流程中。本地流程中的步驟然後可以訪問儲存庫中的資料。例如,您可能需要將本地流程中的某個步驟輸出對映到頂級流程中的儲存庫。要完成此任務,請執行以下步驟:

  1. 單擊本地流程中的任務,將其選中。
  2. 單擊 Attributes 檢視該任務的屬性。
  3. 單擊 Output 選項卡。
  4. 單擊 Add 按鈕新增新的輸出。
  5. 單擊 Associate data 欄位,然後單擊顯示的省略號按鈕。(您也可以向下滾動並單擊 Browse 按鈕找到 Associate data 欄位。)
  6. 單擊 Basic type 的下拉選單,並選擇您的資料型別(如圖 4 中的 Boolean)。然後單擊 OK

    圖 4. 選擇資料型別
    圖 4. 選擇資料型別

  7. 單擊 Output target 欄位並選擇 Repository,然後單擊 Enter。皮膚然後將更新。
  8. 向下滾動,或擴大屬性區域,並單擊 Repository valueBrowse 按鈕。
  9. 從下拉選單選擇要使用的本地儲存庫,並單擊 OK。您現在已將任務的輸出對映到高階流程中的本地儲存庫(圖 5)。

    圖 5. 將任務輸出對映到儲存庫
    圖 5. 將任務輸出對映到儲存庫

對映

如果一個任務的輸出與流中的下一個任務相比具有不同的資料型別或業務項,將使用 Modeler 中的對映。由於 FileNet Business Process Manager 模式中不支援資料流,因此不需要對映,而且在流程流中不支援資料流——但一個例外是:開始位置。

在流的開始處,可能存在傳入的資料流。在流程的每個開始處,可以使用對映將傳入的資料流對映到一個或多個儲存庫來儲存資料,以便流程中的其他步驟可以訪問這些資料。不過,在 FileNet 中檢視工作流流程時,對映將不顯示為流中的元素:而只是將其轉換為從傳入資料到資料欄位的對映。

需要將傳輸到流程的資料定義為一系列簡單的資料型別(圖 6)。如果業務項傳輸到流程,則對映會標記一個錯誤。


圖 6. 對映為流的第一個元素
圖 6. 對映為流的第一個元素

全域性流程

在 Modeler 中的頂級流程中重用的全域性流程轉換為 FileNet 中的系統步驟。如果同步呼叫全域性流程,則頂級流程在系統步驟完成之前不會恢復。在生成的 XPDL 中,全域性流程將成為在同一級別定義為主要流程的工作流流程(圖 7)。


圖 7. 將全域性流程從 Modeler 轉換到 FileNet
圖 7. 將全域性流程從 Modeler 轉換到 FileNet

任務

在 Modeler 中定義的流程中的本地任務和本地人工任務被轉換為 FileNet 流程中的常規步驟。任務的輸入和輸出對映到引數。如果使用本地人工任務,則該任務的主要所有者會對映到該步驟的 FileNet 參與者。不支援全域性任務和全域性人工任務。

儘管兩種型別的任務都對映到 FileNet,但是存在某些限制。僅支援一個輸入標準和一個輸出標準。例如,假設 Task1 和 Task2 都需要傳輸到另一個稱為 InputTask 的任務。要麼 Task1 可以執行,要麼 Task2 可以執行,但二者不能同時執行。InputTask 將需要兩種輸入標準,這樣它才能夠啟動(每個標準對應於一個傳入任務,執行時使用邏輯 OR)。此模式不受支援;必須改為使用合併元素,如圖 8 所示。


圖 8. 使用合併
圖 8. 使用合併

類似地,在該任務決定採用流中的哪一個路徑後,您可以使用一個決策,而不使用兩個輸出標準。

角色和資源

對於人工任務,在 Modeler 中定義的角色和資源被對映到 FileNet 中的等效構造。對於其他對映,由於兩種環境的不同而存在一些限制。

  • Modeler 中的個別資源需求可對映到 FileNet 的參與者。不過,指定的個別資源必須基於預定義的人員或人力資源定義。換句話說,如果個別資源需求用於非人員或人力資源,則不將其匯出。

  • Modeler 中的角色對映到 FileNet 中的工作流組,而角色需求對映到參與者。不存在對資源定義、資源定義模板和個別資源的對映。

流控制

用來控制流程流的 Modeler 元素可對映到 FileNet 中最接近的等效項。

決策

在 Modeler 中,決策可以是包含性或獨佔性的。最常見的模式是預設的使用獨佔性決策,其中只能有一個可能的路徑是正確的。簡單的決策總是獨佔性的。在 FileNet 中,路由資訊是某個步驟的組成部分。如果 Task1 後跟一個決策,則該決策的邏輯將對映到 Task1 的路由資訊。在邏輯無法直接對映到任務的情況下,將為該流程建立新的常規步驟,其中包括路由資訊。無論哪種情況,業務流程的邏輯都儲存在生成的 XPDL 中。在路由資訊中,決策成為一個邏輯 OR 分支。

Modeler 中的包含性決策可以使多個分支評估為 true。只有複雜的決策可以是包含性的。通過單擊複雜決策的 General 選項卡上的核取方塊可以將其標記為包含性決策。包含性決策的圖形更改如圖 9 所示。因為對於包含性決策,可以將多個分支評估為 true,所以輸出的百分比總數將大於 100%。也可以使用路由資訊中的邏輯 AND 分支,將包含性決策對映到決策前的任務的路由資訊。


圖 9. 包含性和獨佔性決策
圖 9. 包含性和獨佔性決策

Modeler 中的表示式編輯器用於定義決策邏輯。在 FileNet Business Process Manager 模式中,每個輸出都需要表示式。如果您不定義表示式,則它將標記為錯誤。在 FileNet 中,表示式對映為路由條件。

Merge 和 join

使用 Modeler 中的 merge 可以將多個路徑連線為單個路徑。到 merge 的輸入中只需要有一個為 true。從這方面說,merge 就像用於流程邏輯的邏輯 OR。

不過,FileNet 沒有類似的構造。為此,在 Modeler 中使用 merge 時,在合併之後的步驟中將其對映為路由資訊。例如,如果三個步驟傳輸到 merge,然後將輸出連線到名為 Task2 的任務,則匯出的流程會包括 XPDL 中為 Task2 生成的路由資訊。如果該情況不發生,則生成新的常規步驟,其中包括路由資訊。

join 可以與派生結合使用。派生可分出兩個或多個並行路徑。在繼續之前,join 將等待所有的並行路徑完成。從這方面說,join 就像用於流程邏輯的邏輯 AND。

FileNet 沒有類似的構造,因此類似於 merge,將 join 對映為連線其輸出的任務的路由資訊。如果該情況不發生,則生成具有路由資訊的新常規步驟。

FileNet 需要對稱的流程流。當使用並行路徑時,每個路徑必須合併或結束。對於並行路徑還存在另外一個注意事項,因為每個路徑上的任務可同時執行;您需要考慮如何處理資料。如果兩個並行路徑嘗試同時訪問同一資料,則您會遇到一致性問題。為此,如果在並行路徑中使用同一儲存庫,則匯出中的每個路徑將具有自己的資料副本。您可以自己考慮使用不同的儲存庫,這樣可以對生成的資料欄位進行更好的控制。

迴圈

許多表示法和執行時不允許向後傳輸連線。因此,可能需要重複的一組步驟被放在迴圈中。Modeler 有三種型別的迴圈可以在流程流中使用:

  • While 迴圈具有在每次迭代之前評估的迴圈條件。當條件為 true 時,將執行迴圈中的步驟。由於在每次迭代之前檢查迴圈條件,因此,如果條件最初為 false,則迴圈中的步驟不執行。這是 WS-BPEL 中支援的唯一迴圈型別。
  • For 迴圈是針對一組迭代執行的。對於每個迭代,將執行迴圈中的所有步驟。
  • Do-while 迴圈類似於 while 迴圈,不過在每次迭代之後檢查條件。這意味著迴圈中的步驟將至少執行一次。

FileNet 沒有迴圈概念。不過,XPDL 不限制流擁有指向前一活動的連結。此條件最適合於文件中心流,而“面向程式設計師”的語言(如需要迴圈的 WS-BPEL)可更好地支援整合中心流程。IBM WebSphere Process Server V6.1 中的迴圈流活動將此型別的功能引入 WS-BPEL。

Modeler 迴圈對映到每個迴圈的 FileNet 構造,方法是使一個步驟表示迴圈中的條件檢查,使另一個步驟表示迴圈的內容。對於 for 迴圈情況,會生成三個附加資料欄位。這些欄位將跟蹤已在迴圈中執行的迭代數,並檢查該條件以確定何時結束。


圖 10. 帶有 while 迴圈的 Modeler 流程
圖 10. 帶有 while 迴圈的 Modeler 流程

將帶有 while 迴圈的流程匯出到 XPDL 後,可以在 FileNet Process Designer 中開啟該流程(圖 11)。


圖 11. 匯出到 FileNet 的 While 迴圈流程
圖 11. 匯出到 FileNet 的 While 迴圈流程

名稱為 While 迴圈的系統任務指向一個活動集,該活動集包含與 while 迴圈中的任務對應的任務(圖 12)。通用步驟(沒有任何名稱)和 While 迴圈之間的路由包含與迴圈條件對應的邏輯。到流程任務的路由包含相反的邏輯,因此當迴圈條件為 false 時,將改為採用此路由。從這方面說,FileNet 流程儘管不支援迴圈,但其操作方式與 while 迴圈相同。


圖 12. While 迴圈活動集
圖 12. While 迴圈活動集

其他元素

Modeler 中的流程通常從一個或多個開始節點開始。 FileNet 流程從單個啟動步驟活動開始。啟動步驟是自動建立的,無論是否使用開始節點。

使用 terminateProcess 功能將頂級流程中的停止節點對映到系統步驟。在本地流程或迴圈中,當匯出到 FileNet 時忽略停止節點。

沒有對結束節點的對映;在匯出時將忽略它們。

在 FileNet 中將批註對映到文字批註,如圖 11 所示。

全域性元素和服務

Modeler 包含可用的全域性元素的概念,可以促進重用和具有可重用庫的支援環境(如 WebSphere Process Server)。不需要從全域性元素對映到 FileNet 中的構造。只能使用全域性流程。

Modeler 還包含全域性和業務服務的概念。不需要將這些元素從 Modeler 對映到 FileNet。

示例流程

下面介紹了一個示例流程,演示 Modeler 的一些其他匯出特性和功能(圖 13)。


圖 13. 示例流程
圖 13. 示例流程

前面已經提到,您可以隱藏從任務到儲存庫的連線,使流程看起來更清晰(圖 14)。當流程複雜性增加時,此技巧可能比較可取。


圖 14. 隱藏了儲存庫連線的流程
圖 14. 隱藏了儲存庫連線的流程

該流程包含多個元素。

  • Review Request:人工任務,分配了 Reviewer 角色。
  • Approved?:一個簡單的決策,基於 Approval Status boolean 變數。表示式是使用表示式編輯器建立的(圖 15)。資料沒有傳輸到決策,因此您必須單擊 Add 按鈕,才能建立表示式。
  • Process Approval:具有角色需求 Reviewer 和資源型別 Staff 的任務。
  • Process Rejection:具有角色需求 Reviewer 的任務,但是不指定任何資源型別。
  • Merge:將兩個路徑合併成一個路徑。
  • Stop:流程的結束。

圖 15. 表示式編輯器
圖 15. 表示式編輯器

將流程匯出為 FileNet,並在 FileNet Process Designer 中開啟它(圖 16)。


圖 16. FileNet Process Designer 中的示例流程
圖 16. FileNet Process Designer 中的示例流程

在 FileNet 流程中:

  • LaunchStep:FileNet 流程從啟動步驟開始。LaunchStep 中的引數與 Modeler 流程中的傳入資料對應。
  • Review Request:向角色 Reviewer 分配工作的任務。
  • Process Approval:向角色 Reviewer 分配工作的任務。
  • Process Rejection:向角色 Reviewer 分配工作的任務。
  • Stop Node:選擇了函式 terminateProcess 的系統步驟。
  • Routings:Review Request 和後續步驟之間的路由包括路由使用的邏輯。

Modeler 的任務 Process Approval 和 Process Rejection 都使用了角色需求。與單個資源需求不同,不論是否將資源型別設定為 Staff,兩個任務都對映到工作分配設定為 Reviewer 的任務。

保留了流程的業務意圖,將 Modeler 的構造對映到了 FileNetk 中的對等項。

結束語

在本文中,您學習了 IBM WebSphere Business Modeler V6.1 中的 FileNet Business Process Manager 模式。還學習瞭如何將模型的元素轉換為 FileNet 的 XPDL,沒有對映哪些元素以及建模建議。描述的示例流程向您提供了從 Modeler 到 FileNet 的匯出功能的實際示例。

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

相關文章