曝光臺 注意防騙
網(wǎng)曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
(例如BBEdit,
MSWord,
ShockWave以
及AppleScript)
客戶服務(wù)
一個響應(yīng)通過HTTP被異
步地送回到調(diào)用者,并
帶有處理結(jié)果
你通過HTTP提交一個
XMLRPC消息,作為XML
指定方法和相關(guān)參數(shù)h t t p : / / w w w. m a i l t o t h e f u t u r e . c o m
A d d M e s s a g e ( )添加一個新消息到電子
郵件庫R e m o v e M e s s a g e ( )在電子郵件庫
中刪除當(dāng)前消息G e t M e s s a g e I n Q u e u e ( )
獲得電子郵件庫的當(dāng)前消息量
11.3.1 為什么使用XML-RPC
傳統(tǒng)的遠(yuǎn)程通信方法包括C O M和C O R B A技術(shù)(例如D C O M或I I O P),它們?nèi)匀槐话l(fā)展著的
通信技術(shù)所支持,盡管這些技術(shù)在緊密集成的系統(tǒng)里毫無疑問是流行的,但在分布式通信領(lǐng)域
仍然強調(diào)傳統(tǒng)的方法。與之相反的是, X M L - R P C系統(tǒng)被廣泛的分布式網(wǎng)絡(luò)所更多地采納。例如,
X M L系統(tǒng)并不要求在一個方法被調(diào)用前必須知道服務(wù)器的標(biāo)識,相反,服務(wù)器能夠在一個調(diào)用
里被標(biāo)識,或者在使用一個動態(tài)的負(fù)載平衡后被決定。
傳統(tǒng)上,我們必須知道相關(guān)的許多技術(shù)問題,包括平臺形式,它們使用了C O M還是C O R B A,
但如果它們的系統(tǒng)在防火墻之后(許多系統(tǒng)有這樣的問題),另一些問題也將被考慮。
圖11 - 1 0將解釋在防火墻問題上, X M L - R P C為什么沒有問題,而傳統(tǒng)的方法將遇到困難,特
別在I n t e r n e t中。
圖11-10
使用X M L - R P C協(xié)議,所有的通信都是在H T T P上工作的,因此,消息傳送通過防火墻毫無
問題(幾乎所有的防火墻都允許H T T P通過),進而,隨著X M L對界面以及對數(shù)據(jù)的描述,與傳
統(tǒng)的比較固定的系統(tǒng)相比,將會減少很多的集成問題。事實上,所有我們所需要的是U R L、界
面描述和期望的返回值—這是個簡單的問題。
在X M L - R P C . c o m站點最近的一些工作可能是最好的解釋。U s e r l a n d . c o m站點(運行在
F r o n t i e r上)展示了一些修改討論組消息的方法。這些允許開發(fā)者遠(yuǎn)程調(diào)用一些方法去執(zhí)
行某些動作,如在討論板上創(chuàng)建一個新的消息和修改一個已經(jīng)存在的消息—所有這些
都從任何一個遠(yuǎn)程客戶系統(tǒng)通過XML-RPC來實現(xiàn),而該客戶系統(tǒng)是支持HTTP協(xié)議的。
U s e r l a n d對每一個相對較短的文件提供一個方法名稱,它的期望參數(shù),它的返回值和對該
432使用XML 高級編程
下載
COM/COBRA客
戶機或服務(wù)器
XMLRPC客戶機
或服務(wù)器
局部
遠(yuǎn)程
服務(wù)器(Web)服務(wù)器
防火墻
一般來說,僅有端口8 0允許傳輸通過一這是H T T P用
于傳輸網(wǎng)頁的端口,它同樣適用于X M L R P C,并對該
協(xié)議是沒有問題的。使用傳統(tǒng)的方法時,經(jīng)常有不知道
和/或不常用的端口被使用,并且防火墻不允許傳輸通
過,它對Internet來說是一個大問題
方法的一個簡短描述,兩天之內(nèi),人們就可以在平臺上例如M a c s,Windows 和U n i x擁有
一個包括多種編程語言的編輯器,這些語言包括A S P,C O M,P H P,L i n g o,J a v a和
Applescript等。
這一切都毫無問題。事實上,從Dave Wi n e r發(fā)來的一封e - m a i l十分令人感興趣,其大意是
他想到一個問題,因為在討論組標(biāo)準(zhǔn)發(fā)布2 4小時后沒有一條“成功”的消息被提交。我
懷疑是否每一位讀者都在綜合了多個平臺和傳統(tǒng)技術(shù)領(lǐng)域里使用的語言后,又考慮2 4小
時長的時間。XML-RPC的強大功能是毫無疑問的。
最重要的是要記住X M L - R P C對于分布式計算并不總是正確的選擇,它比傳統(tǒng)的方法要慢,
傳統(tǒng)的方法由于上述的理由被最普遍地用于封閉式網(wǎng)絡(luò)。但是, I n t e r n e t比絕大多數(shù)的封閉式網(wǎng)
絡(luò)要慢,因此在使用X M L - R P C時并不真感受到等待時間的問題(因為這是網(wǎng)絡(luò)延遲,而不是導(dǎo)
致絕大多數(shù)延遲的處理時間),如果你在一個相同的共用網(wǎng)絡(luò)里調(diào)用一個方法并對速度更看重,
并且也不介意將應(yīng)用程序界面暴露給遠(yuǎn)程服務(wù)器,最好的選擇可能是使用C O M或者C O R B A技術(shù),
例如D C O M或I I O P。像你所見到的一樣,當(dāng)在一個網(wǎng)絡(luò)服務(wù)器上使用H T T P打包并通過X M L -
R P C傳送時,將仍然會暴露一些在C O M / C O R B A應(yīng)用程序中使用的方法。
圖11 - 11將顯示一個使用X M L - R P C的分布式系統(tǒng)的可能的結(jié)構(gòu),這個圖表將解釋任何一個
X M L - R P C授權(quán)的客戶如何調(diào)用一個在X M L - R P C服務(wù)器上的方法,而這些服務(wù)器又是在不同的
平臺上并運行不同的X M L - R P C服務(wù)程序,可能有許多可能的結(jié)構(gòu)。能夠看到服務(wù)器能夠在另外
的遠(yuǎn)程服務(wù)器上激活一個方法,并向客戶應(yīng)用程序提供服務(wù)。事實上,一個客戶激活一個調(diào)用
和一個服務(wù)器激活該調(diào)用二者并沒有區(qū)別。
圖11-11
11.3.2 XML-RPC適用于何處
前面幾章已經(jīng)描述了X M L和它的一些相關(guān)技術(shù),因此當(dāng)你聽到這樣一些事情時或許會感到
第11章服服務(wù)器到服務(wù)器使用433 下載
運行Perl
XMLRPC
服務(wù)器的
Web服務(wù)
器
運行Tcl
XML-RPC
服務(wù)器的
Apache Web
服務(wù)器
使用
XMLRPCPerl
Win32服務(wù)器
的MSII4 Web
服務(wù)器
運行Java
XMLRPC服
務(wù)器的
Apache Web
服務(wù)器
具有本機
XML RPC
支持的
Frontier
Mac
客戶機
Java
客戶機
Win32
客戶機
瀏覽器
JavaScript
客戶機
驚訝,即X M L - R P C目前僅僅使用了最基本的一些功能,即X M L 1 . 0標(biāo)準(zhǔn)和X M L文檔對象模型
(XML Document Object Model.)
這些X M L的一些基本特征在實際中幾乎被每一個平臺所支持,也保證了X M L - R P C規(guī)范能夠
被廣泛地支持。將來,我們將看到另外一些X M L特征加入到X M L - R P C規(guī)范。
11.3.3 XML-RPC規(guī)范—技術(shù)全瞻
中國航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級編程上(138)