999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SOA架構的圖書館信息服務系統改造

2020-09-26 11:43:52羅尹奇許毅
電腦知識與技術 2020年24期

羅尹奇 許毅

摘要:[目的/意義]為解決圖書館遺留的信息系統無法適應新業務需要的問題,[方法/過程]該文提出采用SOA架構實現對既有系統進行升級改造,從而演化出新的服務。圖書館遺留的信息系統具有技術過時、二次開發困難、替換周期長等特點,導致其無法在短時間內得到有效替代,更無法融合到圖書館新的業務中去,進而形成了“孤島系統”。[結果/結論]該文通過SOA架構對既有系統進行再次封裝改造,并以系統接口的形式為新業務系統提供服務,從而實現既有系統與新系統的整合。

關鍵詞:SOA;Web Service;既有系統;服務升級

中圖分類號:G251 ? ? ?文獻標識碼:A

文章編號:1009-3044(2020)24-0011-04

Abstract: [Purpose/significance]In order to solve the problem that the legacy information system of a library can not meet the needs of new business, [Method/process]this paper proposes to use SOA to upgrade the existing system, to evolve new services. The legacy information system of a library has the characteristics of outdated technology, difficult secondary development and long replacement cycle, which makes it unable to be effectively replaced in a short period, and can not be integrated into the new business of the library, thus forming the "island system". [Result/conclusion]This paper proposes to use SOA architecture to encapsulate the existing system and provide services for the new business system in the form of system interface, to realize the integration of the existing system and the new system.

Key words: SOA; Web Service; the existing system; service upgradation

1背景

隨著圖書館信息化建設的持續推進以及技術的不斷迭代升級,新型信息化系統逐步在圖書館各業務領域得到應用。然而圖書館的業務具有流程復雜、功能龐大、覆蓋面廣、關聯交錯等特點,導致新型信息化系統無法一次性對既有系統進行徹底地改造升級。這就使得圖書館建設面臨兩大難題:

1)業務設計困難。在頂層業務領域,新系統與既有系統長期共存。既有系統一方面不能很好地適應新業務需求,另一方面又處于暫時無法替代的核心地位。這就造成了圖書館在業務設計上既要滿足新需求,又必須同時兼顧既有系統的矛盾。

2)技術實施困難。在底層技術領域,新系統與既有系統的技術架構不兼容。既有系統往往不僅技術老舊,而且多數情況下為商業閉源系統,二次開發極為困難。這就導致了既有系統無法整合到新系統中去,進而形成了“孤島系統”。

為了解決上述兩大難題,本文針對既有系統的閉源程度,提出了采用SOA架構對既有系統進行再次封裝,并以系統接口的形式為新業務系統提供服務。在具體實現上,本文通過不同的實施策略,將多元化異構的既有系統封裝為Web Service,屏蔽各系統的技術差異,同時采用LDAP目錄服務進行配置管理,從而為新系統提供標準化、統一化的訪問接口。

2體系架構

2.1 SOA簡介

SOA(Service-Oriented Architecture,面向服務體系架構)是一種分布式的軟件模型,是一種粗粒度、松耦合的服務結構[1]。一個大型的業務系統往往包含眾多不同功能組件,由于業務場景和實際部署的需要,各組件多數情況下是異構多元的。SOA通過定義良好的接口規范和協議,將各組件實現有機結合起來,從而完成復雜的功能流程。在SOA中接口是采用中立方式定義,主要體現在接口與寄宿的硬件平臺、操作系統以及編程語言無關。這就保證了各個異構組件可以以一種統一通用的方式進行交互。

作為SOA的一種具體實現,Web Service是一個平臺無關的、低耦合高內聚的、可編程的Web應用程序[2]。Web Service使用開放的XML標準來描述、發布、訪問應用程序,并以之為載體實現各個系統之間的數據交互。Web Service在構建分布式應用程序時,需要一套協議規范提供支持,其中較為重要的包括:

SOA架構從軟件模型上描述了系統各組件之間的交互,Web Service則提供了具體的實現方式。在本文中使用Web Service作為實現圖書館信息服務系統改造的技術途徑。

2.2系統架構

為實現圖書館信息服務系統的改造,系統采用了多層軟件架構[3]:應用層、服務層、實現層以及配置層,從而達到系統解耦以及軟件復用的目的。其具體結構如下:

2.2.1應用層

面向用戶提供業務服務。圖書館的應用往往并非單一功能,而是由眾多子功能有機組合而成,因此應用層會根據業務流程的需要調用一個或多個服務層接口。該調用過程是在本地代碼中實現的,接口類型為本地接口而非Web Service,無須經過網絡訪問。

2.2.2服務層

為應用層提供基礎的服務支持。服務層處于中間核心地位,一方面服務層為應用層提供本地化的接口(多數情況下為本地函數或方法),另一方面服務層調用Web Service客戶端,通過內部網絡訪問各個封裝后的既有系統。由于既有系統并不能滿足當前業務的需要,或者一個服務可能需要多個既有系統同時支持,因此調用的Web Service客戶端可能是一個或多個。

2.2.3實現層

負責實現執行具體的業務。實現層是整個架構的基礎,其重要作用體現在對既有系統的再次封裝,并以Web Service接口形式在內部網絡中發布。既有系統自身是具有相關數據和業務的,在無法用新型信息化系統替換的情況下,其數據和業務是相互配合且無法分割的,否則強制拆分會引發系統錯誤甚至平臺崩潰。因此再次封裝時將既有系統作為黑盒處理,并根據新功能的需求附加額外的數據和業務。封裝過程具有原子性,即一個既有系統封裝為一個接口,避免多個系統封裝為一個接口,從而降低系統間耦合。

2.2.4配置層

負責參數配置及接口統一管理。由于接口封裝會涉及配置參數、發布地址以及命名空間等信息,并且封裝的系統數量較為龐大,因此需要配置中心對所有的接口進行統一配置和管理。

2.3閉源層次分析

圖書館既有系統的一個重要特點是在多數情況下,系統為商業閉源軟件。閉源層次主要體現在數據閉源和業務閉源兩個層次上,其關系如下:

其中第二、三、四類閉源層次中,數據與業務至少有一項為開源,數據可以直接訪問或業務代碼可直接調用,因此在此類既有系統上演化出新的服務較為容易。而第一類閉源層次是數據與業務同時閉源,數據與業務代碼均無法獲取,導致既有系統難以通過二次開發的方式實現升級,這也是當前圖書館信息化建設中遇到的普遍問題。

從圖書館建設的角度來看,業務是隨著需求的變化而不斷演進的,即新業務不斷出現而舊業務不斷被淘汰,業務本身不具備持久性;而數據則是整個建設過程的核心,所有系統均是圍繞圖書館核心數據展開,即業務會變化但訪問的數據可能沒有本質改變。故針對不同閉源層次的既有系統,其封裝過程的核心思想是:盡量保持數據的連續性,盡量復用業務過程。

3服務改造

根據既有系統的閉源程度,本文采用Web Service作為SOA架構的實現方式,從頂層設計的角度描述不同閉源情況下的服務改造方法,以及各方法的優缺點。改造過程遵循盡量保持數據的連續性,盡量復用業務過程的封裝思想。

3.1針對第三、四類的改造

在第三、四類閉源層次中,由于處于核心資源地位的數據本身是開源的,因此在改造服務的時候可以完全圍繞數據展開。改造過程既可以直接訪問數據,也可以調用部分開源業務代碼,其思路如下:

直接對數據的操作可以有效地保證系統的高性能,新業務與既有系統無耦合,兩者相對獨立,可以更好與當前圖書館需求契合。同時部分開源業務代碼可以應用到新業務代碼中,提高了復用率。

缺點則是一方面開發周期較長,要實現新業務完全替代既有系統的過程是較為耗時的;另一方面盡管數據開源,數據本身存在關聯和約束,直接對數據操作可能會引發系統異常,即新業務未經過實踐檢驗,可能存在潛在的問題,遠不及既有系統穩定健壯。

3.2針對第二類的改造

在第二類閉源層次中,處于核心資源地位的數據是閉源的,這就導致了數據內部關系無法探知,特別是數據的存儲過程、觸發器、主鍵、外鍵等,即數據間的關聯和約束無法獲取,即使對開源業務代碼分析也無法保證數據完整性。

然而業務開源保證了數據訪問過程是可知的,新業務可以基于該訪問過程實現間接訪問數據。同時數據讀取接口開源又能在一定程度上實現將部分閉源數據導出,從而構建出閉源數據的一個子集,盡可能降低數據閉源帶來的限制。其思路如下:

通過開源業務的數據存取接口,閉源數據對于新業務是透明的,屏蔽了數據存儲的具體細節。新業務調用接口能夠保證數據的一致性和完整性,不易出現系統數據異常。同時通過讀取接口能夠獲取部分閉源數據,并將其提供給新業務,降低了數據訪問限制。

缺點則是新業務與既有系統存在一定的耦合,數據上的限制導致了無法演化出更為復雜的業務。由于調用了既有系統的數據訪問接口,新業務從編程語言、部署平臺和通信協議等均受到一定的約束。

3.3針對第一類的改造

在第一類閉源層次中,數據與業務均閉源,這是當前圖書館面臨的最為普遍的問題,即整個系統為典型的黑盒,數據本身無法訪問,既有的業務也難以對其做二次開發。

從用戶角度來看,盡管既有系統無法探知其具體的數據和業務,但可以通過代理模擬用戶訪問系統的方式實現自動化控制既有系統,并最終將用戶代理以服務接口的形式提供出來。以該方式實現改造,可以將既有系統以整體的形式提供服務,服務接口的功能為既有系統的一個子功能或多個子功能的組合。其思路如下:

通過模擬用戶操作既有系統的方式,原本需要用戶介入的既有系統可以實現自動化的控制。模擬軟件本身的開發與既有系統無關,僅與系統運行平臺有關,而平臺豐富的API(如屏幕事件、鼠標事件、鍵盤事件等)則為模擬軟件的實現提供了支持。同時既有系統以整體的方式提供服務,極大縮短了研發周期,降低了成本,并且充分應用了既有系統的穩定性和健壯性。

缺點包括三個方面:一是用戶代理的本質是利用代理程序來控制既有系統,其性能遠低于代碼級訪問,系統延時明顯,無法應用到高實時場景;二是由于是從整體上對既有系統的封裝,服務接口受到既有系統的限制,僅能做功能上的組合,難以演化出新的功能;三是用戶代理僅實現模擬用戶行為,對于既有系統的行為難以控制,因此會出現操作失敗或系統無響應的問題。

4實例分析

本文以電子科技大學圖書館閘機系統為例,具體分析基于SOA架構的服務改造。電子科技大學圖書館閘機系統屬于典型的第一類閉源層次,即系統業務代碼和數據同時閉源。

閘機白名單需要通過控制臺軟件自動下發(每1小時同步一次)或采用手動下發(點擊確認按鈕后即時同步)到六個閘機上(三個入口閘機和三個出口閘機)。閘機白名單數據庫不接受遠程訪問,僅允許本機同步軟件實施更新;而同步軟件則通過TCP/IP協議與控制臺軟件連接,接受控制臺的下發指令和白名單數據。下發過程傳遞的數據包編碼協議、加密協議、校驗協議等均閉源。具體架構如下。

在“新型冠狀肺炎病毒”疫情的影響下,圖書館需要實施預約管理,即進出入圖書館的師生必須通過預約系統預約成功后,才能刷卡進入或離開。原有的閘機系統采用1小時自動同步一次白名單的機制已完全無法適應當前精細化管理的需求。

為了達到即時預約、即時進出的管理效果,現有的閘機系統需要進行改造,并整合到預約系統中。根據第一類閉源層次的改造思路,通過構造用戶代理來模擬手動發下過程,即此時將管理員點擊確認按鈕的人工操作轉化為自動控制。用戶代理的點擊動作通過Web Service接口形式發布到內部網絡中,并配置IP準入規則,從而保證僅能由預約系統訪問。改造后的架構如下:

用戶代理的實現完全模擬了管理員人工操作的過程:屏幕抓取后判斷確認按鈕所在的位置,計算出按鈕中心的屏幕坐標(X,Y);通過平臺API獲取鼠標對象并移動到按鈕中心的屏幕坐標處;觸發鼠標點擊事件,實現點擊確認按鈕。在成功點擊后,控制臺程序便執行后續的下發操作實現閘機同步。

經過改造之后圖書館閘機系統可以受預約系統的控制,無須人工操作即可實現即時下發,也即預約系統可以根據當前預約人員的變化,動態的、即時的、響應式的控制閘機出入白名單。由于下發過程本質上還是需通過控制臺實現,并且六個閘機是逐一更新的,因此白名單生效存在一定的延時。為了防止預約系統過于頻繁調用下發接口導致白名單無法徹底更新,Web Service接口同時提供了狀態查詢功能。該狀態用于描述點擊狀態,從而實現控制兩次相鄰點擊事件的時間間隔。在預約系統需要更新數據前對接口狀態進行查詢,只有狀態可用時才調用下發接口。

5結束語

實例分析表明,基于SOA架構的圖書館信息服務系統改造是可行的,即可采用SOA架構對既有系統進行再次封裝改造,并以系統接口的形式為新業務系統提供服務,從而實現既有系統與新系統的整合。

然而基于SOA架構同樣存在一定的不足,主要涉及分布式事務、數據一致性以及網絡延時帶來的性能問題,在后續的工作中還需進一步深入研究分析。

參考文獻:

[1] 劉慧力.基于SOA的應用型高校圖書館存包柜管理系統設計研究[J].當代圖書館,2020(1): 9-11, 26.

[2] 黃鯤翔.數字圖書館網絡信息資源整合及其技術分析[J].河南圖書館學刊,2019, 39(2): 109-111.

[3] 徐琳君,劉長娥,逯連靜,等.SOA和云計算技術在圖書館服務“三農”中的應用[J].微型電腦應用,2018, 34(2): 11-14.

【通聯編輯:謝媛媛】

主站蜘蛛池模板: 中文字幕日韩视频欧美一区| 91福利国产成人精品导航| 99精品一区二区免费视频| 亚洲国产午夜精华无码福利| 久久精品国产一区二区小说| 欧美在线视频不卡第一页| 国产在线日本| 精品成人一区二区三区电影 | 亚洲国产精品日韩av专区| 国产欧美日韩精品第二区| 伊人久久精品无码麻豆精品 | 中文字幕欧美日韩高清| 精品天海翼一区二区| 永久免费精品视频| 久久无码高潮喷水| 欧美综合区自拍亚洲综合绿色| 成年片色大黄全免费网站久久| 免费人成又黄又爽的视频网站| 国产成人精品一区二区三区| 亚洲Aⅴ无码专区在线观看q| 国产女同自拍视频| 午夜无码一区二区三区| 1024你懂的国产精品| 中文字幕 欧美日韩| 日韩色图区| 亚洲国产综合第一精品小说| 88av在线播放| 中文字幕亚洲电影| 国内精品手机在线观看视频| 动漫精品啪啪一区二区三区| 日韩无码黄色| 国产精品亚洲片在线va| 国产精品第一区| 亚洲a级毛片| 亚洲日韩欧美在线观看| 欧美精品黑人粗大| 亚洲无码高清免费视频亚洲 | 在线观看国产一区二区三区99| 在线另类稀缺国产呦| 中文字幕在线一区二区在线| 久久精品国产精品一区二区| 四虎国产精品永久一区| 免费毛片a| 久久精品电影| 国产91无码福利在线| 亚洲国产中文精品va在线播放| 第一区免费在线观看| 国产人人射| 日韩色图在线观看| 18禁不卡免费网站| 日韩一区二区在线电影| 久久久四虎成人永久免费网站| 亚洲第一视频免费在线| 一本大道东京热无码av| 97国内精品久久久久不卡| 欧美a网站| 538精品在线观看| 久久精品这里只有精99品| 女人av社区男人的天堂| 国产乱人视频免费观看| 毛片网站观看| 国产在线八区| 欧美一级特黄aaaaaa在线看片| 日韩a级毛片| 在线国产三级| 999精品在线视频| 欧美国产视频| 色九九视频| 欧美成人免费一区在线播放| 午夜福利亚洲精品| 亚洲香蕉在线| 日本妇乱子伦视频| 久久中文无码精品| 久久91精品牛牛| 国产一区二区色淫影院| 国产成人一级| 9啪在线视频| 色婷婷电影网| 一级毛片高清| 精品福利视频导航| 国产精品综合久久久 | 亚洲男人的天堂在线观看|