張永進(jìn) , 解建倉 , 蔡 陽 , 吳晶晶
(1.西安理工大學(xué) 水利水電學(xué)院, 陜西 西安 710048;2.水利部水利信息中心, 北京 100053)
J2EE,SOA 等國際規(guī)范與標(biāo)準(zhǔn),對水利信息化應(yīng)用影響很大,構(gòu)建應(yīng)用支撐平臺,快速為應(yīng)用服務(wù),成了討論熱點(diǎn)和實(shí)踐的方向。近 10 年的研究與實(shí)踐,讓我們發(fā)現(xiàn),在一般商業(yè)平臺產(chǎn)品與水利應(yīng)用之間,還要有 1 個中間件平臺,有了這個平臺才能夠真正支撐起應(yīng)用。本文就是要討論這樣的水利應(yīng)用支撐平臺(以下簡稱平臺)。
構(gòu)建平臺是為了提高水利應(yīng)用系統(tǒng)的開發(fā)效率、穩(wěn)定性和系統(tǒng)之間進(jìn)行信息交換的能力,為此,平臺應(yīng)支持:通過組件構(gòu)建應(yīng)用系統(tǒng)[1];組件之間的信息交換;通過簡潔的方式增加、刪除、升級組件改變應(yīng)用系統(tǒng)功能;適應(yīng)工作負(fù)荷變化的靈活配置能力,使應(yīng)用系統(tǒng)對規(guī)模的變化有較強(qiáng)的適應(yīng)能力。
水利應(yīng)用系統(tǒng)應(yīng)由通過平臺服務(wù)定制功能描述的業(yè)務(wù)組件和外部應(yīng)用服務(wù)訪問邏輯來實(shí)現(xiàn),并可由服務(wù)執(zhí)行功能進(jìn)行加載、運(yùn)行。其中,業(yè)務(wù)邏輯服務(wù)層所包含的業(yè)務(wù)組件可根據(jù)水利應(yīng)用系統(tǒng)的需要不斷修改、補(bǔ)充或刪除。平臺技術(shù)模型如圖 1 所示。
應(yīng)支持 TCP/IP 網(wǎng)絡(luò)環(huán)境下的客戶機(jī)/服務(wù)器結(jié)構(gòu)??蛻舳藨?yīng)在平臺的服務(wù)執(zhí)行功能支持下運(yùn)行水利應(yīng)用系統(tǒng),并通過業(yè)務(wù)邏輯訪問接口獲得服務(wù)器端的提供業(yè)務(wù)組件功能。平臺系統(tǒng)結(jié)構(gòu)如圖 2 所示。
應(yīng)通過 XML 文檔的形式,描述業(yè)務(wù)邏輯與外部應(yīng)用 2 服務(wù)層提供的業(yè)務(wù)組件與功能的時(shí)序和組合關(guān)系,并能在應(yīng)用服務(wù)控制層中的服務(wù)執(zhí)行功能控制下運(yùn)行。
應(yīng)對系統(tǒng)行為及其它資源進(jìn)行關(guān)聯(lián)和控制,包括對業(yè)務(wù)組件提供的服務(wù)及系統(tǒng)資源的配置和控制,并在服務(wù)運(yùn)行中實(shí)現(xiàn)人機(jī)交互界面的關(guān)聯(lián)和控制。主要應(yīng)包括以下功能:
圖1 平臺技術(shù)模型
圖2 平臺系統(tǒng)結(jié)構(gòu)圖
1)服務(wù)定制。應(yīng)提供直觀、簡捷的用戶交互界面,使用戶可建立業(yè)務(wù)組件與功能的時(shí)序和組合關(guān)系,實(shí)現(xiàn)水利應(yīng)用,并能以 XML 文檔的形式存儲結(jié)果。
2)服務(wù)執(zhí)行。應(yīng)能讀取服務(wù)定制存儲結(jié)果,并按照其定義訪問業(yè)務(wù)組件與外部應(yīng)用服務(wù),關(guān)聯(lián)相應(yīng)的人機(jī)交互界面,提供水利應(yīng)用系統(tǒng)需要的信息內(nèi)容。
3)流控制。在服務(wù)執(zhí)行中,應(yīng)能按照事先定義的時(shí)序和組合關(guān)系,對業(yè)務(wù)組件產(chǎn)生的信息流進(jìn)行組合、剪裁,以保證信息流動的正常進(jìn)行。
4)安全控制。應(yīng)具備用戶身份認(rèn)證[2],及以此為基礎(chǔ)的業(yè)務(wù)組件訪問權(quán)限管理,并具備安全事件監(jiān)測和評估的工具或方法。
可通過多種安全機(jī)制來實(shí)現(xiàn),如數(shù)字簽名、加密、訪問控制、數(shù)據(jù)完整性等機(jī)制,這些機(jī)制可以單個使用,也可組合使用。應(yīng)遵循 GB/T 9387.2,GB/T16264.8,ISO/IEC 10164-7 及 ISO/IEC 10164-8等標(biāo)準(zhǔn)。
應(yīng)在應(yīng)用服務(wù)控制層中的服務(wù)執(zhí)行功能控制下,為業(yè)務(wù)組件產(chǎn)生的輸入、輸出信息流提供人機(jī)交互界面。應(yīng)提供的人機(jī)交互界面主要服務(wù)功能包括:統(tǒng)計(jì)圖形、空間信息、數(shù)據(jù)表、報(bào)表、交互窗體等服務(wù)。
4.2.1 統(tǒng)計(jì)圖形服務(wù)
應(yīng)滿足以下要求:
1)支持各種常用統(tǒng)計(jì)圖形,例如條形圖、折線圖、直方圖等;
2)支持統(tǒng)計(jì)圖形保存和打印;
3)有簡明扼要的圖題,縱、橫坐標(biāo),計(jì)量單位符號,縱橫坐標(biāo)應(yīng)標(biāo)明相應(yīng)的刻度、圖例及必要的文字說明等;
4)圖形的基本要素要安排合理,顏色搭配恰當(dāng);
5)圖例及文字說明要簡明扼要,避免與正文重復(fù)。
建議支持多軸多線形的圖形統(tǒng)計(jì),坐標(biāo)底色能夠根據(jù)數(shù)據(jù)情況變換。
4.2.2 空間信息服務(wù)
應(yīng)滿足以下要求:
1)支持二維、三維 GIS 信息的表現(xiàn)方式;
2)二維 GIS 服務(wù)在數(shù)據(jù)訪問、操作上,應(yīng)符合 OGC(開放地理信息協(xié)會)和 ISO/TC211(國際標(biāo)準(zhǔn)化組織地理信息技術(shù)委員會)共同推出的基于 Web 服務(wù)(XML)的空間數(shù)據(jù)互操作實(shí)現(xiàn)規(guī)范WMS,WFS,WCS,WPS,以及用于空間數(shù)據(jù)傳輸與轉(zhuǎn)換的地理信息標(biāo)記語言 GML;
3)三維 GIS 服務(wù)應(yīng)支持通過遙測、航測等手段獲得的地表圖片信息的相關(guān)操作。
4.2.3 數(shù)據(jù)表服務(wù)
應(yīng)滿足以下功能要求:
1)支持?jǐn)?shù)據(jù)的篩選和排序;
2)數(shù)據(jù)表列項(xiàng)可以根據(jù)用戶的需求重新排列;
3)支持?jǐn)?shù)據(jù)表的標(biāo)題、標(biāo)題欄、表體內(nèi)容等基本元素的裝飾,例如字體、字號、顏色;
4)支持?jǐn)?shù)據(jù)導(dǎo)出;
5)建議支持公式計(jì)算、數(shù)據(jù)校驗(yàn)、邏輯判斷等功能。
4.2.4 報(bào)表服務(wù)
應(yīng)滿足以下功能要求:
1)支持報(bào)表的基本操作,例如報(bào)表的保存、打印、頁面跳轉(zhuǎn)、顯示比例、放大縮小;
2)能通過報(bào)表設(shè)計(jì)工具,支持復(fù)雜的報(bào)表布局,產(chǎn)生所需要的各種系列和格式的報(bào)表;
3)支持報(bào)表的標(biāo)題、制表日期、計(jì)量單位、表內(nèi)分欄、表體內(nèi)容、表尾、附注等基本元素的裝飾,例如字體、字號、顏色等;
4)支持?jǐn)?shù)據(jù)導(dǎo)出。
4.2.5 交互窗體服務(wù)
應(yīng)滿足以下功能要求:
1)能根據(jù)業(yè)務(wù)組件輸入信息流的要求,提供美觀窗體界面;
2)窗體描述是與操作系統(tǒng)無關(guān)的、獨(dú)立性較高的界面描述方式,具有較強(qiáng)的移植性。
應(yīng)通過業(yè)務(wù)組件,以服務(wù)的形式提供業(yè)務(wù)功能。其中,每個業(yè)務(wù)組件都應(yīng)符合 IPO 模型,并采用 XML 描述輸入、輸出信息的內(nèi)容,XML Schema描述輸入、輸出的信息格式。同時(shí)應(yīng)提供符合 UDDI 3.0 標(biāo)準(zhǔn)的業(yè)務(wù)組件描述。
業(yè)務(wù)組件應(yīng)采用 Web Service 實(shí)現(xiàn)[3],方法接口要求如下:
1)execute 方法。應(yīng)根據(jù)該方法調(diào)用參數(shù),執(zhí)行特定業(yè)務(wù)功能。具體參數(shù)如表1 描述。方法返回值為 xs:string 類型,應(yīng)符合 XML Schema 規(guī)范要求的功能執(zhí)行結(jié)果。
2)get Action Return Schema 方法。應(yīng)根據(jù)參數(shù)action Code 返回對應(yīng)的 XML Schema 描述。具體參數(shù)如表2 描述。方法返回值為 xs:string 類型,應(yīng)符合XML Schema 規(guī)范要求。
3)get Action Input Schema 方法。應(yīng)根據(jù)參數(shù)action Code 返回對應(yīng)的 XML Schema 描述。具體參數(shù)如表3 描述。方法返回值為 xs:string 類型,應(yīng)符合 XML Schema 規(guī)范要求。
4)get Actions Info 方法。應(yīng)返回 Service 所包含的業(yè)務(wù)功能的功能編碼和描述。無調(diào)用參數(shù),返回值為 xs:string 類型,應(yīng)以 XML 格式描述,get Actions Info 方法返回的 XML 格式要求如下:
表1 execute 方法的調(diào)用參數(shù)
表2 get Action Return Schema 方法的調(diào)用參數(shù)
表3 get Action Input Schema 方法的調(diào)用參數(shù)
5)get Action Name 方法。應(yīng)根據(jù)參數(shù) action Code返回對應(yīng)的業(yè)務(wù)功能描述。具體參數(shù)如表4 描述,返回值為 xs:string 類型。
表4 getAction Input Schema 方法的調(diào)用參數(shù)
業(yè)務(wù)組件描述應(yīng)通過符合 UDDI 3.0 標(biāo)準(zhǔn)[4]的目錄服務(wù)系統(tǒng)提供。描述信息應(yīng)符合如下要求:
1)節(jié)點(diǎn)描述,應(yīng)通過 Business Entity 域的Names 屬性描述提供業(yè)務(wù)組件服務(wù)的節(jié)點(diǎn)名稱;
2)節(jié)點(diǎn)提供的業(yè)務(wù)組件服務(wù),應(yīng)通過Business Service 域的 Names 屬性簡要描述業(yè)務(wù)組件的功能,Descriptions 屬性詳細(xì)描述業(yè)務(wù)組件的功能;
3)業(yè)務(wù)組件服務(wù)訪問路徑,應(yīng)通過Binding Template 域的 Access Points 屬性以 URL 的形式描述業(yè)務(wù)組件服務(wù)所對應(yīng)的 Web Service 的訪問路徑。
對業(yè)務(wù)組件訪問要求為:
1)訪問協(xié)議應(yīng)符合 Web Service 標(biāo)準(zhǔn)要求;
2)以XML,XML Schema 文檔標(biāo)準(zhǔn)描述業(yè)務(wù)組件的輸入、輸出信息流;
3)輸入、輸出信息流應(yīng)能被服務(wù)執(zhí)行功能解析;
4)應(yīng)通過符合 UDDI 標(biāo)準(zhǔn)的訪問協(xié)議獲取業(yè)務(wù)組件描述。
應(yīng)符合以下規(guī)定:
1)以 XML 文檔標(biāo)準(zhǔn)描述業(yè)務(wù)組件與功能的時(shí)序和組合關(guān)系;
2)能被服務(wù)執(zhí)行功能解析并執(zhí)行。
構(gòu)建了水利應(yīng)用支撐平臺后,信息化的應(yīng)用模式就會發(fā)生根本性變化。數(shù)據(jù)、信息、組件、主題、知識圖成為應(yīng)用服務(wù)中心的實(shí)際內(nèi)容,在平臺的支持下,由組件、主題、知識圖快速組織應(yīng)用;由豐富的多元信息可視化直觀表現(xiàn)應(yīng)用。個性化定制應(yīng)用就是新的應(yīng)用模式。這個模式不是傳說,是實(shí)實(shí)在在的實(shí)踐。
[1]解建倉,羅軍剛. 水利信息化綜合集成服務(wù)平臺及應(yīng)用模式[J]. 水利信息化,2010 (4): 18-22.
[2]劉俊琦,程虎. 基于 J2EE 的應(yīng)用支撐平臺的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2006, 27 (15): 2821-2845.
[3]羅軍剛. 水利業(yè)務(wù)信息化及綜合集成應(yīng)用模式研究[D]. 西安:西安理工大學(xué),2009: 22-45.
[4]芮雄健,王忠民. UDDI 的原理與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2005, 26 (6): 1602-1605.