SOA本質(zhì)及關(guān)鍵技術(shù)_第1頁
SOA本質(zhì)及關(guān)鍵技術(shù)_第2頁
SOA本質(zhì)及關(guān)鍵技術(shù)_第3頁
SOA本質(zhì)及關(guān)鍵技術(shù)_第4頁
SOA本質(zhì)及關(guān)鍵技術(shù)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、SOA本質(zhì)及關(guān)鍵技術(shù)Cloud Computing & SOA培訓(xùn)課程尋找銀彈分組討論:你認(rèn)識(shí)的SOA每隔10年左右,計(jì)算機(jī)行業(yè)就會(huì)有一枚新的“銀彈”產(chǎn)生,宣稱要解決那些在過去一直困擾著軟件開發(fā)的問題,包括拖延的開發(fā)周期、無法達(dá)到預(yù)期效果的方案、高昂的維護(hù)成本,當(dāng)然還有令人生畏的超支。觀點(diǎn):1、HBR哈佛商業(yè)評論:那些擁抱SOA的公司“消除了大量冗余的軟件,通過簡化和自動(dòng)化(原有的)手工處理流程節(jié)約了大量的成本,實(shí)現(xiàn)了巨大的生產(chǎn)力提升。2、SOA不過是那些幻想的追求中的一種潮流。2分布式計(jì)算簡史:從Socket到RPC大型機(jī)時(shí)代到個(gè)人電腦時(shí)代,到未來的云時(shí)代套接字Socket遠(yuǎn)程過程調(diào)用RPC

2、CORBA通用對象請求代理架構(gòu)始于1991年,一種讓函數(shù)可以分布執(zhí)行的標(biāo)準(zhǔn)化方式,最初只支持C語言。商業(yè)實(shí)現(xiàn)極其昂貴,只是金融電信等行業(yè)的消費(fèi)品。規(guī)范不明確導(dǎo)致不同廠商間產(chǎn)品不兼容。JAVA的出現(xiàn)基本宣告CORBA的死亡。JAVA帶來了RMI(遠(yuǎn)程方法調(diào)用),以及XML的出現(xiàn),大大簡化了分布式計(jì)算。DCOM分布式組件對象模型最早出現(xiàn)在1993年。微軟的專屬技術(shù),可以看作是微軟對CORBA的回應(yīng)。在微軟世界很成功,之外世界受到明顯限制而缺乏吸引力。比如ERP一般都不采用微軟技術(shù)。EJB具備了很多DCOM特性,可以被認(rèn)識(shí)是DCOM的JAVA替代。3基于RPC方案的不足帶寬占用本地和遠(yuǎn)程系統(tǒng)緊耦合;

3、客戶端向服務(wù)端發(fā)出的RPC重復(fù)調(diào)用請求會(huì)產(chǎn)生大量網(wǎng)絡(luò)負(fù)載。需要穩(wěn)定的網(wǎng)絡(luò)RPC的細(xì)粒度要求穩(wěn)定的網(wǎng)絡(luò)。然而不可預(yù)料的網(wǎng)絡(luò)延遲是互聯(lián)網(wǎng)通信的典型特征。這對基于RPC的方案來說是不可接受的。兼容性RPC的原生數(shù)據(jù)類型支持(數(shù)組、字符串、整型數(shù)值等)在試圖嫁接不兼容的語言如C+和JAVA時(shí)變得很困難。4SOAP的RPC風(fēng)格消息上世紀(jì)90年代,互聯(lián)網(wǎng)迅速發(fā)展通過互聯(lián)網(wǎng)使用CORBA或DCOM都十分困難:不少防火墻只允許HTTP流量;另外二者都沒有絕對的市場占有。SOAP的出現(xiàn)可方便進(jìn)行交互的XML的優(yōu)勢,曾一度被認(rèn)為是萬靈丹。SOAP主要被當(dāng)作CORBA、DCOM的替代品。鑒于RPC占據(jù)統(tǒng)治地位,SO

4、AP最早推出的是SOAP的RPC風(fēng)格方案。局限SOAP的RPC風(fēng)格方案的局限如同RPC一樣。5理解SOAP的不同消息風(fēng)格:文檔風(fēng)格RPC風(fēng)格:用于創(chuàng)建緊耦合、分布式的應(yīng)用;運(yùn)行在某一臺(tái)機(jī)器上的程序可以無縫地調(diào)度遠(yuǎn)程主機(jī)上的函數(shù),如果調(diào)度本地函數(shù),而無須關(guān)心網(wǎng)絡(luò)連接的工作機(jī)制。文檔風(fēng)格更多地被看作是用于應(yīng)用程序和應(yīng)用程序之間,也可以是商業(yè)伙伴之間的消息傳遞方式(比如基于XML EDI);目的是松耦合的集成,如文檔或數(shù)據(jù)傳輸。在WSDL的接口說明文檔中,可以清晰地看到這種風(fēng)格,已經(jīng)和RPC的區(qū)別。流行微軟是最早支持文檔風(fēng)格的公司之一,SUN迅速跟進(jìn),引入JAVA XML Web接口(JAX-WS)

5、。6SOA時(shí)代來臨根本動(dòng)力互聯(lián)網(wǎng)HTTP被廣泛接納7什么是 SOASOA和云計(jì)算一樣,不是沒有概念,而是概念太多!OASIS標(biāo)準(zhǔn)組織在SOA參考模型(RM)中對SOA的定義為: SOA(Service Oriented Architecture)是一種軟件體系結(jié)構(gòu)范型,可以組織和使用處于不同所有者控制下的分布式功能。ERL定義為:當(dāng)代的SOA代表了一種開放的、敏捷和可擴(kuò)展的、聯(lián)邦式的、可編寫的架構(gòu),由自治的、服務(wù)質(zhì)量保證的、支持不同廠商的、可互操作的、潛在可用的WEB服務(wù)構(gòu)成。BEA:面向服務(wù)的架構(gòu),是一種IT策略,將企業(yè)中離散的功能服務(wù)組織起來,成為可互操作、基于標(biāo)準(zhǔn)的服務(wù),而這些服務(wù)可以被

6、快速組合和從用以滿足業(yè)務(wù)需要。8萬路的SOA觀:CIO架構(gòu)CCollaboration協(xié)同IIntegration集成SOAOOn- Demand隨需應(yīng)變?nèi)f路的SOA概念:本質(zhì)上是以CIO為驅(qū)動(dòng)目標(biāo)的基于技術(shù)的跨多學(xué)科的綜合整合框架,是一種技術(shù)架構(gòu)、應(yīng)用架構(gòu)和一種方法論哲學(xué)。9基于組件的框架 VS SOA10SOA不是銀彈Information Week的調(diào)查:58%的人表示SOA讓他們的IT環(huán)境更加復(fù)雜;30%的人表示項(xiàng)目成本超出預(yù)估;30%的人表示他們的SOA計(jì)劃沒有達(dá)成預(yù)期。11SOA是最佳實(shí)踐和標(biāo)準(zhǔn)SOA本身不只是一門技術(shù)SOA是結(jié)合數(shù)十年來來傳統(tǒng)軟件開發(fā)積累下來的最佳實(shí)踐和標(biāo)準(zhǔn)涉及的

7、概念有:治理、服務(wù)級(jí)別協(xié)議、元數(shù)據(jù)定義、注冊表等。12SOA環(huán)境示意注意:服務(wù)和業(yè)務(wù)流程之間的關(guān)系13Web服務(wù)帶來的成功SOAP標(biāo)準(zhǔn)+WSDL,看上去給SOA帶來需要的許多功能,所以很多人將SOA和Web服務(wù)看做是同義詞。電子商務(wù)公司是最早支持通過SOAP暴露API的公司eBay和A是最積極的,而且成效斐然,有差不多30萬人使用后者提供的Web Services。而Google的用戶已經(jīng)難以估計(jì)。SAAS廠商靠此走向成功軟件已死提法的Salesforce正是靠此成為下一代軟件的典型范例。14SOA面臨的一些困難Facade(外觀)模式為子系統(tǒng)中的各類(或結(jié)構(gòu)與方法)提供一個(gè)簡明一致的界面,隱

8、藏子系統(tǒng)的復(fù)雜性,使子系統(tǒng)更加容易使用。他是為子系統(tǒng)中的一組接口所提供的一個(gè)一致的界面。核心業(yè)務(wù)功能通過WEB服務(wù)暴露出來的困難:1、難度大2、簡單將現(xiàn)有對象和方法包裝為WEB服務(wù)被證明欠考慮(臨時(shí)方法?)3、基于Facade(外觀)模式或者在外面包一層的做法是常用的,但是這意味著大量的代碼。大量增加的WEB服務(wù)數(shù)量15REST、SOA以及WOARest:Representational State Transfer表述性狀態(tài)轉(zhuǎn)移是一種針對網(wǎng)絡(luò)應(yīng)用的設(shè)計(jì)和開發(fā)方式,可以降低開發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性。 REST提出了一些設(shè)計(jì)概念和準(zhǔn)則:1.網(wǎng)絡(luò)上的所有事物都被抽象為資源(resource

9、);2.每個(gè)資源對應(yīng)一個(gè)唯一的資源標(biāo)識(shí)(resource identifier);3.通過通用的連接器接口(generic connector interface)對資源進(jìn)行操作;4.對資源的各種操作不會(huì)改變資源標(biāo)識(shí);5.所有的操作都是無狀態(tài)的(stateless)。參考:事實(shí)上,REST、SOA兩者并非水火不容,WSDL的能力讓人羨慕嫉妒恨。16SOA的核心特征1:服務(wù)接口/契約服務(wù)必須有定義優(yōu)良的接口或契約契約是指對服務(wù)提供者和具體消費(fèi)者之間服務(wù)內(nèi)容的完整規(guī)格定義,同時(shí)它也必須以一種可以被潛在客戶所理解的形式存在。契約必須明確指出該服務(wù)可用的操作,定義所有信息交換的數(shù)據(jù)要求,并詳細(xì)說明服務(wù)

10、如何被調(diào)用。WSDL術(shù)語容易讓人困惑,但卻是最成功的服務(wù)接口和契約。WSDL 2.0的學(xué)習(xí)曲線很平滑。WS-Addressing實(shí)現(xiàn)了動(dòng)態(tài)端點(diǎn)尋址17SOA的核心特征2:服務(wù)透明性透明主要是指地支的透明性通常ESB被當(dāng)作救星如同使命必達(dá)的ups同樣,簡單的服務(wù)中介(mediator)或者代理(Proxy)業(yè)可以完成。動(dòng)態(tài)尋址(思考本地注冊表、遠(yuǎn)程注冊表)WS-Addressing規(guī)范提供了使用邏輯的消息地址的方法。18SOA的核心特征3:服務(wù)的松耦合與無狀態(tài)松耦合服務(wù)的粗細(xì)粒度:1、一般主張使用粗粒度2、顯然,為了實(shí)現(xiàn)最大程度重用,創(chuàng)建細(xì)粒度的服務(wù)也是必要的。無狀態(tài)1、服務(wù)設(shè)計(jì)簡單化2、提升了

11、運(yùn)算能力和效率3、重用性19SOA的核心特征4:服務(wù)組合方法一:簡單或基本的組合服務(wù)簡單的將一個(gè)或多個(gè)底層的服務(wù)包裝成一個(gè)更粗粒度的操作。方法二:類似工作流標(biāo)準(zhǔn)BPEL、BPMN。過度使用工作流來調(diào)度服務(wù),是福是禍?銀行業(yè)案例:利用SCA進(jìn)行服務(wù)編排利用BPM進(jìn)行服務(wù)編排20SOA的核心特征5:服務(wù)注冊和發(fā)布UDDI是一種目錄服務(wù),企業(yè)可以使用它對 Web services 進(jìn)行注冊和搜索。UDDI,英文為 Universal Description, Discovery and Integration,可譯為“通用描述、發(fā)現(xiàn)與集成服務(wù)”。不太成功術(shù)語晦澀復(fù)雜,動(dòng)態(tài)發(fā)現(xiàn)能力有限。但沒有更好的標(biāo)

12、準(zhǔn)。LADPIBM、WSO2、MULE的目錄服務(wù)器是成功的。WSO2 Registry,世界上最優(yōu)秀的SOA注冊表,擁有web2.0特性。21SOA平臺(tái)所用到的技術(shù)22SOA涉及的基本技術(shù)規(guī)范23業(yè)務(wù)流程管理(BPM)應(yīng)用程序到哪里去了?為什么說BPM是一種服務(wù)編排?工作流受益于消息的技術(shù),實(shí)現(xiàn)了異步。工作流和BPM的區(qū)別?24企業(yè)管理決策(EDM)EDM包括業(yè)務(wù)規(guī)則引擎(BRE)和規(guī)則管理系統(tǒng)(BRMS)。你的系統(tǒng)中有多少規(guī)則?你的組織里有多少規(guī)則?程序開發(fā)的最大挑戰(zhàn)?語言的二義性;SME(業(yè)務(wù)領(lǐng)域?qū)<遥┡c系統(tǒng)開發(fā)人員的認(rèn)知差距。思考:EDM可用的范圍?25企業(yè)服務(wù)總線(ESB)思考ESB的

13、關(guān)鍵技術(shù)特性?思考:ESB的流程microflow和BPM有什么區(qū)別?隨著SCA的強(qiáng)化,ESB在下一代架構(gòu)中的變化?26事件流處理器(ESP)無窮的事件反復(fù)發(fā)生的事件意味著什么?BI可以嗎?預(yù)測?Esper示例27JAVA消息服務(wù)(JMS)思考:JMS與MQ兩種模型:1、點(diǎn)對點(diǎn)隊(duì)列模型2、發(fā)布和訂閱模型異步通信1、打一槍就跑不等對方響應(yīng)2、區(qū)別于SOAP的請求/響應(yīng)模型,但不絕對。28注冊表SOA制品思考SOA的繁瑣之處服務(wù)組件的屬性:服務(wù)端點(diǎn)(WS-Addressing)、服務(wù)描述、WSDL路徑、版本號(hào)、源碼路徑、請求/響應(yīng)消息示例、功能和設(shè)計(jì)文檔引用、變更申請、Rademe、產(chǎn)品發(fā)布記錄2

14、9SCA 服務(wù)組件和服務(wù)組合SOA制品思考SOA的繁瑣之處服務(wù)組件的屬性:服務(wù)端點(diǎn)(WS-Addressing)、服務(wù)描述、WSDL路徑、版本號(hào)、源碼路徑、請求/響應(yīng)消息示例、功能和設(shè)計(jì)文檔引用、變更申請、Rademe、產(chǎn)品發(fā)布記錄30WEB服務(wù)中介ESB具有大部分重疊能力:其他用途記錄所有的請求和響應(yīng)、內(nèi)部負(fù)載均衡、高級(jí)緩存、支持高級(jí)的WS-*特性、限流中介(類似路由器)等31見證開源的力量開源中間件技術(shù)及其服務(wù)業(yè)正在世界范圍內(nèi)迅速興起。它像一盞明燈,指引著前進(jìn)的方向,世界軟件業(yè)的經(jīng)營模式正處在發(fā)生劇變的前夕。既然幾十萬行的源代碼已經(jīng)把企業(yè)應(yīng)用的“基礎(chǔ)結(jié)構(gòu)”的窗戶紙捅破了,那么,我們還有什么東西要捂著、蓋著、藏著而保守“商業(yè)機(jī)密”呢?我們要學(xué)習(xí)“TomorrowNow”(“現(xiàn)在即明天”)的精神。GoogleApacheJBOSSSpring SourceWSO2MULE數(shù)據(jù)庫、操作系統(tǒng)、應(yīng)用服務(wù)器等的開源已經(jīng)大獲成功JAVA所倡導(dǎo)的正是一種開源云帶來的“沒有軟件”的時(shí)代中間件的開源力量讓商用廠商無法抵擋開源應(yīng)用服務(wù)器占全球近70%近2萬家企業(yè)采用LIFRAYM門

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論