吉林工商學院信息工程學院 成桂玲
采用基于面向服務的SOA架構的思想來開發教學管理系統能夠在不改變原有教學管理系統底層架構的基礎上,通過將教學管理系統中需要共享的信息封裝成web服務進行服務,來解決原有教學管理系統的信息孤島問題。采用基于SOA架構的最大優勢就是盡最大可能重用已有應用程序中的服務來提高系統的實用性和適應能力。
SOA是面向服務體系結構(Service-Oriented Architecture)的簡稱,它是一類分布式系統的體系結構,它可以根據需求通過網絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用。服務層是SOA的基礎,可以直接被應用調用,從而有效控制系統中與軟件代理交互的人為依賴性。
SOA架構是一種程序設計的方法,通過任何的程序設計語言都可以實現。目前隨著Web Service技術的流行,它成為實現SOA的一種主要手段。Web Service使應用功能通過標準化接口(WSDL)提供,使用標準化語言(XML)進行描述,并可基于標準化傳輸方式(HTTP和JMS)、采用標準化協議(SOAP)進行調用,并使用XML SCHEMA方式對數據進行描述。
如圖1所示,使用SOA架構的思想對教學管理系統進行系統的集成,將原有教學管理系統中需要共享功能模塊封裝成Web服務。將每個Web服務內部分為四層——表示層、業務服務層、業務邏輯層以及數據服務層。通過Web服務的發布和調用,使原有的教學管理系統不僅實現了內部各部門之間的信息交換,同時,也實現了和外部的信息交換。對內,各個系部業務系統之間可以通過該平臺實現專業信息的共享,實現內部信息的雙向傳送。對外,通過該平臺,實現與外系統、外單位(如教育廳,其他兄弟院校)的信息交互。圖1描述了基于SOA架構的教學管理系統的Web服務的設計方案。

圖1 基于SOA架構的教學管理系統的Web服務的設計方案
采用基于SOA的架構體系來開發教學管理系統,我們只需要將需要共享的功能模塊封裝成Web服務發布即可。進而實現原有教學管理系統功能模塊的“高內聚,低耦合”。下面分析一下Web服務各層次的實現。
(1)表示層設計
表示層的職責主要是接受用戶的輸入和向用戶呈現信息。表示層實際就是一個方便用戶使用系統的界面。
(2)服務發布層
服務發布層主要提供標準化的服務接口,從而使得該服務可以提供給在任何異構平臺和任何本地或者遠程用戶使用。通過Web Service發布各種業務,接受表示層的調用,該層是面向服務的一層,通過該層實現SOA架構的服務發布。本層的實現我們只將Web服務發布到了Windows 2003 Server自帶的UDDI服務器上,簡單易用。只需在Windows 2003 Server系統中以管理員的身份登陸UDDI組件點擊“發布”即可。
(3)業務邏輯層
業務邏輯層簡稱BLL(Business Logic Layer),是系統架構中體現核心價值的部分。它處于數據訪問層與表示層中間,業務邏輯層為系統提供服務接口和邏輯控制,對數據交換起到了關鍵作用。
業務邏輯設計分為三種主要的模式:Transaction Script、Domain Model和Table Module。本系統采用Transaction Script模式來實現。
A.配置數據依賴
業務邏輯層要加載數據,只需要在Web.config中配置需要使用的數據訪問層。打開Web.config,找到appSettings節點下的“DAL”項,將其中的value賦予我們要使用的數據訪問層工程名稱,例如:要使用student,則這一項寫成:
B.編寫散列加密工具類
因為在業務邏輯層的多處需要用到散列加密,所以在Utility工程下寫一個輔助類Encryptor即可。
(4)數據層
數據層主要提供數據信息和數據邏輯,提供本系統數據訪問;借助于信息資源整合平臺和其他系統進行數據交換。數據層的數據庫存儲我們選用Sql Server 2005平臺來完成。
基于SOA的架構思想,通過服務的封裝,以松散耦合的方式解決了教學管理系統的代碼重用的問題。本文成功的將SOA的架構思想用于教學管理系統的開發研究,從而證明了用SOA架構思想對原有教學管理系統進行資源整合的優勢。
[1]柴曉路,梁宇奇.Web Services技術、構架和應用[M].北京:電子工業出版社,2003.
[2]郭晉偉.SOA架構的管理信息系統設計與實現[D].沈陽:中國科學院沈陽計算技術研究所,2006.
[3]蔣杰,劉友華,曹天瑜.基于SOA的網絡教學資源系統集成[J].科學技術與工程,2007,8.