關於SOA架構設計的案例分析

SOA (Software-Oriented Architecture),即面向服務的架構,最初由全球最具權威的IT研究與顧問諮詢公司Gartner於1996年提出,但因爲當時的技術水平和市場環境尚不具有真正實施SOA的條件,SOA並未引發人們的真正關注,所以在接下來至關長一段時間內歸於沉寂。進入21世紀以後,Internet風起雲涌,愈來愈多的企業將業務轉移到互聯網領域,帶動了電子商務的蓬勃發展。爲了可以將公司業務打包成獨立的、具備強大伸縮性的可跨越Internet訪問的服務,人們提出了Web服務的概念,這是SOA實踐的真正發端。html

  SOA 提供了一種構建IT 組織的標準和方法,經過創建可組合、可重用的服務體系來減小IT 業務冗餘,並加快項目開發的進程。SOA 容許一個企業高效地平衡現有的資源和財產,這種體系可以使得IT 部門效率更高、開發週期更短、項目分發更快,在幫助IT技術和業務整合方面有着深遠的意義,它能夠:安全

  • 縮小業務和技術的鴻溝——以業務爲中心

  SOA 改變了以往以技術爲中心的信息系統建設模式,使得IT 技術從新回到業務支撐的角色。IT 技術的目標是爲業務、應用服務,而不是IT 技術自己的發展。業務人員能夠像組裝硬件同樣從業務角度即時構造應用,從而縮小業務和技術的鴻溝。網絡

  • 軟件資源的共享與重用

  SOA提供了一種把原有的組件按必定的標準封裝爲具備文檔形式接口描述的服務,從而使服務的使用者和服務之間是一種鬆耦合關係。這樣,一方面能夠把遺留系統封裝爲服務加以複用,提升了投資回報率;另外一方面,能夠直接調用外部服務提供商提供的服務從而起到複用的做用。架構

  • 應用的隨需擴展——靈活性和敏捷性

  SOA的鬆耦合特性給應用帶來了極大的靈活性。服務使用者和服務提供者在保持接口契約一致性的狀況下,能夠獨立演化。基於SOA 的應用能夠當作是一組服務以及服務之間鬆散耦合的集合。所以,一方面新的服務能夠很容易地加入這個鬆散集合,另外一方面也能夠根據業務需求從新編排集合內的服務,以生成新的複合服務。所以基於SOA的應用具備易於改變、易於擴展的特色,從而支持了業務的快速反應和敏捷性。負載均衡

  總之,面向服務架構(SOA)試圖將網絡上須要共享的各類資源統一以服務的形式進行封裝和接入,讓它們在物理上保持分佈自治的同時實現以「虛擬信息中心」爲基礎的邏輯上的一體化管理,以透明的方式進行資源的優化選取、按需中介和有效訪問,並可以支持用戶主動參與應用配置。模塊化

  隨着SOA發展的深刻,各類SOA相關技術標準也隨之發展和完善。SOA的優勢和特色,已經爲大多數廠家和用戶所熟知,如鬆耦合、業務敏捷性、基於開放式標準等,那麼如何構建企業或組織的SOA應用呢? SOA 參考架構 (Reference Architecture)將是一個很是好的起點,它能夠爲用戶帶來以下好處:工具

  • 可做爲SOA開發實施的藍圖,提供SOA的整體規劃建設參考
  • 改善SOA實踐,提升SOA實施的成功機率
  • SOA參考架構各個組成部分定位清晰,鬆散耦合,便於項目管理
  • 促進SOA參與角色及各方認識一致,推動標準化
  • 促進 IT 與業務的緊密配合
  • 協助企業向重用、團隊協做和資源共享的文化遷移

  SOA 參考架構 (Reference Architecture)及相關技術,主要應用在企業應用集成領域,它可以以服務的方式共享和複用企業現有應用資產,保護用戶IT投資,並可以以服務的方式構建新的業務流程,對組織中的業務流程進行靈活的重構和優化,加強業務的敏捷性。經過SOA參考架構,能夠爲企業架構提供一種指導和參考,使得新的需求可以更快的獲得響應。優化

圖1 SOA 參考架構

  如圖1所示,SOA參考架構描述了企業範圍內SOA項目所須要的關鍵能力。spa

  開發服務(Development Services)用於實現新開發的組件以及重用基礎架構的能力。.net

  業務創新優化服務(Business Innovation & Optimization Services)用於從IT和業務兩個層面來監控和管理運行狀況。

  管理服務(Management Services)包括對服務、應用和資源的管理和保護能力,如經過負載均衡來有效的分配系統計算資源。

  SOA解決方案中的不少服務都是由已有應用系統提供的,接入服務(Access Services)提供訪問已有應用或遺留系統的能力,同時提供已有應用、打包應用程序與ESB之間的橋接能力,將已有系統中的功能和信息轉化爲服務。

  業務應用服務(Business App Services)指那些經過新的計算平臺JavaEE來實現的新應用,它們所實現的功能和信息也都轉化爲服務提供出來。

  在業務流程須要與外部的合做夥伴、供應商交互的狀況下,夥伴服務(Partner Services)提供文檔、協議以及夥伴管理的能力,好比說,能夠提供企業邊界處不一樣安全級別差別的轉換。

  信息服務(Information Services)是那些跟信息(而不是活動)有關係的服務,好比將多個系統中異構的數據,聚合、轉換爲業務須要的統一整齊的業務數據對象來訪問。信息服務經過聯合、複製和轉換來解決基於不一樣實現方式的不一樣數據源之間的數據共享難題。

  流程服務(Process Services)是指把多個服務聚合成爲一個服務流程對應業務過程的服務,這種複合服務一般是長時間運行的過程。流程服務提供服務控制能力,將多個服務串起來實現一個業務流程。

  交互服務(Interaction Service)一方面將人的活動,經過人機交互以服務的方式出如今整個業務過程當中,做爲流程服務)中的一部分;另外一方面將IT的功能和數據傳遞給最終用戶,並知足用戶特定的使用習慣。

  在SOA參考架構中,企業服務總線(ESB Enterprise Services Bus)處於很是重要的位置,它提供服務的中介,解耦服務請求者和服務提供者,是SOA參考架構中的核心。 ESB是過去消息中間件的發展,採用了"總線"這樣一種模式來管理和簡化應用之間的集成拓撲結構,以廣爲接受的開放標準爲基礎來支持應用之間在消息、事件和服務級別上的動態互聯互通。須要注意的是,ESB是一種架構模式,不能簡單地等同於特定的技術或產品,但實現ESB確實須要各類產品在運行時和工具方面的支持。

  SOA參考架構是一個完整的企業架構,能夠覆蓋整個企業範圍內集成的需求。參考架構中的服務經過模塊化的方式進行集成,所以SOA的實現能夠從一個小的項目來啓動,在新的項目實施的時候,新的功能可以輕鬆的加到架構中,經過漸進的方式在企業範圍內擴大集成的範圍。

SOA參考架構具備如此多的功能和優勢,那麼,中國國內的軟件企業,又有誰具有了SOA參考架構,並具有了向客戶提供SOA解決方案的能力呢?

  2007 年 6 月, Gartner 發佈了全球應用基礎軟件報告。在這次報告中首次對提供 SOA 服務的各大軟件公司進行了詳細分析,並列出了全球有能力提供 SOA 解決方案的 19 家主要廠商。令業界爲之矚目的是,金蝶做爲國內惟一一家企業,和 IBM 、 BEA 、 Oracle 、微軟等世界軟件巨頭一塊兒入選。

圖2 Global SOA Service Enterprise

  金蝶公司做爲國內領先ERP廠商,一直在關注並積極推動SOA的產品應用,金蝶BOS就是這方面努力的成果。金蝶BOS採用了企業服務架構的架構思想,成爲金蝶ERP知足適應性業務的平臺基礎。

圖3 金蝶SOA產品解決方案

  金蝶BOS的SOA實現方案分爲如下部分:

  1.SOA基礎實現

  • 業務參考模型:基於企業動態建模原理,提供了企業建模的元語義,是金蝶SOA方案中對全部服務描述的基本語法。
  • 核心組件:包括對應用程序進行統一訪問的信息門戶;聯接銀行、稅務公共服務的應用接口;對業務內容進行分級管控的組織架構管理;統一不一樣應用系統之間業務語義的主數據管理;基於ERP應用實踐提供企業可開箱即用的標準業務流程與業務組件。

  2.SOA總線結構實現:

  • 消息總線:負責在傳輸層面提供各類手段,屏蔽網絡鏈接、消息路由、打包傳遞等功能,實現不一樣物理機器、不一樣平臺上運行的應用系統之間透明的、可靠的消息傳遞。
  • 數據總線:實現對所傳遞數據進行格式的識別和轉換,並實現數據路由將數據按照集成方案的編排傳遞到指定的目標系統中。
  • 服務總線:Web Service和專業Adapter提供了各種應用系統和接口訪問支持能力,經過在消息節點和消息代理上掛接Web Service或專業Adapter,造成真正意義上的ESB,並提供服務請求和響應的智能路由。

  3. SOA關鍵服務實現:

  • 在SOA基礎實現的方案上,經過業務功能能夠被髮布和提高(Promote)爲業務服務(Business Service);工做流程能夠被髮布和提高爲複合服務(Composited Service),經過Promote的過程實現了金蝶SOA對SOA標準和規範的支持能力;業務服務能夠被外部的SOA系統再次編排和組合,而且能夠方便的接入到第三方供應商的SOA產品中。

  在逐級的實現SOA架構的基礎上,金蝶SOA的還提供完整的SOA開發服務與SOA運營管理服務

  4.開發服務:提供從覆蓋應用設計,業務組件建模,服務組件開發,服務的編排與流程建模完整的服務實現的開發環境。

  5.管理服務:實現了部署與系統監控、集成方案定義、數據轉換定義、流程配置與監控的SOA運營管理體系。

轉載出處:https://blog.csdn.net/joeyon1985/article/details/46737751 追尋北極

相關文章
相關標籤/搜索