關鍵字:業務流程模型
第1部分--使用WebLogic Platform 進行訂單管理 當對流程完成良好建模并不再更改時,現有的 IT 系統會工作良好。然而,現實中的業務隨時都在變化,流程也變得越來越復雜,尤其是當 Internet 可以很容易地將內部系統和外部系統連接在一起時。業務流程管理(Business process management,BPM)能夠幫助管理這一復雜而不斷變化的流程。
當對流程完成良好建模并不再更改時,現有的 IT 系統會工作良好。然而,現實中的業務隨時都在變化,流程也變得越來越復雜,尤其是當 Internet 可以很容易地將內部系統和外部系統連接在一起時。
業務流程管理(BPM)能夠幫助管理這一復雜且不斷變化的流程。操縱數據這一當今 IT 系統均能有效實施的概念,可以擴展到業務流程。通過使用工作流類型的技術,企業可以使用 BPM 系統來同時控制現有的應用程序、Web 服務和各個人工流程,或者構造或解構流程或子流程。
使用業務流程建模,我們可以對現有業務流程建模并衡量其有效性。這將幫助我們理解當前企業如何運作,并使我們可以發現需要改進的地方。它使得我們能夠在實現所建議的改進之前對其進行測試,看它們能否達到預期效果。圖 1 描述了在您的業務中如何實現 BPM。首先,需要分析和定義流程模型。這些業務流程可以通過一個流程引擎來構建和配置。然后,您就可以監控該業務流程。

圖 1
在這個系列中,我們將了解 WebLogic Integration 如何提供一個 BPM 解決方案。通過對現實中的一個涉及訂單管理的例子的探究,我們將說明如何使用 WebLogic Integration 來對一個業務流程進行建模、執行和監控。
PD4J 和 WebLogic Integration
WebLogic Integration 提供了一個健壯而完整的 BPM 解決方案。WebLogic Workshop 中的流程建模建立在 Process Definition for Java (PD4J)的基礎之上。不同的組織正致力研究和制訂 BPM 中的各個不同規范 -- Java Community Process (JCP) 致力于 Process Definition for Java (PD4J),OASIS 則致力于 Business Process Execution Language for Web Service (WSBPEL 或 BPEL)。PD4J 已經在 JSR 207 中提出并構建在 JSR 175 中的 Java Language Metadata 技術上。后一個標準將為 J2EE 平臺提供一個易用的語法,用于在源代碼級描述業務流程。JSR 207 的目標是探索并標準化流程語言(如 BPEL)、Java 語言和 J2EE 平臺之間的關系。
由于下一步的主要工作是定義 Java 流程標準,BEA 和 IBM 已通過緊密合作來建立一個稱為 BPELJ 的新標準,并將其提交到 JSR 207 工作組。BPELJ 是 BPEL 和 Java 結合的產物,這兩種語言可以一起使用來構建完整的業務流程應用程序。通過使 BPEL 和 Java 一起工作,BPELJ 讓它們各自發揮自己特長。BPELJ 是通過到 BPEL 語言的擴展來實現的;因此,任何的 BPEL 流程都能夠通過 BPELJ 來執行。通過標準化這些擴展,業務流程將通過 J2EE 平臺實現真正的可移植和互操作。
BEA 領導著 JSR 207 的研究和制訂,并且是 BPEL與 BPELJ 的聯合制訂者。除了 BPEL 的功能外,BEA 也將在下一個WebLogic Integration 主版本提供完全支持。即時,它將提供從在 PD4J 中編寫的流程自動而無縫地遷移到 BPELJ 的體驗。
在 WebLogic Intergration 中構建BPM的關鍵要素
WebLogic Integration 構建 BPM 解決方案的三個階段為:
1. 流程的建模;
2. 流程的執行或自動化,基本上是構建和配置流程;
3. 流程分析,包括流程監控。
為了進行流程建模,WebLogic Integration 使用WebLogic Workshop,它具有很多圖形化工具,可以在 WebLogic Workshop 環境,在設計和代碼視圖中構建、顯示和更改業務流程模型。建模工具的諸多特性提供了同步和異步 Web 服務、分支、嵌套、循環、平行、分組和異常處理。
業務流程也與 WebLogic Control Framework 集成,后者支持數據庫、文件、消息、服務代理和人工交互。WebLogic Workshop 提供的 Control Framework 是封裝業務邏輯、訪問企業資源(如數據庫、消息隊列和定時器)并將其作為 Web 服務提供的一種方式。使用 Control Framework,可以整合不同資源的數據和業務邏輯,并將它們用在一個業務流程中。
對于從 XML 到 Java 的轉換,可以使用 XMLBean。XMLBean 是 WebLogic Workshop 中普遍使用的技術;它提供了非常簡單的 XML 數據與 Java 類型之間的轉換。XMLBean 有許多優點,且在不失去對原始 XML 結構的訪問情況下,提供了XML 數據的一個基于 Java 對象的視圖。使用 XMLBean,XML的文檔完整性沒有丟失。它們將整個 XML 文檔實例當作整體來處理,而不是像其他的 API 那樣將 XML 分開處理。我們將在 Workshop 中了解當一個 xsd 文件導入到 schemas 文件夾中時,XMLBean 是如何被創建以及如何可用到業務流程的。
對于 XML2XML、Java2XML、和 non-XML2non-XML 映射,可以使用 XQuery Transformation Mapper。XQuery Map提供了一種改造 Web 服務發送或接收的 XML 消息的方法。
WebLogic Integration 可實施在 WebLogic Workshop 中設計的流程的自動化。通過自動生成的 J2EE 代碼,可完成流程構建。當在 WebLogic Workshop 中使用圖形化工具設計業務流程時,源代碼已經自動生成了,它按照 PD4J 來存儲此流程。它被稱作 JPD (Process Definition for Java)文件。您也可以在源視圖中編輯 Java 代碼。WebLogic Server用來構建和配置業務流程。WebLogic Workshop 有一個測試瀏覽器可以幫助測試流程。您可以執行那些保持狀態信息的有狀態流程、沒有狀態信息的無狀態流程以及同步和異步流程?梢詾槟硞業務流程生成一個 WSDL,因此可以使它作為 Web 服務激活。
流程分析提供了持續監控并實時收集統計數據。這在 BPM 中非常重要。服務級別協議(SLA)狀態監控和歷史流程報告生成信息由 BPM 工具提供?梢允褂 WebLogic Integration 控制臺來監控該流程。
現實中的例子
WebLogic Workshop可以用來對一個現實中的業務流程進行建模。它有一個設計視圖,其中包含流程節點和控件面板。通過它們,您能夠添加 Web 服務、客戶請求、決策節點和Java 控件來模擬一個現實流程。當添加了這些組件后,Workshop 將在一個獨立的選項卡中生成源代碼和注釋,以反映使用 PD4J 規范的流程邏輯。當對業務流程建模后,可以通過在 Workshop 中執行它來測試它。
在本系列的文章中,我們將探索一個真實的業務流程 ——Change Order Request(更改訂單請求),該流程是在針對某廠商的 Order Management 業務流程中。我們將看到如何在 WebLogic Workshop 中使用圖形化界面建立這個‘現實中業務流程’。
這個現實例子中所涉及的實際場景,是 PC 銷售商銷售可按單配置 PC。通過這個銷售商購買東西的消費者想升級他已訂購的 PC 上的光硬盤。這將導致從銷售商向生產商發出生成更改請求。銷售商發出請求來更改產品配置信息,要求在前面已經確認的訂單上升級 PC 的硬盤。
訂單更改流程有很多流程步驟和決策點。第一流程步驟是以 XML 形式接收來自銷售商的訂單更改請求。這個 XML 使用 RosettaNet Partner Interface Processes (PIPs) 完成訂單更改。RosettaNet PIP 是 RosettaNet Implementation Framework 的一部分,并且是商業合作伙伴之間的標準化電子商務事務處理。事務處理格式的一致性對于縮短合作伙伴之間執行事務處理的時間是非常重要的,因此,每個 PIP 都伴隨著一個消息指南和 XML 文檔類型定義(DTD)。
當 ChangeOrder 因為所升級的硬盤而有一個新的配置來升級硬盤,我們需要檢查這個配置對于 PC 是否有效。業務流程使用一個 Web 服務來檢查配置的有效性。如果這個升級硬盤不能隨著該 PC 訂購,則配置無效,流程終止。如果配置有效,則業務流程繼續下一步。
接下來的步驟是與制造商方面一起檢查原始訂單的狀態。這將幫助跟蹤 PC 正處于裝配流程的什么地方。這個狀態將使您了解它是否正處于添加硬盤的裝配流程,這將意味著訂單還可以發生變化;或者,如果它已經處于發運碼頭,這是訂單是不能更改的。該狀態保存在數據庫中。在這一流程步驟中,需要激活數據庫控件來檢查訂單的狀態。如果這個訂單不能更改,則流程結束。如果訂單可以更改,這個更改將在基于 ERP 的系統上執行,或者可以寫出到一個能加載到ERP 系統的文件。圖 2 顯示了更改訂單請求流程步驟。我們將在 WebLogic Workshop 中使用這些步驟來創建該業務流程。

圖 2
創建一個業務流程的步驟
首先需要創建一個應用程序。我們將這個應用程序命名為 orderChange。在這個應用程序中,我們創建一個名為 orderChange.jpd 的新流程。為了開始流程,我們需要再添加一個待接收的 ClientRequest。接下來添加一個 Web 服務驗證。之后我們需要判斷配置是否有效;因此,我們需要添加一個決策節點。為了檢查訂單狀態,需添加訂單狀態數據控件。再次,我們必須決定訂單狀態是否允許我們繼續流程。因此,我們需要添加另一個決策節點。流程的最后部分是要么將這個變化寫入到能夠加載到 SAP 訂單執行系統的文件控件,要么直接寫入SAP。最后一步是結束流程。
結束語
我們將在這個系列中的下一篇文章中探究每一步驟的細節。第二篇文章將討論流程的創建、客戶請求和附加 Web 服務。第三章將討論設計點和數據庫控件的添加。第四篇將討論如何寫入到文件控件和結束流程。在最后一篇我們將了解如何在瀏覽器中測試業務流程以及如何監控流程。
第 2 部分--創建流程應用程序
創建新應用程序和新流程
當您開始在 WebLogic Integration 中對業務流程進行建模時,首先需要創建一個叫做orderChangeprocess 的業務流程應用程序,在該應用程序中創建業務流程 OrderChange.jpd。當您在 Design View(設計視圖)中創建 orderChange.jpd 時,將只能看到 Start 和 Finish 節點。
創建客戶請求來啟動流程
在 WebLogic Workshop 中有 5 種不同的啟動業務流程的方法。
通過客戶請求調用。
通過有返回值的客戶請求同步調用。
訂閱消息代理通道(message broker channel)并通過一個事件(定時器、e-mail、文件、適配器等)來啟動。
同步訂閱一個消息代理通道,并通過一個事件來啟動。
通過幾個客戶請求或者訂閱(事件選擇)中的一個來調用。
在我們的例子中,發送了一個經過更改的 XML 文檔來請求ChangeOrder。該XML 文檔的格式為 RosettaNet PIP 3A8。我們稱該文檔為 orderchange.xsd。首先要將該 orderchange.xsd 添加到 schemas 文件夾,方法是將其導入到應用程序中。在您添加模式的同時,也創建了 XML Beans。我們將在下一節中詳細探討 XML Beans。
當客戶請求更改訂單時,我們將調用 Client Request 來啟動業務流程。為此,您需要創建一些方法和參數,客戶將用它們來觸發業務流程,這些方法和參數是在本節點的 General 和 Receive Data 設置中指定的。General Settings 指定了業務流程為客戶提供的方法?蛻艨梢哉{用 orderChange 方法來啟動業務流程并向其發出請求。我們將該方法映射到鍵入的 XML —— orderchange.xsd 中。也就是說,從客戶那里接收的消息必須含有對 XML Schema orderchange.xsd 有效的 XML。General Settings 選項卡會獲得更新,以指出您已經成功地完成了方法名稱和參數的指定:
文章來源于領測軟件測試網 http://www.kjueaiud.com/