李大偉+++殷光鵬+++毛曉丹
【摘 要】隨著各高校的規(guī)模不斷壯大,高校的信息化建設(shè)形成多極分化的格局,致使各級(jí)之間的信息不流通,不同應(yīng)用系統(tǒng)間的互操作性和集成等問題日趨嚴(yán)重。本項(xiàng)目在基于現(xiàn)有的 Web Services技術(shù)和高校校園信息化建設(shè)的基礎(chǔ)上,設(shè)計(jì)了“校園服務(wù)開放平臺(tái)”模型。以促進(jìn)高校信息化建設(shè)的發(fā)展,實(shí)現(xiàn)資源共享、軟件重用、服務(wù)集成、單點(diǎn)登錄等功能,為提高高校信息化建設(shè)水平起到了促進(jìn)作用。
【關(guān)鍵詞】SOA; Web Services; 校園平臺(tái); 信息化建設(shè)
1 項(xiàng)目背景
隨著社會(huì)的發(fā)展,信息化技術(shù)水平已成為一個(gè)企業(yè)或機(jī)構(gòu)綜合實(shí)力的重要標(biāo)志。近年來,隨著各高校的規(guī)模不斷壯大,高校的信息化建設(shè)也在不斷進(jìn)步,然而現(xiàn)在很多高校的信息化建設(shè)卻存在諸多問題,主要表現(xiàn)在以下三個(gè)方面:(1)全校信息化建設(shè)不統(tǒng)一。當(dāng)前高校內(nèi),部門眾多且分散,各應(yīng)用系統(tǒng)的訪問接口缺乏統(tǒng)一規(guī)劃,用戶訪問各應(yīng)用系統(tǒng),可能需要不同的密碼,甚至是需要不同的身份標(biāo)識(shí)。(2)缺乏有效的信息資源共享。在高校信息化建設(shè)過程中,由于各應(yīng)用系統(tǒng)采用的數(shù)據(jù)標(biāo)準(zhǔn)不統(tǒng)一等問題,使信息之間難以交換,因此在全校范圍內(nèi)人為地形成了一個(gè)個(gè)的信息孤島。(3)校園開發(fā)者缺乏一個(gè)溝通、學(xué)習(xí)平臺(tái)。在當(dāng)前本科高校環(huán)境下,初級(jí)開發(fā)者較多。同學(xué)們用著各自喜歡的編程語言和開發(fā)環(huán)境做開發(fā),且往往難以獨(dú)自一人開發(fā)完整個(gè)項(xiàng)目。沒有一個(gè)平臺(tái)提供已開發(fā)的功能模塊供開發(fā)者使用,開發(fā)者往往是在“重復(fù)制造車輪”,導(dǎo)致很多優(yōu)秀的產(chǎn)品思想無法實(shí)現(xiàn)。
2 方案論證
2.1 方案概述
為解決高校信息化建設(shè)中存在的問題,本項(xiàng)目在參考國(guó)內(nèi)外研究成果的情況下,圍繞網(wǎng)絡(luò)建設(shè)進(jìn)行了獨(dú)立思考。此外,結(jié)合本校自身情況:教師與教師、教師與同學(xué)、同學(xué)與同學(xué)之間的學(xué)術(shù)交流以及各部門之間的溝通主要是在線下或者單獨(dú)的系統(tǒng)中進(jìn)行的,學(xué)校缺乏一個(gè)解決這種交流障礙的統(tǒng)一的平臺(tái),那么我們的研究思想就是構(gòu)建一個(gè)開放的服務(wù)平臺(tái),在滿足高校師生的需求外,本項(xiàng)目創(chuàng)新行地利用Web Services思想,使得平臺(tái)同時(shí)實(shí)現(xiàn)了校園內(nèi)跨平臺(tái)操作、資源共享、服務(wù)集成、服務(wù)重用、提高系統(tǒng)開發(fā)效率以及單點(diǎn)登錄等功能,為促進(jìn)學(xué)校的信息化建設(shè)做出貢獻(xiàn)。
2.2 關(guān)鍵技術(shù)論證
2.2.1 Web Services體系結(jié)構(gòu)
Web Services體系結(jié)構(gòu)如圖1所示:
圖1 Web Services體系結(jié)構(gòu)
服務(wù)提供者提供可通過網(wǎng)絡(luò)訪問的軟件模塊(Web Services的一個(gè)實(shí)現(xiàn)),定義Web Services的服務(wù)[1]描述,并把它發(fā)布到服務(wù)請(qǐng)求者或服務(wù)注冊(cè)中心。服務(wù)請(qǐng)求者使用查找操作從本地或服務(wù)注冊(cè)中心搜索服務(wù)描述,然后使用服務(wù)描述與服務(wù)提供者進(jìn)行綁定,并調(diào)用相應(yīng)的 Web Services 實(shí)現(xiàn),同它交互。服務(wù)注冊(cè)中心接受服務(wù)提供者再次發(fā)布他們的服務(wù)描述,接受服務(wù)請(qǐng)求者的查詢,是服務(wù)提供者和服務(wù)請(qǐng)求者之間的媒介。Web Services客戶端通過SOAP協(xié)議來訪問提供Web Services的SOAP服務(wù)器,并使用WSDL文件進(jìn)行說明和引用。Web Services通過UDDI服務(wù)器進(jìn)行注冊(cè)并描述,以供Web Services客戶端應(yīng)用查找并調(diào)用[2]。
2.2.2 單點(diǎn)登錄解決方案
單點(diǎn)登錄的英文名稱為Single Sign-On,簡(jiǎn)寫為SSO,它是一個(gè)用戶認(rèn)證的過程,允許用戶一次性進(jìn)行認(rèn)證之后,就訪問系統(tǒng)中不同的應(yīng)用;而不需要訪問每個(gè)應(yīng)用時(shí),都重新輸入密碼。當(dāng)代大學(xué)均建有諸多應(yīng)用系統(tǒng),且應(yīng)用系統(tǒng)缺乏統(tǒng)一規(guī)劃下的應(yīng)用訪問接口,對(duì)于不同的應(yīng)用系統(tǒng),用戶需要在不同位置逐個(gè)進(jìn)入訪問,可能需要不同的密碼,甚至是需要不同的身份標(biāo)識(shí)。這導(dǎo)致了老師或?qū)W生不得不記憶大量的賬戶信息,且在不同的系統(tǒng)登錄時(shí)浪費(fèi)大量時(shí)間。所以,本項(xiàng)目針對(duì)大學(xué)模式建立單獨(dú)的數(shù)據(jù)庫儲(chǔ)存登錄信息來實(shí)現(xiàn)單點(diǎn)登錄,這種特有的單點(diǎn)登錄方式將很好地解決這個(gè)問題。
2.2.3 LVS負(fù)載均衡
LVS意即Linux虛擬服務(wù)器,它是一個(gè)虛擬服務(wù)器集群系統(tǒng),其主要目標(biāo)是使服務(wù)器具有高可伸縮性(Scalability)、高可靠性(Reliability)、高可用性(Serviceability),通常也被稱作負(fù)載均衡服務(wù)器集群。LVS服務(wù)器集群模型如圖2。
圖2 LVS服務(wù)器集群
LVS 服務(wù)器集群對(duì)外連接的唯一入口是調(diào)度器。調(diào)度器具有很好的吞吐率,將請(qǐng)求通過IP地址或請(qǐng)求內(nèi)容均衡地轉(zhuǎn)移到不同的服務(wù)器上執(zhí)行,且調(diào)度器自動(dòng)屏蔽掉故障的服務(wù)器,從而將一組服務(wù)器構(gòu)成一個(gè)高性能的、高可用的虛擬服務(wù)器。
3 研究方法
3.1 平臺(tái)架構(gòu)模型
雖然目前各高校都有各自的信息化建設(shè)平臺(tái),但它們大多都是基于Web的,而且基本上都是作為信息發(fā)布平臺(tái)使用。顯然,這種平臺(tái)利用價(jià)值有限,不能實(shí)現(xiàn)服務(wù)共享。為此,在前一節(jié)關(guān)鍵技術(shù)論證的相關(guān)技術(shù)支持下,在此提出了基于Web Services校園服務(wù)平臺(tái)模型,為解決高校信息化建設(shè)問題,實(shí)現(xiàn)資源共享、軟件重用、服務(wù)集成、單點(diǎn)登錄、提高系統(tǒng)開發(fā)效率等提供了新的方法。
3.1.1 LVS Load Balancer
負(fù)載均衡器是 LVS 集群系統(tǒng)的調(diào)度器,是整個(gè)集群系統(tǒng)對(duì)外連接的唯一入口。當(dāng)外部請(qǐng)求到達(dá)負(fù)載均衡器時(shí),負(fù)載均衡器根據(jù)一定的調(diào)度算法將其請(qǐng)求轉(zhuǎn)至選定的Web Server。這樣一來,若外部請(qǐng)求并發(fā)量較大時(shí),經(jīng)由負(fù)載調(diào)度器的調(diào)度,外部請(qǐng)求會(huì)被分流,使得這些請(qǐng)求都能被及時(shí)響應(yīng)。
3.1.2 Web Server
Web Server架設(shè)平臺(tái)網(wǎng)站。網(wǎng)站基本模塊有登錄系統(tǒng)、服務(wù)發(fā)布、服務(wù)查詢及調(diào)用、交流區(qū)等。平臺(tái)網(wǎng)站分前端和后臺(tái),前端是平臺(tái)對(duì)外連接的入口,后臺(tái)負(fù)責(zé)對(duì)平臺(tái)數(shù)據(jù)的處理,如服務(wù)審核及封裝。
3.1.3 Services Pool
Services Pool是服務(wù)資源池,所有的服務(wù)經(jīng)注冊(cè)后由管理員審核并封裝,最后進(jìn)入服務(wù)資源池。在服務(wù)資源池中將服務(wù)進(jìn)行分類,供服務(wù)請(qǐng)求者查看及調(diào)用。服務(wù)資源池是所有Web Server共享的。
3.1.4 DBMS
DBMS是平臺(tái)的數(shù)據(jù)庫管理系統(tǒng)。管理用戶信息機(jī)服務(wù)信息等。
3.2 系統(tǒng)功能
3.2.1 跨平臺(tái)操作
平臺(tái)采用Web Services技術(shù),注冊(cè)的服務(wù)都是web應(yīng)用程序,其返回結(jié)果為XML格式的數(shù)據(jù),利用HTTP協(xié)議傳輸。任何應(yīng)用程序只要能讀寫XML,就能實(shí)現(xiàn)應(yīng)用程序間的通信,從而實(shí)現(xiàn)跨平臺(tái)操作[3]。
3.2.2 服務(wù)集成
對(duì)同學(xué)們自主開發(fā)的應(yīng)用程序時(shí),自由選擇開發(fā)平臺(tái)、開發(fā)語言、開發(fā)環(huán)境等,將開發(fā)好的應(yīng)用程序利用web services技術(shù)轉(zhuǎn)成web應(yīng)用程序,之后以web服務(wù)的形式在我們的平臺(tái)上注冊(cè),實(shí)現(xiàn)服務(wù)的集成。同時(shí)也為同學(xué)們提供一個(gè)展示自己開發(fā)能力平臺(tái)。
3.2.3 服務(wù)重用
我們提供的服務(wù)重用方式類似于函數(shù)調(diào)用。開發(fā)者可通過將不同應(yīng)用程序的接口重新進(jìn)行任意組合,實(shí)現(xiàn)更強(qiáng)大的應(yīng)用程序。這種接口調(diào)用不受調(diào)用環(huán)境限制,且無需關(guān)心服務(wù)的實(shí)現(xiàn)。此外,還可以選擇共享程序代碼,以供同種語言二次開發(fā)參考。這樣減少了重復(fù)開發(fā)的成本,實(shí)現(xiàn)了資源共享,提高了系統(tǒng)開發(fā)效率。
3.2.4 單點(diǎn)登錄
平臺(tái)除了普通的服務(wù)發(fā)布、服務(wù)查詢、交流區(qū)等功能外,還有專門的個(gè)人賬戶信息管理模塊。用于存儲(chǔ)用戶其他系統(tǒng)站點(diǎn)的相關(guān)登錄認(rèn)證信息,可實(shí)現(xiàn)通過本網(wǎng)站對(duì)其他網(wǎng)站的訪問,大大方便了平臺(tái)用戶的賬戶信息管理。
除此之外,我們的項(xiàng)目平臺(tái)還可以當(dāng)做信息發(fā)布平臺(tái)使用,促進(jìn)校園內(nèi)的信息流通。
4 結(jié)語
本項(xiàng)目創(chuàng)新行地利用Web Services思想,搭建了高校校園服務(wù)開放平臺(tái),實(shí)現(xiàn)了校園內(nèi)跨平臺(tái)操作、資源共享、服務(wù)集成、服務(wù)重用、提高系統(tǒng)開發(fā)效率以及單點(diǎn)登錄等功能,不僅方便了高校師生,亦為促進(jìn)學(xué)校的信息化建設(shè)做出貢獻(xiàn)。
【參考文獻(xiàn)】
[1]David Chappell,Tyler Jewel1.Java Web Services[M].USA:OReilly Press,March 2002.
[2]Michael P.Papazoglou. Web 服務(wù):原理和技術(shù)[M].北京:機(jī)械工業(yè)出版社,2010.
[3]李慧盈,李德昌,段羽,呂邦國(guó).利用J2EE構(gòu)建XML Web Services的研究[J].計(jì)算機(jī)工程與應(yīng)用,2004,05:128-130.
[責(zé)任編輯:湯靜]
3.1.3 Services Pool
Services Pool是服務(wù)資源池,所有的服務(wù)經(jīng)注冊(cè)后由管理員審核并封裝,最后進(jìn)入服務(wù)資源池。在服務(wù)資源池中將服務(wù)進(jìn)行分類,供服務(wù)請(qǐng)求者查看及調(diào)用。服務(wù)資源池是所有Web Server共享的。
3.1.4 DBMS
DBMS是平臺(tái)的數(shù)據(jù)庫管理系統(tǒng)。管理用戶信息機(jī)服務(wù)信息等。
3.2 系統(tǒng)功能
3.2.1 跨平臺(tái)操作
平臺(tái)采用Web Services技術(shù),注冊(cè)的服務(wù)都是web應(yīng)用程序,其返回結(jié)果為XML格式的數(shù)據(jù),利用HTTP協(xié)議傳輸。任何應(yīng)用程序只要能讀寫XML,就能實(shí)現(xiàn)應(yīng)用程序間的通信,從而實(shí)現(xiàn)跨平臺(tái)操作[3]。
3.2.2 服務(wù)集成
對(duì)同學(xué)們自主開發(fā)的應(yīng)用程序時(shí),自由選擇開發(fā)平臺(tái)、開發(fā)語言、開發(fā)環(huán)境等,將開發(fā)好的應(yīng)用程序利用web services技術(shù)轉(zhuǎn)成web應(yīng)用程序,之后以web服務(wù)的形式在我們的平臺(tái)上注冊(cè),實(shí)現(xiàn)服務(wù)的集成。同時(shí)也為同學(xué)們提供一個(gè)展示自己開發(fā)能力平臺(tái)。
3.2.3 服務(wù)重用
我們提供的服務(wù)重用方式類似于函數(shù)調(diào)用。開發(fā)者可通過將不同應(yīng)用程序的接口重新進(jìn)行任意組合,實(shí)現(xiàn)更強(qiáng)大的應(yīng)用程序。這種接口調(diào)用不受調(diào)用環(huán)境限制,且無需關(guān)心服務(wù)的實(shí)現(xiàn)。此外,還可以選擇共享程序代碼,以供同種語言二次開發(fā)參考。這樣減少了重復(fù)開發(fā)的成本,實(shí)現(xiàn)了資源共享,提高了系統(tǒng)開發(fā)效率。
3.2.4 單點(diǎn)登錄
平臺(tái)除了普通的服務(wù)發(fā)布、服務(wù)查詢、交流區(qū)等功能外,還有專門的個(gè)人賬戶信息管理模塊。用于存儲(chǔ)用戶其他系統(tǒng)站點(diǎn)的相關(guān)登錄認(rèn)證信息,可實(shí)現(xiàn)通過本網(wǎng)站對(duì)其他網(wǎng)站的訪問,大大方便了平臺(tái)用戶的賬戶信息管理。
除此之外,我們的項(xiàng)目平臺(tái)還可以當(dāng)做信息發(fā)布平臺(tái)使用,促進(jìn)校園內(nèi)的信息流通。
4 結(jié)語
本項(xiàng)目創(chuàng)新行地利用Web Services思想,搭建了高校校園服務(wù)開放平臺(tái),實(shí)現(xiàn)了校園內(nèi)跨平臺(tái)操作、資源共享、服務(wù)集成、服務(wù)重用、提高系統(tǒng)開發(fā)效率以及單點(diǎn)登錄等功能,不僅方便了高校師生,亦為促進(jìn)學(xué)校的信息化建設(shè)做出貢獻(xiàn)。
【參考文獻(xiàn)】
[1]David Chappell,Tyler Jewel1.Java Web Services[M].USA:OReilly Press,March 2002.
[2]Michael P.Papazoglou. Web 服務(wù):原理和技術(shù)[M].北京:機(jī)械工業(yè)出版社,2010.
[3]李慧盈,李德昌,段羽,呂邦國(guó).利用J2EE構(gòu)建XML Web Services的研究[J].計(jì)算機(jī)工程與應(yīng)用,2004,05:128-130.
[責(zé)任編輯:湯靜]
3.1.3 Services Pool
Services Pool是服務(wù)資源池,所有的服務(wù)經(jīng)注冊(cè)后由管理員審核并封裝,最后進(jìn)入服務(wù)資源池。在服務(wù)資源池中將服務(wù)進(jìn)行分類,供服務(wù)請(qǐng)求者查看及調(diào)用。服務(wù)資源池是所有Web Server共享的。
3.1.4 DBMS
DBMS是平臺(tái)的數(shù)據(jù)庫管理系統(tǒng)。管理用戶信息機(jī)服務(wù)信息等。
3.2 系統(tǒng)功能
3.2.1 跨平臺(tái)操作
平臺(tái)采用Web Services技術(shù),注冊(cè)的服務(wù)都是web應(yīng)用程序,其返回結(jié)果為XML格式的數(shù)據(jù),利用HTTP協(xié)議傳輸。任何應(yīng)用程序只要能讀寫XML,就能實(shí)現(xiàn)應(yīng)用程序間的通信,從而實(shí)現(xiàn)跨平臺(tái)操作[3]。
3.2.2 服務(wù)集成
對(duì)同學(xué)們自主開發(fā)的應(yīng)用程序時(shí),自由選擇開發(fā)平臺(tái)、開發(fā)語言、開發(fā)環(huán)境等,將開發(fā)好的應(yīng)用程序利用web services技術(shù)轉(zhuǎn)成web應(yīng)用程序,之后以web服務(wù)的形式在我們的平臺(tái)上注冊(cè),實(shí)現(xiàn)服務(wù)的集成。同時(shí)也為同學(xué)們提供一個(gè)展示自己開發(fā)能力平臺(tái)。
3.2.3 服務(wù)重用
我們提供的服務(wù)重用方式類似于函數(shù)調(diào)用。開發(fā)者可通過將不同應(yīng)用程序的接口重新進(jìn)行任意組合,實(shí)現(xiàn)更強(qiáng)大的應(yīng)用程序。這種接口調(diào)用不受調(diào)用環(huán)境限制,且無需關(guān)心服務(wù)的實(shí)現(xiàn)。此外,還可以選擇共享程序代碼,以供同種語言二次開發(fā)參考。這樣減少了重復(fù)開發(fā)的成本,實(shí)現(xiàn)了資源共享,提高了系統(tǒng)開發(fā)效率。
3.2.4 單點(diǎn)登錄
平臺(tái)除了普通的服務(wù)發(fā)布、服務(wù)查詢、交流區(qū)等功能外,還有專門的個(gè)人賬戶信息管理模塊。用于存儲(chǔ)用戶其他系統(tǒng)站點(diǎn)的相關(guān)登錄認(rèn)證信息,可實(shí)現(xiàn)通過本網(wǎng)站對(duì)其他網(wǎng)站的訪問,大大方便了平臺(tái)用戶的賬戶信息管理。
除此之外,我們的項(xiàng)目平臺(tái)還可以當(dāng)做信息發(fā)布平臺(tái)使用,促進(jìn)校園內(nèi)的信息流通。
4 結(jié)語
本項(xiàng)目創(chuàng)新行地利用Web Services思想,搭建了高校校園服務(wù)開放平臺(tái),實(shí)現(xiàn)了校園內(nèi)跨平臺(tái)操作、資源共享、服務(wù)集成、服務(wù)重用、提高系統(tǒng)開發(fā)效率以及單點(diǎn)登錄等功能,不僅方便了高校師生,亦為促進(jìn)學(xué)校的信息化建設(shè)做出貢獻(xiàn)。
【參考文獻(xiàn)】
[1]David Chappell,Tyler Jewel1.Java Web Services[M].USA:OReilly Press,March 2002.
[2]Michael P.Papazoglou. Web 服務(wù):原理和技術(shù)[M].北京:機(jī)械工業(yè)出版社,2010.
[3]李慧盈,李德昌,段羽,呂邦國(guó).利用J2EE構(gòu)建XML Web Services的研究[J].計(jì)算機(jī)工程與應(yīng)用,2004,05:128-130.
[責(zé)任編輯:湯靜]