Webservices技術(shù)是什么
Web Service是基于網(wǎng)絡(luò)的、分布式的模塊化組件,它執(zhí)行特定的任務(wù),遵守具體的技術(shù)規(guī)范,這些規(guī)范使得Web Service能與其他兼容的組件進(jìn)行互操作。下面是學(xué)習(xí)啦小編為你整理的SOA面試題,希望對你有所幫助!
使用標(biāo)準(zhǔn)的互聯(lián)網(wǎng)協(xié)議,像超文本傳輸協(xié)議HTTP和XML,將功能體現(xiàn)在互聯(lián)網(wǎng)和企業(yè)內(nèi)部網(wǎng)上。Web Service平臺
是一套標(biāo)準(zhǔn),它定義了應(yīng)用程序如何在Web上實(shí)現(xiàn)互操作性??梢允褂萌魏握Z言,在任何平臺上寫WebService。
Web Service平臺需要一套協(xié)議來實(shí)現(xiàn)分布式應(yīng)用程序的創(chuàng)建。任何平臺都有它的數(shù)據(jù)表示方法和類型系統(tǒng)。要實(shí)現(xiàn)互操作性,Web Service
平臺必須提供一套標(biāo)準(zhǔn)的類型系統(tǒng),用于溝通不同平臺、編程語言和組件模型中的不同類型系統(tǒng)。目前這些協(xié)議有:
1.XML和XSD
可擴(kuò)展的標(biāo)記語言XML是Web Service平臺中表示數(shù)據(jù)的基本格式。除了易于建立和易于分析外,XML主要的優(yōu)點(diǎn)在于它既與平臺無關(guān),又與
廠商無關(guān)。XML是由萬維網(wǎng)協(xié)會(W3C)創(chuàng)建,W3C制定的XML SchemaXSD定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,并給出了一種語言來擴(kuò)展這套數(shù)據(jù)類型
Web Service平臺是用XSD來作為數(shù)據(jù)類型系統(tǒng)的。當(dāng)你用某種語言如VB.NET或C#來構(gòu)造一個(gè)Web Service時(shí),為了符合Web Service標(biāo)準(zhǔn),
所有你使用的數(shù)據(jù)類型都必須被轉(zhuǎn)換為XSD類型。如想讓它使用在不同平臺和不同軟件的不同組織間傳遞,還需要用某種東西將它包裝起來。這
種東西就是一種協(xié)議,如 SOAP。
2.SOAP
SOAP即簡單對象訪問協(xié)議(Simple Object Access Protocol),它是用于交換XML編碼信息的輕量級協(xié)議。它有三個(gè)主要方
面:XML-envelope為描述信息內(nèi)容和如何處理內(nèi)容定義了框架,將程序?qū)ο缶幋a成為XML對象的規(guī)則,執(zhí)行遠(yuǎn)程過程調(diào)用(RPC)的約定。SOAP
可以運(yùn)行在任何其他傳輸協(xié)議上。例如,你可以使用 SMTP,即因特網(wǎng)電子郵件協(xié)議來傳遞SOAP消息,這可是很有誘惑力的。在傳輸層之間的
頭是不同的,但XML有效負(fù)載保持相同。
Web Service 希望實(shí)現(xiàn)不同的系統(tǒng)之間能夠用“軟件-軟件對話”的方式相互調(diào)用,打破了軟件應(yīng)用、網(wǎng)站和各種設(shè)備之間的格格不入的狀態(tài)
,實(shí)現(xiàn)“基于Web無縫集成”的目標(biāo)。
3.WSDL
Web Service描述語言WSDL就是用機(jī)器能閱讀的方式提供的一個(gè)正式描述文檔而基于XML的語言,用于描述Web Service及其函數(shù)、參數(shù)和
返回值。因?yàn)槭腔赬ML的,所以WSDL既是機(jī)器可閱讀的,又是人可閱讀的。
4.UDDI
UDDI 的目的是為電子商務(wù)建立標(biāo)準(zhǔn);UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時(shí)也包含
一組使企業(yè)能將自身提供的Web Service注冊,以使別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。
5.遠(yuǎn)程過程調(diào)用RPC與消息傳遞
Web Service本身其實(shí)是在實(shí)現(xiàn)應(yīng)用程序間的通信。我們現(xiàn)在有兩種應(yīng)用程序通信的方法:RPC遠(yuǎn)程過程調(diào)用和消息傳遞。使用RPC的時(shí)候,
客戶端的概念是調(diào)用服務(wù)器上的遠(yuǎn)程過程,通常方式為實(shí)例化一個(gè)遠(yuǎn)程對象并調(diào)用其方法和屬性。RPC系統(tǒng)試圖達(dá)到一種位置上的透明性:服務(wù)
器暴露出遠(yuǎn)程對象的接口,而客戶端就好像在本地使用的這些對象的接口一樣,這樣就隱藏了底層的信息,客戶端也就根本不需要知道對象是
在哪臺機(jī)器上。
微軟的.NET技術(shù)應(yīng)該算是時(shí)下最好的Web Service 開發(fā)技術(shù)。.NET平臺不僅延續(xù)了微軟一貫的編程風(fēng)格,而且還增加了許多支持Web 服務(wù)的
關(guān)鍵性技術(shù),使得.NET在操作的簡單性和執(zhí)行的穩(wěn)定性,高效性上達(dá)到了一個(gè)非常好的結(jié)合。微軟的Visual Studio.NET便是一個(gè)便于 Web
服務(wù)的開發(fā)工具。微軟的目標(biāo)是,將其新編程語言——C#作為Web Service的首選語言。
.Net Remoting
.Net Remoting是.Net環(huán)境下的另外一種分布式處理方式。從某種意義上來說,Remoting就是DCOM的一種升級,它改善了很多功能,并極好
的融合到.Net平臺下。Microsoft® .NET Remoting 提供了一種允許對象通過應(yīng)用程序域與另一對象進(jìn)行交互的框架[22]。
在Remoting中是通過通道(channel)來實(shí)現(xiàn)兩個(gè)應(yīng)用程序域之間對象的通信的。
面試題相關(guān)文章: