摘要:高校信息化經(jīng)歷了二十多年的發(fā)展,很多高校都采用ERP(企業(yè)資源計(jì)劃)模式,提出了“大學(xué)資源計(jì)劃URP(University Resources Plannig)”, 但大多數(shù)的高校的URP都各自單獨(dú)建立一個(gè)平臺(tái)把幾個(gè)業(yè)務(wù)系統(tǒng)和門戶進(jìn)行集成,所有的服務(wù)和應(yīng)用都依賴本校的資源,其軟件成本和硬件成本都相對(duì)比較高,對(duì)國(guó)家的資源耗費(fèi)很大。而SaaS(軟件即服務(wù))能很好的解決這個(gè)問題。本文就如何構(gòu)建SaaS,以及SaaS如何服務(wù)高校的URP、SaaS在高校URP的解決方案等方面進(jìn)行了介紹。
關(guān)鍵詞:SaaS; 軟件即服務(wù);大學(xué)資源計(jì)劃URP;門戶;Web服務(wù);統(tǒng)一身份認(rèn)證;資源整合
作者簡(jiǎn)介:張玉成 西京學(xué)院計(jì)算機(jī)基礎(chǔ)教研室 主要研究軟件應(yīng)用
【中圖分類號(hào)】TP391【文獻(xiàn)標(biāo)識(shí)碼】A【文章編號(hào)】1002-2139(2009)-13-0000-02
前言
SaaS服務(wù)模式是基于B/S架構(gòu)獲得廣泛認(rèn)可和推廣的情況下發(fā)展起來的。可以在減少軟、硬件設(shè)備,節(jié)省資源的情況下,將高校分散的應(yīng)用和資源進(jìn)行聚合,實(shí)現(xiàn)應(yīng)用關(guān)聯(lián)和信息共享;同時(shí)也提供統(tǒng)一身份認(rèn)證、數(shù)據(jù)分析、個(gè)性化服務(wù)。
1 SaaS介紹
SaaS是soft as a service(軟件即服務(wù))的簡(jiǎn)稱,是一種通過Internet提供軟件的模式,廠商將應(yīng)用軟件統(tǒng)一部署在自己的服務(wù)器上,客戶可以根據(jù)自己實(shí)際需求,通過互聯(lián)網(wǎng)向廠商定購(gòu)所需的應(yīng)用軟件服務(wù),按定購(gòu)的服務(wù)多少和時(shí)間長(zhǎng)短向廠商支付費(fèi)用,并通過互聯(lián)網(wǎng)獲得廠商提供的服務(wù)和技術(shù)支持。其本質(zhì)就是通過在線租賃的方式替代信息化建設(shè)投資,并享有信息化技術(shù)的便利、效率和專業(yè)的信息化服務(wù)。
2 SAAS在校園信息中實(shí)現(xiàn)框架
2.1SAAS在多個(gè)學(xué)校中的系統(tǒng)結(jié)構(gòu)
在傳統(tǒng)的高校信息化建設(shè)中,其業(yè)務(wù)包括了信息門戶、人力資源管理系統(tǒng)、學(xué)工系統(tǒng)、教務(wù)系統(tǒng)、各類申報(bào)系統(tǒng)、招聘系統(tǒng)、研究生管理系統(tǒng)、科研系統(tǒng)等等,實(shí)現(xiàn)的方式是各個(gè)學(xué)校通過建立各自的信息平臺(tái),利用統(tǒng)一的身份認(rèn)證、共享數(shù)據(jù)等技術(shù)來實(shí)現(xiàn)信息化的建設(shè)。這種方式在目前的大部分學(xué)校里得到了廣泛的應(yīng)用,但要一個(gè)學(xué)校建立起所有的系統(tǒng),其缺點(diǎn)是成本高,建設(shè)周期漫長(zhǎng),維護(hù)成本高,信息只局限與本校的資源共享,不能所有學(xué)校共享,各學(xué)校信息化建設(shè)水平也參差不齊。
鑒于上述原因,本文提出一個(gè)能降低學(xué)校成本、沒有建設(shè)周期、不需要維護(hù)、所以資源共享、信息化建設(shè)統(tǒng)一的框架——即服務(wù)學(xué)校的平臺(tái)框架,如圖1所示。

①左邊是各個(gè)學(xué)校的應(yīng)用,右邊是提供服務(wù)的提供商,學(xué)校的應(yīng)用是通過SOAP的請(qǐng)求來實(shí)現(xiàn)的。對(duì)多個(gè)學(xué)校可以選擇使用服務(wù)提供商提供的一個(gè)或多個(gè)軟件服務(wù),但每個(gè)Web Service Server服務(wù)在一個(gè)服務(wù)上運(yùn)行,數(shù)據(jù)庫(kù)可以是同一個(gè)數(shù)據(jù)庫(kù),但數(shù)據(jù)庫(kù)的實(shí)例是不通過的,這樣就保證了每個(gè)學(xué)校的呈現(xiàn)結(jié)果不同;
②每個(gè)學(xué)校通過自己操作的數(shù)據(jù)庫(kù)進(jìn)行同一身份認(rèn)證、使用申請(qǐng)的業(yè)務(wù)服務(wù),在物理上雖然在一起,但邏輯上進(jìn)行分離,這樣既保證了必要數(shù)據(jù)的共享,也保證了每個(gè)學(xué)校的數(shù)據(jù)安全;

③應(yīng)用服務(wù)層提供Web Service Server服務(wù),處理由Portal Server傳過來的業(yè)務(wù)請(qǐng)求,在程序控制方面進(jìn)行了業(yè)務(wù)邏輯的封裝,也保證了各個(gè)學(xué)校的需求差異;
④共享數(shù)據(jù)庫(kù)層是統(tǒng)一學(xué)校各系統(tǒng)的數(shù)據(jù)標(biāo)準(zhǔn),整合各應(yīng)用系統(tǒng)的共享數(shù)據(jù)信息,給應(yīng)用服務(wù)層綜合應(yīng)用提供一致準(zhǔn)確的數(shù)據(jù)來源和積累。
2.2 平臺(tái)框架的實(shí)現(xiàn)
上面提到的只是這個(gè)SaaS跟學(xué)校的一個(gè)關(guān)系,這里來分析SaaS的具體平臺(tái)實(shí)現(xiàn)。本平臺(tái)框架理論依據(jù)與參考是利用布式層次結(jié)構(gòu)的思想、企業(yè)IT服務(wù)規(guī)范和IBM 軟件解決方案,采用了SUN Directory Server和 SUN Identity Server為整個(gè)門戶平臺(tái)提供一個(gè)統(tǒng)一身份認(rèn)證核心底層平臺(tái)。認(rèn)證接口作為這個(gè)平臺(tái)的中間件,負(fù)責(zé)對(duì)外提供集成API。各個(gè)集成應(yīng)用通過認(rèn)證接口顯示統(tǒng)一身份認(rèn)證、單點(diǎn)登陸(SSO)等功能。Web控制臺(tái)通過LDAP協(xié)議訪問Directory Server,用于人員數(shù)據(jù)的管理(User Management)。Web容器層主要是采用了IBM的Websphere Portal Server來搭建web層,提供portal服務(wù)[3]。應(yīng)用服務(wù)層是由IBM的Websphere提供Web服務(wù),并為整個(gè)框架提供業(yè)務(wù)支持。平臺(tái)框架可分成用戶層、學(xué)校信息門戶層、業(yè)務(wù)管理層、系統(tǒng)平臺(tái)服務(wù)層、業(yè)務(wù)應(yīng)用層、數(shù)據(jù)庫(kù)層、系統(tǒng)安全平臺(tái)。其中系統(tǒng)安全平臺(tái)跨越業(yè)務(wù)管理層、系統(tǒng)平臺(tái)服務(wù)層、業(yè)務(wù)應(yīng)用層,是整個(gè)系統(tǒng)的安全管理中心。
①用戶層提供對(duì)多種終端統(tǒng)一接入的支持, 用戶可以通過計(jì)算機(jī)、PDA、手機(jī)、Kiosk機(jī)等各種終端的Web 瀏覽器統(tǒng)一訪問系統(tǒng)的資源和服務(wù)。對(duì)于采用標(biāo)準(zhǔn)LDAP方式存放學(xué)校用戶數(shù)據(jù)的應(yīng)用系統(tǒng),門戶服務(wù)器可以和他們進(jìn)行單一的用戶存儲(chǔ),達(dá)到統(tǒng)一身份認(rèn)證的集成程度;
②web容器層提供Portal Server 服務(wù)(學(xué)校信息門戶層),負(fù)責(zé)終端設(shè)備的接口的定義、接入、及界面定制,學(xué)校信息門戶的統(tǒng)一管理;
③業(yè)務(wù)管理層負(fù)責(zé)業(yè)務(wù)應(yīng)用服務(wù)管理,包括學(xué)校、客戶、合作伙伴、組織機(jī)構(gòu)、用戶角色、權(quán)限及計(jì)費(fèi)等的統(tǒng)一管理;
④系統(tǒng)平臺(tái)服務(wù)層:負(fù)責(zé)系統(tǒng)資源、數(shù)據(jù)管理及平臺(tái)所提供的服務(wù),是系統(tǒng)的核心。
⑤業(yè)務(wù)應(yīng)用層:平臺(tái)所提供的業(yè)務(wù)應(yīng)用模塊。
⑥數(shù)據(jù)庫(kù)層:數(shù)據(jù)的訪問鏈接及控制。具體的實(shí)現(xiàn)在下面分析。
⑦系統(tǒng)安全平臺(tái):負(fù)責(zé)系統(tǒng)的安全保障,包括安全基礎(chǔ)設(shè)施、 業(yè)務(wù)應(yīng)用系統(tǒng)安全、 安全管理保障體系等,是系統(tǒng)的核心。
2.3 本平臺(tái)數(shù)據(jù)的設(shè)計(jì)模型
在設(shè)計(jì)SaaS系統(tǒng)的數(shù)據(jù)模型時(shí)出于服務(wù)客戶及減低開發(fā)成本等考慮,在數(shù)據(jù)的共享和隔離之間求得一定的平衡是必須考慮的一個(gè)重要因素。一般而言,SaaS系統(tǒng)的數(shù)據(jù)模型有如下三種形式:
①獨(dú)立數(shù)據(jù)庫(kù)
將每個(gè)客戶的數(shù)據(jù)單獨(dú)存放在一個(gè)獨(dú)立數(shù)據(jù)庫(kù)是實(shí)現(xiàn)數(shù)據(jù)隔離的一種最為簡(jiǎn)便的解決方案。
②共享數(shù)據(jù)庫(kù) 單獨(dú)模式
第二種方式則是所有客戶使用同一數(shù)據(jù)庫(kù),但各自擁有一套不同的數(shù)據(jù)表組合存在于其單獨(dú)的模式之內(nèi)。
③共享數(shù)據(jù)庫(kù) 共享模式
第三種方式是用一個(gè)數(shù)據(jù)庫(kù)和一套數(shù)據(jù)表來存放所有客戶的數(shù)據(jù)。在這種模式下一個(gè)數(shù)據(jù)表內(nèi)可以包含了多個(gè)客戶的記錄,由一個(gè)客戶ID字段來確認(rèn)哪條記錄是屬于哪個(gè)客戶的。
由于為學(xué)校提供的服務(wù)比較多,而且要服務(wù)的學(xué)校比較多,對(duì)于第三種肯定是不適應(yīng)的,但對(duì)第一種方式從成本和維護(hù)等因素考慮都不適合,在本平臺(tái)下采用了第二種模式:共享數(shù)據(jù)庫(kù) 單獨(dú)模式。
在這種數(shù)據(jù)模型下,當(dāng)客戶嘗試第一次使用該SaaS系統(tǒng)時(shí),系統(tǒng)在創(chuàng)建用戶環(huán)境時(shí)會(huì)創(chuàng)建一整套默認(rèn)的表結(jié)構(gòu),同時(shí)將其關(guān)聯(lián)到該客戶的獨(dú)立模式。此時(shí)一般使用SQL CREATE命令來創(chuàng)建模式,同時(shí)授權(quán)一個(gè)用戶帳號(hào)來訪問該模式。舉例來說,在SQL Server 2005 中可以使用如下命令:
CREATE SCHEMA ContosoSchema AUTHORIZATION Contoso
接下來,系統(tǒng)可以使用SchemaName.TableName來訪問該客戶的模式:
CREATE TABLE ContosoSchema.Resumes (EmployeeID int identity primary key, Resume nvarchar(MAX))
一旦模式創(chuàng)建完畢,它將成為該客戶所屬用戶帳號(hào)訪問的的默認(rèn)模式
ALTER USER Contoso WITH DEFAULT_SCHEMA = ContosoSchema
一旦默認(rèn)模式設(shè)置完畢,在使用該客戶的用戶帳號(hào)進(jìn)行SQL語句操作時(shí)就不要再使用SchemaName.TableName 來指定特定的數(shù)據(jù)表,而是只需要指明表名即可。因此在系統(tǒng)代碼內(nèi)一句簡(jiǎn)單的SQL語句就可以應(yīng)用于所有客戶,而且每個(gè)客戶僅訪問到自己的模式內(nèi)的數(shù)據(jù):
SELECT * FROM Resumes
這種客戶獨(dú)立模式的方式相對(duì)比較容易被實(shí)現(xiàn),而且從數(shù)據(jù)擴(kuò)展性而言,這種解決方案和獨(dú)立數(shù)據(jù)庫(kù)一樣,客戶可以相對(duì)自由的對(duì)其中的數(shù)據(jù)結(jié)構(gòu)進(jìn)行新增和修改。一般在最初創(chuàng)建該客戶的模式時(shí),系統(tǒng)會(huì)預(yù)先創(chuàng)建一整套默認(rèn)的數(shù)據(jù)結(jié)構(gòu),但在那之后,客戶可以對(duì)其做個(gè)性化的修改來符合其實(shí)際業(yè)務(wù)需求
這種客戶獨(dú)立模式的方式在數(shù)據(jù)共享和隔離之間獲得了一定的平衡,它既借由數(shù)據(jù)庫(kù)共享使得一臺(tái)服務(wù)器就可以支持更多的客戶,又在物理上實(shí)現(xiàn)了一定程度的數(shù)據(jù)隔離以確保數(shù)據(jù)安全。

數(shù)據(jù)集成構(gòu)件是實(shí)現(xiàn)共享數(shù)據(jù)和交換數(shù)據(jù)的中心,它通過標(biāo)準(zhǔn)的Web服務(wù)接口進(jìn)行交互,并以XML格式的數(shù)據(jù)進(jìn)行數(shù)據(jù)傳輸和交換。共享數(shù)據(jù)庫(kù)的各種數(shù)據(jù)以XML格式傳輸給數(shù)據(jù)集成構(gòu)件;數(shù)據(jù)集成構(gòu)件再以XML格式把數(shù)據(jù)發(fā)布到信息門戶平臺(tái)。數(shù)據(jù)集成構(gòu)件采用Web服務(wù)技術(shù)對(duì)數(shù)據(jù)進(jìn)行包裝,把門戶的數(shù)據(jù)展示和需求都看成是一種服務(wù)。通過服務(wù)的請(qǐng)求和調(diào)研實(shí)現(xiàn)共享數(shù)據(jù)庫(kù)的數(shù)據(jù)交換和共享。
3 結(jié)束語
本文提出了一個(gè)服務(wù)提供商的SAAS對(duì)高校的框架、數(shù)據(jù)庫(kù)安全、統(tǒng)一身份認(rèn)證的高校信息的基本應(yīng)用框架,描述了高校平臺(tái)的原理和數(shù)據(jù)庫(kù)的設(shè)計(jì)和實(shí)現(xiàn)。基于SaaS服務(wù)的高校信息門戶通過Portlet化、XML標(biāo)準(zhǔn)化、統(tǒng)一身份認(rèn)證平臺(tái)實(shí)現(xiàn)了對(duì)已有應(yīng)用和數(shù)據(jù)的資源整合,為學(xué)生、教師、行政人員等學(xué)校用戶訪問公共技術(shù)平臺(tái)的資源提供了統(tǒng)一的登陸的入口,提高了門戶系統(tǒng)的安全性、效率和可擴(kuò)展性, 為信息共享、人才儲(chǔ)備、成果分享等得到充分的利用進(jìn)行里敘述。
參考文獻(xiàn):
[1] http://www.csai.cn/SaaS平臺(tái)整體框架設(shè)計(jì)
[2]謝小軒, 張浩, 等. 企業(yè)應(yīng)用集成綜述[ J] . 計(jì)算機(jī)工程與應(yīng)用,2002, 38 ( 22) : 1- 5.
[3]WebSphere Portal. http://www.ibm.com/software/websphere/portal(Accessed Jun. 2, 2004)..
[4] 沈兆陽(yáng).Java與XML數(shù)據(jù)庫(kù)整合應(yīng)用[ M] . 北京: 清華大學(xué)出版社, 2002.
[5] 于劍, 張輝, 趙紅梅. LDAP 目錄服務(wù)在Web 開發(fā)中的應(yīng)用[ J] . 計(jì)算機(jī)應(yīng)用, 2003, 23( 10) : 82-84.
[6] http://www.ccw.com.cn/SaaS數(shù)據(jù)模型設(shè)計(jì)三種基本方案