• 沒有找到結果。

問題、目標與方法

BioOrch 能以抽象的形式整合不同的網路服務,只需要透過抽象概念裡定義 好的介面去存取網路服務,而不需要知道網路服務的執行細節或使用哪一個網路 服務,降低了系統與網路服務之間的耦合程度。除了抽象形式的整合外,BioOrch 還提供了動態整合的方式,包含執行與發佈時。執行時,BioOrch 可以透過抽象 的概念使用網路服務,而這些抽象概念與網路的實體資訊都能透過一個負責註冊 的網路服務得到,所以系統在執行時能動態的到該服務找尋適合的網路服務。而 在發布時的動態整合,是透過管理者對系統作設定使其知道某些服務的位置。對 於系統作設定有兩種使用情況:(1)使用名稱與網路服務位置的連結,在設計時 只需指定名稱即可,流程引擎會依照名稱使用相對應的網路服務。(2)指定抽象 概念的網路服務,BioOrch 會用抽象概念來描述網路服務,並於執行時去尋找該 網路服務,當系統已經設定抽象概念所要使用的網路服務時,流程引擎將直接使 用設定的資訊。除了整合的方式外,為了要彈性的使用網路服務,BioOrch 提供

了許多控制流程的方式包括:Fork、Join、Parallel、While、Switch 等,還支援 Label 和 Link 的使用方式,讓生物科學研究人員能彈性的定義其需要的整合方式。

BioOrch 的 流 程 (Process) 是 由 一 些 工 作 (Task) 所 組 合 起 來 的 , 不 同 於 Activity[13],工作(Task)並不定義流程進行的順序,在 BioOrch 中另外有控制單 元來控制流程的進行。工作也不像是 Action[13],他還包含了工作的來源,工作 的目的,與工作的內容,使的工作變成是一個可以移交的單位。如圖 6 所示,對 BioOrch 來說,核心流程的驅動都是透過工作的分配與接收,由於 BioOrch 的工 作可以知道自己是屬於哪一個流程,所以流程引擎可以找到其流程實體並繼續分 配新的工作給負責的工作處理單元(Task Processor)。流程處理單元會視工作的內 容執行。執行時可能是呼叫其他的網路服務或是交由另一個工作處理單元執行。

圖表 6、Task Processor 示意圖

在跨組織的合作中流程被視為是一種網路服務,也可以用抽象的形式來表達 並註冊。所以在組織之間互相使用對方的流程時,要求者的一方可以像是使用一 般網路服務一樣去呼叫,執行完畢後再回傳執行結果。和一般技術不同的是每個 流程在使用之前都必須要填入相關資訊,而有一些資訊是用來協調彼此之間的合 作。

圖表 7、流程設定示意圖

如圖 7 所示,流程提供者可能需要或者是選擇性的讓使用者能定義部分的工 作要如何執行,以利流程之間的合作。例如,在外包的工作流程中可能要使用到 要求者內部的網路服務,或者需要要求者內部的人員來執行,這時要求者的流程 就會填入相關的資訊,如服務的位置、人員的資訊等等。而工作處理單元在收到 這樣的工作時就會將他傳回到要求者的工作處理單元,處理完後在回傳到原本的 工作處理單元以繼續未完的流程。

圖表 8、BioOrch 跨組織合作示意圖

我們使用了這樣的方法,定義流程之間合作的機制,有別於 BPEL4WS 的方法,

我們較接近於 WSCI 將服務之間的操作連結起來,以工作來定義連結的網路服 務,但又不是以 WSCI 中的“Global Model”形式,而是以“abstract process”的方式,

延續了可執行的優點。

對於生物研究組織來說許多流程除了需要自動化的呼叫網路服務外,許多部 份還是需要組織人員的參與,在 BioOrch 的中,包含組織人員管理的部分並交給 一個網路服務負責管理稱為 User Manager,這個網路服務是屬於 BioOrch 內部的 網路服務,而且也是一個工作處理單元。組織內的人員可以透過 User Manager 得到現在有哪些工作是他所需要執行的,當他執行完成時再透過 User Manager 將工作回傳到流程之中。如此流程除了網路服務外還有許多研究人員可以參與其 中,達到生物資訊需要的特性。

相關文件