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