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

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

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

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