[摘要]介紹SOA的基本概念,研究基于SOA的電子平臺的構建特點及涉及的相關模式。研究表明,基于web服務的SOA架構構建的電子平臺符合企業的需要。
[關鍵詞]SOAweb服務模式
中圖分類號:TP-9文獻標識碼:A文章編號:1671-7597(2009)1210084-01
隨著我國信息化以及互聯網技術的迅速發展,電子平臺得到了蓬勃發展。但是在電子平臺建設的過程中,標準不統一,缺乏數據溝通機制,形成新的“信息孤島”。而面向服務體系結構(SOA,Service Oriented Architechture)的興起為解決上述問題指明了方向。
一、面向對方服務體系結構(SOA)
(一)SOA概述。面向對象服務體系結構(SOA)是一個組件模型,它將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行交互。[1]
其體系結構主要有服務提供者、服務使用者和服務注冊中心組成。
服務提供者是一個可通過網絡尋址的實體,它接受和執行來自使用者的請求。它將自己的服務和接口契約發布到服務注冊中心,以便服務使用者可以發現和訪問該服務。服務使用者是一個應用程序、一個軟件模塊或需要一個服務的另一個服務。它發起對注冊中心中的服務的查詢,通過傳輸綁定服務,并且執行服務功能。服務使用者根據接口契約來執行服務。服務注冊中心是服務發現的支持者。它包含一個可用服務的存儲庫,并允許感興趣的服務使用者查找服務。
(二)SOA技術的實現-Web Service。SOA本身是如何將軟件組織在一起的抽象概念,并沒有確切地定義服務具體如何交互,而僅僅定義了服務如何相互理解以及如何交互。雖然Web Services并不是實現SOA的惟一方式,但目前Web Services是實現SOA的最好方式。[2]
Web服務(Web Services):Web服務建立在開放標準和獨立于平臺的協議的基礎之上。
XML Schema:W3C的推薦標準,一經確定立刻成為全球公認的XML環境下的首選數據建模工具,它是實現SOA的基礎。
簡單對象訪問協議(Simple Object Access Protocol,簡稱SOAP):
實現SOA的協議。它是一種允許兩個軟件系統進行通信,而無需考慮參與交流的計算機使用的軟件和硬件平臺的消息格式。[3]
Web服務描述語言(Web services Description Language,簡稱WSDL):
采用XML語言來描述Web Service的屬性的文檔,其中包括Web services做什么、位于哪里及如何調用等信息。WSDL文檔在網絡服務的定義中使用下列元素:Types,Message,Port Type,Binding,Service等。
最后在Web服務領域,也需要一個集中的服務注冊目錄來提供服務注冊,以實現廣泛環境內的服務發現和服務集成。UDDI正是為了提供這樣的服務而制定的全新的Web服務規范。
二、系統平臺結構
以下是某個電子系統平臺的總體架構圖(圖1)。其在邏輯上分成三個部分,分別是數據擁有者、數據訪問者和系統管理者,分別對應于SOA體系結構中的服務提供者、服務請求者和服務注冊中心。
其中,用戶接口層主要由六個功能組成,分別是服務生成、服務發布、查詢條件定義、查詢執行、本體管理和服務管理,分別供服務提供者、服務使用者和平臺管理者使用。
領域本體層由領域本體庫構成,用于存放定義的領域問題空間。領域本體庫屏蔽各數據源語義的差異,為用戶提供統一的數據視圖。
訪問服務層主要由數據訪問服務集和UDDI注冊中心兩個部分組成。數據訪問服務集由任意多個服務組成,這些服務由數據擁有者調用用戶接口層的服務生成構件來生成。
圖1系統平臺總體架構
三、系設涉及到的相關模式
DAO(Date Access obiect)模式:它是夾在業務邏輯與數據庫資源中間通過在整個應用程序中應用數據訪問對象設計模式,使我們能夠把底層的數據訪問邏輯和上層的業務邏輯分開。
Abstract Factory 模式:工廠模式專門負責將大量有共同接口的類實例化。工廠模式可以動態決定將哪一個類實例化,不必事先知道每次要實例化哪一個類。
四、使用SOA架構構建平臺優勢
編碼靈活性:可基于模塊化的低層服務、采用不同組合方式創建高層服務,從而實現重用。
支持多種客戶類型:借助精確定義的服務接口和對XML、Web服務標準的支持,可以支持多種客戶類型,包括PDA、手機等新型訪問渠道。
更易維護:服務提供者和服務使用者的松散耦合關系及對開放標準的采用確保了該特性的實現。
五、總結
基于SOA的分布式應用集成框架建立在的電子系統平臺,可維護性和可擴展性都比較出色。無論編程或者網絡結構的角度,集成應用系統的建立都相對容易,節約大量的成本。并且,由于有UDDI注冊中心的存在,使得所有的服務都是動態的,為實現動態的服務進一步實現虛擬辦公打下了良好的基礎。
參考文獻:
[1]Roger Nagal,Ride Dove.21 Century Manufacturing Enterprise strategy:An Industry-Led View Infrastructure[M].Iacoaa Institute Lehigh University,1991.
[2]周坷,基于SOA軟件架構的企業應用[J].微機發展,2005,15(11):52-53.
[3]李華,BPEL和BPELJ常見問題解答[EB/OL].
作者簡介:
萬哲君(1986-),男,漢族,江西省南昌市人,碩士研究生,主要研究方向:軟件架構。