系統總體結構3.1所示,主要分為使用者介面層、核心業務層以及基礎服務層。
圖3.1 系統總體架構圖
3.1 使用者介面層使用者介面層是使用者進入Cactus Web服務搜尋與執行引擎的入口。本層採用了兩種使用者接入方式:第一種是基於Internet網路的Http訪問,使用者通過瀏覽器進入本系統,由瀏覽器使用者代理程式實現;第二種是基於GPRS網路的手機使用者訪問,使使用者通過手機進入該系統,由手機使用者代理程式實現。
3.2 核心業務層核心業務層是Cactus Web服務搜尋與執行引擎的核心層次,實現了系統中的主要業務功能,包括:Web服務發布、Web服務解析、Web服務執行、Lucene搜尋以及服務資產庫。
3.2.1
Web
服務發布Web服務發布的功能是協助使用者提供者將其Web服務及相關描述註冊到本系統的服務資產庫中。具體地,服務提供者通過輸入Web服務的名字、描述以及WSDL的URL等服務基本資料,系統將根據WSDL解析出Web服務的內部操作和相關參數動態構建中文描述錄入嚮導,協助服務提供者實現對Web服務的使用資訊的描述,並存入服務資產庫中。服務提供者對Web服務的使用描述將為服務使用者提供關於如何使用該服務的詳細資料,從而方便了普通使用者對Web服務的使用。
3.2.2
Web
服務搜尋為了提高Web服務的搜尋品質與效率,我們使用了索引資料庫引擎Lucene建立索引,並按照倒排檔案的格式存放。使用者輸入搜尋條件,索引引擎將通過索引資料庫進行檢索,把符合查詢要求的資料按照使用者需求進行分級排列,並返回給使用者。
3.2.3
Web
服務解析Web服務解析對Web服務WSDL的解析,是系統的核心業務之一,可用於服務執行和發布過程中。系統使用IBM WSDL4J技術來進行對WSDL文檔的解析,以讀取服務相關資訊,從而瞭解服務的內部結構。
3.2.4
Web
服務執行Web服務執行是實現對異構平台Web服務統一調用的核心。在使用者輸入服務執行所需參數並執行服務調用時,系統動態構建服務調用SOAP訊息,並將其發送給Web服務核心動作項目。服務執行結束後,系統接收服務執行結果SOAP訊息,對其解析,並按照使用者期待的格式對結果進行重新組織。
3.2.5
服務資產庫服務資產庫主要用於存放提供者錄入的Web服務調用相關語義資訊,包括服務作業的描述和各操作的輸入/輸出參數等的相關描述。
3.3 基礎服務層基礎服務層主要提供了對異構平台Web服務產生的支撐技術,包括Java、.Net和PHP等平台上如何開發Web服務。