面向服務(wù)的體系結(jié)構(gòu),什么是SOA(面向服務(wù)的體系結(jié)構(gòu))
1、什么是SOA(面向服務(wù)的體系結(jié)構(gòu))
SOA,面向服務(wù)的體系結(jié)構(gòu)(service-oriented architecture)是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應(yīng)該獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進行交互。
這種具有中立的接口定義(沒有強制綁定到特定的實現(xiàn)上)的特征稱為服務(wù)之間的松耦合。松耦合系統(tǒng)的好處有兩點,一點是它的靈活性,另一點是,當(dāng)組成整個應(yīng)用程序的每個服務(wù)的內(nèi)部結(jié)構(gòu)和實現(xiàn)逐漸地發(fā)生改變時,它能夠繼續(xù)存在。而另一方面,緊耦合意味著應(yīng)用程序的不同組件之間的接口與其功能和結(jié)構(gòu)是緊密相連的,因而當(dāng)需要對部分或整個應(yīng)用程序進行某種形式的更改時,它們就顯得非常脆弱。
對松耦合的系統(tǒng)的需要來源于業(yè)務(wù)應(yīng)用程序需要根據(jù)業(yè)務(wù)的需要變得更加靈活,以適應(yīng)不斷變化的環(huán)境,比如經(jīng)常改變的政策、業(yè)務(wù)級別、業(yè)務(wù)重點、合作伙伴關(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ù)的方式進行必要的更改。
雖然面向服務(wù)的體系結(jié)構(gòu)不是一個新鮮事物,但它卻是更傳統(tǒng)的面向?qū)ο蟮哪P偷奶娲P停嫦驅(qū)ο蟮哪P褪蔷o耦合的,已經(jīng)存在二十多年了。雖然基于 SOA 的系統(tǒng)并不排除使用面向?qū)ο蟮脑O(shè)計來構(gòu)建單個服務(wù),但是其整體設(shè)計卻是面向服務(wù)的。由于它考慮到了系統(tǒng)內(nèi)的對象,所以雖然 SOA 是基于對象的,但是作為一個整體,它卻不是面向?qū)ο蟮摹2煌幵谟诮涌诒旧怼OA 系統(tǒng)原型的一個典型例子是通用對象請求代理體系結(jié)構(gòu)(Common Object Request Broker Architecture,CORBA),它已經(jīng)出現(xiàn)很長時間了,其定義的概念與 SOA 相似。
然而,現(xiàn)在的 SOA 已經(jīng)有所不同了,因為它依賴于一些更新的進展,這些進展是以可擴展標(biāo)記語言(eXtensible Markup Language,XML)為基礎(chǔ)的。通過使用基于 XML 的語言(稱為 Web 服務(wù)描述語言(Web Services Definition Language,WSDL))來描述接口,服務(wù)已經(jīng)轉(zhuǎn)到更動態(tài)且更靈活的接口系統(tǒng)中,非以前 CORBA 中的接口描述語言(Interface Definition Language,IDL)可比了。
Web 服務(wù)并不是實現(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)換點。因此,SOA 應(yīng)該能夠?qū)I(yè)務(wù)的商業(yè)流程與它們的技術(shù)流程聯(lián)系起來,并且映射這兩者之間的關(guān)系。例如,給供應(yīng)商付款的操作是商業(yè)流程,而更新您的零件數(shù)據(jù)庫,以包括進新供應(yīng)的貨物卻是技術(shù)流程。因而,工作流還可以在 SOA 的設(shè)計中扮演重要的角色。
最后,所有這些都必須處于一個信任和可靠的環(huán)境之中,以同預(yù)期的一樣根據(jù)約定的條款來執(zhí)行流程。因此,安全、信任和可靠的消息傳遞應(yīng)該在任何 SOA 中都起著重要的作用。
對 SOA 的需要來源于需要使業(yè)務(wù) IT 系統(tǒng)變得更加靈活,以適應(yīng)業(yè)務(wù)中的改變。通過允許強定義的關(guān)系和依然靈活的特定實現(xiàn),IT 系統(tǒng)既可以利用現(xiàn)有系統(tǒng)的功能,又可以準(zhǔn)備在以后做一些改變來滿足它們之間交互的需要。
下面舉一個具體的例子。一個服裝零售組織擁有 500 家國際連鎖店,它們常常需要更改設(shè)計來趕上時尚的潮流。這可能意味著不僅需要更改樣式和顏色,甚至還可能需要更換布料、制造商和可交付的產(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)部改變,在這種改變中,零售組織現(xiàn)在決定它還將把連鎖零售商店內(nèi)的一些地方出租給專賣流行衣服的小商店,這可以看作是采用店中店(store-in-store)的業(yè)務(wù)模型。這里,雖然公司的大多數(shù)業(yè)務(wù)操作都保持不變,但是它們現(xiàn)在需要新的內(nèi)部軟件來處理這樣的出租安排。盡管在內(nèi)部軟件系統(tǒng)可以承受全面的檢修,但是它們需要在這樣做的同時不會對與現(xiàn)有的供應(yīng)商系統(tǒng)的交互產(chǎn)生大的影響。在這種情況下,SOA 模型保持原封不動,而內(nèi)部實現(xiàn)卻發(fā)生了變化。雖然可以將新的方面添加到 SOA 模型中來加入新的出租安排的職責(zé),但是正常的零售管理系統(tǒng)繼續(xù)如往常一樣。
為了延續(xù)內(nèi)部改變的觀念,IT 經(jīng)理可能會發(fā)現(xiàn),軟件的新配置還可以以另外的一種方式加以使用,比如出租粘貼海報的地方以供廣告之用。這里,新的業(yè)務(wù)提議是通過在新的設(shè)計中重用靈活的 SOA 模型得出的。這是來自 SOA 模型的新成果,并且還是一個新的機會,而這樣的新機會在以前可能是不會有的。
垂直改變也是可能的,在這種改變中,零售商從銷售他們自己的服裝完全轉(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ā)生,這取決于是否有改變需要知道接口是如何定義的以及它們相互之間如何進行交互。與開發(fā)人員不同的是,架構(gòu)師的作用就是引起對 SOA 模型大的改變。這種分工,就是讓開發(fā)人員集中精力于創(chuàng)建作為服務(wù)定義的功能單元,而讓架構(gòu)師和建模人員集中精力于如何將這些單元適當(dāng)?shù)亟M織在一起,它已經(jīng)有十多年的歷史了,通常用統(tǒng)一建模語言(Universal Modeling Language,UML),并且描述成模型驅(qū)動的體系結(jié)構(gòu)(Model-Driven Architecture,MDA)。
2、SOA是什么,有的公司為什么要用SOA不用MVC?
SOA是面向服務(wù)的架構(gòu)
面向服務(wù)的體系結(jié)構(gòu)(Service-oriented architecture)是構(gòu)造分布式系統(tǒng)的應(yīng)用程序的方法。它將應(yīng)用程序功能作為服務(wù)發(fā)送給最終用戶或者其他服務(wù)。
它采用開放標(biāo)準(zhǔn)、與軟件資源進行交互并采用表示的標(biāo)準(zhǔn)方式。
企業(yè)系統(tǒng)的架構(gòu)師認(rèn)為SOA能夠幫助業(yè)務(wù)迅速和高效地響應(yīng)變化的市場條件 . 服務(wù)導(dǎo)向的架構(gòu)在宏觀(服務(wù))上,而不是在微觀上(對象)提高了重復(fù)使用性。同時,服務(wù)導(dǎo)向的架構(gòu)可以簡化與傳統(tǒng)系統(tǒng)的互連和使用。
在某種意義上說,服務(wù)導(dǎo)向的架構(gòu)可以被認(rèn)為是一種演化,而不是革命。它捕捉到了之前體系架構(gòu)的許多最佳實踐或?qū)嶋H應(yīng)用。比如在通信系統(tǒng)中,近年來進展有限的解決方案多采用完全靜態(tài)的綁定來與網(wǎng)路中的其他設(shè)備溝通,但若正式采用SOA方式,解決方案就更能妥善定位,進而突顯定義明確且可高度跨平臺操作介面的重要性。
MVC的概念更接近于代碼,SOA的概念更接近于系統(tǒng)。
MVC跟SOA是兩個層面的東西,沒有可比性。
具體到用途和取舍,要具體問題具體分析。每個公司負(fù)責(zé)開發(fā)的主管各有其自己的風(fēng)格。
3、esb是什么意思
企業(yè)服務(wù)總線,即ESB全稱為Enterprise Service Bus,指的是傳統(tǒng)中間件技術(shù)與XML、Web服務(wù)等技術(shù)結(jié)合的產(chǎn)物。ESB提供了網(wǎng)絡(luò)中最基本的連接中樞,是構(gòu)筑企業(yè)神經(jīng)系統(tǒng)的必要元素。
面向服務(wù)的體系結(jié)構(gòu)已經(jīng)逐漸成為IT集成的主流技術(shù)。面向服務(wù)的體系結(jié)構(gòu)(service-oriented architecture,SOA)是一種軟件系統(tǒng)設(shè)計方法,通過已經(jīng)發(fā)布的和可發(fā)現(xiàn)的接口為終端用戶應(yīng)用程序或其它服務(wù)提供服務(wù)。
企業(yè)服務(wù)總線優(yōu)勢:
1、可用性和可靠性
支持群集物理部署來保證系統(tǒng)的高可用性,支持系統(tǒng)的長期穩(wěn)定運行。
2、性能和可伸縮性
支持在達到系統(tǒng)性能指標(biāo)峰值要求的同時,系統(tǒng)處理能力還能夠留有足夠的余量。
3、擴展性和靈活性
支持系統(tǒng)擴展部署和多個邏輯單元的分離部署。提供對系統(tǒng)的維護與參數(shù)配置的管理功能。
4、安全性
提供安全認(rèn)證和授權(quán)機制,提供不可否認(rèn)和機密性,支持安全標(biāo)準(zhǔn)。
以上內(nèi)容參考:百度百科-企業(yè)服務(wù)總線
4、面向服務(wù)架構(gòu)
如題:詳細(xì)的說下;有案例最好。。。。。。。。。。。
請?zhí)砑游⑿盘栕稍儯?9071507959
最新更新
- 面向服務(wù)的體系結(jié)構(gòu),什么是SOA(面向服務(wù)的體系結(jié)構(gòu))
- 面向?qū)ο蟪绦蛟O(shè)計,面向?qū)ο蟪绦蛟O(shè)計學(xué)什么
- 面向?qū)ο蟮奶攸c,面向?qū)ο?基本特征
- 面向?qū)ο蟮奶卣?面向?qū)ο蟮娜筇匦?/strong>
- 面向?qū)ο蠓椒?面向?qū)ο蠓椒òㄊ裁矗?/strong>
- 面向?qū)ο笏枷?什么是面向?qū)ο?/strong>
- 面向21世紀(jì)教育振興行動計劃,何謂九八五大學(xué)?
- 面向大海,面向大海的心情句子
- 面向21世紀(jì)教育振興行動計劃,何謂九八五大學(xué)?
- 面臨的近義詞,面臨的近義詞
推薦閱讀
- 面向服務(wù)的體系結(jié)構(gòu),什么是SOA(面向服務(wù)的體系結(jié)構(gòu))
- 面向?qū)ο蟪绦蛟O(shè)計,面向?qū)ο蟪绦蛟O(shè)計學(xué)什么
- 面向?qū)ο蟮奶卣?面向?qū)ο蟮娜筇匦?/strong>
- 面向21世紀(jì)教育振興行動計劃,何謂九八五大學(xué)?
- 面臨的近義詞,面臨的近義詞
- 面與面相交得到,面與面相交得到什么線與線相交得到什么
- 靡不有初,靡不有初鮮克有終是什么意思
- 青鳥殷勤為探看,“青鳥殷勤為探看”的上句是什么?出自哪首詩?
- 青鳥不傳云外信丁香空結(jié)雨中愁詩意,青鳥不傳云外信丁香空結(jié)雨中愁的意思
- 青鳥不傳云外信丁香空結(jié)雨中愁的意思,青鳥不傳云外信丁香空結(jié)雨中愁。這句詩的意思是什么?
猜你喜歡
關(guān)注我們
