SOA中文名字:面向服務的架構,是一個組件模型,它將應用程序的不一樣功能單元(稱爲服務)進行拆分,並經過這些服務之間定義良好的接口和契約聯繫起來。接口是採用中立的方式進行定義的,它應該獨立於實現服務的硬件平臺、操做系統和編程語言。這使得構建在各類各樣的系統中的服務能夠以一種統一和通用的方式進行交互。html
SOA概述:編程
SOA 是一種在計算環境中設計、開發、部署和管理離散邏輯單元(服務)模型的方法。 SOA 並非一個新鮮事物,而只是面向對象模型的一種替代。雖然基於 SOA 的系統並不排除使用 OOD 來構建單個服務,可是其總體設計倒是面向服務的。因爲 SOA 考慮到了系統內的對象,因此雖然SOA 是基於對象的,可是做爲一個總體,它卻不是面向對象的。瀏覽器
SOA 系統原型的一個典型例子是 CORBA,它已經出現很長時間,其定義的概念與 SOA 類似。SOA 創建在 XML 等新技術的基礎上,經過使用基於 XML 的語言來描述接口,服務已經轉到更動態且更靈活的接口系統中,CORBA 中的 IDL 沒法與之相比。下圖描述了一個完整的 SOA 模型。安全
在SOA 模型中,全部的功能都定義成了獨立的服務。服務之間經過交互和協調完成業務的總體邏輯。全部的服務經過服務總線或流程管理器來鏈接。這種鬆散耦合的架構使得各服務在交互過程當中無需考慮雙方的內部實現細節,以及部署在什麼平臺上。服務器
SOA的架構框架:SOA的核心主體是服務。網絡
SOA的核心要素:SOA的目標就是實現靈活可變的IT系統。要達到靈活性,經過三個途徑來解決:標準化封裝、複用、鬆耦合可編排。架構
標準化封裝:傳統軟件架構,由於封裝的技術和平臺依賴性,一直沒有完全解決互操做問題。互聯網史無前例的開放性意味着各節點可能採用不一樣的組件、平臺技術,對技術細節進 行了私有化的約束,構件模型和架構沒有統一標準,從而致使架構平臺自身在組件描述、發佈、發現、調用、互操做協議及數據傳輸等方面呈現出巨大的異構性。各 種不良技術約束的結果是軟件系統跨互聯網進行交互變得困難重重,最終致使了跨企業/部門的業務集成和重組難以靈活快速的進行。在軟件的互操做方面,傳統中間件只是實現了訪問互操做,即經過標準化的API實現了同類系統之間的調用互操做,而鏈接互操做仍是依賴於特定的訪問協議,如JAVA使用RMI,CORBA使用IIOP等。而SOA經過標準的、支持Internet、與操做系統無關的SOAP協議實現了鏈接互操做。並且,服務的封裝是採用XML協議,具備自解析和自定義的特性,這樣,基於SOA的中間件還能夠實現語義互操做。SOA要實現互操做,就是經過一系列的標準族,來實現訪問、鏈接和語義等各類層面的互操做。框架
軟件複用:軟件複用,即軟件的重用,也叫再用,是指同一事物不做修改或稍加改動就屢次重複使用。從軟件複用技術的發展來看,就是不斷提高抽象級別,擴大複用範圍。最先 的複用技術是子程序,人們發明子程序,就能夠在不一樣系統之間進行復用了。可是,子程序是最原始的複用,由於這種複用範圍是一個可執行程序內複用,靜態開發 期複用,若是子程序修改,意味着全部調用這個子程序的系統必須從新編譯、測試和發佈。爲了解決這個問題,人們發明了組件(或者叫控件),如MS操做系統下的DLL組件。組件將複用提高了一個層次,由於組件能夠在一個系統內複用(同一種操做系統),並且是動態、運行期複用。這樣組件能夠單獨發展,組件與組件調用者之間的耦合度下降。爲解決分佈式網絡計算之間的組件複用,人們發明了企業對象組件,如(Com+,.NET,EJB等),或者叫分佈式組件。經過遠程對象代理,來實現企業網絡內複用,不一樣系統之間複用。傳統架構的核心是組件對象的管理。但分佈式組件也是嚴重依賴其計算環境,因爲構件實現和運行支撐技術之間存在着較大的異構性,不一樣技術設計和實現的構件之間沒法直接組裝式複用。而現代SOA的重要特徵就是以服務爲核心,如WebService,SCA/SDO等。經過服務,或者服務組件來實現更高層次的複用、解耦和互操做,即SOA架構中間件。由於服務是經過標準封裝,服務組件之間的組裝、編排和重組,來實現服務的複用。並且這種複用,能夠在不一樣企業之間,全球複用,達到複用的最高級別,而且是動態可配置的複用。運維
耦合關係:SOA架 構在鬆耦合解耦過程也發展到了最後的境界。傳統軟件將軟件之中核心三部分網絡鏈接、數據轉換、業務邏輯所有耦合在一個總體之中,造成「鐵板一塊」的軟件, 「牽一髮而動全身」,軟件就難以適應變化。分佈式對象技術將鏈接邏輯進行分離,消息中間件將鏈接邏輯進行異步處理,增長了更大的靈活性。消息代理和一些分 布式對象中間件將數據轉換也進行了分離。而SOA架構,經過服務的封裝,實現了業務邏輯與網絡鏈接、數據轉換等進行徹底的解耦。異步
金蝶readySOA實施方法包括結合TOGAF造成的SOA實施方法、SOA架構成熟度模型等。
TOGAF架構開發方法ADM提供了可靈活利用的組織企業架構的開發和治理的過程。一個成功的SOA落地項目的建設並不是一蹴而就,而是分階段逐步實現的,其生命週期過程主要能夠分爲初步階段、架構階段、實施階段、變動管理階段四大環節完成。一般要從組織的某個獨立的業務單元開始,以後再由小及大,逐漸在跨組織範圍的總體業務中擴散,逐步完善整個組織的SOA 平臺,最終實現隨需應變的企業IT架構。針對SOA項目的指導,TOGAF定義了其架構開發方法ADM各階段和SOA項目全生命週期的各階段之間的映射關係,造成了具備良好操做性的架構開發方法體系。
金蝶Apusic中間件SOA完整實現產品系列
金蝶Apusic應用服務器(AAS)爲企業應用提供穩定、高效、安全的開發平臺與運行引擎,是全部組件和服務的容器與計算環境。
金蝶Apusic消息中間件(AMQ)提供消息傳輸服務的基礎系統軟件,保障數據在複雜的網絡中高效、穩定、安全、可靠的傳輸,並確保傳輸的數據不錯、不重、不漏、不丟,是實現SOA分佈式計算的集成通訊平臺。
金蝶Apusic 企業服務總線(AESB)以面向服務的方式,實現異構、分佈式系統之間集成共享、互聯互通的基礎軟件平臺,是SOA治理(服務註冊、服務存儲、服務路由、安全控制和版本管理)的基礎設施。
金蝶Apusic業務流程管理(ABPM)是一款面向業務的、具備高度擴展性和強大整合能力的流程中間件,支持BPEL協議,完整並有力支撐了業務流程管理的全生命週期,實現服務的組合和流程編排。
金蝶Apusic數據交換和管理平臺AEI(Apusic Exchange & Integrator),可以針對分佈式的異構數據源,對數據進行分析、採集、轉換、清洗、影射、持久等操做,提供分佈式數據源之間數據集成和交換的解決方案,實現SOA的信息服務。
金蝶Apusic門戶平臺(APS-Apusic Portal Server)使組織的應用、人員、信息、流程有機聚合,使用戶可以經過單一渠道訪問所需的個性化信息,它支持標準的JSR Portlet的交互和個性化編排。
金蝶Apusic OperaMasks開發平臺,是構建SOA服務和集成化的開發平臺。AOM AppFrame是開放高效的基礎應用運行平臺,爲企業應用開發提供構件化的編程模型與運行期支撐;AOM Studio是全開發生命週期支持的集成開發環境,爲企業應用開發提供從代碼開發、展示設計,到配置管理、協同開發的一站式支持;而 AOM BizModeler以直觀快速的圖形化方式地對業務邏輯進行分析建模、服務封裝、流程編排、部署發佈。
金蝶Apusic Universal Manager是金蝶中間件2.0產品的統一管控平臺,依託於MaaS理念,基於瀏覽器的、徹底可視化的、擁有插件體系可擴展的管控平臺。
金蝶中間件Ready SOA支撐平臺產品徹底按照TOG-SOA參考架構進行設計,傳承了金蝶十餘年從事大規模關鍵性企業級應用開發以及核心基礎設施建設之豐富經驗。在SOA項目的全生命週期的建設過程當中,金蝶Ready SOA支撐平臺,可以有效地簡化新項目開發和已有項目資產集成的過程,提高效率,下降運維成本。對指望經過建設SOA來改善其業務和IT基礎設施的靈活性,提高業務敏捷性的組織而言,金蝶Ready SOA支撐平臺是最佳選擇。
關於SOA的內容還有不少,我只是介紹了不多的一部分,現在我對於SOA架構分析仍是止於學習階段,尚未實際工做項目的經驗,往後如有這方面的項目再回來補充經過實戰得到的理解。
引用文章:https://blog.csdn.net/hu19930613/article/details/82749534和https://www.cnblogs.com/bolang100/p/6603361.html