摘要:隨著互聯網和基于構件的軟件復用的飛速發展,公共構件庫和企業構件庫積聚了大量可復用構件,分布式構件庫之間進行信息交互的需求也變得十分迫切。從構件庫及其互操作知識入手,進行交互流程和數據交換模型的設計工作,為給企業用戶提供個性化服務提供了便利。
關鍵詞:軟件復用;構件庫;Web服務;數據交換模型
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)34-2033-01
Design of Connective Framework of Distributed Component Library Based on Web Service
XU Tian-bing, CHANG Jie
(Department of Computer Information Engineering, Shandong University of Finance, Ji'nan 250014,China)
Abstract: Along with the development of Internet and Component-Based Software Reuse, a mass of reusable component has been accumulated by both public and enterprise component libraries, and the requirement for exchanging information between distributed component libraries is increasing. This paper introduces connectivity technology which is related to component library, and then designs the connective framework, exchanging modes and a data modal for exchanging. It brings much convenience for supplying enterprise user individualized service.
Key words: software reuse; component library; Web service; data model for exchanging
1 引言
軟件復用可以提高軟件開發的效率和質量,基于構件的軟件開發是一種支持軟件復用的有效途徑[1]。隨著基于構件的軟件復用的日漸深入,構件庫作為分類和管理構件的基礎設施的作用變得十分重要,公共構件庫和企業構件庫已經積累了大量的構件,為構件的使用者和開發者提供了極大的便利。為實現各構件庫間的軟件資源共享,公共構件庫與企業構件庫之間將實現基于構件資源的互聯互通,形成分布式構件庫。
2 相關工作和技術
2.1 構件庫及互操作
構件庫能夠有效地組織和管理大量的可復用構件,能夠支持對構件的描述、存儲、管理,提供良好的檢索手段,提供對構件的度量及對構件質量的評估,并提供相應的工具支持開發者在開發過程中方便地查詢、理解和選取構件[2]。
目前構件庫互操作策略是建立一個公共的數據模型,定義庫之間交換軟件構件所需要的信息。從最早的BIDM和UDM,到北京大學的BCDM[3]和ECLDM[4],以及可復用資產規范RAS。其中RAS正成為軟件資產描述的工業標準,是關于可復用軟件資產的結構、內容和描述的指導原則。
2.2 Web服務
Web服務是由URI標識的軟件應用程序,其接口和綁定可以通過XML構件進行定義、描述和發現,Web服務支持通過基于因特網的協議使用基于XML的消息與其他軟件應用程序直接交互。基于Web服務的軟件構件解決了不同運行平臺之間的互操作問題,成為軟件構件技術發展的新方向。
3 分布式構件庫互聯模型設計
公共構件庫和企業構件庫是通過Web服務來完成各類型信息交互的。構件管理系統用于管理企業構件庫的構件并實現與公共構件庫的交互,公共構件庫網站用于提供公共構件庫對外的各項服務以及與其他應用系統的交互功能。
3.1 交互過程
為了更好的為企業構件庫用戶提供個性化服務,實現公共構件庫與企業構件庫間各種信息的自由交互,進行如下分布式構件庫的交互設計:
1) 資源信息共享。企業構件庫能夠檢索、查看和下載公共構件庫的資源;公共構件庫能夠檢索、查看和下載企業構件庫允許對外共享的資源。企業用戶登錄構件管理系統,輸入查詢請求,進行本地查詢,同時調用公共構件庫的Web服務進行異地查詢,并將查詢結果進行轉換,與本地查詢結果進行整合,最終一起展示給用戶瀏覽。
(下轉第2041頁)
(上接第2033頁)
2) 構件信息發布。公共構件庫增設企業用戶通過構件管理系統發布構件的功能,借助公共構件庫的Web服務直接提交構件,經過入庫審核后直接發布到公共構件庫網站。
3) 提交資源需求。企業用戶如有對構件的需求,可以調用公共構件庫的Web服務,公共構件庫記錄提交需求并定期到與之互聯的其他構件庫進行查詢,并將查詢結果返回給企業用戶。
4) 信息訂閱與推送。企業用戶注冊其關注的資源信息,調用公共構件庫的Web服務提交入庫。公共構件庫更新內容時,向企業用戶推送更新的資源信息。
3.2數據交換模型
由于各個構件庫的分類描述機制是異構的,因此構件庫間進行交互時需要進行構件信息的轉化。根據各構件庫構件描述模型的異同,結合RAS中對軟件資產的描述,抽象出用于進行構件描述信息轉化的數據交換模型,如圖1所示。
該模型總結了用于描述可復用資產的必要元素,其中資產、剖面、分類、使用方法、解決方案、相關資產為核心RAS的基本元素。資產元素記錄了可復用資產的最基本信息,包括名稱和標識符;剖面描述了該資產的類型,引用其他模型元素來對自身進行描述;資產的分類可以從一個或多個視角,本模型從主要適用語言、操作系統、功能類型、國際化支持等側面進行描述;使用方法記錄資產在具體環境下是如何使用的,執行哪些必要的活動等;一個資產提供一個解決方案,解決方案通過一個由若干制品組成集合來提供,制品是軟件資產可復用的核心,制品都有名稱、URI地址,類型及描述信息;相關資產記錄了與該資產滿足某種關系類型的任意數目的資產;所有權信息用于標注該可復用資產的有關知識產權和所有者的信息;資產質量記錄使用者對該可復用資產的評分情況;用戶使用情況從瀏覽次數、下載次數和復用次數三方面體現用戶對于該資產的關注。上圖為基于RAS的核心資產描述模型,它作為公共的數據交換模型具有較高的抽象性,在實際使用和轉換中動態的擴展。
4 結束語
本文進行了公共與企業構件庫間的交互過程和數據交換模型的設計,為企業用戶提供了功能強大的個性化服務,并為實現分布式構件庫的信息共享和服務協作打下了堅實的基礎。在不久的將來,可逐步實現以各地公共構件庫為骨干節點,眾多領域的企業構件庫為子節點的互聯體系,從而實現更大范圍內的軟件資源共享和協作。
參考文獻:
[1] 楊芙清,梅宏,李克勤.軟件復用和軟件構件技術[J].電子學報,1999,27(2):68-75.
[2] 薛云皎.基于智能主體的分布式構件庫相關技術研究[D].上海:復旦大學軟件工程實驗室,2006.
[3] 潘穎,劉洋,謝冰,楊芙清.支持管理在線構件的基本構件描述模型[J].電子學報,2003(12A).
[4] 李琰,鄒艷珍,潘穎,等.一種可擴展的構件庫數據模型[J].計算機科學,2006,33(5).