王玲
Abstract: With the rapid development of mobile Internet technology and the increasing complexity of educational management, the traditional educational administration system has not been able to guarantee the sharing and compatibility of information data resources and the business interaction in heterogeneous distribution environments. A five-tier framework for teaching management system based on Web Services is designed for these defects. Web Services encapsulation technology is used to break the barriers between business interactions and realize service reorganization, making the system loosely coupled and more flexible.
引言
隨著計算機技術的發(fā)展和對教務管理系統(tǒng)需求的改變,傳統(tǒng)的教務管理系統(tǒng)已經(jīng)無法與學校辦學規(guī)模的逐年擴大、管理工作的逐步升級、師生工作學習等業(yè)務需求的逐漸提高等要素所匹配,具體表現(xiàn)在數(shù)據(jù)的共享性、兼容性、安全性、系統(tǒng)的功能完善程度等諸多方面。
基于以上原因,研究和設計了一種基于Web Services的教務管理系統(tǒng)的框架,將Web Services與教務管理系統(tǒng)相結合,有效地實現(xiàn)了不同業(yè)務之間的數(shù)據(jù)交互和集成,較好地解決數(shù)據(jù)冗余的問題,保證數(shù)據(jù)的安全性,并支持跨平臺數(shù)據(jù)共享,拓展教務管理系統(tǒng)的功能,提高教務管理工作效率。
1Web Services概述
1.1Web Services基本概念
隨著網(wǎng)絡技術不斷普及和發(fā)展,各種組織關于Web Services的解析也內容各異,迄至目前尚不能提出一個標準的定義。接下來將匯集幾家相對權威的定義,對其可作如下研究表述。
(1)W3C給出的定義。W3C,就是World Wide Web Consortium,意指萬維網(wǎng)聯(lián)盟,認為Web Services是借助URL(統(tǒng)一資源定位器)來識別的軟件應用程序,通過XML對其接口、界面和綁定進行概念描述和發(fā)現(xiàn),利用因特網(wǎng)協(xié)議中的消息傳輸方式達到與其它應用服務程序往來交互的目的[1]。
(2)Microsoft給出的定義。Microsoft認為Web Services是.Net程序設計中的關鍵,是與其它軟件應用服務交流的基礎。其它應用服務由標準Web協(xié)議來獲得Web Services,任一Web Services的生成,如SOAP、XML、WSDL等都是獨立的,并可建構各類分布式、跨平臺的互操作[2]。
(3)IBM給出的定義。IBM認為Web Services是一種面向服務、模塊化的結構,Web中任一位置都可對其進行定位和調用。Web服務不僅可以執(zhí)行簡單指令,繁瑣復雜的處理過程也同樣可以應對解決。通常來說,一旦Web應用服務準備就緒,其它Web應用服務都能對該準備就緒的Web應用服務定位并調用。
(4)Sun公司給出的定義。Web應用服務是具有可發(fā)現(xiàn)、可重組特征的軟件構建,Web Services通過其進行訪問,定位由UDDI注冊來實現(xiàn),利用Web Services設定的XML接口信息結合Web協(xié)議達到通訊的目的,解決問題[3]。
除此以外,還有一些機構或者專家也通過實踐研究對Web Services做出了各自不同的定義,并且這些定義都是基于一種非形式化的語言對Web Services進行表述。雖然形式不一,但主旨思想基本一致。對此可得闡釋分析如下。
(1)Web Services是一種模塊化的、自包含的應用服務,依賴網(wǎng)絡基礎來推演各類功能,能夠被其它應用程序調用,完成遠程的服務請求。
(2)Web Services是一個由Internet調用的外部可見的API和應用軟件。
(3)Web Services是跨網(wǎng)絡、跨軟件平臺、分布式的技術,能夠實現(xiàn)不同平臺之間的數(shù)據(jù)共享,各應用之間可以相互通信。
1.2Web Services特點
在考慮已有成果后研究可知,Web Services的優(yōu)越性可概括描述如下。
(1)良好的封裝性。Web Services是Web上的一個應用軟件,能封裝成單獨實體發(fā)布到網(wǎng)絡上,使用者只能看到其提供的功能列表。
(2)軟件松散耦合。與傳統(tǒng)模式各組件間聯(lián)系緊密不同,松散耦合指某一組件與為之提供服務的另一組件間的依賴程度不高,編程語言和架構平臺都相對獨立。當某一Web服務引入變動調整時,只要內部接口未做變更,對使用者而言即是透明,無法知曉內部任何處理操作。松散耦合的系統(tǒng),配置更加自由,易于業(yè)務互操作。
(3)可重用性高。結合特點(2),服務之間的交互可以屏蔽掉相關細節(jié)和規(guī)范,這就為服務提供者在異構分布的環(huán)境中配備了更為寬松的動作行為機制。
(4)支持分布異構環(huán)境、集成能力高。由于教務系統(tǒng)中各子系統(tǒng)常常存在用不同軟件平臺和不同編程語言來設計書寫的問題,Web Services利用標準、統(tǒng)一的Web協(xié)議,可以彌補不同編程語言和不同軟件平臺之間的差異,這就加強了教務系統(tǒng)各子系統(tǒng)之間的交互,提高了分布異構環(huán)境中的集成能力[4]。
1.3Web Services體系結構
本次研究中,Web Services的體系結構則如圖1所示。
由圖1可以看出,Web Services的體系結構由3個參與者組成[5],對其可得剖析分述如下。
(1)服務請求者(Service Requester)。Service Requester是指需要尋找或調用服務的一方。可以借助相關的規(guī)范傳送需要查詢的字符串到UDDI數(shù)據(jù)庫調用服務。
(2)服務提供者(Service Provider)。Service Provider可以在發(fā)布服務的同時,對來自Service Requester方面送出的相關請求做出回應[6]。從某種角度來說,可將其看作是一個管理服務平臺。
(3)服務注冊中心(Service Registry)。Service Registry提供服務存儲和搜索的功能,借助Service Registry可以建立服務提供者和服務請求者之間的聯(lián)系,滿足雙方的需求。
完整的Web Services需要服務提供者、服務請求者和服務注冊中心這3個參與者之間通過find(查找)、publish(發(fā)布)、bind(綁定)這3種操作來確保交互的有效實施。具體步驟如下[7]。
(1)Service Provider將符合標準的服務發(fā)布到UDDI注冊中心。
(2)Service Requester發(fā)出請求,注冊中心依據(jù)請求找出滿足條件的適合服務,將其返回給服務請求者。
(3)通過返回的服務產生對應的SOAP消息,完成對Web Services的調用。
2基于Web Services技術的教務管理系統(tǒng)的架構研究綜合前述的理論研究為依據(jù),這里即研發(fā)提出了如圖2所示的基于Web Services的教務管理系統(tǒng)的總體架構,其中直觀地表現(xiàn)出每個層級的組成部分以及相鄰層級間的聯(lián)系和交互。
由圖2可知,該教務管理系統(tǒng)的架構分為5個層次,接下來對這5個層次的功能設計可闡析詳述如下。
(1)基礎設施層。這是教務管理系統(tǒng)正常運行的軟、硬件基礎。
(2)數(shù)據(jù)層。主要包括數(shù)據(jù)源、數(shù)據(jù)的加工處理、數(shù)據(jù)中轉區(qū)、數(shù)據(jù)倉庫等部分,旨在滿足對數(shù)據(jù)的應用管理需求。數(shù)據(jù)由業(yè)務系統(tǒng)向數(shù)據(jù)倉庫流動,在此教務管理系統(tǒng)中,采用MySQL作為數(shù)據(jù)庫服務器,并對系統(tǒng)中的相關數(shù)據(jù)開展集中保存、維護和管理。系統(tǒng)中不同的角色通過客戶端登錄,并在互聯(lián)網(wǎng)環(huán)境下請求訪問服務器,從而根據(jù)各定制權限實現(xiàn)數(shù)據(jù)的共享以及彼此之間的信息交換。
(3)服務層。由公共服務和業(yè)務服務組成。其中,公共服務涉及到角色管理、權限管理等服務;業(yè)務服務包括排課管理、成績管理、評教管理等,各種服務之間的互操作基于ESB標準。為實現(xiàn)教務管理信息的集成,提出了如圖3所示的集成方案[8]。
從圖3可以發(fā)現(xiàn),所有的服務發(fā)送方和服務接收方都需要向UDDI注冊中心發(fā)送注冊和服務請求。例如,作為教務管理人員可以作為服務提供者,到UDDI注冊申請教師課務的功能權限,教師作為服務請求者可以到注冊中心請求查看自己的課務信息。同時,系統(tǒng)中的服務請求者也可以作為服務提供者。
此外,每一個功能模塊對外都提供統(tǒng)一的Web Services接口,通過SOAP實現(xiàn)內部的封裝,屏蔽了分布異構環(huán)境的復雜通信,易于全面集成跨平臺的教務管理信息,使系統(tǒng)子模塊在構成上呈現(xiàn)為松散耦合,系統(tǒng)在設計上也隨即更趨便捷、靈活。
(4)業(yè)務邏輯層。Web服務是流程重構的基礎和重要載體[9],借助WSDL編寫某一種或多種Web服務,同時運用SOAP協(xié)議和BPEL,打破業(yè)務交互之間的屏障,控制支持分布異構的環(huán)境下的數(shù)據(jù)集成,實現(xiàn)服務的重組,將多個服務組合起來創(chuàng)建新的服務[10],擴展接口的種類,形成更加復雜的業(yè)務。
在業(yè)務邏輯層,使用者一旦獲得了相關的服務描述,便可向UDDI發(fā)出訪問和調用請求,當請求獲準通過,便可以借助Web服務接口對所請求的服務進行調用,從而實現(xiàn)應用程序與服務之間的跨平臺相互關聯(lián),在教務管理系統(tǒng)中表現(xiàn)為各種管理功能的應用輸出,例如排課管理、學生基本信息管理、成績管理、評教管理等。
(5)表現(xiàn)層。表現(xiàn)層是使用者與系統(tǒng)實施交互的外在表現(xiàn)形式,用戶一般借助瀏覽器訪問各類服務,例如用戶可以對自己需要獲取的數(shù)據(jù)發(fā)出訪問請求,等待服務提供者的響應,當然也可以通過UDDI進行查找、調用,一旦發(fā)現(xiàn)可以滿足自身需求的服務時直接請求調用。
在此架構教務管理系統(tǒng)中,表現(xiàn)層是教務管理人員、教師、班主任、學生等用戶的接口部分,通過瀏覽器為這些用戶提供友好的操作界面,收集和處理用戶發(fā)出的各種請求,當服務器響應之后再通過靜態(tài)頁面為其返回處理結果。
3結束語
本文分析設計了一種基于Web Services的教務管理系統(tǒng)的5層框架,將Web Services技術引入其中,彌補了不同編程語言和不同軟件平臺之間的差異,充分解決了教務系統(tǒng)各功能模塊或子系統(tǒng)之間的交互問題,從而有效增強了系統(tǒng)的靈活性和可重用性。(下轉第88頁)參考文獻
[1] 楊鶴. Web Services 在數(shù)字化校園信息集成中的應用研究[D]. 烏魯木齊:新疆師范大學,2009.
[2] 邵麗萍,肖世德. 新一代 Web 開發(fā)技術 ASP.NET 的發(fā)展與探析[J]. 微計算機信息,2005,21(1):190-192.
[3] 陶強. Web Service 中 UDDI 的研究與實現(xiàn)[D]. 武漢:武漢理工大學,2005.
[4] 鄭金芳. 基于WEB 技術的教務管理系統(tǒng)的設計與實現(xiàn)[D]. 鄭州:鄭州大學,2010 .
[5] 劉福濤. 基于Web 的教務管理信息系統(tǒng)的設計與實現(xiàn)[D]. 大連:大連海事大學, 2012.
[6] 王曉艷. 基于SOA工作流引擎的研究與實現(xiàn)[D]. 北京:北京工業(yè)大學,2009.
[7] 張前峰. 基于Web Services 的數(shù)字化校園的研究與設計[D]. 泉州:華僑大學,2005.
[8] 王暢. 一種SOA的工作流管理系統(tǒng)的框架設計[J]. 智能計算機與應用,2018,8(1):79-81,86.
[9] 程忠崗. 基于SOA的工作流的研究[D]. 徐州:中國礦業(yè)大學,2015.
[10]王暢. SOA架構的工作流管理系統(tǒng)的應用研究[J]. 綏化學院學報,2018,38(2):144-147.