chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

面向服務的體系結(jié)構(gòu)SOA的優(yōu)勢及架構(gòu)詳解

智能汽車電子與軟件 ? 來源:智能汽車開發(fā)者平臺 ? 作者:智能汽車開發(fā)者平 ? 2022-11-22 10:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

SOA作為一種面向服務的架構(gòu),是一種軟件架構(gòu)設計的模型和方法論。從業(yè)務角度來看,一切以最大化“服務”的價值為出發(fā)點,SOA利用企業(yè)現(xiàn)有的各種軟件體系,重新整合并構(gòu)建起一套新的軟件架構(gòu)。這套軟件架構(gòu)能夠隨著業(yè)務的變化,隨時靈活地結(jié)合現(xiàn)有服務,組成新軟件,共同服務于整個企業(yè)的業(yè)務體系。簡單的理解,我們可以把SOA看作是模塊化的組件,每個模塊都可以實現(xiàn)獨立功能,而不同模塊之間的結(jié)合則可以提供不同的服務,模塊之間的接口遵循統(tǒng)一標準,可以實現(xiàn)低成本的重構(gòu)和重組。在SOA的技術(shù)框架下,可以把雜亂無章的龐大系統(tǒng)整合成一個全面有序的系統(tǒng),從而增加企業(yè)在業(yè)務 發(fā)展過程中應用系統(tǒng)的靈活性,實現(xiàn)最大的IT資產(chǎn)利用率。

一、SOA詳細定義

面向服務的體系結(jié)構(gòu)(SOA)是一個組件模型,它將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接 口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應該獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)編程語言。這使得構(gòu) 建在各種這樣的系統(tǒng)中的服務可以以一種統(tǒng)一和通用的方式進行交互。

這種具有中立的接口定義(沒有強制綁定到特定的實現(xiàn)上)的特征稱為服務之間的松耦合。松耦合系統(tǒng)的好處有兩點,一點是它的靈活性,另一點是,當組成整個應用程序的每個服務的內(nèi)部結(jié)構(gòu)和實現(xiàn)逐漸地發(fā)生改變時,它能夠繼續(xù)存在。而另一方 面,緊耦合意味著應用程序的不同組件之間的接口與其功能和結(jié)構(gòu)是緊密相連的,因而當需要對部分或整個應用程序進行某種 形式的更改時,它們就顯得非常脆弱。

對松耦合系統(tǒng)的需要來源于業(yè)務應用程序需要,根據(jù)業(yè)務的需要變得更加靈活,以適應不斷變化的環(huán)境,比如經(jīng)常改變的政策、業(yè)務級別、業(yè)務重點、合作伙伴關(guān)系、行業(yè)地位以及其他與業(yè)務有關(guān)的因素,這些因素甚至會影響業(yè)務的性質(zhì)。我們稱能 夠靈活地適應環(huán)境變化的業(yè)務為按需業(yè)務,在按需業(yè)務中,一旦需要,就可以對完成或執(zhí)行任務的方式進行必要的更改。

雖然面向服務的體系結(jié)構(gòu)不是一個新鮮事物,但它卻是更傳統(tǒng)的面向?qū)ο蟮哪P偷奶娲P?,面向?qū)ο蟮哪P褪蔷o耦合的,已 經(jīng)存在二十多年了。雖然基于 SOA 的系統(tǒng)并不排除使用面向?qū)ο蟮脑O計來構(gòu)建單個服務,但是其整體設計卻是面向服務的。由于它考慮到了系統(tǒng)內(nèi)的對象,所以雖然 SOA 是基于對象的,但是作為一個整體,它卻不是面向?qū)ο蟮?。不同之處在于接口本身。SOA 系統(tǒng)原型的一個典型例子是通用對象請求代理體系結(jié)構(gòu),它已經(jīng)出現(xiàn)很長時間了,其定義的概念與 SOA 相似。然而,現(xiàn)在的 SOA 已經(jīng)有所不同了,因為它依賴于一些更新的進展,這些進展是以可擴展標記語言(eXML)為基礎(chǔ)的。

在SOA架構(gòu)風格中,服務是最核心的抽象手段,業(yè)務被劃分(組件化)為一系列粗粒度的業(yè)務服務和業(yè)務流程。業(yè)務服務相 對獨立、自包含、可重用,由一個或者多個分布的系統(tǒng)所實現(xiàn),而業(yè)務流程由服務組裝而來。一個"服務"定義了一個與業(yè)務功 能或業(yè)務數(shù)據(jù)相關(guān)的接口,以及約束這個接口的契約,如服務質(zhì)量要求、業(yè)務規(guī)則、安全性要求、法律法規(guī)的遵循、關(guān)鍵業(yè)績指標(Key Performance Indicator,KPI)等。接口和契約采用中立、基于標準的方式進行定義,它獨立于實現(xiàn)服務的硬件平 臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在不同系統(tǒng)中的服務可以以一種統(tǒng)一的和通用的方式進行交互、相互理解。除了這種不 依賴于特定技術(shù)的中立特性,通過服務注冊庫(Service Registry)加上企業(yè)服務總線(Enterprise Service Bus)來支持動態(tài) 查詢、定位、路由和中介(Mediation)的能力,使得服務之間的交互是動態(tài)的,位置是透明的。技術(shù)和位置的透明性,使得 服務的請求者和提供者之間高度解耦。這種松耦合系統(tǒng)的好處有兩點:一點是它適應變化的靈活性;另一點是當某個服務的內(nèi) 部結(jié)構(gòu)和實現(xiàn)逐漸發(fā)生改變時,不影響其他服務。而緊耦合則是指應用程序的不同組件之間的接口與其功能和結(jié)構(gòu)是緊密相連 的,因而當發(fā)生變化時,某一部分的調(diào)整會隨著各種緊耦合的關(guān)系引起其他部分甚至整個應用程序的更改,這樣的系統(tǒng)架構(gòu)就 很脆弱了。

二、SOA架構(gòu)的優(yōu)點

SOA的主要優(yōu)點概括為:IT能夠更好更快地提供業(yè)務價值(Business Centric)、快速應變能力(Flexibility)、重用 (Reusability)

也可以細分為以下幾個方面:

①服務之間通過簡單、精確定義的接口進行通信,不涉及底層編程接口和通信模型。

②粗粒度性:粗粒度服務提供一項特定的業(yè)務功能,采用粗粒度服務接口的優(yōu)點在于使用者和服務層之間不必再進行多次的往復,一次往復就足夠了。

③松耦合性:松耦合性要求SOA架構(gòu)中的不同服務之間應該保持一種松耦合 的關(guān)系,也就是應該保持一種相對獨立無依賴的 關(guān)系。這樣的好處有兩點,首先是具有靈活性,其次當組成整個應用程序的服務內(nèi)部結(jié)構(gòu)和實現(xiàn)逐步地發(fā)生變化時, 系統(tǒng)可以繼續(xù)地獨立存在。而緊耦合意味著應用程序的不同組件之間的接口與其功能和結(jié)構(gòu)是緊密相連的,因而當需要對部分或整個 應用程序進行某種形式的更改時 這種結(jié)構(gòu)就顯得非常脆弱。

④位置透明性:位置透明性要求SOA系統(tǒng)中的所有服務對于其調(diào)用者來說都是位置透明的,也就是說,每個服務的調(diào)用者只需 要知道想要調(diào)用的是哪一個服務,但并不需要知道所調(diào)用服務的物理位置在哪。

⑤協(xié)議無關(guān)性:協(xié)議無關(guān)性要求每一個服務都可以通過不同的協(xié)議來調(diào)用。

另外,在許多傳統(tǒng)的IT系統(tǒng)的內(nèi)在部分采用的是硬連接,這種結(jié)構(gòu)很難讓企 業(yè)快速響應市場的變化,而SOA能夠重復利用企 業(yè)現(xiàn)有的資源,可以減輕企業(yè)運營成本,提升資源的使用效率,并且減輕企業(yè)維護人員的工作量,減少潛在的風險 以及管理 費用。在業(yè)務方面和IT方面帶來許多優(yōu)勢:

①服務給精確的業(yè)務流程帶來靈活性;

②使用服務來改善客戶服務,而不必擔心底層復雜的IT基礎(chǔ)架構(gòu);

③可以迅速創(chuàng)建新的業(yè)務流程和復雜的應用程序,以適應市場變化;

④借助安全、易管理的集成環(huán)境,成為響應能力更強的IT組織;

⑤通過使用預裝的、可重復使用的服務構(gòu)建模塊,縮短開發(fā)和部署周期;

⑥通過使用服務來降低復雜性和維護成本;

⑦是增強而不是替換現(xiàn)有的IT系統(tǒng)。

三,SOA架構(gòu)詳解

3.1. 如何形象理解SOA

事實上,SOA的思想我國很早就有了,印刷術(shù)的發(fā)展過程其思想就完整體現(xiàn)了SOA的核心含義。

印刷的內(nèi)容――文字,在秦始皇統(tǒng)一六國之前,各國的文字是不統(tǒng)一的,據(jù)說許多常用的文字有十幾種寫法和讀音,妨礙了各 國之間的文化交流,就象SOA之前,各種軟件平臺、各種開發(fā)工具和各種接口的組件之間,沒有統(tǒng)一的標準,對軟件系統(tǒng)之 間的整合造成巨大的困難。

因此,偉大的始皇帝統(tǒng)一了六國文字,“書同文、車同軌”就是通過標準解決“復用”和“互操作”等問題。這也為大規(guī)模的印刷和文 明發(fā)展提供了一個良好的基礎(chǔ),這種“統(tǒng)一封裝”的文字,對文化交流起到了一個“互操作”的標準作用。

f7e8ace6-6979-11ed-8abf-dac502259ad0.png

SOA的形象解析

在沒有印刷術(shù)之前,書籍要依賴于手工抄寫,這樣效率當然是非常低下,而且質(zhì)量也不能獲得一致性的保證,也就是書籍還 無法“復用”。中國人首先發(fā)明了刻版印刷 術(shù),就是將書籍刻成一塊一塊的凸字版,然后就可以大規(guī)模進行印刷了,當印刷出來 的書籍脫銷時,下次還可以繼續(xù)使用,大大提高了效率,這就是“復用”,軟件 通過組件的封裝,也可以達到重復和在不同場合 多次使用的“復用”效果。

刻版印刷術(shù)有個很大的問題就是文字之間是緊耦合的,同樣一個字,在另一部書之中是不能“復用”的,必須重新雕刻,也就是 說刻版印刷是沒有“編排”特性的。就如軟件技術(shù)中微軟VB開發(fā)的Com+組件就只能在Windows環(huán)境之中使用,它不能與Java開 發(fā)的EJB組件進行復用和編排,因為他們與開發(fā)環(huán)境和運行環(huán)境是緊耦合的,要在UNIX環(huán) 境下使用,必須重新開發(fā)(相當于 重新“刻版”)?;钭钟∷⒕褪峭ㄟ^文字與版面之間的松耦合,通過“排版”來實現(xiàn)一部書的印刷版面的,這種松耦合就大大提高 了文字的字模之間的復用和編排效率。我們標準封裝的“服務”就類似一個一個的字模,通過服務編排(“排版”)來實現(xiàn)業(yè)務流程。

統(tǒng)一文字和活字印刷促進了人類文明進步,而SOA促進全球IT架構(gòu)和應用的革命。

3.2. SOA的核心要素

要準確全面理解SOA,首先必須理解SOA的核心要素:

f816f8f8-6979-11ed-8abf-dac502259ad0.png

SOA的核心要素

SOA的目標就是實現(xiàn)靈活可變的IT系統(tǒng)。要達到靈活性,通過三個途徑來解決:標準化封裝、復用、松耦合可編排。

互操作(標準化封裝)、復用、松耦合等SOA技術(shù)的內(nèi)在機制,也是中間件技術(shù)和產(chǎn)品的本質(zhì)特征。

標準化封裝(互操作性)

傳統(tǒng)軟件架構(gòu),因為封裝的技術(shù)和平臺依賴性,一直沒有徹底解決互操作問題。互聯(lián)網(wǎng)前所未有的開放性意味著各節(jié)點可能 采用不同的組件、平臺技術(shù),對技術(shù)細節(jié)進 行了私有化的約束,構(gòu)件模型和架構(gòu)沒有統(tǒng)一標準,從而導致架構(gòu)平臺自身在組件描述、發(fā)布、發(fā)現(xiàn)、調(diào)用、互操作協(xié)議及數(shù)據(jù)傳輸?shù)确矫娉尸F(xiàn)出巨大的異構(gòu)性。各種不良技術(shù)約束的結(jié)果是軟件系統(tǒng)跨互 聯(lián)網(wǎng)進行交互變得困難重重,最終導致了跨企業(yè)/部門的業(yè)務集成和重組難以靈活快速的進行。

在軟件的互操作方面,傳統(tǒng)中間件只是實現(xiàn)了訪問互操作,即通過標準化的API實現(xiàn)了同類系統(tǒng)之間的調(diào)用互操作,而連接互 操作還是依賴于特定的訪問協(xié)議,如JAVA使用RMI,CORBA使用IIOP等。而SOA通過標準的、支持Internet、與操作系統(tǒng)無 關(guān)的SOAP協(xié)議實現(xiàn)了連接互操作。而且,服務的封裝是采用XML協(xié)議,具有自解析和自定義的特性,這樣,基于SOA的中間 件還可以實現(xiàn)語義互操作。

SOA要實現(xiàn)互操作,就是通過一系列的標準族,來實現(xiàn)訪問、連接和語義等各種層面的互操作。

軟件復用

軟件復用,即軟件的重用,也叫再用,是指同一事物不作修改或稍加改動就多次重復使用。從軟件復用技術(shù)的發(fā)展來看,就 是不斷提升抽象級別,擴大復用范圍。最早 的復用技術(shù)是子程序,人們發(fā)明子程序,就可以在不同系統(tǒng)之間進行復用了。但 是,子程序是最原始的復用,因為這種復用范圍是一個可執(zhí)行程序內(nèi)復用,靜態(tài)開發(fā) 期復用,如果子程序修改,意味著所有 調(diào)用這個子程序的系統(tǒng)必須重新編譯、測試和發(fā)布。

f826a438-6979-11ed-8abf-dac502259ad0.png

SOA的復用

為了解決這個問題,人們發(fā)明了組件(或者叫控件),如MS操作系統(tǒng)下的DLL組件。組件將復用提升了一個層次,因為組件可以在一個系統(tǒng)內(nèi)復用(同一種操作系統(tǒng)),而且是動態(tài)、運行期復用。這樣組件可以單獨發(fā)展,組件與組件調(diào)用者之間的耦合度降低。

為解決分布式網(wǎng)絡計算之間的組件復用,人們發(fā)明了企業(yè)對象組件,如(Com+,.NET,EJB等),或者叫分布式組件。通過遠程對象代理,來實現(xiàn)企業(yè)網(wǎng)絡內(nèi)復用,不同系統(tǒng)之間復用。

傳統(tǒng)架構(gòu)的核心是組件對象的管理。但分布式組件也是嚴重依賴其計算環(huán)境,由于構(gòu)件實現(xiàn)和運行支撐技術(shù)之間存在著較大的 異構(gòu)性,不同技術(shù)設計和實現(xiàn)的構(gòu)件之間無法直接組裝式復用。

而現(xiàn)代SOA的重要特征就是以服務為核心,如WebService,SCA/SDO等。通過服務,或者服務組件來實現(xiàn)更高層次的復用、 解耦和互操作,即SOA架構(gòu)中間件。

因為服務是通過標準封裝,服務組件之間的組裝、編排和重組,來實現(xiàn)服務的復用。而且這種復用,可以在不同企業(yè)之間,全球復用,達到復用的最高級別,并且是動態(tài)可配置的復用。

耦合關(guān)系

SOA架構(gòu)在松耦合解耦過程也發(fā)展到了最后的境界。傳統(tǒng)軟件將軟件之中核心三部分網(wǎng)絡連接、數(shù)據(jù)轉(zhuǎn)換、業(yè)務邏輯全部耦 合在一個整體之中,形成“鐵板一塊”的軟件, “牽一發(fā)而動全身”,軟件就難以適應變化。分布式對象技術(shù)將連接邏輯進行分 離,消息中間件將連接邏輯進行異步處理,增加了更大的靈活性。消息代理和一些分 布式對象中間件將數(shù)據(jù)轉(zhuǎn)換也進行了分 離。而SOA架構(gòu),通過服務的封裝,實現(xiàn)了業(yè)務邏輯與網(wǎng)絡連接、數(shù)據(jù)轉(zhuǎn)換等進行完全的解耦。

f839b8de-6979-11ed-8abf-dac502259ad0.png

SOA不斷解耦的過程

總之,從科學哲學的角度來看,SOA是一個不斷解構(gòu)的過程,傳統(tǒng)軟件強調(diào)系統(tǒng)性,耦合度過高,所以需要松耦合(解耦);SOA也是一個組件粒度的平衡,集成電路趨勢是集成度越來越高,軟件發(fā)展的趨勢是相反的過程;SOA是架構(gòu),更是 方法,反映了人們對哲學思想的追求的原動力。

按照這個特性,SOA基本上來說與WebService并不是同一個概念,SOA并不一定需要WebService實現(xiàn),理論上可以在其他技 術(shù)體系下,實現(xiàn)SOA。但事實上,到目前為止,能夠?qū)崿F(xiàn)SOA架構(gòu)風格的技術(shù)就是WebService,因為它的特性和廠商的支持 力度,使得WebService成為了實現(xiàn)SOA實現(xiàn)技術(shù)的事實標準。也正因為WebService技術(shù)的成熟,才使得已經(jīng)提出10多年了的 SOA思想和概念,得以能夠?qū)崿F(xiàn)落地,成為一種可以使用的技術(shù)。這也就是回答了SOA和WebService的關(guān)系。

3.3. SOA的架構(gòu)框架

(Framework) SOA的核心主體是服務。所謂“服務(Service)” ,從業(yè)務角度而言,服務是一個可重復的經(jīng)過標準封裝的任務,例如: 檢查帳 號余額;開新帳戶等等…SOA的目標是通過服務的流程化來實現(xiàn)業(yè)務的靈活性,所謂流程(Process)是由一系列相互關(guān)聯(lián) 的任務所組成,實現(xiàn)一個具體的業(yè)務功能。一個流程可以由一系列服務來實現(xiàn)。

f85b157e-6979-11ed-8abf-dac502259ad0.png

SOA治理

服務就像一堆“元器件”,這些元器件通過封裝形成標準服務,他們有相同的接口和語義表達規(guī)則。但服務要組裝成一個流程和 應用,還需要有效的“管理”,包括如何注冊服務、如何發(fā)現(xiàn)服務、如何包裝服務的安全性和可靠性,這些就是SOA治理。SOA 治理乃是將SOA這一堆元器件,進行有效組裝,形成一個“產(chǎn)品”的關(guān)鍵,否則它永遠是一堆器件,而無法形成一個有機整體。

SOA治理的方法和體系,就是區(qū)別于一般組件開發(fā)的技術(shù)的重要區(qū)別和特征。

一個正確的框架,是指導我們開發(fā)和實施SOA架構(gòu)的基礎(chǔ)。由IBM提案,國際開放群組(The Open Group)提出了一個SOA架 構(gòu)的參考模型,這個架構(gòu)框架目前是產(chǎn)業(yè)界最權(quán)威和嚴謹?shù)腟OA架構(gòu)標準。The Open Group是一個非營利標準化組織,是一 個廠商中立和技術(shù)中立的機構(gòu),致力于提出各種技術(shù)框架和理論結(jié)構(gòu),致力于促進全球市場的業(yè)務效率。The Open Group已 有超過20年的標準制定與推廣歷史。在1996年,由X/Open與Open Software Foundation合并組成。The Open Group最有名 是作為UNIX商標的認證機構(gòu)。在過去,協(xié)會最出名的是其出版的Single UNIX Specification,它擴充了POSIX標準而且是 UNIX的官方定義,其成員包括IT用戶、供應商以及政府機構(gòu)。The Open Group在中國的創(chuàng)始會員為金蝶集團,金蝶集團負責 成立了中國分會。TOG在1993年提出的The Open Group Architecture Framework (TOGAF) 架構(gòu)框架,是一套行之有效的企 業(yè)架構(gòu)。歷經(jīng)15年9個版本發(fā)展,支持開放、標準的SOA參考架構(gòu),已被80%的福布斯( Forbes)全球排名前50的公司使用。

這個SOA參考模型為:

f87f5f4c-6979-11ed-8abf-dac502259ad0.png

SOA標準模型

根據(jù)這個模型,完整的SOA架構(gòu)由五大部分組成,分別是:基礎(chǔ)設施服務、企業(yè)服務總線、關(guān)鍵服務組件、開發(fā)工具、管理 工具等。

SOA基礎(chǔ)實施是為整個SOA組件和框架提供一個可靠的運行環(huán)境,以及服務組件容器,它的核心組件是應用服務器等基礎(chǔ)軟 件支撐設施,提供運行期完整、可靠的軟件支撐。

企業(yè)服務總線是指由中間件基礎(chǔ)設施產(chǎn)品技術(shù)實現(xiàn)的、通過事件驅(qū)動和基于XML消息引擎,為SOA提供的軟件架構(gòu)的構(gòu)造 物。企業(yè)服務總線ESB提供可靠消息傳輸、服務接入、協(xié)議轉(zhuǎn)換、數(shù)據(jù)格式轉(zhuǎn)換、基于內(nèi)容的路由等功能,屏蔽了服務的物理 位置,協(xié)議和數(shù)據(jù)格式。在SOA基礎(chǔ)實現(xiàn)的方案上,應用的業(yè)務功能能夠被發(fā)布、封裝和提升(Promote)成為業(yè)務服務 (Business Service);業(yè)務服務的序列可以編排成為BPM的流程,而流程也可以被發(fā)布和提升為復合服務(Composited Service),業(yè)務服務還可以被外部的SOA系統(tǒng)再次編排和組合。ESB是實現(xiàn)SOA治理的重要支撐平臺,是SOA解決方案的核 心,從某種意義上說,如果沒有ESB,就不能算作嚴格意義上的SOA。

關(guān)鍵服務實現(xiàn),是SOA在各種業(yè)務服務組件的分類。一般來說,一個企業(yè)級的SOA架構(gòu)通常包括:交互服務、流程服務、信 息服務、伙伴服務、企業(yè)應用服務和接入服務。這些服務可能是一些服務組件,也可能是企業(yè)應用系統(tǒng)(如ERP)所暴露的 服務接口等等。這些服務都可以接入ESB,進行集中統(tǒng)一管理。

開發(fā)工具和管理工具:提供完善的、可視化的服務開發(fā)和流程編排工具,涵蓋服務的設計、開發(fā)、配置、部署、監(jiān)控、重構(gòu)等完整的SOA項目開發(fā)生命周期。

按照這個模型,許多SOA解決方案是只提供部分實現(xiàn)。這個行業(yè)中,許多國內(nèi)的企業(yè)為了搭上SOA的便車,經(jīng)常以偏概全, 混繞概念。應該說真正按照SOA的思想和模型來構(gòu)建整個企業(yè)的IT架構(gòu)的案例是非常之少的。許多國外廠商的宣傳案例,基本 上是停留在部署應用服務器,開發(fā)了部分WebService組件,可以實現(xiàn)部分數(shù)據(jù)集成,這個層次而已,而這些WebService是部 署在ESB平臺之上的,就已經(jīng)很不錯了。實現(xiàn)了服務流程重組,實現(xiàn)SOA治理的案例就更是很少見到了。

國內(nèi)有許多軟件企業(yè)開發(fā)的系統(tǒng),宣傳是SOA架構(gòu)的?;旧嫌袔追N情況,其一,有些開發(fā)組件和開發(fā)平臺廠商,他們也自 稱中間件企業(yè),基本上是提供一個工作流平臺,許多還不支持BPEL的業(yè)務流程管理,只是傳統(tǒng)的XPDL/WfMC工作流平臺 (Workflow不同于支持服務流程的Business Process),最常見的案例是OA辦公審批,或者服務組件開發(fā)工具,而所謂的 ESB產(chǎn)品大部分都是EAI的升級,可以與Webservice進行接口而已,就宣稱這是ESB產(chǎn)品了,基本的服務注冊、服務編排和安 全管理都不具備。這些解決方案只是提供了許多WebService開發(fā)的組件,而不提供SOA治理的核心架構(gòu),相當于造了許多元 器件,但還不能提供整機產(chǎn)品。

其二,許多宣稱SOA架構(gòu)的應用軟件,基本上可以說是“支持”SOA,而不能稱為“基于SOA”架構(gòu)。因為支持SOA一般是指可以 將其某些功能,封裝為服務(WebService),可以在SOA架構(gòu)之中進行管理,這比較容易達到。而“基于SOA”是指應用系統(tǒng) 的業(yè)務功能都是封裝為服務,通過ESB進行集中管理,業(yè)務實現(xiàn)是通過BPEL業(yè)務流程管理進行編排,用戶交互是通過交互服務(如門戶)進行管理,整個解決方案可以達到標準服務封裝、服務復用、松耦合、服務編排與重組,并且基本符合TOGSOA的架構(gòu)模型。

按照這個標準,IT用戶就可以了解到真正的SOA架構(gòu)的框架模型,就可以識別是否是企業(yè)所需要的架構(gòu)。

講到這里,我們已經(jīng)很清楚了,對于SOA的理解,有些學者或者咨詢公司強調(diào)SOA不是一種技術(shù),也不是軟件,而是一種思想,一種架構(gòu)風格。我認為這也是不完全準確的,這種觀點認為SOA僅僅是思想和方法,將使得SOA成為一種不可知論,飄 在空中,很難落地。

四、SOA商業(yè)化實際運用

SOA將來真正推廣到企業(yè)中應用,要落地,就不能離開幾個基本的東西:支撐SOA的基礎(chǔ)中間件平臺、符合SOA架構(gòu)的應用 系統(tǒng)(如ERP等)、構(gòu)建SOA的方法論。

f8a20920-6979-11ed-8abf-dac502259ad0.png

SOA落地途徑

4.1. 架構(gòu)方法論

方法和工具構(gòu)成了工程技術(shù)域,要構(gòu)建SOA架構(gòu)的企業(yè)信息系統(tǒng),確保業(yè)務和IT的真正匹配,首先必須從方法論入手。

許多企業(yè)的IT系統(tǒng)“孤島”現(xiàn)象嚴重,本質(zhì)上是缺乏足夠有效的整體規(guī)劃或者架構(gòu)規(guī)劃造成的。形象地說,構(gòu)建企業(yè)IT大廈如同 我們蓋房子是一樣的道理。我們許多企業(yè)建設信息系統(tǒng)時就采用了蓋鄉(xiāng)村民宅的做法。蓋鄉(xiāng)村民宅不需要嚴謹?shù)囊?guī)劃,也沒有 復雜的地下設施建設(如自來水供水、排水、供氣、地下停車場等),也沒有需要建設污水處理、雨水收集等復雜的配套設 施。而事實上,企業(yè)IT系統(tǒng)建設應該如城市建設,首先需要城市總體規(guī)劃,然后根據(jù)功能區(qū)規(guī)劃,設計和建設小區(qū)配套設 施,“三通一平”實質(zhì)就是構(gòu)建建筑之間的公共基礎(chǔ)設施,確保每棟建筑之間不是“孤島”,然后每棟建筑還需詳細的設計和工程 施工。如果要消除信息孤島,實現(xiàn)IT與業(yè)務的一致性,也需要有效的企業(yè)架構(gòu)規(guī)劃和設計。

為什么需要架構(gòu)規(guī)劃

透過現(xiàn)象看本質(zhì),SOA代表著一種面向服務的IT架構(gòu)風格,SOA的技術(shù)本質(zhì)和出發(fā)點,在于IT架構(gòu)。而IT架構(gòu),是組織的企業(yè) 架構(gòu)的重要組成部分,它和組織的戰(zhàn)略架構(gòu)、業(yè)務架構(gòu)一起,形成一個自上而下、緊密聯(lián)系、相輔相成的有機整體。SOA代 表著一種正在蓬勃興起的革命性IT架構(gòu)理念,和傳統(tǒng)技術(shù)體系區(qū)別的關(guān)鍵特征之一就在于SOA是戰(zhàn)略導向和業(yè)務驅(qū)動的。而國 際和國內(nèi)的各方面經(jīng)驗都告訴我們,對于一個組織而言,捕獲戰(zhàn)略、梳理業(yè)務和IT的最有效的措施就是架構(gòu)。

企業(yè)架構(gòu)(Enterprise Architecture,EA),是從多個角度對組織的構(gòu)件層次描述的規(guī)劃藍圖,從各個層面反映組織的愿景、戰(zhàn) 略、業(yè)務、服務、人員、技術(shù)和產(chǎn)品及其相互之間的關(guān)系,輔以其管控和演進的規(guī)則。

一個企業(yè)架構(gòu)內(nèi)容包括業(yè)務架構(gòu)(Business Architecture)、應用架構(gòu)(Application Architecture)、信息架構(gòu)(Information Architecture)、技術(shù)架構(gòu)(Technology Architecture)等。

真正可以落地的SOA建設,必須且只能從架構(gòu)出發(fā)。沒有架構(gòu),"SOA"將變成一盤無法真正解決各種運營問題的技術(shù)和產(chǎn)品的大雜燴。優(yōu)良的架構(gòu)填補了業(yè)務需求與實際信息系統(tǒng)以及基礎(chǔ)設施設計之間難以逾越的鴻溝。

在所有的架構(gòu)開發(fā)方法(ADM- Architecture Development Methods)之中,開放群組TOG的TOGAF是目前最權(quán)威和最有影響力的一種。The Open Group于1993年開始應客戶要求制定系統(tǒng)架構(gòu)的標準,在1995年發(fā)表The Open Group Architecture Framework (TOGAF) 架構(gòu)框架。TOGAF的基礎(chǔ)是美國國防部的信息管理技術(shù)架構(gòu)(Technical Architecture for Information Management: TAFIM)。TOAGF是一個架構(gòu)框架,簡而言之,TOGAF是一種協(xié)助開發(fā)、驗收、運行、使用和維護架構(gòu)的工具,它是基于一個迭代(Iterative)的過程模型,支持最佳實踐和一套可重用的現(xiàn)有架構(gòu)資產(chǎn)。它可設計、評估并建立組織的正確架構(gòu)。TOGAF的關(guān)鍵是架構(gòu)開發(fā)方法ADM:一個可靠的,行之有效的方法,以發(fā)展能夠滿足商務需求的企業(yè)架構(gòu)。而2008 年發(fā)布的TOGAF 9.0是符合SOA架構(gòu)開發(fā)的最新版本。TOGAF所提出的“無邊界信息流(Boundaryless Information Flow)”理 念和愿景,是解決目前企業(yè)信息化孤島問題的最有效方式。

TOGAF架構(gòu)內(nèi)容

4.2. 基于SOA的應用系統(tǒng)

基于SOA的應用系統(tǒng)構(gòu)建方法與傳統(tǒng)軟件架構(gòu)方法有所不同。

首先基于SOA的應用系統(tǒng)建模和管理的組件層次是服務:

f8c02ec8-6979-11ed-8abf-dac502259ad0.png

面向服務的工程

基于服務的應用系統(tǒng)的本質(zhì)特征是松耦合,以基本業(yè)務功能(服務封裝)為系統(tǒng)的基本實現(xiàn)單元,然后通過服務編排(流程管理)來“組裝”業(yè)務應用系統(tǒng)。相對于以往的應用系統(tǒng),是面向技術(shù)組件,由系統(tǒng)程序?qū)崿F(xiàn)業(yè)務流程,在復用、耦合方面都存在靈活性問題。

軟件工程和系統(tǒng)設計的演進過程基于SOA的應用系統(tǒng)構(gòu)建過程是:

f90129c8-6979-11ed-8abf-dac502259ad0.png

基于SOA的應用構(gòu)建過程

服務建模是第一步,也就是服務識別和顆粒度確定。服務識別是方法論的第一步,服務識別的主要任務,是確定在一定范圍內(nèi)(通常是企業(yè)范圍,或若干業(yè)務場景范圍內(nèi))可能成為服務的候選者列表,并確定服務的顆粒度,以及標識服務的接口。服務建模也就確定了應用系統(tǒng)架構(gòu)的耦合程度。

服務封裝階段的主要任務是對服務進行規(guī)范性的描述,其中包括輸入/輸出消息等功能性屬性,以及服務在業(yè)務層面的諸多屬性。并決定服務以何種形式向外提供服務。服務可能是新開發(fā)的業(yè)務功能和業(yè)務對象的封裝,也可能是遺留系統(tǒng)的服務封裝,將遺留系統(tǒng)的軟件資產(chǎn)以服務的形式進行封裝,在新的架構(gòu)上利用已有的資產(chǎn)。

服務治理就是將已經(jīng)封裝好的服務進行集中統(tǒng)一有效的管理。通過ESB基礎(chǔ)設施,提供服務注冊、存儲、安全控制和版本管理等。服務注冊階段的主要任務是將服務注冊到服務庫。此時需要決定服務的命名、安全、性能、時間特性。

服務編排就是根據(jù)業(yè)務流程的需求,對服務進行組合和組裝。服務組裝是以實現(xiàn)業(yè)務流程為目的,通過對業(yè)務服務的組合和組裝,實現(xiàn)更粗粒度的業(yè)務服務,實現(xiàn)最終的業(yè)務需求。

應用交付階段主要任務是完成業(yè)務系統(tǒng)服務化組裝和服務部署,實現(xiàn)業(yè)務按需交付。

基于SOA的應用系統(tǒng)是SOA架構(gòu)的重要組成部分,也是SOA落地的地基。

4.3. 支撐SOA的中間件平臺

SOA方法論和基于SOA的應用系統(tǒng)要落地的支撐工具和技術(shù)基礎(chǔ)就是中間件平臺。這個在3.3.SOA的架構(gòu)框架(Framework)之中已經(jīng)闡述清楚了。

根據(jù)TOG-SOA模型,完整的SOA架構(gòu)五大部分中,基礎(chǔ)設施服務、企業(yè)服務總線、開發(fā)工具、管理工具等,都是中間件的基礎(chǔ)平臺。

交付服務之中的門戶,也是需要支持JSR168和JSR286標準的Portlet容器和個性化交互以及終端適配的支撐平臺。

業(yè)務流程管理需要支持BPEL規(guī)范的流程引擎和流程建模的工具,這個中間件平臺用來支持服務的組合和服務流程編排,以滿 足業(yè)務重組的需求,來實現(xiàn)業(yè)務的靈活性。

SOA要落地的最后支撐平臺就是滿足SOA規(guī)范的中間件技術(shù)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SOA
    SOA
    +關(guān)注

    關(guān)注

    1

    文章

    325

    瀏覽量

    29220
  • 應用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3344

    瀏覽量

    60243

原文標題:萬字的SOA面向服務的分布式架構(gòu)詳解

文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    操作系統(tǒng)體系結(jié)構(gòu)

    優(yōu)勢。   但隨著體系結(jié)構(gòu)和應用需求的不斷發(fā)展,需要操作系統(tǒng)提供的服務越來越多,而且接口形式越來越復雜,操作系統(tǒng)的設計規(guī)模也急劇增長,操作系統(tǒng)也面臨著“軟件危機”困境。為此,操作系統(tǒng)設計人員試圖
    發(fā)表于 01-15 08:19

    Vector SOVD下一代汽車診斷技術(shù)解決方案

    SOVD(Service Oriented Vehicle Diagnostics)即面向服務的車輛診斷,是SOA架構(gòu)的關(guān)鍵組成部分。SOVD是電子電氣
    的頭像 發(fā)表于 12-30 09:40 ?718次閱讀
    Vector SOVD下一代汽車診斷技術(shù)解決方案

    采用Prefetch+Cache架構(gòu)有什么優(yōu)勢?

    我看官方說,采用Prefetch+Cache架構(gòu)同頻CoreMark 計算力/功耗比超越同類產(chǎn)品,這優(yōu)勢就是低功耗么?要是具體芯片比較的話,應該怎么比?
    發(fā)表于 12-11 07:35

    SOA應用-光子集成

    SOA
    天津見合八方光電科技有限公司
    發(fā)布于 :2025年12月02日 14:50:11

    SOA半導體光放大器的結(jié)構(gòu)參數(shù)

    本篇文章將進一步根據(jù)SOA本身的結(jié)構(gòu)參數(shù)(如波導長度、波導體積)、特性參數(shù)(增益系數(shù)、透明載流子濃度,耦合參數(shù)),注入?yún)?shù)(偏置電流、輸入光功率)等作為輸入,結(jié)合簡化的載流子速率方程,仿真求解SOA的增益特性。
    的頭像 發(fā)表于 11-05 09:48 ?476次閱讀
    <b class='flag-5'>SOA</b>半導體光放大器的<b class='flag-5'>結(jié)構(gòu)</b>參數(shù)

    【干貨】一文帶你讀懂什么是 LoRaWAN 網(wǎng)絡架構(gòu)

    基礎(chǔ)LoRaWAN是LoRa聯(lián)盟制定的基于LoRa的低功耗廣域網(wǎng),采用星型拓撲結(jié)構(gòu),能提供低功耗、可擴展、安全的長距離無線連接。其體系結(jié)構(gòu)主要由終端設備、網(wǎng)關(guān)、網(wǎng)絡服務器和應用服
    的頭像 發(fā)表于 09-04 19:34 ?1284次閱讀
    【干貨】一文帶你讀懂什么是 LoRaWAN 網(wǎng)絡<b class='flag-5'>架構(gòu)</b>

    技術(shù)解讀 | 光庭信息虛擬ECU技術(shù)賦能SOA化MCU軟件的早期驗證與集成加速

    ? ? 在“中央計算+區(qū)域控制+以太網(wǎng)”的新型電子電氣架構(gòu)驅(qū)動下,傳統(tǒng)ECU功能正向面向服務架構(gòu)SOA)轉(zhuǎn)型。在此背景下,傳統(tǒng)ECU功能的
    的頭像 發(fā)表于 07-21 15:43 ?809次閱讀
    技術(shù)解讀 | 光庭信息虛擬ECU技術(shù)賦能<b class='flag-5'>SOA</b>化MCU軟件的早期驗證與集成加速

    DPU核心技術(shù)論文再次登陸體系結(jié)構(gòu)領(lǐng)域旗艦期刊《IEEE Transactions on Computers》

    近期,鄢貴海團隊研究成果在計算機體系結(jié)構(gòu)領(lǐng)域國際頂級期刊《IEEE Transactions on Computers》中發(fā)表。該研究主要圍繞KPU敏捷計算架構(gòu)展開,KPU具有超強異構(gòu)核集成和調(diào)度
    的頭像 發(fā)表于 06-11 18:11 ?646次閱讀
    DPU核心技術(shù)論文再次登陸<b class='flag-5'>體系結(jié)構(gòu)</b>領(lǐng)域旗艦期刊《IEEE Transactions on Computers》

    OptiSystem應用:寬帶SOA特性

    本案例的目的是通過仿真表征半導體光放大器(SOA)。 首先,我們將描述SOA對輸入信號功率變化的響應。 圖1顯示了仿真中使用的系統(tǒng)布局。將連續(xù)激光器的功率參數(shù)置于掃描模式下,在-40 ~ 10
    發(fā)表于 06-10 08:45

    OptiSystem應用:SOA波長變換器(XGM)

    本案例演示了SOA作為使用交叉增益飽和效應(XGM)的波長變換器的應用。 波長為λ1的光信號與需要轉(zhuǎn)換為波長為λ2的連續(xù)光信號同時輸入SOA,SOA對λ1光功率存在增益飽和特性,結(jié)果使得輸入光信號所
    發(fā)表于 05-20 08:46

    睿創(chuàng)微納AI芯片技術(shù)登上國際計算機體系結(jié)構(gòu)領(lǐng)域頂級會議

    近日,國際計算機體系結(jié)構(gòu)領(lǐng)域頂級會議HPCA 2025(International Symposium on High-Performance Computer Architecture)在美國召開。會議共收到534篇來自全球頂尖科研機構(gòu)及高校的論文投稿,最終錄用率僅為21%。
    的頭像 發(fā)表于 05-19 15:57 ?965次閱讀

    OptiSystem應用:寬帶SOA特性

    本案例的目的是通過仿真表征半導體光放大器(SOA)。 首先,我們將描述SOA對輸入信號功率變化的響應。 圖1顯示了仿真中使用的系統(tǒng)布局。將連續(xù)激光器的功率參數(shù)置于掃描模式下,在-40 ~ 10
    發(fā)表于 05-19 08:48

    SOA架構(gòu)開發(fā)小助手PAVELINK.SOA-Converter 2.1.2新版本發(fā)布

    為提升汽車SOA架構(gòu)設計開發(fā)效率,優(yōu)化用戶體驗,我們對PAVELINK.SOA-Converter進行了全新升級。本次2.1.2新版本升級,聚焦于提升軟件性能、擴展功能特性及增強用戶交互體驗。
    的頭像 發(fā)表于 04-09 10:37 ?1504次閱讀
    <b class='flag-5'>SOA</b><b class='flag-5'>架構(gòu)</b>開發(fā)小助手PAVELINK.<b class='flag-5'>SOA</b>-Converter 2.1.2新版本發(fā)布

    OptiSystem應用:SOA波長變換器(XGM)

    本案例演示了SOA作為使用交叉增益飽和效應(XGM)的波長變換器的應用。 波長為λ1的光信號與需要轉(zhuǎn)換為波長為λ2的連續(xù)光信號同時輸入SOASOA對λ1光功率存在增益飽和特性,結(jié)果使得輸入光信號所
    發(fā)表于 04-01 09:35