国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于模型驅(qū)動的網(wǎng)格門戶配置系統(tǒng)及配置方法

      文檔序號:6606793閱讀:172來源:國知局
      專利名稱:一種基于模型驅(qū)動的網(wǎng)格門戶配置系統(tǒng)及配置方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種網(wǎng)格門戶的配置方法,屬于計算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域。
      背景技術(shù)
      網(wǎng)格是構(gòu)建在互聯(lián)網(wǎng)上的新興技術(shù)。虛擬試驗網(wǎng)格將試驗環(huán)境中分布的各種異構(gòu) 資源(包括計算資源、存儲資源、數(shù)據(jù)資源、信息資源、設(shè)備資源等)整合為一臺虛擬的超級 計算機(jī),實現(xiàn)在動態(tài)變化的多個虛擬組織間共享資源和協(xié)同工作,并向用戶提供一致的接 口和服務(wù),用于需要高性能計算能力的虛擬試驗。在網(wǎng)格應(yīng)用中的網(wǎng)格資源和服務(wù)通常以 API接口或命令行接口的方式呈現(xiàn)給終端用戶,這需要用戶對復(fù)雜的網(wǎng)格環(huán)境有清晰的認(rèn) 識和配置,這會導(dǎo)致非專業(yè)用戶難以掌握網(wǎng)格系統(tǒng)的使用方法。因此,網(wǎng)格門戶應(yīng)運而生, 旨在方便用戶與網(wǎng)格服務(wù)和網(wǎng)格資源的交互。網(wǎng)格門戶是用來訪問網(wǎng)格服務(wù)與資源的可定 制、個性化的WEB接口,是為最終的網(wǎng)格用戶提供的使高級問題求解方法易于使用的途徑。 網(wǎng)格門戶可以被看成一系列的WEB應(yīng)用服務(wù)器,其作用表現(xiàn)為為網(wǎng)格服務(wù)和網(wǎng)格資源信 息收集提供安全的環(huán)境,并提供工具使用戶能夠應(yīng)用網(wǎng)格服務(wù)和網(wǎng)格資源來完成自己的任 務(wù);為用戶提供一個網(wǎng)格軟硬件資源視圖和快速利用網(wǎng)格的計算能力;保證用戶的開發(fā)包 括作業(yè)提交、安全認(rèn)證、信息監(jiān)控等關(guān)鍵問題。網(wǎng)格門戶的意義在于它對網(wǎng)格用戶隱藏了網(wǎng) 格計算實現(xiàn)的復(fù)雜性和具體細(xì)節(jié),使用戶可以透明地使用網(wǎng)格資源,為用戶的工作和生活 提供最方便和最快捷的支持。作為用戶進(jìn)入網(wǎng)格系統(tǒng)的入口點,網(wǎng)格門戶軟件設(shè)計的好壞直接影響到網(wǎng)格系統(tǒng) 的可用性,它也是提高網(wǎng)格系統(tǒng)使用效率的關(guān)鍵性因素之一。鑒于其重要性,目前有許多專 門針對網(wǎng)格門戶技術(shù)進(jìn)行研究的項目。勞倫斯伯克利國家試驗室開發(fā)的GPDK提供了開發(fā) 網(wǎng)格門戶的中間件軟件包,不能支持一般的網(wǎng)格計算腳本,只支持Java CoG提供的Globus 服務(wù)Java接口。GPDK將網(wǎng)格服務(wù)的調(diào)用接口封裝在動作頁面(Action Page)和顯示頁面 (View Page)中,以JSP形式實現(xiàn),需要針對各個網(wǎng)格服務(wù)專門開發(fā)這兩個頁面,缺乏靈活 性。其后,GridLab開發(fā)的GridSphere門戶框架基于Portal技術(shù)開發(fā),將門戶系統(tǒng)中的功 能分為了 6個Porlet,對網(wǎng)格服務(wù)不能單獨配置,沒有插件對象的概念。計算機(jī)仿真,2006 年第23卷中《基于模型驅(qū)動的網(wǎng)格門戶配置系統(tǒng)》采用MDA方法構(gòu)建網(wǎng)格門戶系統(tǒng)架構(gòu),實 現(xiàn)“構(gòu)建一次門戶頁面模型完成多個不同Portal平臺上的網(wǎng)格門戶”,僅僅關(guān)注網(wǎng)格門戶 在顯示層上的變化,與網(wǎng)格服務(wù)沒有關(guān)聯(lián),也沒有考慮到網(wǎng)格服務(wù)的調(diào)用和存儲等問題。計 算機(jī)集成制造系統(tǒng),2006年第12卷,《基于Microsoft. Net的有限元應(yīng)用網(wǎng)格門戶研究》的 門戶核心由門戶引擎、事務(wù)邏輯和表現(xiàn)邏輯三部分組成。事務(wù)邏輯執(zhí)行門戶中的功能調(diào)用, 表示邏輯負(fù)責(zé)將功能執(zhí)行結(jié)果轉(zhuǎn)化為html頁面,門戶中無法反映網(wǎng)格服務(wù)的屬性、類別及 調(diào)用等信息。計算機(jī)工程與設(shè)計,2006年第27卷,《基于JSF的網(wǎng)格門戶設(shè)計與實現(xiàn)》利用 了 JSF技術(shù)豐富了網(wǎng)格門戶的表現(xiàn)能力,但其模型與WEB頁面標(biāo)記綁定對應(yīng),只能對網(wǎng)格服 務(wù)的顯示進(jìn)行配置,不能配置網(wǎng)格服務(wù)本身,也不能實現(xiàn)運行時編譯。

      發(fā)明內(nèi)容
      本發(fā)明的技術(shù)解決問題是克服現(xiàn)有技術(shù)的不足,提供一種基于XML語言的網(wǎng)格 門戶配置系統(tǒng)及方法,該方法能夠?qū)W(wǎng)格門戶進(jìn)行動態(tài)的界面配置,并自動關(guān)聯(lián)網(wǎng)格服務(wù) 的顯示、實現(xiàn)和存儲。本發(fā)明系統(tǒng)的技術(shù)解決方案是一種基于模型驅(qū)動的網(wǎng)格門戶配置系統(tǒng),包括插 件對象、宿主框架、WEB應(yīng)用服務(wù)器和瀏覽器;插件對象,包括多個網(wǎng)格服務(wù),用外觀定義文件描述所有網(wǎng)格服務(wù)的顯示模式,用 xml文件描述所有網(wǎng)格服務(wù)的屬性、表單信息和運行邏輯,用腳本文件描述所有網(wǎng)格服務(wù)的 執(zhí)行過程;上述外觀定義文件、xml文件和腳本文件三者組成了網(wǎng)格服務(wù)模型;宿主框架,在網(wǎng)格門戶配置系統(tǒng)運行時,與插件對象進(jìn)行連接,解析插件對象中的 外觀定義文件和xml文件,將插件對象中包含的網(wǎng)格服務(wù)功能解釋為可供用戶閱讀、使用 的功能頁面,顯示在瀏覽器中;在用戶通過瀏覽器調(diào)用網(wǎng)格服務(wù)時,接受WEB應(yīng)用服務(wù)器提 交的調(diào)用網(wǎng)格服務(wù)指令,根據(jù)插件對象的位置信息及解析出的插件對象存儲信息,在指定 的計算機(jī)上創(chuàng)建該網(wǎng)格服務(wù)對應(yīng)的工作目錄,在工作目錄中調(diào)用插件對象的腳本文件,并 將調(diào)用成功與否的信息返回給WEB應(yīng)用服務(wù)器;接受TOB應(yīng)用服務(wù)器提交的獲取網(wǎng)格服務(wù) 執(zhí)行結(jié)果的指令,列出網(wǎng)格服務(wù)工作目錄下的結(jié)果文件列表,并將列表信息返回給WEB應(yīng) 用服務(wù)器;WEB應(yīng)用服務(wù)器,接收瀏覽器的請求,在接收到調(diào)用網(wǎng)格服務(wù)或獲取網(wǎng)格服務(wù)執(zhí)行 結(jié)果的指令時,轉(zhuǎn)發(fā)給宿主框架,并將宿主框架返回的處理結(jié)果傳遞給瀏覽器;瀏覽器,瀏覽器顯示網(wǎng)格門戶界面,接受用戶對網(wǎng)格服務(wù)調(diào)用或獲取結(jié)果的請求, 向WEB應(yīng)用服務(wù)器發(fā)出相應(yīng)指令,并獲取WEB應(yīng)用服務(wù)器返回的處理結(jié)果,將其展示給用 戶。所述的xml文件中主要信息包括插件基本信息,標(biāo)簽為plugin,支持的屬性為id和authority ;插件存儲信息,標(biāo)簽為storage,支持的屬性為server和time ;網(wǎng)格服務(wù)基本信息,標(biāo)簽為service,支持的屬性為ID和name ;網(wǎng)格服務(wù)表單信息,標(biāo)簽包括info和option ;網(wǎng)格服務(wù)動作信息,標(biāo)簽為action,支持的屬性包括id、label、Shfile和result ; shfile屬性標(biāo)記該網(wǎng)格服務(wù)被觸發(fā)后應(yīng)執(zhí)行的腳本,腳本中用參數(shù)形式引用option標(biāo)簽 中指定的輸入項。所述的宿主框架包括顯示servlet、調(diào)用服務(wù)servlet、查看服務(wù)結(jié)果servlet和 插件信息結(jié)構(gòu)四個部分;顯示servlet、調(diào)用服務(wù)servlet、查看服務(wù)結(jié)果servlet分別負(fù)責(zé) 網(wǎng)格服務(wù)的三個操作顯示網(wǎng)格服務(wù)頁面、調(diào)用單個網(wǎng)格服務(wù)和查看單個網(wǎng)格服務(wù)的狀態(tài), 插件信息結(jié)構(gòu)是宿主框架在運行時構(gòu)建的一個數(shù)據(jù)存儲結(jié)構(gòu),存儲了解析后的插件對象的 fn息ο所述的顯示servlet工作流程如下第一步,從WEB應(yīng)用服務(wù)器獲取插件顯示指令;第二步,使用DOM解析器解析插件對象的邏輯定義文件,解析plugin標(biāo)簽、 storage 標(biāo)簽、service 標(biāo)簽、option 標(biāo)簽禾口 action 標(biāo)簽;
      5
      第三步,檢查是否存儲過插件信息結(jié)構(gòu),如果是,則轉(zhuǎn)到第五步,如果不是,則轉(zhuǎn)到 第四步;第四步,將第二步解析出的插件基本信息、存儲信息、網(wǎng)格服務(wù)基本信息、網(wǎng)格服 務(wù)表單信息和網(wǎng)格服務(wù)動作信息存儲至插件信息結(jié)構(gòu);第五步,根據(jù)插件信息結(jié)構(gòu),將插件對象的網(wǎng)格服務(wù)表單信息轉(zhuǎn)化為頁面控件元 素,與插件對象的外觀定義文件合并為新的html文件,發(fā)送至TOB應(yīng)用服務(wù)器。調(diào)用服務(wù)servlet工作流程如下第一步,從WEB應(yīng)用服務(wù)器獲取調(diào)用服務(wù)指令和用戶填入的表單數(shù)據(jù);第二步,從插件信息結(jié)構(gòu)中獲取對應(yīng)服務(wù)的表單信息、插件對象存儲信息和網(wǎng)格 服務(wù)動作信息;第三步,根據(jù)網(wǎng)格服務(wù)動作信息,將表單數(shù)據(jù)填入腳本文件的對應(yīng)位置,調(diào)用腳本 文件;第四步,如果腳本文件執(zhí)行成功,則轉(zhuǎn)第五步,否則發(fā)送錯誤信息給WEB應(yīng)用服務(wù) 器;第五步,生成服務(wù)實例id,將服務(wù)實例id和第一步中由用戶填入的服務(wù)名稱和根 據(jù)插件對象存儲信息生成的服務(wù)具體工作目錄存儲至插件信息結(jié)構(gòu)中;第六步,返回服務(wù)實例id給TOB應(yīng)用服務(wù)器。查看服務(wù)結(jié)果servlet工作流程如下第一步,從WEB應(yīng)用服務(wù)器獲取查看結(jié)果指令和服務(wù)實例id號;第二步,根據(jù)服務(wù)實例id,從插件信息結(jié)構(gòu)中獲取服務(wù)的工作目錄;第三步,從服務(wù)的工作目錄獲取輸出文件的列表;第四步,生成輸出文件的列表信息,返回給TOB應(yīng)用服務(wù)器。本發(fā)明方法的技術(shù)解決方案是一種基于模型驅(qū)動的網(wǎng)格門戶配置方法,步驟如 下(1)確定門戶中使用的插件對象的目錄結(jié)構(gòu)在網(wǎng)格門戶的配置中,插件對象的所有文件都放在以插件對象名稱命名的文件目 錄中,其中外觀定義文件放在該文件目錄下的WEBAPP目錄中,xml文件放在根目錄中,腳本 文件放在在該文件目錄下的bin目錄中;(2)定義各個插件的外觀定義文件外觀定義文件包括html文件和ess文件;在html文件中,標(biāo)定插件對象使用的 xml文件,在ess文件中,標(biāo)定插件對象在顯示時需要的參數(shù)值;(3)定義每個插件對象的xml文件xml文件確定插件對象的基本信息、存儲信息,以及該插件對象中包括的網(wǎng)格服務(wù) 的基本信息、表單信息和動作信息;(4)定義插件對象的執(zhí)行腳本按照服務(wù)的用途,創(chuàng)建插件對象中每個網(wǎng)格服務(wù)的執(zhí)行腳本;其中執(zhí)行腳本中使 用的參數(shù)需要與xml文件中option標(biāo)簽中指定的參數(shù)名稱對應(yīng);(5)將存放插件對象的文件目錄拷貝至宿主框架的指定目錄,運行上述門戶配置 系統(tǒng),完成網(wǎng)格門戶配置。
      本發(fā)明與現(xiàn)有技術(shù)相比有益效果為(1)可擴(kuò)展的基礎(chǔ)架構(gòu)將門戶系統(tǒng)分為宿主框架和插件對象,可以隨時添加新的插件對象,或者刪除不 需要的插件對象,在增刪插件對象時不需要重新編譯或修改門戶系統(tǒng)的宿主框架,能夠應(yīng) 對大規(guī)模、多變化的網(wǎng)格應(yīng)用需求。(2)運行時連接在網(wǎng)格門戶系統(tǒng)中,插件與宿主框架之間的連接發(fā)生在運行時而不是編譯時。與 傳統(tǒng)的網(wǎng)格門戶系統(tǒng)相比較,這種方式能夠有效地降低門戶提供的功能對象與對象管理邏 輯之間耦合程度,易復(fù)用,具備靈活性,能使網(wǎng)格門戶系統(tǒng)配置達(dá)到最優(yōu)。(3)本發(fā)明一個插件對象中包括多個網(wǎng)格服務(wù)模型。這種方式在開發(fā)大型網(wǎng)格門 戶系統(tǒng)中,可以將同一類網(wǎng)格服務(wù)合并為一個插件,為這些網(wǎng)格服務(wù)規(guī)定同一種外觀界面 風(fēng)格、同一個存儲空間以及同一種認(rèn)證級別,減少了同一類網(wǎng)格服務(wù)的開發(fā)量,也降低了網(wǎng) 格服務(wù)安全配置的復(fù)雜度。(4)網(wǎng)格服務(wù)開發(fā)的專業(yè)性為單個的網(wǎng)格計算服務(wù)提供了單獨的表現(xiàn)、實現(xiàn)和控制機(jī)制,網(wǎng)格服務(wù)開發(fā)人員 只需要完成與網(wǎng)格計算服務(wù)相關(guān)的專業(yè)內(nèi)容的創(chuàng)建和展示,而無需關(guān)心網(wǎng)格服務(wù)與整個系 統(tǒng)的集成問題。(5)存儲透明性在用戶運行網(wǎng)格服務(wù),用戶不需要指定網(wǎng)格服務(wù)的具體執(zhí)行目錄和輸出文件的具 體存放位置,只需要在填寫表單信息時指定網(wǎng)格服務(wù)實例的名稱,宿主框架會自動為用戶 創(chuàng)建專用的工作目錄,存放調(diào)用網(wǎng)格服務(wù)時產(chǎn)生的數(shù)據(jù)文件。這種方式使得宿主框架可以 統(tǒng)一配置存儲位置,將耗費磁盤空間較大的網(wǎng)格服務(wù)的存儲位置分配至磁盤空間較大的計 算機(jī)上,而將規(guī)模較小的網(wǎng)格服務(wù)存儲位置分配至磁盤空間較小的計算機(jī)上,更好地計劃 和使用現(xiàn)有的存儲器資源。(6)簡單易用采用基于TOB的訪問方式,用戶在使用時,不需要下載客戶端程序,也不需要安裝 任何其他系統(tǒng)補丁。


      圖1為本發(fā)明系統(tǒng)結(jié)構(gòu)示意圖;圖2為本發(fā)明插件對象示意圖;圖3為本發(fā)明宿主框架示意圖;圖4為本發(fā)明顯示servlet工作流程圖;圖5為本發(fā)明調(diào)用服務(wù)servlet工作流程圖;圖6為本發(fā)明查看服務(wù)結(jié)果servlet工作流程圖。
      具體實施例方式虛擬試驗網(wǎng)格門戶以TOB形式表現(xiàn),將宿主框架與插件統(tǒng)一表現(xiàn)為一個大的門戶 系統(tǒng),為網(wǎng)格用戶提供系統(tǒng)的基本服務(wù),以及多個種類的網(wǎng)格計算服務(wù)。
      如圖1所示,本發(fā)明系統(tǒng)以插件技術(shù)為基礎(chǔ),分為插件對象、宿主框架、Servlet控 制器和網(wǎng)站表現(xiàn)文件四部分。其中,Servlet控制器與網(wǎng)站表現(xiàn)文件分別由TOB服務(wù)器和 瀏覽器管理。在本發(fā)明中WEB服務(wù)器選擇Tomcat,瀏覽器選擇IE 6. 0,均為成熟產(chǎn)品,概不 贅述。宿主框架能夠調(diào)用插件對象,插件對象能夠在宿主框架上實現(xiàn)自己的服務(wù)邏輯,而二 者的交互基于一種公共的通信契約。插件與宿主框架之間的連接發(fā)生在運行時而不是編譯 時。這種方式能夠有效地降低門戶提供的功能對象與對象管理邏輯之間耦合程度,易復(fù)用, 具備靈活性,能使網(wǎng)格門戶系統(tǒng)配置達(dá)到最優(yōu)。下面詳細(xì)介紹插件對象和宿主框架的實現(xiàn) 過程。一、插件對象插件對象的實現(xiàn)示意圖如圖2所示。在設(shè)計插件的過程中,將邏輯層作為插件層中單獨的子層提出來。在進(jìn)行系統(tǒng)開 發(fā)時,可以將各個功能封裝到單個的功能插件中,更加有利于系統(tǒng)功能之間的解耦合,同時 多個模塊也可以進(jìn)行并行開發(fā)進(jìn)而提高開發(fā)效率。插件對象的定義包括插件外觀定義文件、邏輯定義文件(即xml文件)和腳本文 件。下面給出這些定義文件的示例。插件外觀定義文件-index, html 和 layout, mda. xsl <HTML><HEAD>〈ΜΕΤΑ http-equiv_ "refresh" content =“0 ;URL = demo, xml'7 />
      </HEAD>
      〈/HTML〉
      < ? xmlversion="10‘? >
      〈xsl:stylesheetversion="1.0"
      xmlnsxsl = “ http://www.w3.org/1999/XSL/Transform"
      xmlns:hg = ” http/Vwww. hypergrid. com/2000/HyperGrid" >
      〈xsl:variablenameimg—path〃 >img</xslvariable)
      〈xsl:variablenamemain—color〃 >#006699〈/xsl:variable)
      〈xsl:variablenamebold—color" >#36cafa〈/xsl:variable)
      〈xsl:variablenameborder—color" >#FFCC33〈/xsl:variable)
      〈xsl:variablenamenavigation_bg_co1or“>#B2DlE0</xsl:variable〉
      〈xsl:variablenamebold—color2“ >#42c6e7〈/xsl:variable)
      〈xsl:variablenamemain—color2 ” >#d2e7ec〈/xsl:variable)
      〈xsl:include href =../common—layout· xsl“/>
      〈xsl:variablenamefile_actions“ >l</xsl:variable)
      〈xsl:variablenamestreaming—download">l</xsl:variable)
      〈/xsl:stylesheet)
      邏輯定義文件——demo.xml:
      < ? xmlversion="1 0‘? >
      8
      < ? xml-stylesheet href = “ layout, mda. xsl" type=" text/xsl" ? ><hg:plugin id = “ mda. demo “ authority = “ ${HG_DEFAULT_
      AUTHORITY}
      ="list"

      ="text"
      ="text"
      ="text"
      ="text"
      ="list"


      ="list"
      ’ xmlns:hg =" http://www.hypergrid.com/2000/HyperGrid" > <hg: storage server=" $ {HG_SP00LER_DIR} 〃 ttl = 〃 IOd" > <hg:service id = " nastran" > <hg:name>NASTRAN</hg:name) < ! —Version>l. CKNersion—> <hg:info>ffelcome to Nastran</hg:info>
      <hg:option id = " PROJECT " label = " Project:
      type
      >
      <hg:embed uri =" </hg:option)
      <hg:option id =
      /mda. demo/list, projects" />
      CPUTIME " label = " CPU time:
      type
      extra ="
      minutes" >30</hg:option)
      <hg:option id = “ MEMORY “ label = “ RAM memory: “ type extra=" MB" >100</hg:option)
      <hg:option id = " SCRATCH" label = " Scratch area size:" type extra=" GB" >5</hg:option)
      <hg: option id=" MEMSCRATCH" label=" SMEM parameter: " type extra = “ Mb “ />
      <hg: option id = " VERSION" label=" Version: " type=" list" > <hg:option label =" 70. 5" >70. 5</hg:option) <hg:option label =" 70. 1" >70. 7</hg:option) </hg:option)
      <hg:option id = " QUEUE " label = " Computing queue: " type
      <hg:embed uri = </hg:option) <hg:optionid =
      /mda. demo/list, queues" />
      ACUSTICA
      label = " Acustic job:
      type〈hg:optionlabel
      〈hg:optionlabel
      </hg:option>
      <hg:optionid =converter:‘‘type=" list">
      〈hg:optionid ="
      〈hg:optionlabel
      〈hg:optionlabel
      </hg:option>
      NO" >no</hg:option) YES" >yes</hg:option)
      CONVERTITORE
      label =
      Hypermesh
      '/>
      “Convert. Π1 file" >fll</hg:option> "Convert, pch file" >pch</hg:option)
      <hg:option id = “ INPUT “ label = “ Input file 1: “ type =〃 rfh" base=" $H0ME〃 /><hg:option id = “ INPUT2 “ label = “ Input file 2: “ type =〃 rfh" base=" $H0ME〃 /><hg: option id = " LIBRARY" label=" Include library: " type =〃 list" ><hg:option label = " [No library]" ></hg:option)<hg:ambed uri = " //mda. demo/list, nastran. lib" /></hg: option)<hg:option id = " MAILU " label = " Mail address " type =〃 text" /><hg:action id = " submit" label=" Submit job" result = " text/ html "shfile = " $EF_R00T/plugins/demo/mda/bin/demo. xml. sh nastran " ></ hg:action></hg:service)</hg:storage)</hg:plugin>腳本文件-demo. xml. sh:# ! /bin/shBASE = $H0ME/· mdadb/nastran_libPROJECTS = “ dirname $0VprojectPROJECT_IDS =、dirname $0VprojidNASTRAN_R00T = $HG_R00T/plugins/demo/mdaNASTRAN_PREFS_PATH = $ NASTRAN_R00T/prefsexport NASTRAN_R00Tfake_computing () {HG_SP00LER_NAME = 〃 $1 simulation"export HG_SP00LER_NAMEHG_C0MMAND = " $MDA_R00T/bin/fake_app$l“ ;export HG_C0MMANDHG_J0B_NAME = " $1 simulation" ;export HG_J0B_NAME${HG_R00T}/plugins/demo/bin/job. submit}case" $1〃 innastran)fake_computing $1 ;;*)echo" Unknown service“;;Esac其中,對插件邏輯定義文件中的主要信息進(jìn)行詳細(xì)說明 插件基本信息,標(biāo)簽為plugin,支持的屬性為id和authority ; 插件存儲信息,標(biāo)簽為storage,支持的屬性為server和time ;
      網(wǎng)格服務(wù)基本信息,標(biāo)簽為service,支持的屬性為ID和name ; 網(wǎng)格服務(wù)表單信息,標(biāo)簽包括info和option,Info標(biāo)簽可以引入html代碼,主要用于網(wǎng)格服務(wù)的文本介紹。option標(biāo)簽表示 服務(wù)表單上的輸入項,其屬性包括id、label、target和type。type屬性表示表單輸入項的 類型,包括文本輸入項、列表控件、下拉列表控件、復(fù)選框和單選按鈕。 網(wǎng)格服務(wù)動作信息,標(biāo)簽為action,支持的屬性包括id、label、shfile和 result。shfile屬性標(biāo)記該網(wǎng)格服務(wù)被觸發(fā)后應(yīng)執(zhí)行的腳本。腳本中用參數(shù)形式引用 option標(biāo)簽中指定的輸入項。(2)宿主框架宿主框架的實現(xiàn)示意圖如圖3所示。宿主框架的作用是以一定的標(biāo)準(zhǔn)解析多個不同的插件,將插件的輸入和輸出封裝 和規(guī)范化,并將插件的功能解釋為可供用戶閱讀、使用的功能頁面。接受調(diào)用網(wǎng)格服務(wù)的指 令,根據(jù)插件配置調(diào)用指定的服務(wù)執(zhí)行文件。接受獲取網(wǎng)格服務(wù)執(zhí)行結(jié)果的指令,列出服務(wù) 指定目錄下的文件列表。宿主框架包括顯示servlet、調(diào)用服務(wù)servlet、查看服務(wù)結(jié)果servlet和插件信 息結(jié)構(gòu)四個部分。插件信息結(jié)構(gòu)為公共數(shù)據(jù)結(jié)構(gòu),記錄了各個插件的邏輯定義,包括MapStorage、 Map Plugins>Map Services、Arraylist Options、HashMap Actions。顯示servlet的示意圖如圖4所示,實現(xiàn)過程如下第一步,從WEB應(yīng)用服務(wù)器獲取插件顯示指令;第二步,使用DOM解析器解析插件對象的邏輯定義文件,解析plugin標(biāo)簽、 storage 標(biāo)簽、service 標(biāo)簽、options 標(biāo)簽禾口 action 標(biāo)簽;第三步,檢查是否存儲過插件信息結(jié)構(gòu),如果是,則轉(zhuǎn)到第五步,如果不是,則轉(zhuǎn)到 第四步;第四步,將第二步解析出的插件基本信息、存儲信息、網(wǎng)格服務(wù)基本信息、網(wǎng)格服 務(wù)表單信息和網(wǎng)格服務(wù)動作信息存儲至插件信息結(jié)構(gòu);第五步,根據(jù)插件信息結(jié)構(gòu),將插件對象的網(wǎng)格服務(wù)表單信息轉(zhuǎn)化為頁面控件元 素,與插件對象的外觀定義文件合并為新的html文件,發(fā)送至TOB應(yīng)用服務(wù)器。調(diào)用服務(wù)servlet的示意圖如圖5所示,實現(xiàn)過程如下第一步,從TOB應(yīng)用服務(wù)器獲取調(diào)用服務(wù)指令和用戶填入的表單數(shù)據(jù);第二步,從插件信息結(jié)構(gòu)中獲取對應(yīng)服務(wù)的表單信息、插件對象存儲信息和網(wǎng)格 服務(wù)動作信息;第三步,根據(jù)網(wǎng)格服務(wù)動作信息,將表單數(shù)據(jù)填入腳本文件的對應(yīng)位置,調(diào)用腳本 文件;第四步,如果腳本文件執(zhí)行成功,則轉(zhuǎn)第五步,否則發(fā)送錯誤信息給WEB應(yīng)用服務(wù) 器;第五步,生成服務(wù)實例id,將服務(wù)實例id和第一步中由用戶填入的服務(wù)名稱和根 據(jù)插件對象存儲信息生成的服務(wù)具體工作目錄存儲至插件信息結(jié)構(gòu)中;
      11
      第六步,返回服務(wù)實例id給TOB應(yīng)用服務(wù)器。查看服務(wù)結(jié)果servlet的示意圖如圖6所示,實現(xiàn)過程如下第一步,從TOB應(yīng)用服務(wù)器獲取查看結(jié)果指令和服務(wù)實例id號;第二步,根據(jù)服務(wù)實例id,從插件信息結(jié)構(gòu)中獲取服務(wù)的工作目錄;第三步,從服務(wù)的工作目錄獲取輸出文件的列表;第四步,生成輸出文件的列表信息,返回給TOB應(yīng)用服務(wù)器。下面給出一個配置網(wǎng)格門戶的實例。在網(wǎng)格門戶原型系統(tǒng)中,門戶的界面通過模 板來配置。主要步驟有如下5步(1)確定門戶中使用的插件對象的目錄結(jié)構(gòu)。在網(wǎng)格門戶的配置中,插件對象的所有文件都放在以插件對象名稱命名的文件目 錄中,其中外觀定義文件放在該文件目錄下的WEBAPP目錄中,xml文件放在根目錄中,腳本 文件放在在該文件目錄下的bin目錄中。(2)定義各個插件的外觀定義文件外觀定義文件包括html文件和ess文件。在html文件中,標(biāo)定插件對象使用的 xml文件。在ess文件中,標(biāo)定插件對象在顯示時需要的參數(shù)值,例如頁面顏色、字體、文字 大小、列表方式等。(3)定義每個插件對象的xml文件xml文件確定插件對象的基本信息、存儲信息,以及該插件對象中包括的網(wǎng)格服務(wù) 的基本信息、表單信息和動作信息。(4)定義插件對象的執(zhí)行腳本按照服務(wù)的用途,創(chuàng)建插件對象中每個網(wǎng)格服務(wù)的執(zhí)行腳本。其中執(zhí)行腳本中使 用的參數(shù)需要與xml文件中options標(biāo)簽中指定的參數(shù)名稱對應(yīng)。(5)將存放插件對象的文件目錄拷貝至宿主框架的指定目錄,運行權(quán)利要求1所 述的門戶配置系統(tǒng),完成網(wǎng)格門戶配置。本發(fā)明未詳細(xì)說明部分屬于本領(lǐng)域技術(shù)人員公知常識。
      權(quán)利要求
      一種基于模型驅(qū)動的網(wǎng)格門戶配置系統(tǒng),其特征在于包括插件對象、宿主框架、WEB應(yīng)用服務(wù)器和瀏覽器;插件對象,包括多個網(wǎng)格服務(wù),用外觀定義文件描述所有網(wǎng)格服務(wù)的顯示模式,用xml文件描述所有網(wǎng)格服務(wù)的屬性、表單信息和運行邏輯,用腳本文件描述所有網(wǎng)格服務(wù)的執(zhí)行過程;上述外觀定義文件、xml文件和腳本文件三者組成了網(wǎng)格服務(wù)模型;宿主框架,在網(wǎng)格門戶配置系統(tǒng)運行時,與插件對象進(jìn)行連接,解析插件對象中的外觀定義文件和xml文件,將插件對象中包含的網(wǎng)格服務(wù)功能解釋為可供用戶閱讀、使用的功能頁面,顯示在瀏覽器中;在用戶通過瀏覽器調(diào)用網(wǎng)格服務(wù)時,接受WEB應(yīng)用服務(wù)器提交的調(diào)用網(wǎng)格服務(wù)指令,根據(jù)插件對象的位置信息及解析出的插件對象存儲信息,在指定的計算機(jī)上創(chuàng)建該網(wǎng)格服務(wù)對應(yīng)的工作目錄,在工作目錄中調(diào)用插件對象的腳本文件,并將調(diào)用成功與否的信息返回給WEB應(yīng)用服務(wù)器;接受WEB應(yīng)用服務(wù)器提交的獲取網(wǎng)格服務(wù)執(zhí)行結(jié)果的指令,列出網(wǎng)格服務(wù)工作目錄下的結(jié)果文件列表,并將列表信息返回給WEB應(yīng)用服務(wù)器;WEB應(yīng)用服務(wù)器,接收瀏覽器的請求,在接收到調(diào)用網(wǎng)格服務(wù)或獲取網(wǎng)格服務(wù)執(zhí)行結(jié)果的指令時,轉(zhuǎn)發(fā)給宿主框架,并將宿主框架返回的處理結(jié)果傳遞給瀏覽器;瀏覽器,瀏覽器顯示網(wǎng)格門戶界面,接受用戶對網(wǎng)格服務(wù)調(diào)用或獲取結(jié)果的請求,向WEB應(yīng)用服務(wù)器發(fā)出相應(yīng)指令,并獲取WEB應(yīng)用服務(wù)器返回的處理結(jié)果,將其展示給用戶。
      2.根據(jù)權(quán)利要求1所述的一種基于模型驅(qū)動的網(wǎng)格門戶配置系統(tǒng),其特征在于所述 的xml文件中主要信息包括插件基本信息,標(biāo)簽為plugin,支持的屬性為id和authority ;插件存儲信息,標(biāo)簽為storage,支持的屬性為server和time ;網(wǎng)格服務(wù)基本信息,標(biāo)簽為service,支持的屬性為ID和name ;網(wǎng)格服務(wù)表單信息,標(biāo)簽包括info和option ;網(wǎng)格服務(wù)動作信息,標(biāo)簽為action,支持的屬性包括id、label、shfile和result ; shfile屬性標(biāo)記該網(wǎng)格服務(wù)被觸發(fā)后應(yīng)執(zhí)行的腳本,腳本中用參數(shù)形式引用option標(biāo)簽 中指定的輸入項。
      3.根據(jù)權(quán)利要求1所述的一種基于模型驅(qū)動的網(wǎng)格門戶配置系統(tǒng),其特征在于所述 的宿主框架包括顯示servlet、調(diào)用服務(wù)servlet、查看服務(wù)結(jié)果servlet和插件信息結(jié)構(gòu) 四個部分;顯示servlet、調(diào)用服務(wù)servlet、查看服務(wù)結(jié)果servlet分別負(fù)責(zé)網(wǎng)格服務(wù)的三 個操作顯示網(wǎng)格服務(wù)頁面、調(diào)用單個網(wǎng)格服務(wù)和查看單個網(wǎng)格服務(wù)的狀態(tài),插件信息結(jié)構(gòu) 是宿主框架在運行時構(gòu)建的一個數(shù)據(jù)存儲結(jié)構(gòu),存儲了解析后的插件對象的信息。
      4.根據(jù)權(quán)利要求3所述的一種基于模型驅(qū)動的網(wǎng)格門戶配置系統(tǒng),其特征在于所述的 顯示servlet工作流程如下第一步,從WEB應(yīng)用服務(wù)器獲取插件顯示指令;第二步,使用DOM解析器解析插件對象的邏輯定義文件,解析plugin標(biāo)簽、storage標(biāo) 簽、service標(biāo)簽、option標(biāo)簽禾口 action標(biāo)簽;第三步,檢查是否存儲過插件信息結(jié)構(gòu),如果是,則轉(zhuǎn)到第五步,如果不是,則轉(zhuǎn)到第四止少;第四步,將第二步解析出的插件基本信息、存儲信息、網(wǎng)格服務(wù)基本信息、網(wǎng)格服務(wù)表單信息和網(wǎng)格服務(wù)動作信息存儲至插件信息結(jié)構(gòu);第五步,根據(jù)插件信息結(jié)構(gòu),將插件對象的網(wǎng)格服務(wù)表單信息轉(zhuǎn)化為頁面控件元素,與 插件對象的外觀定義文件合并為新的html文件,發(fā)送至TOB應(yīng)用服務(wù)器。
      5.根據(jù)權(quán)利要求3所述的一種基于模型驅(qū)動的網(wǎng)格門戶配置系統(tǒng),其特征在于所述的 調(diào)用服務(wù)servlet工作流程如下第一步,從WEB應(yīng)用服務(wù)器獲取調(diào)用服務(wù)指令和用戶填入的表單數(shù)據(jù); 第二步,從插件信息結(jié)構(gòu)中獲取對應(yīng)服務(wù)的表單信息、插件對象存儲信息和網(wǎng)格服務(wù) 動作信息;第三步,根據(jù)網(wǎng)格服務(wù)動作信息,將表單數(shù)據(jù)填入腳本文件的對應(yīng)位置,調(diào)用腳本文件;第四步,如果腳本文件執(zhí)行成功,則轉(zhuǎn)第五步,否則發(fā)送錯誤信息給WEB應(yīng)用服務(wù)器; 第五步,生成服務(wù)實例id,將服務(wù)實例id和第一步中由用戶填入的服務(wù)名稱和根據(jù)插 件對象存儲信息生成的服務(wù)具體工作目錄存儲至插件信息結(jié)構(gòu)中; 第六步,返回服務(wù)實例id給TOB應(yīng)用服務(wù)器。
      6.根據(jù)權(quán)利要求3所述的一種基于模型驅(qū)動的網(wǎng)格門戶配置系統(tǒng),其特征在于所述的 查看服務(wù)結(jié)果servlet工作流程如下第一步,從WEB應(yīng)用服務(wù)器獲取查看結(jié)果指令和服務(wù)實例id號; 第二步,根據(jù)服務(wù)實例id,從插件信息結(jié)構(gòu)中獲取服務(wù)的工作目錄; 第三步,從服務(wù)的工作目錄獲取輸出文件的列表; 第四步,生成輸出文件的列表信息,返回給WEB應(yīng)用服務(wù)器。
      7.一種基于模型驅(qū)動的網(wǎng)格門戶配置方法,其特征在于步驟如下(1)確定門戶中使用的插件對象的目錄結(jié)構(gòu)在網(wǎng)格門戶的配置中,插件對象的所有文件都放在以插件對象名稱命名的文件目錄 中,其中外觀定義文件放在該文件目錄下的WEBAPP目錄中,xml文件放在根目錄中,腳本文 件放在在該文件目錄下的bin目錄中;(2)定義各個插件的外觀定義文件外觀定義文件包括html文件和ess文件;在html文件中,標(biāo)定插件對象使用的xml文 件,在ess文件中,標(biāo)定插件對象在顯示時需要的參數(shù)值;(3)定義每個插件對象的xml文件xml文件確定插件對象的基本信息、存儲信息,以及該插件對象中包括的網(wǎng)格服務(wù)的基 本信息、表單信息和動作信息;(4)定義插件對象的執(zhí)行腳本按照服務(wù)的用途,創(chuàng)建插件對象中每個網(wǎng)格服務(wù)的執(zhí)行腳本;其中執(zhí)行腳本中使用的 參數(shù)需要與xml文件中option標(biāo)簽中指定的參數(shù)名稱對應(yīng);(5)將存放插件對象的文件目錄拷貝至宿主框架的指定目錄,運行權(quán)利要求1所述的 門戶配置系統(tǒng),完成網(wǎng)格門戶配置。
      全文摘要
      一種基于模型驅(qū)動的網(wǎng)格門戶配置系統(tǒng)及配置方法,所述的系統(tǒng)包括插件對象、宿主框架、WEB應(yīng)用服務(wù)器和瀏覽器;插件對象,包括多個網(wǎng)格服務(wù),用外觀定義文件描述所有網(wǎng)格服務(wù)的顯示模式,用xml文件描述所有網(wǎng)格服務(wù)的屬性、表單信息和運行邏輯,用腳本文件描述所有網(wǎng)格服務(wù)的執(zhí)行過程;上述外觀定義文件、xml文件和腳本文件三者組成了網(wǎng)格服務(wù)模型;宿主框架能夠調(diào)用插件對象,插件對象能夠在宿主框架上實現(xiàn)自己的服務(wù)邏輯,而二者的交互基于一種公共的通信契約。插件與宿主框架之間的連接發(fā)生在運行時而不是編譯時。這種方式能夠有效地降低門戶提供的功能對象與對象管理邏輯之間耦合程度,易復(fù)用,具備靈活性,能使網(wǎng)格門戶系統(tǒng)配置達(dá)到最優(yōu)。
      文檔編號G06F17/30GK101909082SQ201010240148
      公開日2010年12月8日 申請日期2010年7月29日 優(yōu)先權(quán)日2010年7月29日
      發(fā)明者孔文秦, 廖馨, 張灝龍, 彭健, 趙雯, 鄭宏濤 申請人:中國運載火箭技術(shù)研究院
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1