吉林工商學院信息工程學院 成桂玲
目前,許多高校存在校區(qū)多、分布地域廣、各類學生多的特點,導致了大量的教育資源之間不能互聯(lián)互通、缺乏有效的數(shù)據(jù)共享與軟件復用、無法實現(xiàn)不同系統(tǒng)業(yè)務流程的集成。最典型的問題是呈現(xiàn)許多信息孤島使教學管理的信息資源不能有效共享和開發(fā)利用。教學管理需要縱向、橫向廣泛的互聯(lián),利用信息技術、網(wǎng)絡技術來輔助學校教學管理,已經(jīng)成為學校教育信息化建設的目標和發(fā)展方向。采用基于SOA架構(gòu)的思想來開發(fā)新的教學管理系統(tǒng)在不改變各種應用底層架構(gòu)的基礎上,可以很好地解決上述問題,這樣的架構(gòu)方式更能適應業(yè)務開發(fā)的需要。SOA架構(gòu)的最大目的是盡最大可能重用已有應用程序中的服務來提高系統(tǒng)的實用性和適應能力。
面向服務體系結(jié)構(gòu)(Service-Oriented Architecture)簡稱SOA,是一類分布式系統(tǒng)的體系結(jié)構(gòu),也是一個基于組件的模型。它可以根據(jù)需求通過網(wǎng)絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用。
簡單的說,SOA(面向服務體系的結(jié)構(gòu)),它是用構(gòu)建組成一個系統(tǒng),一個松耦合的模型,把現(xiàn)有的系統(tǒng)組成新的系統(tǒng)。使原來的系統(tǒng)無論使用哪種平臺都能夠?qū)⑵鋮f(xié)同起來工作的一種軟件系統(tǒng)架構(gòu)。
SOA架構(gòu)是一種程序設計的方法,可以用任何編程語言來實現(xiàn)。只要這種編程語言能生成服務并且支持WSDL平臺即可。但隨著Web Service技術的發(fā)展和日趨廣泛應用,使得Web Service成為目前實現(xiàn)SOA架構(gòu)的首選方式。
Web Services是由一系列開放標準構(gòu)成以提供各種服務的互操作,其中包括:
圖1 基于SOA的教學管理協(xié)作的系統(tǒng)的集成框架圖
圖2 使用代理類訪問Web服務時的數(shù)據(jù)流程
(1)XML
在各種平臺上以文檔的形式向用戶提供與數(shù)據(jù)相關的各種信息,實現(xiàn)了跨平臺的數(shù)據(jù)編碼和組織方式。它是最基礎和最關鍵的部分。
(2)簡單對象存取協(xié)議(SOAP)
SOAP用于Web Services之間跨平臺的相互通信。它定義了消息傳遞的封裝,給出了數(shù)據(jù)編碼的指導方針,提供了描述遠程程序調(diào)用(RPCs)的規(guī)則。
(3)Web Services描述語言(WSDL)
WSDL提供了規(guī)則的、能被計算機閱讀的Web services描述。
(4)通用描述、發(fā)現(xiàn)和綜合協(xié)議(UDDI)
它是一個可搜尋和發(fā)布Web服務的場所??梢詫崿F(xiàn)Web Service服務的存儲和發(fā)布。
采用基于SOA體系結(jié)構(gòu)的教學管理系統(tǒng),可以將原有教學管理涉及的各個相對獨立的業(yè)務功能封裝成Web服務,通過調(diào)用服務,來實現(xiàn)教學單位各系部之間信息資源共享和協(xié)調(diào)合作。由于教學管理是一個復雜的業(yè)務流程,以此我們只將教學管理系統(tǒng)中的常用子系統(tǒng)(例如:教學資源管理系統(tǒng)、教學計劃管理系統(tǒng)、學生信息管理系統(tǒng)、課表管理系統(tǒng)等)進行封裝來說明基于SOA架構(gòu)的系統(tǒng)集成方式。圖1為基于SOA的教學管理協(xié)作的系統(tǒng)的集成框架圖。
通過將原有教學管理以服務的形式進行封裝,用基于SOA的思想框架集成后,在對外接口上都將用統(tǒng)一的Web Service進行封裝。通過UDDI注冊中心進行信息的發(fā)布,服務用戶通過Internet在注冊中心實現(xiàn)服務的查找和調(diào)用,以達到最大限度的資源共享。
使用SOA架構(gòu)的思想對教學管理系統(tǒng)進行系統(tǒng)的集成,將原有教學管理系統(tǒng)中需要共享功能模塊封裝成Web服務。通過對Web服務的創(chuàng)建、測試、發(fā)布和調(diào)用即可將SOA架構(gòu)的功能實現(xiàn)。
(1)Web服務的創(chuàng)建與測試
Web服務是一種自包含、自描述、模塊化的應用程序。在.net環(huán)境下窗口已經(jīng)提供了Web服務的創(chuàng)建和測試,我們只需在web.config配置文件配置數(shù)據(jù)庫即可完成創(chuàng)建和測試。
(2)Web服務的發(fā)布
Windows 2003 Server自帶了UDDI服務器,我們只需在Windows 2003 Server系統(tǒng)中以管理員的身份登陸UDDI組件點擊“發(fā)布”即可。
(3)Web服務的調(diào)用
當我們成功創(chuàng)建Web服務并通過UDDI注冊中心將服務發(fā)布以后,就可以通過互聯(lián)網(wǎng)查找并調(diào)用相關的Web服務。調(diào)用Web服務時,我們通常是通過服務代理程序來完成。Vs.net平臺下提供了服務代理類。服務代理類是根據(jù)Web服務的描述文檔產(chǎn)生一個本地類,在程序執(zhí)行的過程中,服務請求者通過使用代理類中的信息訪問Web服務實現(xiàn)調(diào)用。圖2描述了使用代理類訪問Web服務時的數(shù)據(jù)流程。
SOA架構(gòu)憑借服務間松耦合、粗粒度等特性來實現(xiàn)資源共享。它解決了異構(gòu)開發(fā)平臺環(huán)境的缺點,真正實現(xiàn)了將原有面向?qū)ο蟮男畔⒛K的功能復用,而不需要重新編寫代碼。真正實現(xiàn)了在不改變原有基本資源的前提下,以最小的成本實現(xiàn)信息資源的重組來應對不斷改變的業(yè)務流程的變化。本文成功的將SOA的架構(gòu)思想和Web Service技術融合,實現(xiàn)了基于SOA的教學管理系統(tǒng)的架構(gòu)的設計與實現(xiàn)研究,從而證明了用SOA架構(gòu)思想對原有教學管理系統(tǒng)進行資源整合的可行性。
[1]Hongbing Wang.Joshua Zhexue Huang Yuzhong.QJunyuan Xie.Web services:problems and future directions.Web Semantics:Scienc,Services and Agentson the World W ide Web,2004.
[2]XU Xin,SU Xin-ning.Building a new generation digital campus of university[J].New Technology of Library and Information Service,2005,119(1):58-65.
[3]柴曉路,梁宇奇.Web Services技術、構(gòu)架和應用[M].北京:電子工業(yè)出版社,2003.
[4]郭晉偉.SOA架構(gòu)的管理信息系統(tǒng)設計與實現(xiàn)[D].沈陽:中國科學院沈陽計算技術研究所,2006.
[5]蔣杰,劉友華,曹天瑜.基于SOA的網(wǎng)絡教學資源系統(tǒng)集成[J].科學技術與工程,2007,8.