完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > SOA
面向服務(wù)的架構(gòu)(SOA)是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。
面向服務(wù)的架構(gòu)(SOA)是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種各樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。
面向服務(wù)的架構(gòu)(SOA)是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種各樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。
體系結(jié)構(gòu)
松耦合的系統(tǒng)
這種具有中立的接口定義(沒有強(qiáng)制綁定到特定的實(shí)現(xiàn)上)的特征稱為服務(wù)之間的松耦合。松耦合系統(tǒng)的好處有兩點(diǎn),一點(diǎn)是它的靈活性,另一點(diǎn)是,當(dāng)組成整個應(yīng)用程序的每個服務(wù)的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)逐漸地發(fā)生改變時,它能夠繼續(xù)存在。與之相反,緊耦合意味著應(yīng)用程序的不同組件之間的接口與其功能和結(jié)構(gòu)是緊密相連的,因而當(dāng)需要對部分或整個應(yīng)用程序進(jìn)行某種形式的更改時,它們就顯得非常脆弱。
對松耦合的系統(tǒng)的需要來源于業(yè)務(wù)應(yīng)用程序需要根據(jù)業(yè)務(wù)的需要變得更加靈活,以適應(yīng)不斷變化的環(huán)境,比如經(jīng)常改變的政策、業(yè)務(wù)級別、業(yè)務(wù)重點(diǎn)、合作伙伴關(guān)系、行業(yè)地位以及其他與業(yè)務(wù)有關(guān)的因素,這些因素甚至?xí)绊憳I(yè)務(wù)的性質(zhì)。我們稱能夠靈活地適應(yīng)環(huán)境變化的業(yè)務(wù)為按需(On demand)業(yè)務(wù),在按需業(yè)務(wù)中,一旦需要,就可以對完成或執(zhí)行任務(wù)的方式進(jìn)行必要的更改。
雖然面向服務(wù)的體系結(jié)構(gòu)不是一個新鮮事物,但它卻是更傳統(tǒng)的面向?qū)ο蟮哪P偷奶娲P?,面向?qū)ο蟮哪P褪蔷o耦合的,已經(jīng)存在二十多年了。雖然基于 SOA 的系統(tǒng)并不排除使用面向?qū)ο蟮脑O(shè)計(jì)來構(gòu)建單個服務(wù),但是其整體設(shè)計(jì)卻是面向服務(wù)的。由于它考慮到了系統(tǒng)內(nèi)的對象,所以雖然 SOA 是基于對象的,但是作為一個整體,它卻不是面向?qū)ο蟮?。不同之處在于接口本身。SOA 系統(tǒng)原型的一個典型例子是通用對象請求代理體系結(jié)構(gòu)(Common Object Request Broker Architecture,CORBA),它已經(jīng)出現(xiàn)很長時間了,其定義的概念與 SOA 相似。
然而, SOA 已經(jīng)有所不同了,因?yàn)樗蕾囉谝恍└碌倪M(jìn)展,這些進(jìn)展是以可擴(kuò)展標(biāo)記語言(eXtensible Markup Language,XML)為基礎(chǔ)的。通過使用基于XML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集) 的語言(稱為 Web 服務(wù)描述語言(Web Services Definition Language,WSDL))來描述接口,服務(wù)已經(jīng)轉(zhuǎn)到更動態(tài)且更靈活的接口系統(tǒng)中,非以前 CORBA 中的接口描述語言(Interface Definition Language,IDL)可比了。
Web 服務(wù)并不是實(shí)現(xiàn) SOA 的惟一方式。前面剛講的 CORBA 是另一種方式,這樣就有了面向消息的中間件(Message-Oriented Middleware)系統(tǒng),比如 IBM 的 MQseries。但是為了建立體系結(jié)構(gòu)模型,您所需要的并不只是服務(wù)描述。您需要定義整個應(yīng)用程序如何在服務(wù)之間執(zhí)行其工作流。您尤其需要找到業(yè)務(wù)的操作和業(yè)務(wù)中所使用的軟件的操作之間的轉(zhuǎn)換點(diǎn)。因此,SOA 應(yīng)該能夠?qū)I(yè)務(wù)的商業(yè)流程與它們的技術(shù)流程聯(lián)系起來,并且映射這兩者之間的關(guān)系。例如,給供應(yīng)商付款的操作是商業(yè)流程,而更新您的零件數(shù)據(jù)庫,以包括進(jìn)新供應(yīng)的貨物卻是技術(shù)流程。因而,工作流還可以在 SOA 的設(shè)計(jì)中扮演重要的角色。
此外,動態(tài)業(yè)務(wù)的工作流不僅可以包括部門之間的操作,甚至還可以包括與不為您控制的外部合作伙伴進(jìn)行的操作。因此,為了提高效率,您需要定義應(yīng)該如何得知服務(wù)之間的關(guān)系的策略,這種策略常常采用服務(wù)級協(xié)定和操作策略的形式。
最后,所有這些都必須處于一個信任和可靠的環(huán)境之中,以同預(yù)期的一樣根據(jù)約定的條款來執(zhí)行流程。因此,安全、信任和可靠的消息傳遞應(yīng)該在任何 SOA 中都起著重要的作用。
體系結(jié)構(gòu)作用
我可以用面向服務(wù)的體系結(jié)構(gòu)做什么
對 SOA 的需要來源于需要使業(yè)務(wù) IT 系統(tǒng)變得更加靈活,以適應(yīng)業(yè)務(wù)中的改變。通過允許強(qiáng)定義的關(guān)系和依然靈活的特定實(shí)現(xiàn),IT 系統(tǒng)既可以利用現(xiàn)有系統(tǒng)的功能,又可以準(zhǔn)備在以后做一些改變來滿足它們之間交互的需要。
下面舉一個具體的例子。一個服裝零售組織擁有 500 家國際連鎖店,它們常常需要更改設(shè)計(jì)來趕上時尚的潮流。這可能意味著不僅需要更改樣式和顏色,甚至還可能需要更換布料、制造商和可交付的產(chǎn)品。如果零售商和制造商之間的系統(tǒng)不兼容,那么從一個供應(yīng)商到另一個供應(yīng)商的更換可能就是一個非常復(fù)雜的軟件流程。通過利用 WSDL 接口在操作方面的靈活性,每個公司都可以將它們的現(xiàn)有系統(tǒng)保持現(xiàn)狀,而僅僅匹配 WSDL 接口并制訂新的服務(wù)級協(xié)定,這樣就不必完全重構(gòu)它們的軟件系統(tǒng)了。這是業(yè)務(wù)的水平改變,也就是說,它們改變的是合作伙伴,而所有的業(yè)務(wù)操作基本上都保持不變。這里,業(yè)務(wù)接口可以作少許改變,而內(nèi)部操作卻不需要改變,之所以這樣做,僅僅是為了能夠與外部合作伙伴一起工作。
另一種形式是內(nèi)部改變,在這種改變中,零售組織決定它還將把連鎖零售商店內(nèi)的一些地方出租給專賣流行衣服的小商店,這可以看作是采用店中店(store-in-store)的業(yè)務(wù)模型。這里,雖然公司的大多數(shù)業(yè)務(wù)操作都保持不變,但是它們需要新的內(nèi)部軟件來處理這樣的出租安排。盡管在內(nèi)部軟件系統(tǒng)可以承受全面的檢修,但是它們需要在這樣做的同時不會對與現(xiàn)有的供應(yīng)商系統(tǒng)的交互產(chǎn)生大的影響。在這種情況下,SOA 模型保持原封不動,而內(nèi)部實(shí)現(xiàn)卻發(fā)生了變化。雖然可以將新的方面添加到 SOA 模型中來加入新的出租安排的職責(zé),但是正常的零售管理系統(tǒng)繼續(xù)如往常一樣。
為了延續(xù)內(nèi)部改變的觀念,IT 經(jīng)理可能會發(fā)現(xiàn),軟件的新配置還可以以另外的一種方式加以使用,比如出租粘貼海報的地方以供廣告之用。這里,新的業(yè)務(wù)提議是通過在新的設(shè)計(jì)中重用靈活的 SOA 模型得出的。這是來自 SOA 模型的新成果,并且還是一個新的機(jī)會,而這樣的新機(jī)會在以前可能是不會有的。
垂直改變也是可能的,在這種改變中,零售商從銷售他們自己的服裝完全轉(zhuǎn)變到專門通過店中店模型出租地方。如果垂直改變完全從最底層開始的話,就會帶來 SOA 模型結(jié)構(gòu)的顯著改變,與之一起改變的還可能有新的系統(tǒng)、軟件、流程以及關(guān)系。在這種情況下,SOA 模型的好處是它從業(yè)務(wù)操作和流程的角度考慮問題而不是從應(yīng)用程序和程序的角度考慮問題,這使得業(yè)務(wù)管理可以根據(jù)業(yè)務(wù)的操作清楚地確定什么需要添加、修改或刪除。然后可以將軟件系統(tǒng)構(gòu)造為適合業(yè)務(wù)處理的方式,而不是在許多現(xiàn)有的軟件平臺上常??吹降钠渌绞?。
正如您可以看到的,在這里,改變和 SOA 系統(tǒng)適應(yīng)改變的能力是最重要的部分。對于開發(fā)人員來說,這樣的改變無論是在他們工作的范圍之內(nèi)還是在他們工作的范圍之外都有可能發(fā)生,這取決于是否有改變需要知道接口是如何定義的以及它們相互之間如何進(jìn)行交互。與開發(fā)人員不同的是,架構(gòu)師的作用就是引起對 SOA 模型大的改變。這種分工,就是讓開發(fā)人員集中精力于創(chuàng)建作為服務(wù)定義的功能單元,而讓架構(gòu)師和建模人員集中精力于如何將這些單元適當(dāng)?shù)亟M織在一起,它已經(jīng)有十多年的歷史了,通常用統(tǒng)一建模語言(Unified Modeling Language,UML),并且描述成模型驅(qū)動的體系結(jié)構(gòu)(Model-Driven Architecture,MDA)。
對于面向同步和異步應(yīng)用的,基于請求/響應(yīng)模式的分布式計(jì)算來說,SOA是一場革命。一個應(yīng)用程序的業(yè)務(wù)邏輯(business logic)或某些單獨(dú)的功能被模塊化并作為服務(wù)呈現(xiàn)給消費(fèi)者或客戶端。這些服務(wù)的關(guān)鍵是他們的松耦合特性。例如,服務(wù)的接口和實(shí)現(xiàn)相獨(dú)立。應(yīng)用開發(fā)人員或者系統(tǒng)集成者可以通過組合一個或多個服務(wù)來構(gòu)建應(yīng)用,而無須理解服務(wù)的底層實(shí)現(xiàn)。舉例來說,一個服務(wù)可以用.NET或J2EE來實(shí)現(xiàn),而使用該服務(wù)的應(yīng)用程序可以在不同的平臺之上,使用的語言也可以不同。.
本文主要對soa架構(gòu)的優(yōu)缺點(diǎn)進(jìn)行解析。利用SOA架構(gòu)開發(fā)的時候,其基于松耦合的特性能給企業(yè)帶來諸多的好處,但作為一個具有發(fā)展前景的應(yīng)用系統(tǒng)架構(gòu),SOA尚...
2018-02-07 標(biāo)簽:soa 2.8萬 0
本文詳細(xì)解說了SOA五種基本架構(gòu)模式,面向服務(wù)的架構(gòu)(SOA)已成為連接復(fù)雜服務(wù)系統(tǒng)的主要解決方案。雖然SOA的理論很容易理解,但要部署一個設(shè)計(jì)良好、真...
2018-02-07 標(biāo)簽:SOA 2.1萬 0
IGBT的三種安全工作區(qū)(FBSOA/RBSOA/SCSOA)
失效器件送到原廠做FA分析,看到的字眼通常包含over voltage,over current,short circuit,EOS等,但是,其失效的深...
微服務(wù)究竟是壓垮SOA的最后一根稻草,還是能夠拯救整個軟件工程行業(yè)的萬能藥?人們對于微服務(wù)的概念進(jìn)行了大量的討論,其中有許多討論是關(guān)于微服務(wù)與SOA之間...
微服務(wù)、SOA 和 API三大架構(gòu)優(yōu)勢對比
在對比微服務(wù)架構(gòu)和面向服務(wù)的架構(gòu)(SOA)時,幾乎不可能在它們彼此的關(guān)系上達(dá)成一致意見。如果應(yīng)用程序編程接口(API) 再加入混戰(zhàn),就會讓理解它們的差異...
最近和一些EE工程師聊到IGBT的技術(shù)問題,聊的過程中發(fā)現(xiàn),他們最感興趣的問題大多是關(guān)于功率器件極限能力的評估方法,因?yàn)檫@些問題直接關(guān)系到了系統(tǒng)的可靠性。
QNX在汽車領(lǐng)域的基礎(chǔ)軟件操作系統(tǒng)地位以及深度的覆蓋率
有硬實(shí)時、微內(nèi)核、模塊化、弱耦合、分布式的特點(diǎn),從1980年誕生之初就是基于SOA架構(gòu)設(shè)計(jì),基于Client-Server的模型,
2022-10-20 標(biāo)簽:SOARTOS實(shí)時操作系統(tǒng) 1.1萬 0
本文主要對SOA是什么以及SOA主要的開發(fā)方法和工具進(jìn)行分析。面向服務(wù)架構(gòu)soa以其獨(dú)特的優(yōu)勢越來越受到企業(yè)的重視,它可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗...
2018-02-07 標(biāo)簽:SOA 1.1萬 0
在汽車環(huán)境中,它們必須能夠以可接受的可靠性水平耗散能量。因此,有了非常好的可靠性級別,就有必要定義這種強(qiáng)大的功能(多虧了SOA)。
基于SOA技術(shù)的MES制造執(zhí)行系統(tǒng)與傳統(tǒng)MES架構(gòu)的資料對比概述立即下載
類別:品質(zhì)管理資料 2018-09-13 標(biāo)簽:ERPMESSOA
基于ESB的SOA架構(gòu)在汽車行業(yè)的應(yīng)用研究顧治華立即下載
類別:模擬數(shù)字論文 2017-03-19 標(biāo)簽:soaesb
Introduction to IBM Products i立即下載
類別:通信網(wǎng)絡(luò) 2009-06-10 標(biāo)簽:SOA
基于SOA和開源模式的ERP系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)立即下載
類別:網(wǎng)絡(luò)協(xié)議論文 2010-01-22 標(biāo)簽:SOA開源模式
一種商品房預(yù)售資金監(jiān)管信息共享平臺架構(gòu)(基于SOA和ESB)立即下載
類別:通信網(wǎng)絡(luò) 2017-10-30 標(biāo)簽:SOA信息共享ESB
基于SOA體系ELearning教學(xué)系統(tǒng)的研究石永生立即下載
類別:模擬數(shù)字論文 2017-03-17 標(biāo)簽:soaelearning教學(xué)系統(tǒng)
類別:通信網(wǎng)絡(luò) 2019-03-04 標(biāo)簽:電子元器件計(jì)算機(jī)SOA
MES適應(yīng)智能工廠需要哪些核心技術(shù)要求?立即下載
類別:品質(zhì)管理資料 2018-08-07 標(biāo)簽:MESSOA智能工廠
類別:嵌入式技術(shù)論文 2017-11-06 標(biāo)簽:SOA管理系統(tǒng)
看懂MOSFET數(shù)據(jù)表系列第 2 部分——安全工作區(qū) (SOA)
嗨,我的FET狂熱愛好者同行們,歡迎回到看懂MOSFET數(shù)據(jù)表博客系列的第2部分!作為一名功率MOSFET的產(chǎn)品營銷工程師,在FET數(shù)據(jù)表的所有內(nèi)容中,...
本文對MOS失效原因總結(jié)以下六點(diǎn),然后對1,2重點(diǎn)進(jìn)行分析: 1、雪崩失效(電壓失效),也就是漏源間的BVdss電壓超過MOSFET的額定電壓,并且超過...
SOA架構(gòu)特點(diǎn): 系統(tǒng)集成:站在系統(tǒng)的角度,解決企業(yè)系統(tǒng)間的通信問題,把原先散亂、無規(guī)劃的系統(tǒng)間的網(wǎng)狀結(jié)構(gòu),梳理成 規(guī)整、可治理的系統(tǒng)間星形結(jié)構(gòu),這一步...
2021-07-31 標(biāo)簽:SOA 6109 0
SOA架構(gòu)和微服務(wù)架構(gòu)的主要區(qū)別
SOA和微服務(wù)架構(gòu)一個層面的東西,而對于ESB和微服務(wù)網(wǎng)關(guān)是一個層面的東西,一個談到是架構(gòu)風(fēng)格和方法,一個談的是實(shí)現(xiàn)工具或組件。SOA架構(gòu)和微服務(wù)架構(gòu)有...
“服務(wù)接口”直白的理解就是服務(wù)與外界進(jìn)行聯(lián)系的接口,也就是服務(wù)模塊與外界溝通時的信息出入口。如果你寫過程序,那么一個能夠被其他模塊調(diào)用的函數(shù)名稱,或者一...
SOA(Semi-conductor Optical Amplifier)半導(dǎo)體光放大器是采用應(yīng)變量子阱結(jié)構(gòu)的PN結(jié)器件,外部正向偏壓形成粒子數(shù)反轉(zhuǎn),外...
什么是TEC?SOA半導(dǎo)體光放大器中TEC所起的作用
SOA為什么要用TEC控溫 1、溫度變化會引起SOA芯片中心波長的漂移。溫度越高,中心波長會向長波方向移動。 2、溫度變化會引起SOA芯片增益譜的變...
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語言教程專題
電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺 | 無人機(jī) | 三菱電機(jī) | ST |
伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國民技術(shù) | Microchip |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |