面向服務的架構(SOA)在電子商務中的應用

才智咖 人氣:8.74K
面向服務的架構(SOA)在電子商務中的應用
[摘要]本文具體先容了SOA的定義、技術基礎。在此基礎上,給出了一個利用SOA整合現有系統的模型。最後就SOA的應用遠景進行了展看並指出了SOA研究中還急需解決的題目。
  [關鍵詞]面向服務的架構(SOA)Web ServiceXML ESB
  
  一、引言
  
  軟體的本質決定了它的複雜性,而電子商務中應用到的軟體不僅複雜而且多變,不斷變更的多樣化需求使得傳統軟體架構已經無法滿足當前的需要。面向服務的軟體架構(SOA)為處理這種複雜性提供了一種有效的解決方案。
  
  二、SOA的定義
  
  SOA(Service Oriented Architecture)即面向服務的體系架構。現在,SOA並沒有確切的定義,它是一個概念,是說一個應用可以由一系列獨立但又相互協作的子系統或者服務組成。這樣的'結構將各個服務獨立出來,只把需要宣告的介面告訴給其它的服務。介面定義採用中立的方式,獨立於實現服務的硬體平臺、操縱系統和程式語言,使得這些服務可以使用同一和標準的方式進行通訊。任何面向服務的架構包含三個角色:一個服務申請者(service requestor),一個服務提供者(service provider),和一個服務註冊器(service registry),角色關係如圖1所示。
  其中服務提供者負責建立一個有用的服務,併為它建立一個服務描述,然後將這個服務描述釋出給一個或多個服務註冊器,並從一個或多個服務註冊器那裡接收服務請求資訊。
  服務請求者負責尋找釋出在一個或多個服務註冊器那裡的一個服務描述,並負責使用服務描述來bind或者invoke服務提供者所提供的服務。一個服務的任何使用者都可被看作服務請求者。
  服務註冊器負責將服務提供者釋出在其上的服務描述廣而告之,並答應服務請求者在本服務註冊器所擁有的服務描述裡搜尋。一旦服務註冊器將服務請求者和服務提供者配對,服務註冊器就不需要再參與互動過程。
  
  三、SOA的主要支撐技術
  
  SOA技術實施中涉及的主要技術包括以下幾個: ESB 、Web Service、XML、SOAP、WSDL、UDDI。其中ESB、Web Service、XML尤為重要。
  ESB(Enterprise Service Bus)
  企業服務匯流排(ESB),它是SOA架構的支柱技術。它提供一種開放的、基於標準的訊息機制,完成服務與服務、服務與其它元件之間的互操縱。XML[3](Extensible Markup Language)
  可擴充套件的標記語言(XML),XML是由全球資訊網協會(W3C)建立的一種基於文字的規範標記語言,是Web Service平臺中表示資料的基本格式。
  Web service
  Web service是建立可互操縱的分散式應用程式的新平臺, 它定義了應用程式如何在Web上實現互操縱性。Web Service是就現在而言最適合實現SOA的一些技術的集合, Web Service標準的成熟和應用的普及為廣泛的實現SOA架構提供了基礎。   四、SOA參考模型(SOA-RM)及應用整合模型
  
  一直以來SOA沒有一個同一的標準。為了同一標準,OASIS作了很多工作,也取得了一定的成果,於2006年底通過了一套SOA參考模型,其他相關標準預計在2007年完成。
  基於現有工作,本文給出一種解決方案,如圖2所示。它在保證傳統系統正常的條件下,將系統或者功能模組包裝成服務,組成符合SOA模型的系統。大大進步了軟體複用性,節約了本錢。
  在這一方案中,不同型別的使用者通過各自的使用者介面進進系統,並向ESB提出服務請求,ESB將請求經過通用介面層分發,最後由特定的程式或者模組處理,處理結果逆向反饋給使用者。
  
  五、結束語
  
  SOA本錢低、易整合,它可以整合現有資源,並且有了新的應用時也很輕易擴充套件而無須對現有系統作大的改動,只需將新的功能註冊為服務即可。這樣既進步了複用性,又有很好的擴充套件性。SOA的鬆耦合性和靈活的特點必將使它成為電子商務應用中佔有盡對上風的軟體工程實踐方法。