專利名稱:一種用于網格計算的圖形化開發(fā)方法
技術領域:
本發(fā)明是一種新型的網格工作流開發(fā)方法,并在網格平臺的基礎上給出了開發(fā)應用的架構。主要用于實現(xiàn)網格工作流的快速開發(fā),實現(xiàn)網格工作流的自動生成,得到具有自適應性的網格工作流流程。從根本上解決了網格工作流可視化操作差、服務之間組合關聯(lián)性差等缺點。
背景技術:
網格技術是隨著Web技術的發(fā)展而出現(xiàn)的一種新興技術,它較好的適應了Internet的特點,能充分實現(xiàn)資源的共享和任務之間的協(xié)作完成。目前,網格環(huán)境中有許多計算資源被閑置,如何充分利用這些資源, 一方面需要構建網格的計算基礎設施,同時還需要有好的網格應用開發(fā)支撐平臺。盡管工作流聯(lián)盟(WFMC)已經制定了相應的工作流系統(tǒng)模型,但是網格工作流的開發(fā)仍然在開發(fā)速度、開發(fā)難度和可視化上存在著教大的缺點。
網格工作流是工作流技術在網格環(huán)境下的應用。工作流技術從出現(xiàn)到現(xiàn)在,已逐漸發(fā)揮越來越重要的作用。工作流能夠為企業(yè)應用提供業(yè)務流程建模、管理和控制功能,可以應用于電子政務中的一站式辦公、電子商務中的流程集成和金融信貸業(yè)務等領域,成為近期增長較快的領域。由于網格的規(guī)模的日益增大,網格結構的日益復雜,這樣就對網格工作流的開發(fā)提出了更高的要求?;谀P偷木W格工作流的開發(fā)方法的關鍵技術包括模型(Resource Model)的建立、圖形化展示系統(tǒng)的建立、工作流流程自動生成、網格資源自動綁定等。而圖形化顯示和流程自動生成是影響網格工作流開發(fā)技術廣泛使用的重要因素之一,因此研究網格計算平臺下的圖形化開發(fā)方法具有重要意義。
網格計算平臺的圖形化開發(fā)過程主要包括四個方面(1)網格資源模型的建立(2)模型的匹配與映射(3)流程的自動生成(4)網格資源的自動綁定。目前對第一個方面網格資源模型的建立己經有成型的研究與設計,可以通過已有的網格資源管理工具對網格環(huán)境下的各種資源進行分類管理。但是后面三點在現(xiàn)有的網格工作流開發(fā)過程中并沒有得到很好的應用。目前,在已經存在的網格工作流開發(fā)中都缺少了模型的概念,并且用戶在對網格工作流進行開發(fā)時都必須對流程進行詳細的定義,這就要求用戶對網格環(huán)境十分的熟悉,從而使得網格工作流的開發(fā)具有了一定的門檻。
發(fā)明內容
技術問題本發(fā)明的目的是提供一種用于網格計算的圖形化開發(fā)方法,來解決網格計算中工作流流程開發(fā)的低效性和復雜性問題,與過去使用的開發(fā)方法不同,本方法是一種通過建立與模型相對應的圖形來來生成代碼的方法,通過使用本發(fā)明提出的方法可以達到快速生成一個網格工作流流程的目的。
技術方案本發(fā)明的方法是工作流圖形化開發(fā)方法,通過使用圖形開發(fā)技術結合網格資源模型的建立而提出的,其目標是通過根據(jù)用戶的要求進行網格的資源模型的匹配與映射,隨后進行流程代碼的自動生成和網格資源的自動綁定,從而完成一個可執(zhí)行的網格工作流。
該方法用于開發(fā)網格工作流,其開發(fā)歩驟具體如下
1) 網格工作流模型的建立
用戶用兩種方式創(chuàng)建自己的網格工作,根據(jù)用戶的需求來構建網格工作流模型
a) 已有的網格工作流模型用戶可以選擇已經存在的網格工作流模型,在已有的網格工作流模型上構建網格工作流應用;
b) 用戶自定義網格工作流模型用戶可以定義一個空白的網格工作流模型,然后自行設計該模型,建立模型的框架體系;
2) 利用圖元來表示網格資源的分類用戶設計完網格工作流模型后,需要在網格工作流模型上設計網格工作流的
流程和利用到的網格資源;
2a)網格資源用戶通過選擇資源所對應的圖元進行網格工作流設計,在流程設計中,用戶選擇的是資源的分類和一些對資源的要求;
2b)網格工作流流程用戶選擇合適的網格服務將各個網格資源進行連接的操作,用戶這里選擇的網格服務可以直接査找網格服務注冊中心進行選定或者在流程編寫完成后由網格服務注冊中心進行自動選定;
3) 向適配器發(fā)送網格工作流架構信息用戶完成了網格工作流的基本信息定義后,適配器根據(jù)用戶所定義的網格工
作流流程對網格資源模型進行適配,從而獲得網格資源的相應信息,在網格工作流中生成網格資源的應用框架;
4) 在工作流流程中選擇網格資源 根據(jù)用戶在流程設計時選擇的網格資源和上面生成的網格資源框架,自動的
添加網格資源到網格工作流流程中;
5) 在工作流流程中添加網格服務根據(jù)網格用戶所定義的網格服務類型,從網格服務注冊中心UDDI中査找相
應的網格服務對網格資源框架中的各個網格資源進行鏈接。相應的網格服務應當
滿足用戶性能的要求,并且根據(jù)一定的算法選擇出最適合流程性能的最優(yōu)服務;6) 網格工作流的執(zhí)行與監(jiān)控-
網格工作流執(zhí)行引擎執(zhí)行用戶所定義完成的網格工作流流程,通過査找網格工作流框架首先完成執(zhí)行的初始化,然后通過適配器產生的資源模型進行網格資源的使用注冊,最后通過流程中所綁定的網格服務對各個資源進行調用,并完成
整個工作流流程的執(zhí)行;在執(zhí)行的過程中,網格資源的狀態(tài)和網格服務的狀態(tài)都在網格工作流監(jiān)控界面上得以體現(xiàn);
7) 網格工作流模型的保存和資源的釋放
網格工作流執(zhí)行完成后,由用戶選擇是否重新執(zhí)行、保存執(zhí)行結果、保存用戶設計的網格工作流模型操作;在用戶結束網格工作流的流程后,資源自動的進行釋放,包括釋放綁定的資源、釋放流程的中間執(zhí)行結果等信息;如果用戶所定義的網格工作流模型不存在于網格工作流模型庫中,則將該模型加入。
有益效果本發(fā)明方法提出了網格計算平臺網格工作流開發(fā)設計的新方法,主要用于解決網格工作流流程開發(fā)可視化實現(xiàn)問題,通過使用本發(fā)明提出的方法可以避免通過網格工作流流程開發(fā)的復雜性、封閉性、可以提高設計方法的靈活
性,可以有效的達到快捷開發(fā)并執(zhí)行一個網格工作流的目的。圖形化開發(fā)方法及其平臺具有如下優(yōu)點
1) 直觀的圖形展示
利用圖模一體化的開發(fā)方法,能直觀的顯示網格工作流中所用到的各種網格資源,并確定各個網格資源之間的從屬關系,網格服務的執(zhí)行狀態(tài)等,利用
Flex開發(fā)的圖形展示能在任何平臺上進行展示與部署,進行跨平臺性的操作
2) 開發(fā)復雜性降低
圖模一體化的開發(fā)方法實現(xiàn)了業(yè)務展現(xiàn)層與邏輯層的分離,實現(xiàn)了各個層次之間的松耦合,對于網格工作流采用了圖形化的建模方法,降低了開發(fā)的復雜程度,而與模型的對關系通過模型匹配和服務影射來完成,使得流程開發(fā)人員不需要過多的了解底層的細節(jié)問題。
3) 展現(xiàn)層與邏輯層的分離;
各個層次之間的松耦合極大的增加了網格工作流開發(fā)的靈活性,而底層模型的變動不會對上層的網格工作流造成很大的影響。
4) 工作流的執(zhí)行與監(jiān)控一體化;
圖模一體化的開發(fā)方法可以將網格的特性進行充分的展現(xiàn),特別是網格的動態(tài)性,在圖模一體化開發(fā)方法中,網格用戶能直觀的看到各個節(jié)點的執(zhí)行狀態(tài)和執(zhí)行結果,并隨時掌控各個網格節(jié)點的狀態(tài),實現(xiàn)了網格工作流的執(zhí)行與監(jiān)控的一體化。
5) 支持網格應用的快速發(fā)布;
采用Flex的圖形化展示,能使得網格工作流更加容易的在網格環(huán)境中進行
6發(fā)布,F(xiàn)lex技術仍然采用的是B/S的結構體系,在設計中采用了 MVC三層結構,使得用戶能隨時進行跨平臺、跨地域的訪問。
圖l:網格工作流開發(fā)平臺架構體系,圖2:網格工作流開發(fā)流程設計。
具體實施例方式
一、 體系結構
圖l給出了網格環(huán)境的工作流開發(fā)平臺的設計體系結構,它包含以下幾個功
能部件圖形用戶接口、模型適配器、網格資源注冊中心、流程自動生成器、網格資源模型。
下面我們給出各個部分的主要說明-
圖形用戶接口良好的用戶接口是開發(fā)符合用戶需求的軟件的一個很重要的方面,通過增加圖形用戶接口的數(shù)量和質量可以大大提供最終用戶的體驗。我們
的圖形用戶接口將基于Flex技術來開發(fā),其基本頁面為Flash,基于Flex技術的圖形化界面能更好的體現(xiàn)出網格動態(tài)性的特點,而且基于Flex技術的圖元能支持頁面代碼的編寫,這樣使得頁面的表述能力更加的豐富。
模型適配器模型適配器是對客戶應用的封裝,用戶在定義流程之前可以選擇所需要的資源模型,在選擇的資源模型上進行工作流流程的開發(fā);當用戶不知道自己所需要的資源模型類別時,用戶只需要設計自己的網格工作流應用,模型適配器會自動的根據(jù)用戶所設計的工作流流程選擇合適的網格資源模型。而當用戶所選擇的資源模型與所設計的流程不符合時,模型適配器會拋出異常,供用戶進行修正參考。
網格資源注冊中心網格資源注冊中心提供了接口供流程自動生成器進行調用。網格資源注冊中心的任務在于對網格環(huán)境中的資源進行分類、并保存其元數(shù)據(jù)與歷史信息。流程自動生成器每次調用接口請求網格資源注冊中心提供服務時,網格資源中心根據(jù)一定的算法提供給流程自動生成器最合適的服務,使得網格工作流的Q0S能達到最優(yōu)化。
流程自動生成器:流程自動生成器根據(jù)用戶所選擇的資源類型和所需要的模
型進行工作流流程的自動化生成。流程自動生成器首先根據(jù)工作流模型產生合適的工作流執(zhí)行框架,然后根據(jù)用戶所選擇資源類型查找網格資源注冊中心對框架中進行填充,從而形成一個可執(zhí)行的網格工作流。
二、 網格平臺工作流圖形化開發(fā)的實現(xiàn)與應用方案網格工作流圖形化開發(fā)可以分為三個歩驟,首先由用戶對網格工作流的流程進行設計,通過選擇網格工作流的模型和網格資源所對應的圖元來完成流程的編排,其次通過模型適配器來完成模型映射,由用戶所選擇的網格工作流模型來完成網格資源的映射,從而完成網格資源在工作流中的注冊,最后完成將網格資源和網格工作流進行捆綁的操作,從而生成可執(zhí)行的網格工作流流程文件。在此開發(fā)方案中,用戶只需要對流程邏輯進行配置,而涉及到的技術細節(jié)則由網格工作流開發(fā)平臺來完成,從而將業(yè)務層和實現(xiàn)層進行了分離,使得網格工作流開發(fā)平臺為松耦合。網格工作流開發(fā)的步驟如圖2所示.具體的開發(fā)流程如下
1、 利用Flex圖形展示技術來展現(xiàn)網格工作流流程
通過Flex技術來對網格工作流的流程進行形式化展現(xiàn)。得到網格工作流的基本服務流程,其中包括資源的展現(xiàn)和網格工作流執(zhí)行順序。主要工作流程
1)網格工作流圖形化展現(xiàn),網格工作流圖形化展現(xiàn)能使得用戶關注于流程的功能,而不是具體的實現(xiàn)。
Stepl:安裝Tomcat,對Tomcat進行配置,安裝Flex的lib庫到Tomcat運行庫中,安裝Flex網格工作流圖形化開發(fā)平臺;
Step2:打開Flex圖形化展現(xiàn)平臺界面,新建一個網格工作流工程,該工程包括了網格工作流的一些基礎的架構;
Step3:用戶在平臺上選擇所需要建立的工作流模型,如果現(xiàn)成的工作流模型庫中有用戶所需要的網格工作流模型,則用戶直接選擇該模型;如果沒有,則用戶選擇自定義網格工作流模型;
Step4:用戶在所選擇的網格工作流模型平臺上進行網格資源和網格服務的設計,利用圖元的拖放來完成流程的配置,在該步驟中,用戶只需要對所需要的資源的類別進行定義,無須對具體的服務進行設置;Step5:圖形化展現(xiàn)平臺同時根據(jù)相應的規(guī)則對用戶所設計的流程進行語法檢査,如果不符合則指出錯誤讓用戶修改;
Step6:圖形化展現(xiàn)平臺根據(jù)用戶所定義的流程和選擇的框架完成一個工作流描述XML文件,該文件提供給網格工作流引擎,在該文件中,定義了用
戶所定義網格工作流模型與流程中所需要的網格資源。
2、 模型映射與資源的自動綁定
映射子系統(tǒng)主要完成了將用戶所定義好的流程與工作流模型進行映射的操作,通過獲取用戶所設計的流程,根據(jù)流程的特點進行模型的自動適配器,從而將用戶所設計的流程自動的與網格工作流模型進行匹配,同時根據(jù)用戶所選擇的網格資源類型,查找網格資源注冊中心,找到同類資源中最合適的網格資源進行服務綁定,這樣的處理方式自動的將用戶所設計的流程映射到網格的環(huán)境中,完成了一個網格環(huán)境下的工作流流程,實現(xiàn)了網格工作流的自動生成。主要工作流程
stepl:加載圖形界面中定義好的工作流描述的XML文檔;step2:如果用戶選擇的是自定義的網格工作流模型,則根據(jù)用戶所定義的流程信息自動的構建新的網格工作流架構;
Step3:根據(jù)用戶的網格工作流模型架構,通過網格適配器選擇合適的網格資源框架填充到網格工作流框架中;
Step4:檢查模型與用戶所選擇的資源類別之間的關聯(lián),即對流程進行詞法分析,如果發(fā)生錯誤則提交用戶進行修改處理;
Step5:根據(jù)用戶在流程中所選擇的資源類型査找網格資源注冊中心,選擇出最優(yōu)化的網格資源。
Step6:將査詢出的最優(yōu)化的網格資源進行網格工作流流程框架填充,生成可執(zhí)行的網格工作流流程,實現(xiàn)網格資源與流程的自動綁定。3、網格工作流的執(zhí)行與監(jiān)控
Stepl:讀取綁定具體網格資源的工作流XML文檔;
Step2:在圖形化展現(xiàn)層解析XML文檔,并將流程運用圖元進行展示,并且表現(xiàn)出網格資源之間的執(zhí)行關系;
Step3:對每個圖元進行初始化,綁定到每個現(xiàn)實的網格資源,并將網格資源的動態(tài)性在圖元上進行體現(xiàn);
Step4:對網格工作流的每一步執(zhí)行都提取相應的信息,同時在頁面上進行顯示,并按照一定的規(guī)則對網格資源注冊中心的信息進行更新。
具體實施的步驟如下
Stepl:啟動Tomcat,用戶打開網格工作流設計平臺;
Step2:用戶在平臺上選擇合適的網格工作流模型,如果有用戶所需要的網格工作流模型,則用戶選擇該模型進行創(chuàng)建;
Step3:如果沒有用戶所需要的模型,則用戶創(chuàng)建一個新的空白的網格工作流模型,用戶自行對該模型進行定義;
Step4:在所建立的模型上打開資源分類列表,用戶選擇所需要的資源圖元,將其拖動到網格工作流設計平臺上;
Step5:定義各個資源之間的關聯(lián),選擇合適的網格服務,進行各個資源之間的關聯(lián);
Step6:根據(jù)用戶定義好的流程進行初始化的語法檢查,如果錯誤則返回修改;Step7:將用戶定義好的流程傳遞給適配器,適配器根據(jù)用戶所定義的信息進行模型適配,并生成網格工作流框架;檢査,如果不符合規(guī)定則返回修改;
Step9:査找網格資源注冊中心,根據(jù)用戶所選擇的網格資源的類型,根據(jù)優(yōu)化算法選擇出最優(yōu)化的服務
Stepl0:將選擇出來的服務進行網格工作流模型框架的填充,從而產生具體的可執(zhí)行的網格工作流;
Stepll:對流程進行執(zhí)行,在執(zhí)行的同時對流程中所涉及到的網格資源的狀態(tài)進行監(jiān)控;
Stepl2:對流程的每一歩獲取相關的信息在執(zhí)行和監(jiān)控界面中進行顯示,并對網格資源注冊中心的數(shù)據(jù)進行更新;
St印13:當流程執(zhí)行結束后,返回執(zhí)行的結果給用戶,并由用戶確認是否保存用戶所定義的網格工作流模型;
St印14:如果用戶保存所自行設計的網格工作流模型,則在模型庫中加入該模型的描述,如果不加入,則釋放資源。
權利要求
1.一種用于網格計算的圖形化開發(fā)方法,其特征在于該方法用于開發(fā)網格工作流,其開發(fā)步驟具體如下8)網格工作流模型的建立用戶用兩種方式創(chuàng)建自己的網格工作,根據(jù)用戶的需求來構建網格工作流模型a)已有的網格工作流模型用戶可以選擇已經存在的網格工作流模型,在已有的網格工作流模型上構建網格工作流應用;b)用戶自定義網格工作流模型用戶可以定義一個空白的網格工作流模型,然后自行設計該模型,建立模型的框架體系;9)利用圖元來表示網格資源的分類用戶設計完網格工作流模型后,需要在網格工作流模型上設計網格工作流的流程和利用到的網格資源;2a)網格資源用戶通過選擇資源所對應的圖元進行網格工作流設計,在流程設計中,用戶選擇的是資源的分類和一些對資源的要求;2b)網格工作流流程用戶選擇合適的網格服務將各個網格資源進行連接的操作,用戶這里選擇的網格服務可以直接查找網格服務注冊中心進行選定或者在流程編寫完成后由網格服務注冊中心進行自動選定;10)向適配器發(fā)送網格工作流架構信息用戶完成了網格工作流的基本信息定義后,適配器根據(jù)用戶所定義的網格工作流流程對網格資源模型進行適配,從而獲得網格資源的相應信息,在網格工作流中生成網格資源的應用框架;11)在工作流流程中選擇網格資源根據(jù)用戶在流程設計時選擇的網格資源和上面生成的網格資源框架,自動的添加網格資源到網格工作流流程中;12)在工作流流程中添加網格服務根據(jù)網格用戶所定義的網格服務類型,從網格服務注冊中心UDDI中查找相應的網格服務對網格資源框架中的各個網格資源進行鏈接。相應的網格服務應當滿足用戶性能的要求,并且根據(jù)一定的算法選擇出最適合流程性能的最優(yōu)服務;13)網格工作流的執(zhí)行與監(jiān)控網格工作流執(zhí)行引擎執(zhí)行用戶所定義完成的網格工作流流程,通過查找網格工作流框架首先完成執(zhí)行的初始化,然后通過適配器產生的資源模型進行網格資源的使用注冊,最后通過流程中所綁定的網格服務對各個資源進行調用,并完成整個工作流流程的執(zhí)行;在執(zhí)行的過程中,網格資源的狀態(tài)和網格服務的狀態(tài)都在網格工作流監(jiān)控界面上得以體現(xiàn);14)網格工作流模型的保存和資源的釋放網格工作流執(zhí)行完成后,由用戶選擇是否重新執(zhí)行、保存執(zhí)行結果、保存用戶設計的網格工作流模型操作;在用戶結束網格工作流的流程后,資源自動的進行釋放,包括釋放綁定的資源、釋放流程的中間執(zhí)行結果等信息;如果用戶所定義的網格工作流模型不存在于網格工作流模型庫中,則將該模型加入。
全文摘要
用于網格計算的圖形化開發(fā)方法是一種基于圖形的網格工作流開發(fā)方法,該方法的目的是簡化目前各種工作流開發(fā)的繁瑣性,并且將業(yè)務需求層與業(yè)務實現(xiàn)層進行分離。并且將網格工作流的開發(fā)以web頁面的方式進行展現(xiàn),并且通過Flex技術體現(xiàn)了網格工作流動態(tài)性的特點。我們在網格工作流設計的過程中將業(yè)務展現(xiàn)層與業(yè)務的實現(xiàn)層進行分離,業(yè)務展現(xiàn)層由圖形化界面進行展示,同時展現(xiàn)的還有從資源庫中讀出的網格資源分類信息和網格工作流模型信息。
文檔編號G06F9/44GK101599012SQ200910032130
公開日2009年12月9日 申請日期2009年7月1日 優(yōu)先權日2009年7月1日
發(fā)明者雄 付, 任勛益, 季一木, 侃 易, 楊明慧, 王汝傳, 蔣凌云, 韻 謝, 勇 鄧, 松 鄧 申請人:南京郵電大學