天天看點

建構富網際網路應用程式監控工作流和流程(1)

為了提高營運效率,越來越多的企業正在将其關鍵業務流程進行自動化。但是,即使流程實作了自動化,也會因為以下兩個重要原因而需要手動互動:使流程前進到下一步(工作流)以及為最終使用者提供實時流程可見性(流程監控)。

  來看一個開立新銀行帳戶的業務流程。首先,客戶提供必需的詳細資訊(姓名、位址、SSN、起存額)以開立帳戶。該流程啟動後,客戶将需要跟蹤請求的狀态并響應銀行發出的任何其他查詢。該流程需要工作流來實作客戶參與,并需要流程監控以便客戶可以跟蹤請求狀态。

  Oracle BPEL 流程管理器簡化了基本的工作流功能和流程活動監控。但同樣重要的是,通過擴充其豐富的 API 接口以便與流程、執行個體和工作流互動,可以建構一個支援進階工作流和流程活動監控的富網際網路應用程式 (RIA)。該進階工作流功能可以使使用者和流程之間實作無延時的通信,而進階流程活動監控可以将實時流程狀态資訊傳輸給工作流,以便采取相應的操作。

  在本文中,我将介紹一個需要實時工作流和進階流程活動監控功能的簡單業務情形。然後,您将了解基于 Macromedia Flash 的 RIA 的體系結構(它利用 BPEL 流程管理器 API 滿足這些目标),然後了解 RIA 如何初始化流程并內建工作流。您還将學習到如何以可視化方式描繪可用的流程路徑,以及目前執行個體實際采用的流程路徑。(該功能對于回顧檢查流程非常重要。)最後,還将向您簡要介紹如何使用 API 接口跟蹤審計線索。

  RIA 背景知識

  RIA 融合了 Web 應用程式與傳統的桌面應用程式,它通常是使用 JavaScript、Flash、Java Applet、XML 使用者界面标記語言 (XUL)、可擴充應用程式标記語言 (XAML)、JavaServer Faces 以及 Swinglets 等“互動式”技術建構的,并經常使用異步 XML 和 JavaScript (AJAX) 方法。RIA 可以潛在地提高聯機應用程式的可用性和效率,還有開發人員的生産效率。根據 Gartner Research,截止到 2010 年,至少 60% 的新應用程式開發項目将包含某種 RIA 技術。

  本文的示例包含一個 BPEL 工作流界面和流程監控控制台,用于為最終使用者提供一個統一的、功能豐富的儀表闆。請注意,必須将該應用程式與 Oracle BPEL 控制台或真正的業務活動監控 (BAM) 加以區分;盡管存在某種程度的功能重疊,但 RIA 的目标使用者群與後兩個應用程式的目标使用者群截然不同。BPEL 控制台更适合于調試、部署和維護流程執行個體的管理者和開發人員,而 BAM 适合于要度量關鍵性能名額 (KPI) 然後采取措施改進流程的流程所有者(管理人員、LOB 經理等)和 IT 經理。而本文描述的示例 RIA 應用程式是針對以下最終使用者而設計的:要跟蹤特定業務互動的狀态并且不關心 KPI 或流程改進的客戶、合作夥伴或供應商。

  示例流程

  示例業務流程“新帳戶請求”是一個多企業流程,用于為金融服務中介、其金融合作夥伴(保險公司及其财務顧問)、共同基金公司和結算所建立帳戶。本文将着重介紹該流程的前兩個步驟。

  1. 該流程接受客戶的 SSN,然後從資料庫中提取并顯示客戶資訊(名稱、位址)。

  2. 客戶驗證該資料、添加存款帳戶,然後單擊 Submit。

  顯而易見,客戶将需要一個工作流界面來輸入 SSN、驗證姓名和位址并輸入存款帳戶。此外,他們需要能夠以可視化方式監控請求的進度。

  在下個部分中,我将概述有關建構此應用程式的開發方面的問題。稍後,您将看到新帳戶業務流程如何使用此應用程式執行。

  建構應用程式

  正如前面所介紹的,您将出于以下兩個主要目的設計該應用程式:

  提供一個豐富的統一使用者界面,以便使用者跟蹤流程狀态并在需要時提供輸入(RIA 前端)

  提供進階流程監控(BPEL 流程管理器 API 後端)

  RIA 前端。RIA 使用者界面是應用程式的“外觀”;它運作并管理新帳戶業務流程。該表示層是使用 Macromedia Flex 技術和 ActionScript 腳本語言建構的。它接受使用者輸入,并将其傳遞給 BPEL 流程。它還顯示流程的目前狀态。 

繼續閱讀