国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
SOA--什么是/為什么/怎么樣/要素/Web Service

什么是SOA?

       “面向服務(wù)的架構(gòu)”表達了一種軟件架構(gòu)的概念,它定義為使用服務(wù)來滿足軟件用戶的需求。在SOA環(huán)境中,網(wǎng)絡(luò)上的節(jié)點以獨立服務(wù)的形式將自己的資源開放給網(wǎng)絡(luò)上其他參與者,其他參與者按照一種標準的方法使用資源。

       SOA不是一種具體的架構(gòu),它是能夠?qū)С瞿撤N具體架構(gòu)的東西。你可以將它叫做一種風(fēng)格、范式、概念、觀點、哲學(xué)、或者表示法。這也意味著SOA不是一種可以買到的具體工具或框架。它是一種說法,是一種思考方式,是個價值體系。

 

為什么SOA?

要理解為什么需要SOA,就必要理解大型分布式系統(tǒng)的特點:

1.       大型系統(tǒng)必須能夠處理老系統(tǒng)(引入SOA時,你很難從頭開始設(shè)計)

2.       大型系統(tǒng)天生就是異質(zhì)的。他們目的不同,時間各異,新舊程度相差懸殊;大型系統(tǒng)堆積了不同平臺,不同的語言,不同的編程范式。

3.       異質(zhì)性的一大原因是因為大型系統(tǒng)和它們的數(shù)據(jù)有非常長的生命周期。在這個過程中,它們不斷加入新的系統(tǒng)和流程,開發(fā)新的業(yè)務(wù)功能。

4.       大型系統(tǒng)天生是復(fù)雜的。而且,人類處理復(fù)雜問題的能力也是有限的,通常采取的方法就是分解。

5.       所有者各異。不同的團隊、部門、分支機構(gòu)或公司都可能在維護系統(tǒng)

6.       冗余度。

 

面對大型系統(tǒng),SOA接受異質(zhì)的,SOA正是靠對異質(zhì)性的承認和支持來處理大系統(tǒng)的。過去人們提出了許許多多的方法,試圖消除異質(zhì)性,解決集成分布式系統(tǒng)碰到的問題。比如,“把所有系統(tǒng)都換成J2EE應(yīng)用”、“不管哪兒都用CORBA”,“用MQ Sevce“,然而,這些方法都不行,大型系統(tǒng)天生就是異質(zhì)的,這是事實。也是我們設(shè)計大型分布式方案時必須接受的前提。

 

SOA是新東西么?

SOA沒有任何新發(fā)明的東西,它是個把現(xiàn)有概念和實踐放到一起,用于特定需求的范式。

SOA的改進之一可能體現(xiàn)在如下一點:Web Service引入了一個互操作性的新標準。

SOA另一個重要的方面是對異質(zhì)性的接受。這一點體現(xiàn)了SOA是一個革命性的方法,不同于以前經(jīng)??吹降臇|西哦,過去,相當多的解決方法都是基于同質(zhì)化想法,然而,只要系統(tǒng)超過一定的規(guī)模,同質(zhì)化就不可能。同質(zhì)化也無法伸縮,這意味著任何要求同質(zhì)化的方法遲早會失敗。(類似于敏捷編程接受需求不斷變更的事實,而不是力圖與這個事實抗爭)。

 

核心是什么?

我們已經(jīng)知道了SOA是一個范式,目的是實現(xiàn)和維護跨越了大型分布式系統(tǒng)的業(yè)務(wù)流程。那么它的核心是什么?

l         服務(wù)

軟件開發(fā)的藝術(shù)就是關(guān)于抽象的藝術(shù)。抽象可以從不同的角度進行。SOA的抽象集中在問題的業(yè)務(wù)角度。與業(yè)務(wù)相對應(yīng)的SOA概念就是“服務(wù)“。本質(zhì)上,服務(wù)就是業(yè)務(wù)功能的IT體現(xiàn)。SOA的目標就是基于業(yè)務(wù)規(guī)則和功能的抽象來構(gòu)筑大型分布式系統(tǒng)。我們可以把服務(wù)當做自足的業(yè)務(wù)功能的IT體現(xiàn),比如”創(chuàng)造一個客戶“,“轉(zhuǎn)賬”,“打開收音機”,“計算汽車的最佳路線”等。

 

l         互操作性

處理異質(zhì)系統(tǒng)時,第一個目標就是能輕松的連接系統(tǒng)。這通常被稱為“高互操作性”。雖然,高互操作性不是什么新點子,之前“企業(yè)應(yīng)用集成”EAI就有這樣的概念。但是,高互操作性和SOA得開始而非結(jié)束。從這個基礎(chǔ)出發(fā),實現(xiàn)跨越多個分布式系統(tǒng)的業(yè)務(wù)功能。

 

l         松耦合

松耦合是小化依賴,SOA是一個范式,而不是具體方法。多大程度上引入松耦合取決于你自己。
 
松耦合的形式:

緊耦合

松耦合

物理連接

點對點

通過中介者

通信風(fēng)格

同步

異步

數(shù)據(jù)模型

公共復(fù)雜類型

只是簡單的公共類型

類型系統(tǒng)

交互模式

通過復(fù)雜的對象樹導(dǎo)航

以數(shù)據(jù)為中心、自足的消息

業(yè)務(wù)邏輯控制

集中控制

分布式控制

綁定方式

靜態(tài)

動態(tài)

平臺

強平臺依賴

平臺無關(guān)

事務(wù)性

2PC(兩階段提交)

補償

部署

同時進行

非同時進行

版本劃分

顯示升級

隱式升級

 

SOA要素

       我們已經(jīng)知道了SOA的關(guān)鍵技術(shù)概念是:服務(wù)、互操作性和松耦合。那么建立SOA所需要做的就是要引入服務(wù)、互操作性和松耦合。

       但是SOA是買不來的,重要的是以合適的方式引入這些概念。這里面有一些要素,包括基礎(chǔ)設(shè)施、架構(gòu)以以及流程。

 

l         基礎(chǔ)設(shè)施(ESB

基礎(chǔ)設(shè)施使SOA高操作性成為可能的技術(shù)部分。SOA范疇的基礎(chǔ)設(shè)施被稱為“企業(yè)服務(wù)總線”(ESB)。

 

ESB的關(guān)鍵業(yè)一點,它能使得在異質(zhì)系統(tǒng)間進行服務(wù)調(diào)用。他的職責包括數(shù)據(jù)轉(zhuǎn)化、(智能)路由、處理安全和可靠性、服務(wù)管理、監(jiān)測、以及日志。

 

l         架構(gòu)

l         流程

大型系統(tǒng)牽涉了許多不同的人和組織。因為通常并不由一個人或少數(shù)人控制著所有一切,所以必須建立起適當?shù)倪^程。這些過程包括:

業(yè)務(wù)過程建模(BPM

服務(wù)生命周期

模型驅(qū)動的軟件開發(fā)

 

l         監(jiān)管

建立起一個大型的SOA項目,你需要處理不同的組織結(jié)構(gòu),所以理解、監(jiān)管、管理支持和專研是SOA成功的關(guān)鍵因素。

 

SOAWEB Service

       許多SOA定義都包括Web Service這個術(shù)語。但是,SOAWeb Service不一樣,SOA是個范式;Web Service是運用特定實現(xiàn)策略,實現(xiàn)基礎(chǔ)設(shè)施的可能方法。

 

REST表述性狀態(tài)轉(zhuǎn)移:最近,它常被人稱為Web Service的替代品,它指的是一個網(wǎng)絡(luò)架構(gòu)原則的集合,聚焦于對資源進行簡單和無狀態(tài)訪問。RESTful HTTP使用4個基礎(chǔ)HTTP方法:GET/PUT/POST/DELETE,對由URL標識出的資源進行無狀態(tài)的讀、寫、創(chuàng)建/執(zhí)行和刪除、這種對HTTP協(xié)議的自然運用既簡單又迅速,并且包含了對諸如緩存這樣的典型需求的內(nèi)生技術(shù)支持、所以,對于訪問服務(wù)器提供的數(shù)據(jù)或資源來說,這可能是一個很好的方法。

 

然而,它缺乏對安全性考量。非功能性特性、可組合性的支持,再加上全面鋪開的。復(fù)雜的SOA基礎(chǔ)設(shè)施有流程服務(wù)、配置、某些場景下讀取與寫于服務(wù)還有不同的粒度,所以,它很難被用作SOA的核心協(xié)議。

 

如果只是想向外部系統(tǒng)提供對數(shù)據(jù)資源的訪問,REST絕對是應(yīng)該考慮的原則或技術(shù),但是,如果計劃建立一個運行分布式業(yè)務(wù)流程的SOA景觀,REST還不是一個可選項。

 

    在很多場合的交流中,常常遇到把SOAWeb Service混用的情況,所以想在這次的Blog里,結(jié)合網(wǎng)上的各種觀點,談?wù)剛€人對兩個概念的理解。用一句話來概括基本的觀點就是“SOA不是Web Service,Web Service是目前最適合實現(xiàn)SOA的技術(shù)。 之所以SOAWeb Service被混為一談,最可能的原因了也就在于此吧。

  早在1996Gartner就前瞻性地提出了面向服務(wù)架構(gòu)的思想(SOA),該年赫赫有名的Netscape才發(fā)布了Navigator 2.0,整個互聯(lián)網(wǎng)剛剛慶祝超過500,000網(wǎng)站的誕生,網(wǎng)絡(luò)上的商業(yè)應(yīng)用還是鳳毛麟角,Web Service不知為何物,SOA還只是束之高閣的理論概念。直到2000年以后,W3C才成立了相關(guān)的委員會,開始討論Web Service的相關(guān)標準;各大廠商一邊積極參與標準制定,一邊推出了一系列實實在在的產(chǎn)品。新的技術(shù)和新的產(chǎn)品出現(xiàn),SOA找到了可以依托的憑借。隨著Web Service技術(shù)的推出和應(yīng)用,SOA的思想被一個個效益顯著的信息系統(tǒng)建設(shè)項目不斷的示范,才逐漸成為現(xiàn)今的熱門話題。類似的情況讓人聯(lián)想到愛因斯坦提出來的理論,著名的質(zhì)量能量轉(zhuǎn)化等式E=mc2,直到人們掌握了核子裂變技術(shù),才成功生產(chǎn)出了原子彈,向世人展示了這個理論等式的巨大威力。

  因為現(xiàn)在幾乎所有的SOA應(yīng)用場合都是和Web Service綁定的,所以不免有時候這兩個概念混用。不可否認Web Service是現(xiàn)在最適合實現(xiàn)SOA的技術(shù),SOA的走紅在很大程度上歸功于Web Service標準的成熟和應(yīng)用普及。因為現(xiàn)在大家基本上認同Web Service技術(shù)在幾方面體現(xiàn)了SOA的需要:

  首先是基于標準訪問的獨立功能實體滿足了松耦合要求:在Web Service中所有的訪問都通過SOAP訪問進行,用WSDL定義的接口封裝,通過UDDI進行目錄查找,可以動態(tài)改變一個服務(wù)的提供方而無需影響客戶端的配置,外界客戶端是根本不關(guān)心訪問服務(wù)器端的實現(xiàn)。

  其次,適合大數(shù)據(jù)量低頻率訪問符合服務(wù)大顆粒度功能:基于性能和效率平衡的要求,SOA的服務(wù)提供的是大顆粒度的應(yīng)用功能,而且跨系統(tǒng)邊界的訪問頻率也不會象程序間函數(shù)調(diào)用那么頻繁。通過使用WSDL和基于文本(Literal)SOAP請求,可以實現(xiàn)能一次性接收處理大量數(shù)據(jù)。

  最后,基于標準的文本消息傳遞為異構(gòu)系統(tǒng)提供通訊機制:Web Service所有的通訊是通過SOAP進行的,而SOAP是基于XML的,XML是結(jié)構(gòu)化的文本消息。從最早的EDI開始,文本消息也許是異構(gòu)系統(tǒng)間通訊最好的消息格式,適用于SOA強調(diào)的服務(wù)對異構(gòu)后天宿主系統(tǒng)的透明性。

  綜合上述觀點,Web Service不愧為當前SOA的最好選擇。然而,就SOA思想本身而言,并不一定要局限于Web Service方式的實現(xiàn)。更應(yīng)該看到的是SOA本身強調(diào)的是實現(xiàn)業(yè)務(wù)邏輯的敏捷性要求,是從業(yè)務(wù)應(yīng)用角度對信息系統(tǒng)實現(xiàn)和應(yīng)用的抽象。隨著人們認識的提高,還會有新技術(shù)不斷的發(fā)明出來,更好的來滿足這個要求。就好像在核子裂變之后,人們又發(fā)現(xiàn)了威力更加強大的核子聚變。為了要有一個更高的角度來看待問題,SOAWeb Service還是不應(yīng)該混為一談。

 

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
架構(gòu)雜談《一》
SOA 探索,第 1 部分: 通過動態(tài)解耦來簡化 Web 服務(wù)調(diào)用
流程驅(qū)動面向服務(wù)的架構(gòu)
應(yīng)用架構(gòu) --- 詳解篇
SOA在當今中國企業(yè)的發(fā)展現(xiàn)狀
SOA是中間件發(fā)展趨勢 產(chǎn)品向微內(nèi)核容器發(fā)展
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服