王義卿
在信息化高速發(fā)展的今日,教育信息化也開始普及并發(fā)展,我國各高校已經(jīng)開始采用計(jì)算機(jī)和網(wǎng)絡(luò)輔助教育管理工作,并建立全校各方面的管理信息系統(tǒng)。特別是網(wǎng)絡(luò)的發(fā)展,使得各類信息管理系統(tǒng)不再是單一集中地存在,學(xué)校內(nèi)部各部門都有自己的管理系統(tǒng),再通過網(wǎng)絡(luò),有機(jī)組合成整個(gè)學(xué)校的管理系統(tǒng)。但是,由于這類校園管理系統(tǒng)剛起步,各方面都不成熟,特別是缺乏有關(guān)專業(yè)方面的標(biāo)準(zhǔn)和規(guī)范,造成已建成的各個(gè)子管理系統(tǒng)或?qū)W校與學(xué)校間的管理系統(tǒng)之間兼容性較差或難以兼容,因此也難以實(shí)現(xiàn)相互之間信息和資源的交流和共享。為此,國家教委制定出臺了《教育管理信息化標(biāo)準(zhǔn)》,該標(biāo)準(zhǔn)旨在推動教育信息化工作向規(guī)范化和健康化方向發(fā)展,最主要的是提出了教育管理信息系統(tǒng)之間互操作體系結(jié)構(gòu)、數(shù)據(jù)和接口這3個(gè)規(guī)范。本文就在充分了解并學(xué)習(xí)教育管理信息系統(tǒng)之間互操作體系結(jié)構(gòu)、數(shù)據(jù)和接口這3個(gè)規(guī)范的基礎(chǔ)上,結(jié)合當(dāng)前的其它管理信息系統(tǒng)之間數(shù)據(jù)共享和互操作的研究現(xiàn)狀,設(shè)計(jì)了一個(gè)基于EMIF的互操作信息平臺。
EMIF規(guī)范是中國E-Learning技術(shù)規(guī)范,CELTS(Chinese E-Learning Technology Standards)中《教育管理信息系統(tǒng)互操作規(guī)范(CELTS_40)》的簡稱[1]。
SIF(School Interoperability Frame-work學(xué)?;ゲ僮骺蚣埽┦轻槍γ绹行W(xué)的教育管理,并且 SIF 在數(shù)據(jù)對象的定義方面有著濃郁的美國文化特征。我國教育部通過對SIF規(guī)范的深入研究,并且在一定程度上參考借鑒SIF規(guī)范中的體系結(jié)構(gòu)和報(bào)文結(jié)構(gòu),結(jié)合了我國的文化特色和實(shí)際情況,使用《教育管理信息化標(biāo)準(zhǔn)》的第一部分(學(xué)校管理信息標(biāo)準(zhǔn))作為EMIF的數(shù)據(jù)規(guī)范部分,制定了我國教育管理信息系統(tǒng)互操作框架,也即EMIF。
EMIF規(guī)范主要由3個(gè)部分組成:
(1)EMIF數(shù)據(jù)規(guī)范:是對基于EMIS的教育信息管理系統(tǒng)導(dǎo)出的數(shù)據(jù)模式進(jìn)行規(guī)定,是EMIF報(bào)文規(guī)范的基礎(chǔ);
(2)EMIF報(bào)文規(guī)范:建立在EMIF數(shù)據(jù)規(guī)范之上,通過報(bào)文將數(shù)據(jù)包裝起來;
(3)EMIF的體系結(jié)構(gòu):描述了構(gòu)成整個(gè)互操作框架的各類組件,以及各組件自身所具備的功能和互操作的實(shí)現(xiàn)模式。
EMIF是一個(gè)學(xué)校管理系統(tǒng)互操作的解決方案,它的體系結(jié)構(gòu)主要是由若干個(gè)代理程序和一個(gè)稱為 ZIS(Zone Integration Server,區(qū)域集成服務(wù)器)的中間層服務(wù)器構(gòu)成,如圖1所示:
圖1 EMIF體系結(jié)構(gòu)簡單示意圖
校園中的各類子系統(tǒng)由于對于管理數(shù)據(jù)都有自身的理解和側(cè)重,造成各個(gè)子系統(tǒng)數(shù)據(jù)種類、分類、范圍以及數(shù)據(jù)與數(shù)據(jù)間的關(guān)系等等各不相同。這些資源異構(gòu)大致分為分類異構(gòu)、描述范圍異構(gòu)、描述粒度異構(gòu)、關(guān)系異構(gòu)、屬性類型異構(gòu)、類與屬性異構(gòu)以及術(shù)語描述異構(gòu)等7大類,而各子系統(tǒng)之間的資源異構(gòu)又往往并不是上述 7類異構(gòu)其中單一的一種,而是多種異構(gòu)交織在一起,形成一個(gè)分布式異構(gòu)環(huán)境,非常復(fù)雜[2,8]。
要設(shè)計(jì)一個(gè)全校范圍內(nèi)的基于EMIF的信息平臺,就必須解決分布式異構(gòu)環(huán)境下異構(gòu)數(shù)據(jù)的集成問題。本系統(tǒng)采用的是客戶端(各子系統(tǒng))通過代理將數(shù)據(jù)統(tǒng)一封裝成XML格式,在服務(wù)器端(平臺)創(chuàng)建元數(shù)據(jù)庫存儲,提供元數(shù)據(jù)以及利用EMIF規(guī)范,定義元數(shù)據(jù)并通過各子系統(tǒng)的數(shù)據(jù)與元數(shù)據(jù)進(jìn)行匹配,驗(yàn)證的方法來獲得統(tǒng)一的數(shù)據(jù)。
本系統(tǒng)所設(shè)計(jì)的報(bào)文格式采用XML語言,具有如下幾點(diǎn)原因:
(1)對于本系統(tǒng)的主要功能:整合不同的子系統(tǒng),使其成為一個(gè)有機(jī)的整體。首先要解決不同子系統(tǒng)之間的數(shù)據(jù)異構(gòu)問題,而XML本身具有DTD的標(biāo)準(zhǔn)文檔定義,這為本系統(tǒng)解決數(shù)據(jù)異構(gòu),提供了有效途徑,通過XML可以提供數(shù)據(jù)顯示的一致性。
(2)對于本系統(tǒng)的主要工作內(nèi)容:報(bào)文的封裝、傳輸、存儲和處理。XML本身是一種標(biāo)記語言,可非常方便地進(jìn)行各種信息的標(biāo)識并根據(jù)現(xiàn)有文檔中元素的XML標(biāo)記創(chuàng)建新的文檔,極大地方便了本系統(tǒng)的工作流程設(shè)計(jì)。
(3)對于本系統(tǒng)的通用性和兼容性:面向校園內(nèi)不同的子系統(tǒng),提供各子系統(tǒng)之間數(shù)據(jù)共享的平臺。XML支持所有內(nèi)核為IE(Internet Explorer)以及Netscape的瀏覽器,使得應(yīng)用其編寫的報(bào)文能在校園內(nèi)的極大多數(shù)子系統(tǒng)上正確顯示。
集群是指一組相互連接的計(jì)算機(jī),緊密地工作在一起,以至于在很多方面看來,它們都像是一臺機(jī)器[3,4]。使用集群技術(shù),由局域網(wǎng)內(nèi)通過高速網(wǎng)絡(luò)聯(lián)接的一組通用Web服務(wù)器(這些Web服務(wù)器可以是同構(gòu)的,也可以是異構(gòu)的)構(gòu)成Web服務(wù)器集群系統(tǒng)。這個(gè)系統(tǒng)對外相當(dāng)于一臺高性能的Web服務(wù)器。一般由一臺特殊的服務(wù)器(請求分配服務(wù)器)接受請求,并按照某種策略動態(tài)地分配到各個(gè) Web服務(wù)器上處理。
本系統(tǒng)的ZIS部分將采用基于集群的Web服務(wù)器,這樣做的好處是,可以通過設(shè)計(jì)一個(gè)有效的服務(wù)器負(fù)載算法,突破服務(wù)器的瓶頸效應(yīng),提高系統(tǒng)整體的工作效率。
本文重點(diǎn)研究信息平臺上的消息機(jī)制,并在其基礎(chǔ)上,給出一種基于分布式異構(gòu)環(huán)境下的管理信息互操作平臺的方案。其整個(gè)系統(tǒng)的模型,如圖2所示:
圖2 消息服務(wù)集成平臺系統(tǒng)模型
如圖2所示,整個(gè)平臺主要由報(bào)文處理層、消息中間件以及報(bào)文處理層3個(gè)部分組成,另外還設(shè)計(jì)了一個(gè)元數(shù)據(jù)庫專門存儲用于驗(yàn)證各子系統(tǒng)的數(shù)據(jù)是否符合標(biāo)準(zhǔn)的元數(shù)據(jù)以及一個(gè)CA(Certificate Authority)中心提供證書的發(fā)放和認(rèn)證。
報(bào)文處理層設(shè)計(jì)有MyHttp服務(wù)器、報(bào)文預(yù)處理模塊以及相應(yīng)的報(bào)文安全服務(wù)模塊。
MyHttp服務(wù)器是在HTTP協(xié)議的基礎(chǔ)上進(jìn)行的一定擴(kuò)充而成的,主要的功能是提供持久穩(wěn)定的鏈接和主動服務(wù)機(jī)制。它的主動服務(wù)機(jī)制體現(xiàn)在當(dāng)客戶端代理申明是“推”模式時(shí),MyHttp服務(wù)器一方面主動連接客戶端,將ZIS返回的報(bào)文或者事件報(bào)文發(fā)送給客戶端代理程序;同時(shí)還進(jìn)行它基本的工作,即將從客戶端代理程序接收到的報(bào)文發(fā)送給預(yù)處理模塊。從它的工作內(nèi)容來看,MyHTTP在其中既扮演了服務(wù)器的角色又扮演了客戶端的角色。
報(bào)文預(yù)處理模塊是報(bào)文進(jìn)入報(bào)文隊(duì)列的一個(gè)通道和關(guān)卡,其主要功能是保證進(jìn)入JMS Server的報(bào)文的有效性。因此,它具備以下4個(gè)功能:
(1)報(bào)文的有效性驗(yàn)證:報(bào)文預(yù)處理模塊接收到MyHttp服務(wù)器發(fā)送來的請求(報(bào)文)后,調(diào)用元數(shù)據(jù)庫中的各種報(bào)文的DTD文檔來驗(yàn)證報(bào)文的有效性,并將有效的報(bào)文進(jìn)行解析;
(2)報(bào)文的解析:報(bào)文預(yù)處理模塊只對報(bào)文進(jìn)行初步解析,其目的主要是驗(yàn)證報(bào)文的發(fā)送方和判斷報(bào)文的類型,并將此作為身份驗(yàn)證的依據(jù);
(3)報(bào)文的權(quán)限驗(yàn)證:根據(jù)解析出來的數(shù)據(jù),調(diào)用系統(tǒng)數(shù)據(jù)庫的身份權(quán)限設(shè)定,判斷報(bào)文發(fā)送方是否有權(quán)限對數(shù)據(jù)進(jìn)行報(bào)文中所要求的操作;
(4)報(bào)文的優(yōu)先級設(shè)置:報(bào)文預(yù)處理模塊的最后,還要根據(jù)解析出的報(bào)文類型進(jìn)行優(yōu)先級的設(shè)置,并將這些重新生成的報(bào)文發(fā)送到JMS Server的入口隊(duì)列中。
報(bào)文安全服務(wù)模塊的安全機(jī)制,通過對比目前主流的幾種加密技術(shù)如對稱加密和非對稱加密、消息摘要以及交換密鑰等加密技術(shù),選中了SSL(Secure Socket Layer)數(shù)據(jù)安全協(xié)議作為本系統(tǒng)的加密技術(shù),SSL揉合了對稱加密、非對稱加密和交換密鑰的加密算法,通過 SSL握手協(xié)議保證報(bào)文傳輸?shù)陌踩?。但是其對于保證非否認(rèn)性方面還有所欠缺,為此,本系統(tǒng)還設(shè)計(jì)了一個(gè)CA中心,通過CA中心,可以進(jìn)行數(shù)字證書簽名以及構(gòu)建客戶端認(rèn)證和服務(wù)器側(cè)認(rèn)證的雙向認(rèn)證體系,補(bǔ)充了SSL對于保證非否認(rèn)性方面的不足。
消息中間件的主要作用是提供消息隊(duì)列的存儲和管理服務(wù)[5],本系統(tǒng)的消息中間件的設(shè)計(jì)通過比較分布式環(huán)境下3種主要數(shù)據(jù)交換技術(shù)的優(yōu)缺點(diǎn),選擇了基于MOM(MOM-Message On Middleware,消息中間件)的數(shù)據(jù)交換技術(shù),作為解決報(bào)文隊(duì)列管理的方法,并且為了降低開發(fā)難度,采用第三方提供的 JMS消息中間件,構(gòu)建了 JMS Server,并使用iLinkMQ對其進(jìn)行實(shí)現(xiàn)。
報(bào)文處理層主要的作用是對報(bào)文進(jìn)行相應(yīng)的處理和轉(zhuǎn)發(fā),其中報(bào)文的轉(zhuǎn)發(fā)由消息路由器完成,報(bào)文的處理由報(bào)文處理模塊完成。
消息路由器一方面需要通過解析器進(jìn)行解析,取得XML報(bào)文中的報(bào)文類型、對應(yīng)的元素名、元素值、屬性名和屬性值這些數(shù)據(jù),然后根據(jù)該報(bào)文的類型將其路由到相應(yīng)的處理組件進(jìn)行處理;另一方面還需要處理由處理組件完成返回的結(jié)果,并將其發(fā)送到JMS Server中對應(yīng)的代理隊(duì)列。本系統(tǒng)設(shè)計(jì)采用Apache Xerces解析器對報(bào)文進(jìn)行解析,采用IBM的XML4J對報(bào)文進(jìn)行EMIF_Ack報(bào)文的XML格式封裝。
報(bào)文處理模塊設(shè)計(jì)了注冊模塊、預(yù)約模塊、提供模塊、請求模塊以及事件報(bào)文處理模塊5個(gè)子模塊,其中注冊模塊包含注冊和取消注冊兩個(gè)子功能,這兩個(gè)子功能分別通過EMIF_Register報(bào)文和EMIF_Unregister報(bào)文來完成。預(yù)約模塊:包含預(yù)約和取消預(yù)約兩個(gè)子功能,這兩個(gè)子功能分別通過EMIF_Subscribe報(bào)文和EMIF_Unsubscribe報(bào)文來完成。提供模塊:包含提供數(shù)據(jù)和取消提供數(shù)據(jù)兩個(gè)子功能,這兩個(gè)子功能分別通過 EMIF_Provide報(bào)文和EMIF_Unprovide報(bào)文來完成。請求模塊:包含請求和應(yīng)答請求兩個(gè)子功能,這兩個(gè)子功能分別通過 EMIF_Request報(bào)文和EMIF_Response報(bào)文來完成。事件報(bào)告處理模塊:通過EMIF_Event報(bào)文完成。
整個(gè)平臺的設(shè)計(jì)均采用模塊化的設(shè)計(jì)思想,各功能模塊之間松散耦合,具有較好的系統(tǒng)開放性。
本文重點(diǎn)是建設(shè)基于EMIF的消息平臺,EMIF規(guī)范通過 3類報(bào)文來實(shí)現(xiàn)數(shù)據(jù)的共享和互操作:EMIF_Event、EMIF_Request和EMIF_Response。實(shí)驗(yàn)的目的就是要實(shí)現(xiàn)上述兩種傳遞模式,包括報(bào)文的“推”和“拉”傳輸模式的測試。
首先進(jìn)行客戶端代理的設(shè)置,如表1所示:
表1 客戶端代理列表
本實(shí)驗(yàn)中共設(shè)置了3個(gè)代理,一個(gè)采用“拉”模式通信,另兩個(gè)采用“推”模式通信,這3個(gè)客戶端代理和ZIS的通信協(xié)議均是HTTPS,狀態(tài)均是激活狀態(tài)。并且默認(rèn)這3個(gè)客戶端代理已通過ZIS的驗(yàn)證。
數(shù)據(jù)對象提供者設(shè)置,如表2所示:
表2 數(shù)據(jù)提供者列表
上面一共有4個(gè)數(shù)據(jù)對象:課程基本信息、學(xué)生基本信息、學(xué)生注冊信息和收文處理基本情況,分別由上述3個(gè)客戶端代理提供。本實(shí)驗(yàn)以“學(xué)生基本信息”這個(gè)數(shù)據(jù)對象為例進(jìn)行,如圖3所示:
圖3 應(yīng)用系統(tǒng)與ZIS數(shù)據(jù)交換信息流示意圖
數(shù)據(jù)對象預(yù)約者設(shè)置,如表3所示:
表3 預(yù)約者數(shù)據(jù)列表
在表3中,客戶端代理WSJSCLS預(yù)約了數(shù)據(jù)對象:學(xué)生基本信息和學(xué)生注冊信息,在本次試驗(yàn)中將以學(xué)生基本信息為例進(jìn)行測試。這里默認(rèn)客戶端代理加入?yún)^(qū)域時(shí)已由提供的注冊報(bào)文和預(yù)約及提供者報(bào)文來交付的運(yùn)行前信息,并且客戶端在注冊后,已通過ZIS系統(tǒng)管理員的身份認(rèn)證,能相互之間交換信息。
代理A向ZIS發(fā)出一個(gè)獲取滿足條件的學(xué)生基本信息的請求,ZIS將請求轉(zhuǎn)發(fā)給代理B,代理B解析請求,將結(jié)果用XML封裝后發(fā)送到ZIS,ZIS再將結(jié)果反饋給代理A。
代理B如果對數(shù)據(jù)對象學(xué)生基本信息進(jìn)行操作:添加、修改或者刪除,若作為數(shù)據(jù)提供者,則必須發(fā)出一個(gè)事件報(bào)文給ZIS,ZIS收到這一事件報(bào)文,將這一事件報(bào)文復(fù)制發(fā)送到對這一數(shù)據(jù)對象進(jìn)行預(yù)約過的客戶端代理,在本測試報(bào)告中應(yīng)該是代理A。
該工作流程圖為圖3,工作流程為:
(1)課程管理系統(tǒng)通過Agent A向ZIS發(fā)送請求數(shù)據(jù)(已經(jīng)過報(bào)文預(yù)處理封裝成通用的XML格式);
(2)ZIS向Agent B轉(zhuǎn)發(fā)數(shù)據(jù)(已經(jīng)過報(bào)文預(yù)處理封裝成Agent B的格式);
(3)學(xué)生管理系統(tǒng)通過Agent B接收到該請求,并根據(jù)條件返回相應(yīng)的數(shù)據(jù);
(4)ZIS向Agent A返回?cái)?shù)據(jù);
(5)課程管理系統(tǒng)接收數(shù)據(jù)。
本文“分布式異構(gòu)環(huán)境下基于 EMIF的互操作信息平臺設(shè)計(jì)”初步探討了EMIF兩種結(jié)構(gòu)體系中的單區(qū)域結(jié)構(gòu)以及該結(jié)構(gòu)下的系統(tǒng)之間互操作問題,首先,是初步設(shè)計(jì)了一個(gè)基于EMIF單區(qū)域結(jié)構(gòu)的互操作消息平臺,然后對其中的主要組成部分:報(bào)文傳輸層、消息中間件以及報(bào)文處理層進(jìn)行了進(jìn)一步的研究和設(shè)計(jì)。
Agent 都具有自主性,在求解過程中都按照自己的目的、知識進(jìn)行,因此由Agent參加的交互活動常會出現(xiàn)①彼此雙方在服務(wù)描述與需求描述無法互相理解②無法量化需求目標(biāo)與候選者間的符合程度。矛盾的突顯使得自動協(xié)商成了Multi-Agent System研究中亟待解決的重要問題。解決的基本思路是基于語義Web實(shí)現(xiàn)多Agent間的智能交互,本體(Ontology)作為語義 Web的基礎(chǔ)是某領(lǐng)域知識概念化和模型化的方法,利用本體描述多Agent自動協(xié)商模型中代表各方利益的Agent的語義信息,變無序數(shù)據(jù)為有序知識,從而豐富Agent服務(wù)發(fā)現(xiàn)、匹配和組合,提高自動化程度[6,7]。這在下一步研究工作中,將作為重點(diǎn)研究的方向。
[1]教育管理信息系統(tǒng)互操作規(guī)范——教育管理互操作框架EMIF[S],CELTS-40 WD1.0,教育部教育信息化技術(shù)標(biāo)準(zhǔn)委員會 發(fā)布,2002,(8).
[2]殷萇茗 何桂華 龔紅仿.分布式異構(gòu)數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).[J]長沙電力學(xué)院學(xué)報(bào).2001,(8).
[3]羅清 羅宇.網(wǎng)絡(luò)應(yīng)用系統(tǒng)服務(wù)器集群技術(shù)研究 .[J]計(jì)算機(jī)工程與科學(xué).2004,(7).
[4]姚自明 趙岳松 柳異青.WWW 服務(wù)器集群技術(shù) .[J]計(jì)算機(jī)工程.2000,(7).
[5]高建斌 董傳良 謝莉 夏恩詢.數(shù)據(jù)集成中消息中間件的設(shè)計(jì).[J]計(jì)算機(jī)工程.2003,(10).
[6]王祥瑞,李力東.語義網(wǎng)的產(chǎn)生與發(fā)展.[J]吉林建筑工程學(xué)院學(xué)報(bào),2007,(03).
[7]李潔,丁穎.語義網(wǎng)、語義網(wǎng)格和語義網(wǎng)絡(luò).[J]計(jì)算機(jī)與現(xiàn)代化,2007,(07).
[8]Clustering works its way down[C].Alan Radding,23 Jun 2005 | SearchWinSystems.c