軟件測試SOA對于架構師的存在意義和價(jià)值[2] SOA構架
關(guān)鍵字:soa
1)客戶(hù)端,通常是通過(guò)瀏覽器,向服務(wù)器端以文本的方式發(fā)送一個(gè)請求,索取一個(gè)Web頁(yè)面;
2)服務(wù)器端接收到這個(gè)請求之后,根據請求的內容進(jìn)行處理并且返回一個(gè)符合HTML語(yǔ)法的文本;
3)客戶(hù)端接收到服務(wù)器端的響應文本后調用本地的程序,通常還是瀏覽器,把返回的HTML文本的內容展現出來(lái)。
下面來(lái)看一下HTTP協(xié)議如何滿(mǎn)足了SOA的特點(diǎn):
獨立的功能實(shí)體:作為服務(wù)器端的Web服務(wù)器是絕對不會(huì )因為客戶(hù)端的狀況變化而改變的,它總是非常穩定的按照自己的內在邏輯運行,響應外部的請求,管理自己的資源和數據。這里一個(gè)非常好的例子就是Web服務(wù)器對緩存(Cache)的處理,很多Web服務(wù)器為了提高性能都或多或少的對數據進(jìn)行緩存,但是緩存數據、刷新數據這些于客戶(hù)端完全無(wú)關(guān)的操作完全由服務(wù)器端獨立完成,完全不受客戶(hù)端的影響。
大數據量低頻率訪(fǎng)問(wèn):對于一個(gè)HTTP請求來(lái)說(shuō),客戶(hù)端與服務(wù)器之間訪(fǎng)問(wèn)的邊界非常簡(jiǎn)單:就是一個(gè)請求,一個(gè)響應,沒(méi)有任何其它的信息往返。無(wú)論客戶(hù)端申請的網(wǎng)頁(yè)上除了文字之外還有什么信息,對于客戶(hù)端來(lái)說(shuō),它發(fā)出的請求只是簡(jiǎn)單的告訴Web服務(wù)器它所需要的網(wǎng)頁(yè)的位置;至于為了生成這個(gè)網(wǎng)頁(yè),服務(wù)器端是否需要訪(fǎng)問(wèn)數據庫,執行Servlet或者其它的CGI程序對客戶(hù)端而言,都是完全透明的。
基于文本的消息傳遞:迄今為止兼容性最好的系統可能就是HTTP協(xié)議支撐的大部分的web應用了,我們可以在Windows平臺下用IE查看互聯(lián)網(wǎng)上一個(gè)Linux+Apache服務(wù)器上的由Perl腳本自動(dòng)生成的網(wǎng)頁(yè)。這里的關(guān)鍵就是所有內容都是以格式化的文本方式傳遞的,不管Perl腳本如何執行,只要它的輸出是符合HTML規范的網(wǎng)頁(yè),就可以被客戶(hù)端的瀏覽器解釋。而由于不同的操作系統上對于相同的HTML的解釋遵循相同的規范,因此不同操作系統下仍然能夠看到一致的用戶(hù)界面。
我們上面基本描述了SOA作為一種軟件架構有哪些特點(diǎn),下面讓我們一起看看Web Service與SOA的關(guān)系。
SOA與Web Service
Web Service是就現在而言最適合實(shí)現SOA的一些技術(shù)的集合,事實(shí)上最近SOA的火爆在很大程度上歸功于Web Service標準的成熟和應用的普及為廣泛的實(shí)現SOA架構提供了基礎。下面讓我們看看Web Service中的各種協(xié)議是如何互相工作來(lái)滿(mǎn)足SOA所需的特點(diǎn)的:
獨立的功能實(shí)體:通過(guò)UDDI的目錄查找,我們可以動(dòng)態(tài)改變一個(gè)服務(wù)的提供方而無(wú)需影響客戶(hù)端的應用程序配置。所有的訪(fǎng)問(wèn)都通過(guò)SOAP訪(fǎng)問(wèn)進(jìn)行,只要WSDL接口封裝良好,外界客戶(hù)端是根本沒(méi)有辦法直接訪(fǎng)問(wèn)服務(wù)器端的數據的。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/