潘 煦 劉國卿
〔摘 要〕SOA是一種IT戰(zhàn)略,它把分散的應(yīng)用系統(tǒng)組織為可被迅速組合和重用的標(biāo)準(zhǔn)的服務(wù),從而實(shí)現(xiàn)應(yīng)用的集成。本文討論了基于SOA(service—oriented architecture)來架構(gòu)圖書館應(yīng)用支撐平臺(tái)的構(gòu)成和主要技術(shù)標(biāo)準(zhǔn)。
〔關(guān)鍵詞〕圖書館;應(yīng)用支撐平臺(tái);SOA
〔中圖分類號(hào)〕G250 〔文獻(xiàn)標(biāo)識(shí)碼〕B 〔文章編號(hào)〕1008-0821(2009)04-0136-03
The Construction of Library Application
System Supporting Platform Based on SOAPan Xu1 Liu Guoqing2
(1.Library,Southwest University for Nationalities,Chengdu 610041,China;
2.Chengdu Command College of Chinese Armed Policeforces,Chengdu 610213,China)
〔Abstract〕SOA is an IT strategy,it can organize the scattered application systems to standard services which can be rapidly reused and combined,and realize the combination of applications.This paper discussed the construction and main techniques of library application system supporting platform based on SOA.
〔Key words〕library;application supporting platform;SOA
當(dāng)前,圖書館應(yīng)用系統(tǒng)種類繁多,應(yīng)用復(fù)雜,按照服務(wù)不同,館內(nèi)通常建有門戶網(wǎng)站服務(wù)系統(tǒng)、館內(nèi)讀者網(wǎng)絡(luò)服務(wù)系統(tǒng)、圖書館業(yè)務(wù)集成系統(tǒng)、協(xié)同辦公系統(tǒng)、數(shù)字資源加工系統(tǒng)、數(shù)字資源存儲(chǔ)管理與檢索系統(tǒng)、虛擬參考咨詢系統(tǒng)、視頻點(diǎn)播服務(wù)系統(tǒng)、一卡通系統(tǒng)、電子閱覽室系統(tǒng)、多媒體電教室系統(tǒng)、視障讀者服務(wù)系統(tǒng)、多媒體導(dǎo)讀系統(tǒng)等等,面對(duì)如此眾多的系統(tǒng)和業(yè)務(wù),單個(gè)應(yīng)用程序顯然無法包容各種需求,一個(gè)特定的業(yè)務(wù)需求就需要一個(gè)應(yīng)用,而業(yè)務(wù)需求一旦發(fā)生變化,應(yīng)用就需要重新開發(fā)和部署。由此導(dǎo)致了各系統(tǒng)之間共享性、兼容性、靈活性差,增加了人員培訓(xùn)的成本,降低了應(yīng)用實(shí)施的效果。
那么,如何打造出滿足當(dāng)今隨需應(yīng)變圖書館業(yè)務(wù)環(huán)境所需的敏捷IT基礎(chǔ)設(shè)施,從而提高圖書館業(yè)務(wù)流程的靈活性呢?用傳統(tǒng)的以核心應(yīng)用為中心的技術(shù)平臺(tái)和開發(fā)模式,即使是一個(gè)大型的綜合信息平臺(tái)解決方案,仍然不能滿足需求的不斷膨脹和變化,只能通過不斷開發(fā)新應(yīng)用,擴(kuò)展現(xiàn)有應(yīng)用程序來艱難的支撐其現(xiàn)有的業(yè)務(wù)需求。SOA(面向服務(wù)架構(gòu))通過將注意力放在服務(wù)上,應(yīng)用程序能夠集中起來提供更加豐富、目的性更強(qiáng)的流程,從而更加真實(shí)地反映出與業(yè)務(wù)模型的結(jié)合。
1 SOA簡介
SOA(Service-Oriented Architecture,面向服務(wù)架構(gòu))是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過他們之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互??梢哉J(rèn)為,SOA是以往面向?qū)ο竽P偷奶娲P?,雖然它并不排除使用面向?qū)ο蟮脑O(shè)計(jì)來構(gòu)建單個(gè)服務(wù),但是SOA整體設(shè)計(jì)卻是面向服務(wù)的[1]。SOA的應(yīng)用參考架構(gòu)如圖1所示。
由圖可知,要將服務(wù)部署到圖書館體系架構(gòu)中會(huì)涉及到許多連續(xù)統(tǒng)一的活動(dòng),這些活動(dòng)可分成三個(gè)階段[2]:
1.1 構(gòu)建服務(wù)
在部署和運(yùn)行服務(wù)以前,必須先構(gòu)建服務(wù)??赏ㄟ^IBM Rational等軟件開發(fā)平臺(tái)將各應(yīng)用遷移到SOA,由此簡化和加速業(yè)務(wù)流程建模以及面向服務(wù)應(yīng)用系統(tǒng)的設(shè)計(jì)、構(gòu)造、組裝和測試,從而幫助圖書館獲得所需的IT靈活性。
1.2 實(shí)施和運(yùn)行服務(wù)
為了部署已構(gòu)建的服務(wù),在SOA運(yùn)行時(shí),需要編排業(yè)務(wù)流程,并將各種功能拼接成復(fù)合應(yīng)用;需要在企業(yè)內(nèi)部以及在防火墻內(nèi)外使用他人提供的服務(wù);需要基于角色的內(nèi)外部用戶界面以及來自多個(gè)信息源的單一信息視圖;需要將所有數(shù)據(jù)庫當(dāng)作一個(gè)數(shù)據(jù)庫進(jìn)行操作以查詢信息。
1.3 管理服務(wù)
在SOA成功運(yùn)行后,需要一種將復(fù)合應(yīng)用和SOA環(huán)境的管理納入整體安全性和系統(tǒng)管理環(huán)境的方法。其中包括發(fā)現(xiàn)、監(jiān)控、保護(hù)和管理Web服務(wù)與SOA環(huán)境的能力,以及為現(xiàn)有IT基礎(chǔ)設(shè)施提供相關(guān)性管理、事件管理和服務(wù)水平管理。SOA部署的前瞻性監(jiān)控和管理能夠提高Web應(yīng)用程序、門戶解決方案和基于SOA的解決方案的可用性。
2 圖書館應(yīng)用系統(tǒng)支撐平臺(tái)建設(shè)
應(yīng)用系統(tǒng)支撐平臺(tái)即通常意義上的中間件,它在網(wǎng)絡(luò)和基礎(chǔ)服務(wù)之上、應(yīng)用系統(tǒng)之下,在信息系統(tǒng)的軟件平臺(tái)中起著承上啟下的作用。它架構(gòu)在基礎(chǔ)服務(wù)層,利用基礎(chǔ)服務(wù)層的各種服務(wù)來實(shí)現(xiàn)自己的功能[4]。
2.1 平臺(tái)設(shè)計(jì)目標(biāo)
應(yīng)用系統(tǒng)支撐平臺(tái)是圖書館應(yīng)用系統(tǒng)的基礎(chǔ),它支撐應(yīng)用軟件的開發(fā)、部署、運(yùn)行及管理,為各個(gè)應(yīng)用系統(tǒng)提供一個(gè)統(tǒng)一的、開放的、可伸縮的、安全的、可互操作的、數(shù)據(jù)共享的基礎(chǔ)環(huán)境。其設(shè)計(jì)目標(biāo)應(yīng)包括以下幾點(diǎn):(1)為應(yīng)用系統(tǒng)層提供標(biāo)準(zhǔn)的應(yīng)用系統(tǒng)開發(fā)、運(yùn)行及管理的應(yīng)用框架。(2)為應(yīng)用系統(tǒng)層提供應(yīng)用系統(tǒng)集成、業(yè)務(wù)流程集成和數(shù)據(jù)集成的標(biāo)準(zhǔn)規(guī)范。(3)為應(yīng)用系統(tǒng)層提供應(yīng)用系統(tǒng)集成、業(yè)務(wù)流程集成和數(shù)據(jù)集成三大基礎(chǔ),以及這些基礎(chǔ)的開發(fā)部署環(huán)境。(4)為應(yīng)用系統(tǒng)層的各應(yīng)用系統(tǒng)以及門戶提供應(yīng)用服務(wù)器容器[1]。
2.2 平臺(tái)的主要構(gòu)成
應(yīng)用支撐平臺(tái)由圖書館應(yīng)用系統(tǒng)的統(tǒng)一應(yīng)用運(yùn)行平臺(tái)、統(tǒng)一應(yīng)用集成平臺(tái)、統(tǒng)一數(shù)據(jù)交換平臺(tái)、統(tǒng)一數(shù)據(jù)集成平臺(tái)等系統(tǒng)構(gòu)成。
2.2.1 統(tǒng)一應(yīng)用運(yùn)行平臺(tái)
應(yīng)用運(yùn)行平臺(tái)是應(yīng)用支撐平臺(tái)的基石,提供圖書館各應(yīng)用系統(tǒng)開發(fā)、部署與運(yùn)行所需的環(huán)境。采用三層邏輯結(jié)構(gòu),即:界面表現(xiàn)層、邏輯應(yīng)用層和數(shù)據(jù)層,可實(shí)現(xiàn)系統(tǒng)集中維護(hù)共享信息,自動(dòng)實(shí)現(xiàn)Web信息發(fā)布以及面向各類用戶的查詢服務(wù)及管理。
此平臺(tái)使用中間件技術(shù)將中心數(shù)據(jù)庫和具體的應(yīng)用程序分離,提供了一個(gè)易于擴(kuò)展的業(yè)務(wù)架構(gòu)。應(yīng)用系統(tǒng)的所有前端應(yīng)用全部在前臺(tái)應(yīng)用服務(wù)器上,通過中間件建立分布式應(yīng)用程序架構(gòu),數(shù)據(jù)庫系統(tǒng)放置在后臺(tái)數(shù)據(jù)庫服務(wù)器上,將共享數(shù)據(jù)庫和各種具體業(yè)務(wù)應(yīng)用全部通過業(yè)務(wù)邏輯層進(jìn)行信息的交互,達(dá)到應(yīng)用與數(shù)據(jù)的完全隔離,增強(qiáng)系統(tǒng)的安全性和靈活性。
2.2.2 統(tǒng)一OA辦公平臺(tái)
此平臺(tái)采用Lotus Domino來實(shí)現(xiàn)統(tǒng)一的辦公自動(dòng)化,辦公自動(dòng)化系統(tǒng)提供了個(gè)人事務(wù)、公文管理、會(huì)議管理、公共信息、內(nèi)部交流以及行政管理等應(yīng)用,在注重協(xié)調(diào)工作的同時(shí),更加強(qiáng)調(diào)基于個(gè)人的個(gè)性化服務(wù)特征,增加了個(gè)性化的信息管理功能。系統(tǒng)集合了來自各方面的信息,同時(shí)集成了所需的數(shù)據(jù)和應(yīng)用,提供了一個(gè)各種信息知識(shí)的入口點(diǎn)和知識(shí)管理平臺(tái)。比如圖書館讀者信息服務(wù)系統(tǒng)的實(shí)現(xiàn),可以利用Domino平臺(tái)的Internet技術(shù)實(shí)現(xiàn)網(wǎng)上讀者服務(wù),將Domino/Notes工作流處理技術(shù)運(yùn)用到讀者授權(quán),對(duì)外是完全的WEB系統(tǒng),對(duì)內(nèi)則使用安全可靠的Notes工作流系統(tǒng),讀者可在該系統(tǒng)的支持下進(jìn)行查詢信息等工作。
2.2.3 統(tǒng)一數(shù)據(jù)交換平臺(tái)
此平臺(tái)采用企業(yè)服務(wù)總線來實(shí)現(xiàn)數(shù)據(jù)交換,是應(yīng)用集成的基石,通過消息機(jī)制實(shí)現(xiàn)圖書館各應(yīng)用之間的數(shù)據(jù)交換、數(shù)據(jù)路由、消息格式變換、通訊協(xié)議轉(zhuǎn)換等;實(shí)現(xiàn)圖書館與上級(jí)部門之間的數(shù)據(jù)交換。
WebSphere Message Broker是IBM提供的一個(gè)優(yōu)秀的消息中間件,能滿足圖書館統(tǒng)一數(shù)據(jù)交換平臺(tái)的要求。它提供了一個(gè)簡單但又比較完善的途徑,使圖書館其它系統(tǒng)平臺(tái)能夠?qū)⑾?shù)據(jù)正確地送到目的地,達(dá)到統(tǒng)一數(shù)據(jù)交換的目的。
2.2.4 統(tǒng)一流程集成平臺(tái)
此平臺(tái)采用基于SOA技術(shù)構(gòu)建實(shí)現(xiàn)。通過SOA,根據(jù)服務(wù)的參考模型,一方面整理圖書館現(xiàn)有的應(yīng)用系統(tǒng),將各個(gè)應(yīng)用系統(tǒng)的功能模塊封裝成標(biāo)準(zhǔn)的服務(wù)(WSDL),另一方面規(guī)范新的業(yè)務(wù)功能的開發(fā)。通過企業(yè)服務(wù)總線(ESB)實(shí)現(xiàn)各服務(wù)之間的連通性,通過流程的編排實(shí)現(xiàn)業(yè)務(wù)流程自動(dòng)化。
2.2.5 統(tǒng)一內(nèi)容管理平臺(tái)
使圖書館可以在一個(gè)綜合的數(shù)據(jù)環(huán)境中,對(duì)結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)內(nèi)容(如圖書、音像)進(jìn)行收集、管理、重塑和發(fā)布。內(nèi)容可以與穩(wěn)定可靠的元數(shù)據(jù)鏈接在一起,因此檢索和重取都十分高效和準(zhǔn)確。該平臺(tái)不僅允許在整個(gè)機(jī)構(gòu)內(nèi)部或機(jī)構(gòu)外的授權(quán)用戶進(jìn)行內(nèi)容的訪問、共享和交付,而且可以創(chuàng)建一個(gè)可擴(kuò)展的、永久保留原貌的數(shù)字信息內(nèi)容資產(chǎn)檔案,因此非常有利于未來的發(fā)展,可以適應(yīng)未來的各種需要。使用統(tǒng)一內(nèi)容管理平臺(tái),可以讓工作流實(shí)現(xiàn)自動(dòng)化,讓視頻、音頻和成像數(shù)據(jù)的捕獲、轉(zhuǎn)化、檢索和分析等步驟都得到大大簡化。它提供了在Intranet或Internet上立即訪問文檔信息的能力,可以有效地保證所需要的文檔按照正確的工作流程在正確的時(shí)間提供給正確的使用人員。
2.2.6 統(tǒng)一信息服務(wù)平臺(tái)
用于圖書館對(duì)外政策宣傳,作為提供信息化服務(wù)的窗口,是直接與讀者接觸、交流的工具。包括門戶網(wǎng)站、觸摸屏、呼叫中心等子系統(tǒng)。該平臺(tái)可提供對(duì)信息、應(yīng)用和服務(wù)的單一、個(gè)性化的訪問,實(shí)現(xiàn)圖書館統(tǒng)一對(duì)外的網(wǎng)上門戶,建立融中心網(wǎng)站、網(wǎng)上辦公、各種圖書館應(yīng)用系統(tǒng)平臺(tái)于一體的綜合性門戶網(wǎng)站。
2.2.7 統(tǒng)一系統(tǒng)管理平臺(tái)
統(tǒng)一系統(tǒng)管理平臺(tái)的建設(shè)目標(biāo)是建立統(tǒng)一高效的監(jiān)控系統(tǒng),覆蓋網(wǎng)絡(luò)、服務(wù)器、數(shù)據(jù)庫、中間件、應(yīng)用等IT系統(tǒng)的各個(gè)方面。做到對(duì)所有業(yè)務(wù)系統(tǒng)、數(shù)字加工系統(tǒng)和網(wǎng)絡(luò)通信系統(tǒng)的統(tǒng)一監(jiān)控與管理。一方面使管理人員有能力獲得整個(gè)圖書館內(nèi)各個(gè)資源的運(yùn)作信息,加強(qiáng)對(duì)IT資源的控制力;另一方面,利用平臺(tái)全面的統(tǒng)計(jì)分析能力幫助管理人員提升對(duì)系統(tǒng)運(yùn)作現(xiàn)狀的理解程度,從而可以了解系統(tǒng)運(yùn)行的規(guī)律和發(fā)展變化的趨勢,保證整個(gè)系統(tǒng)的高可用性和高可靠性。
2.2.8 統(tǒng)一安全管理平臺(tái)
建立全面的安全管理機(jī)制,從軟、硬件多方面對(duì)系統(tǒng)安全進(jìn)行管理,確保各個(gè)系統(tǒng)安全、穩(wěn)定地運(yùn)行。實(shí)現(xiàn)統(tǒng)一的用戶管理、用戶認(rèn)證、用戶授權(quán)、審計(jì)跟蹤等。
以上八大平臺(tái),在具體建設(shè)的過程中,應(yīng)按照高度抽象的法則封裝成SOA的服務(wù),其總體架構(gòu)如圖2所示。
2.3 使用的技術(shù)
在圖書館應(yīng)用系統(tǒng)支撐平臺(tái)建設(shè)過程中,應(yīng)盡量采用先進(jìn)成熟的主流產(chǎn)品與技術(shù),執(zhí)行開放性的標(biāo)準(zhǔn)。我們認(rèn)為,應(yīng)采用J2EE規(guī)范,用XML進(jìn)行數(shù)據(jù)交換,以WSDL(Web Services Definition Language)來描述服務(wù),通過UDDI(Universal Description,Discovery and Integration)倉庫進(jìn)行注冊(cè),業(yè)務(wù)功能模塊應(yīng)提供Web Services接口,圖書館信息服務(wù)申請(qǐng)者可通過SOAP(Simple Object Access Protocol)提出服務(wù)請(qǐng)求并獲得服務(wù)[3]。
可以選用IBM SOA相關(guān)軟件工具來實(shí)現(xiàn)圖書館應(yīng)用系統(tǒng)支撐平臺(tái)的構(gòu)建,如采用WebSphere Message Broker來滿足圖書館統(tǒng)一數(shù)據(jù)交換平臺(tái)的要求,用基于BPEL標(biāo)準(zhǔn)的流程引擎WebSphere Process Server來實(shí)現(xiàn)圖書館統(tǒng)一應(yīng)用集成平臺(tái),用WebSphere Business Integration Modeler,WebSphere Integration Developer,WebSphere Business Integration Monitor等工具來進(jìn)行業(yè)務(wù)流程的建模、開發(fā)和測試管理,用IBM Tivoli Monitoring(ITM)實(shí)現(xiàn)圖書館的統(tǒng)一系統(tǒng)管理平臺(tái)等等[4]。
3 結(jié)束語
用SOA架構(gòu)圖書館應(yīng)用系統(tǒng)支撐平臺(tái),解決了傳統(tǒng)架構(gòu)技術(shù)無法解決的問題,取得了很大進(jìn)步。采用SOA方案實(shí)施平臺(tái)架構(gòu),可以保護(hù)早期IT投入,節(jié)省開支,并可快速隨著個(gè)性化需求變化隨時(shí)優(yōu)化圖書館的服務(wù)[3]。
參考文獻(xiàn)
[1]童鑫,李軍義.面向SOA的企業(yè)服務(wù)總線研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2008,(3):819-822.
[2]陳輝雄,樂美龍.基于SOA架構(gòu)第三方物流信息系統(tǒng)設(shè)計(jì)與分析[J].物流科技,2008,(3):77-78.
[3]楊彥輝.基于S0A的圖書館信息綜合服務(wù)系統(tǒng)[J].圖書館學(xué)刊,2007,(2):134-135.
[4]IBM Corporation.IBM WebSphere Enterprise Service Bus(ESB)[EB].http:∥www.ibm.com/developerworks/cn/websphere,2007-09-01.