• 沒有找到結果。

圖三.1 展示了如何將第二章中 DRA4WfMS 的進階運作模式應用於雲端環

境 中 。 一 個 使 用 者 連 接 其 中 一 個 入 口 伺 服 器 (portal server) 以 連 接 DRA4WfMS 雲端系統,之後伺服器會檢查這個使用者即將要執行的流程活動。

因為工作流程程序實例以 DRA4WfMS 文件的方式儲存,入口伺服器只會傳送 DRA4WfMS 文件 X′′ 的複本給參與者。參與者使用 AEA 來執行流程活動,

之後嵌入 CER 而產生 DRA4WfMS 文件 X ,然後送回給入口伺服器。當 AEA 傳送帶有執行結果的文件 (X ) 到入口伺服器的時候,入口伺服器會做

驗證以及在文件中嵌入時間戳,之後將 X′′ 儲存到 DRA4WfMS 文件池 (document pool)。經由檢查文件,DRA4WfMS 雲端系統可以通知之後流程活動 的參與者。

AEA

A1

AEA A2

(1) (2)

(3)

(4) (5)

DRA4WfMS documents pool

DRA4WfMS Cloud system Portal servers

……

(6)

圖三.1. 將 DRA4WfMS 應用於雲端運算環境中

為了開始執行工作流程程序,參與者必須從 DRA4WfMS 雲端系統下載受 保護的初始 DRA4WfMS 文件。受保護的初始 DRA4WfMS 文件可以由使用 者事先上傳至系統中。DRA4WfMS 雲端系統應該提供一個介面讓使用者搜尋 以及管理 DRA4WfMS 文件。AEA 與 DRA4WfMS 雲端系統的其中一個入口 伺服器連接。入口伺服器會驗證使用者的資訊,然後可以進行以下的操作:

— 搜尋 DRA4WfMS 文件:使用者可以獲得一個 DRA4WfMS 文件的連結 列表,使用者會是這些流程活動的參與者之一。這與工作流程系統中的待 辦列表 (TO-DO list) 的概念類似。

25

— 提 取 DRA4WfMS 文 件 : 根 據 搜 尋 的 結 果 , 使 用 者 可 以 提 取 一 份 DRA4WfMS 的文件複本,然後可以在 AEA 上執行該流程活動。

— 儲存 DRA4WfMS 文件:由 AEA 產生帶有執行結果的 DRA4WfMS 文件 應該被儲存在 DRA4WfMS 的文件池中。

— 通知之後的參與者:在帶有執行結果的 DRA4WfMS 文件被儲存之後,入 口伺服器應該要通知隨後流程活動的參與者。

— 工作流程的監控跟統計分析:使用者可以看到工作流程中流程活動執行的 相關的狀態跟資訊。

26

第四章 利用 BigTable 建構 DRA4WfMS 文件 池

Bigtable 是一種分散式的儲存系統,其目的是為了管理結構化的資料。

Bigtable 讓資料規模可以擴展到非常巨大:petabyte 大小的資料存放在數以千 計的商用伺服器上 [36]。這是其中一個以資料表結構儲存結構化 bigdata 的解 決方案。我們可以利用 MapReduce 計算框架來對 bigdata 更有效的搜尋。原

生在 MapReduce 中的可延展性讓他可以適合用於多租戶系統。我們使用 Apache Hadoop [37] 來實作 DRA4WfMS 文件池,其中的結構是由 HBase 資 料庫來建構。HBase 是一個開源的 BigTable 架構實現以及分散式的列導向 (column-oriented) 資料庫,其建構在 HDFS(Hadoop 的分散式檔案系統)的上 層。當我們需要在非常大的資料集合內進行實時 (read-time) 讀取/寫入隨機存 取時,對於 Hadoop 來說 HBase 是最合適的應用程式。一份 DRA4WfMS 文 件被儲存在一個 HBase 資料表中的一個列 (row) 中的一個資料單元 (cell)。

第一節 資料表架構

Bigtable 是一種稀疏的、分散式、持久且排序的多維 map。在 map 中的 每一個值都是由行名 (row key)、列名 (column key) 以及時間戳 (timestamp) 這三個值來作為指標。每個列又歸屬於各自的列族 (column family),而一個列