青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

淺談SOAP

本文對SOAP作了一個初步介紹,給出幾個簡單示例;接著比較CORBA,DCOM/COM與SOAP的聯系與區別;然后淺析SOAP簡單的理解為RPC+HTTP+XML時的運行機制;最后展現SOAP的前景。

一:為什么需要SOAP

隨著計算機技術的不斷發展,現代企業面臨的環境越來越復雜,其信息系統大多數為多平臺、多系統的復雜系統。這就要求今天的企業解決方案具有廣泛的兼容能力,可以支持不同的系統平臺、數據格式和多種連接方式,要求在Internet 環境下,實現系統是松散耦合的、跨平臺的,與語言無關的,與特定接口無關的,而且要提供對Web 應用程序的可靠訪問。

隨著異種計算環境的不斷增加,各種系統間的互操作性就愈顯得必要,要求系統能夠無縫地進行通信和共享數據,從而在 Internet 環境下,消除巨大的信息孤島,實現信息共享、進行數據交換,達到信息的一致性。Web services 希望實現不同的系統之間能夠用"軟件-軟件對話"的方式相互調用,打破了軟件應用、網站和各種設備之間的格格不入的狀態,實現"基于WEB無縫集成"的目標。

今年四月份的時候,W3C聯盟召開了第一次 Web 服務專題研討會,目的為探索 W3C 應向哪個方向發展才能實現新興的 Web 服務架構的標準化,期間提出了一個"Web 服務堆棧"的構想,如下圖,從圖中可以看出,SOAP在WEB服務堆棧中作為用于 XML 消息傳遞的一種非常普遍的協議,發揮著十分重要的作用。

clip_image001

clip_image003
clip_image005

clip_image006

clip_image007

回頁首

二:什么是SOAP

SOAP(Simple Object Access Protocol )簡單對象訪問協議是在分散或分布式的環境中交換信息的簡單的協議,是一個基于XML的協議,它包括四個部分:SOAP封裝(envelop),封裝定義了一個描述消息中的內容是什么,是誰發送的,誰應當接受并處理它以及如何處理它們的框架;SOAP編碼規則(encoding rules),用于表示應用程序需要使用的數據類型的實例; SOAP RPC表示(RPC representation),表示遠程過程調用和應答的協定;SOAP綁定(binding),使用底層協議交換信息。

雖然這四個部分都作為SOAP的一部分,作為一個整體定義的,但他們在功能上是相交的、彼此獨立的。特別的,信封和編碼規則是被定義在不同的XML命名空間(namespace)中,這樣使得定義更加簡單。

SOAP的兩個主要設計目標是簡單性和可擴展性。這就意味著有一些傳統消息系統或分布式對象系統中的某些性質將不是SOAP規范的一部分。比如:分布式垃圾收集 (Distributed garbage collection)、成批傳送消息(Boxcarring or batching of messages)、對象引用 (Objects-by-reference(which requires distributed garbage collection))、對象激活 (Activation(which requires objects-by-reference))。

SOAP消息舉例:

1.第一個例子闡明了SOAP中一個簡單的通信信息,包括了兩個不是SOAP定義而是應用程序定義的元素:頭塊元素alertcontrol 和體塊元素alert。頭塊元素包括兩個參數:priority 和expires。體塊元素包括的是實際傳送的信息。

clip_image008
(EXAMPLE 1)

2.SOAP通信與底層的不同協議和不同的交換格式有關,下面的例子SOAP使用HTTP作為底層通信協議,從而可以很好的使用request/response機制來傳送信息。 SOAP/HTTP請求包括一個GetLastTradePrice的塊元素,該請求攜帶一個字符串參數和ticker符號,在SOAP應答中返回一個浮點數。XML名域用來區分SOAP標志符和應用程序特定的標志符。

clip_image009
(EXAMPLE 2)

3. 例3 展示的是StockQuote SOAP服務信息,是對例2的請求作出的一條應答消息。

clip_image010
(EXAMPLE 3)

clip_image003[1]
clip_image005[1]

clip_image006[1]

clip_image007[1]

回頁首

三:SOAPCORBA,COM/DCOM的區別?

在SOAP剛剛提出來的時候,許多人就提出了疑問:SOAP與CORBA和DCOM的區別何在?

1. CORBA(Common Object Request Broker
Architecture)公共對象請求代理體系結構是由OMG組織制訂的一種標準的面向對象應用程序體系規范。由對象請求代理ORB、對象服務、公共設施、域接口和應用接口這幾個部分組成。其核心部分是對象請求代理ORB(Object Request Broker)。ORB提供了一種機制,通過這種機制,對象可以透明的發出請求和接收響應。分布的、可以互操作的對象可以利用ORB構造可以互操作的應用。ORB可看作是在對象之間建立客戶/服務關系的一種中間件?;贠RB,客戶可以透明的調用服務對象提供的方法,該服務對象可以與客戶運行在同一臺機器上,也可以運行在其他機器上通過網絡與客戶進行交互。ORB截取客戶發送的請求,并負責在該軟件總線上找到實現該請求的服務對象,然后完成參數、方法調用,并返回最終結果。CORBA 1.1 由對象管理組織在 1991 年發布。定義了接口定義語言(IDL)和應用編程接口(API),從而通過實現對象請求代理(ORB)來激活客戶/服務器的交互。CORBA 2.0 于 1994 年的 12 月發布定義了如何跨越不同的 ORB 提供者而進行通訊。

2. COM/DCOM(Component Object Model / Distributed Component Object
Model )是微軟公司提出的分布式組件對象模型標準,支持在局域網、廣域網甚至Internet上不同計算機的對象之間的通訊。DCOM基于COM的應用程序、組件、工具等的基礎之上,處理網絡協議的低層次的細節問題,而不必關心太多的網絡協議細節,從而使用戶能夠集中精力解決用戶所要求的問題。DCOM位于應用程序的組件之間,將組件以不可見的方式膠合在一起組成具有完整功能的應用程序。

3. SOAP 與CORBA,DCOM/COM的比較。

3.1 首先指出的是SOAP不會取代CORBA,COM/DCOM,三者的概念有所區別。COM/DCOM是個組件模型標準,CORBA是分布式應用的服務標準。CORBA和DCOM為分布式應用程序建立服務,服務對象來執行客戶端調用的服務。而SOAP是基于XML和HTTP的分布式對象的通信協議,是COM/DCOM和CORBA對象進行通訊的協議。實際上,利用SOAP的互操作性和CORBA強大的執行能力,兩者可以很好的結合在一起。 OMG (Object Management Group responsible for the CORBA specification)正在關注這方面的發展。

3.2. CORBA應用程序和DCOM應用程序不能實現互操作,兩者不能在一起協作。因為在ORPC(Object RPC)協議中,用ObjRef代表了一個正在運行對象的引用;在CORBA/IIOP(Internet Inter-Orb Protocol)中,用交換可互操作對象引用IOR(Interoperable Object Reference)代表一個服務器的對象引用。不幸的是,IOR 與 ObjRef不能夠關聯起來。然而,使用SOAP可以實現在垂直應用層面上CORBA ,DCOM技術的水平整合,能夠更好的集成CORBA,DCOM為一個整體。

3.3 SOAP并沒有定義信息的語義,服務質量,基于INTERNET的事務處理。而是采用 XML 進行消息編碼,正確的處理需要服務器和客戶端本身來執行,理解和執行彼此使用的信息格式(ONE-TO-ONE,REQUEST/REPLY,BROADCAST,ETC),應用程序本身在語義解析中扮演著十分重要的角色。而CORBA,DCOM表示了傳送信息的語義,對參數和返回值使用二進制編碼??蓪χT如參數名稱或類型的任何元信息都不編碼,但使中介很難處理消息。又因為每個系統使用不同的二進制編碼,系統間的互操作的很難實現。

3.4 盡管CORBA可以在不同的平臺上執行,DCOM可以在微軟的各種平臺上運行,但是基于CORBA和DCOM的解決方案必須依賴于單一的應用程序。比如說,假如運行的是DCOM服務器程序,所有的分布式的客戶端不得不運行于微軟的操作平臺上。CORBA 雖然可以運行于不同的平臺,但CORBA的互操作性并沒有在更高層的服務上進行擴展,如安全性和事務處理,在這種情況下,許多提供的服務沒有得到很好的優化。DCOM和CORBA適合于服務器--服務器間的通訊,但是對于客戶端--服務器的通訊十分脆弱,尤其當客戶程序分布在INTERNET上更是如此。

3.5 SOAP不象DCOM一樣試圖定義分布式系統的所有元素,SOAP沒有提供分布式類庫,類型安全檢查,版本控制等等,SOAP比它處于一個更低的層次,有點類似于IIOP在CORBA的作用,DCOM卻提供了一些額外的協議功能,是IIOP 或者SOAP所不具備的。然而,許多. DCOM的額外功能只有在服務器??服務器間通信時才會用到,對于客戶端??服務器之間的通信則是多余的。

clip_image003[2]
clip_image005[2]

clip_image006[2]

clip_image007[2]

回頁首

四:SOAP=RPC+HTTP+XML

SOAP簡單的理解,就是這樣的一個開放協議SOAP=RPC+HTTP+XML:采用HTTP作為底層通訊協議;RPC作為一致性的調用途徑,XML作為數據傳送的格式,允許服務提供者和服務客戶經過防火墻在INTERNET進行通訊交互。RPC的描敘可能不大準確,因為SOAP一開始構思就是要實現平臺與環境的無關性和獨立性,每一個通過網絡的遠程調用都可以通過SOAP封裝起來,包括DCE(Distributed Computing Environment ) RPC CALLS,COM/DCOM CALLS, CORBA CALLS, JAVA CALLS,etc。

SOAP 使用 HTTP 傳送 XML,盡管HTTP 不是有效率的通訊協議,而且 XML 還需要額外的文件解析(parse),兩者使得交易的速度大大低于其它方案。但是XML 是一個開放、健全、有語義的訊息機制,而 HTTP 是一個廣泛又能避免許多關于防火墻的問題,從而使SOAP得到了廣泛的應用。但是如果效率對你來說很重要,那么你應該多考慮其它的方式,而不要用 SOAP。

為了更好的理解SOAP,HTTP,XML如何工作的,不妨先考慮一下COM/DCOM的運行機制,DCOM處理網絡協議的低層次的細節問題,如PROXY/STUB間的通訊,生命周期的管理,對象的標識。在客戶端與服務器端進行交互的時候,DCOM采用NDR(Network Data Representation)作為數據表示,它是低層次的與平臺無關的數據表現形式。

DCOM是有效的,靈活的,但也是很復雜的。而SOAP的一個主要優點就在于它的簡單性,SOAP使用HTTP作為網絡通訊協議,接受和傳送數據參數時采用XML作為數據格式,從而代替了DCOM中的NDR格式,SOAP和 DCOM執行過程是類似的,如下圖,但是用XML取代 NDR作為編碼表現形式,提供了更高層次上的抽象,與平臺和環境無關。

clip_image011

客戶端發送請求時,不管客戶端是什么平臺的,首先把請求轉換成XML格式,SOAP網關可自動執行這個轉換。為了保證傳送時參數,方法名,返回值的唯一性,SOAP協議使用了一個私有標記表,從而服務端的SOAP網關可以正確的解析,這有點類似于COM/DCOM

中的樁(STUB)。轉化成XML格式后,SOAP終端名(遠程調用方法名)及其他的一些協議標識信息被封裝成HTTP請求,然后發送給服務器。如果應用程序要求,服務器返回一個HTTP應答信息給客戶端。與通常對HTML頁面的HTTP GET請求不同的是,此請求設置了一些HTTP HEADER,標識著一個SOAP服務激發,和HTTP包一起傳送。例如:對于一個詢問股票價格的應用程序,服務器端具有組件提供某股票當前的價格,組件是COM或CORBA在服務器上建立的??蛻舳税l送一個SOAP請求給服務器詢問股票價格。服務器依賴于服務器上的SOAP網關,使用內嵌的HTML對象調用合適的方法, 然后把得到的價格通過SOAP應答傳給客戶端。

clip_image003[3]
clip_image005[3]

clip_image006[3]

clip_image007[3]

回頁首

五.SOAP 的前景

W3C于2000年5月8日發表了Simple Object Access Protocol (SOAP) 1.1版本,具體規范發布在下列站點上( http://www.w3.org/TR/SOAP/)。又與今年7月9號推出了SOAP Version 1.2版本的建議草案,具體規范發布在下列站點上( http://www.w3.org/TR/soap12/)。編寫SOAP Version 1.1版本的工作小組的成員包括: DevelopMentor, International Business Machines Corporation, Lotus Development Corporation, Microsoft, UserLand Software。

SOAP的推出是令人興奮的??梢韵嘈?,隨著網絡服務的的不斷發展,它將極大的改變我們的思考模式和開發模式?,F在,已有許多大公司著手支持SOAP的開發,去年 IBM公司 和 Microsoft公司 都發行了實現 SOAP 的第一批版本。 IBM 公司啟動了Apache SOAP 項目計劃,微軟最近又推出了SOAPtoolkit2.0的正式版,主要包括如下的一些特征:SOAP的高層接口和低層接口,消息對象接口,完全支持WSDL 1.1標準,支持用戶自定義類型映射,并且提供了豐富和完整的開發文檔以及應用實例。而且,兩家公司正在互操作性方面努力研究。可以樂觀的估計,不用多久,SOAP 互操作性的時代就將來臨。

SOAP相關的一些標準:

1. HTTP 1.0 or greater( http://www.w3.org/Protocols/HTTP/ietf-http-ext

2. the core W3C XML recommendation( http://www.w3.org/TR/1998/REC-xml-19980210

3. W3C XML namespace recommendation( http://www.w3.org/TR/REC-xml-names).

4. XML Schema( http://www.w3.org/TR/xmlschema-1/

 

SOAP是一個協議,與編程語言無關。實際上,許多語言已經開始支持SOAP,如:java,c/c++,vb,c#,perl,php.下面列出了在Java/C++/Perl/ADA/Python環境下SOAP的執行工具:

posted on 2008-05-27 16:32 肥仔 閱讀(522) 評論(0)  編輯 收藏 引用 所屬分類: 網絡編程

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产免费看| 免费观看成人网| 日韩图片一区| 欧美日韩国产亚洲一区| 欧美亚洲网站| 欧美激情一区二区三区在线视频 | 欧美一区2区三区4区公司二百| 99riav国产精品| 亚洲六月丁香色婷婷综合久久| 亚洲精品久久嫩草网站秘色| 亚洲三级视频在线观看| 91久久线看在观草草青青| 亚洲精品在线观看视频| 中文有码久久| 久久久久9999亚洲精品| 欧美福利视频在线观看| 国产精品第13页| 伊人久久大香线蕉综合热线| 亚洲精品九九| 欧美一进一出视频| 欧美大尺度在线观看| 一本色道久久综合亚洲精品高清| 亚洲视频一区二区| 久久一综合视频| 国产精品一卡| 亚洲日本成人在线观看| 欧美一区二区三区四区在线观看地址| 另类酷文…触手系列精品集v1小说| 亚洲国产乱码最新视频| 欧美日韩综合久久| 亚洲七七久久综合桃花剧情介绍| 亚洲人成网在线播放| 午夜精品久久久久影视| 老司机免费视频一区二区三区| 欧美电影免费观看高清| 国产模特精品视频久久久久| 亚洲国产专区| 久久精品国产91精品亚洲| 亚洲国产高清在线观看视频| 亚洲欧美区自拍先锋| 欧美激情亚洲一区| 在线成人激情| 欧美亚洲免费电影| 99ri日韩精品视频| 欧美岛国在线观看| 红杏aⅴ成人免费视频| 亚洲欧美另类在线| 亚洲毛片在线观看| 欧美高清在线视频| 亚洲国产精选| 欧美电影在线观看完整版| 亚洲欧美日韩高清| 国产精品久久看| 亚洲在线观看免费| 亚洲每日更新| 欧美日韩精品久久| 一区二区三区精密机械公司 | 国产精品久久毛片a| 亚洲免费高清| 亚洲精品麻豆| 欧美色欧美亚洲高清在线视频| 亚洲高清三级视频| 欧美高清在线一区| 欧美国产一区二区三区激情无套| 亚洲国产91| 亚洲电影免费观看高清完整版在线 | 久久综合五月| 久久狠狠久久综合桃花| 国产婷婷色一区二区三区| 亚洲欧美一级二级三级| 一区二区激情视频| 国产精品嫩草99av在线| 欧美影视一区| 久久激情五月婷婷| 亚洲欧洲三级| 99国产麻豆精品| 国产精品午夜电影| 久久久久久久综合日本| 亚洲无限av看| 欧美在线中文字幕| 亚洲欧美一区二区原创| 国产在线拍偷自揄拍精品| 久久婷婷国产综合精品青草| 久久天堂av综合合色| 亚洲人精品午夜| 一区二区三区视频免费在线观看| 国产精品一区视频| 欧美肥婆bbw| 欧美午夜视频| 免费国产一区二区| 欧美日韩免费观看一区| 亚洲欧美精品在线| 麻豆久久精品| 亚洲欧美第一页| 久久阴道视频| 午夜性色一区二区三区免费视频| 久久久精品动漫| 一区二区三区回区在观看免费视频| 亚洲伊人色欲综合网| 亚洲高清电影| 性欧美大战久久久久久久久| 亚洲日本中文字幕| 欧美一级专区| 亚洲综合视频1区| 美玉足脚交一区二区三区图片| 亚洲一区一卡| 免费久久精品视频| 国产精品久久久久久久午夜| 欧美激情视频在线免费观看 欧美视频免费一| 欧美日韩国产系列| 欧美不卡一区| 好吊色欧美一区二区三区视频| 亚洲理伦在线| 亚洲激情在线激情| 欧美中文字幕精品| 亚洲影院污污.| 欧美精品日韩三级| 欧美成人午夜视频| 国内精品一区二区| 亚洲欧美电影院| 亚洲午夜性刺激影院| 免费永久网站黄欧美| 久久久人成影片一区二区三区观看| 欧美日韩一区综合| 亚洲欧洲另类| 亚洲精品久久久久久下一站 | 欧美风情在线| 欧美激情在线| 激情懂色av一区av二区av| 亚洲欧美另类中文字幕| 亚洲资源av| 欧美三级视频| 日韩午夜在线视频| 亚洲色诱最新| 欧美午夜片在线观看| 一本色道久久99精品综合 | 欧美国产日韩免费| 美女福利精品视频| 一区免费观看| 美女被久久久| 亚洲欧洲一区二区三区在线观看| 亚洲精选在线| 欧美精品在线观看播放| 亚洲国产成人av在线| 91久久精品国产| 欧美成人嫩草网站| 亚洲激情二区| 亚洲少妇最新在线视频| 国产精品videossex久久发布| 日韩视频在线一区| 亚洲免费网站| 国产无遮挡一区二区三区毛片日本| 亚洲欧美日本国产有色| 久久电影一区| 在线成人黄色| 欧美日韩国产一区精品一区| 99热这里只有精品8| 亚洲欧美一级二级三级| 国产午夜精品在线| 免费看的黄色欧美网站| 亚洲另类视频| 久久精品国产成人| 91久久精品国产91性色| 欧美日韩国产123| 亚洲一区二区三区免费观看| 久久免费视频在线| 99re这里只有精品6| 国产精品尤物| 欧美暴力喷水在线| 亚洲综合日韩| 亚洲风情在线资源站| 亚洲无吗在线| 最新成人av网站| 国产亚洲成av人在线观看导航| 久久亚洲私人国产精品va| 亚洲狼人综合| 欧美成年人视频网站欧美| 亚洲视频免费在线观看| 国模吧视频一区| 欧美日韩妖精视频| 另类人畜视频在线| 午夜精品网站| 99亚洲伊人久久精品影院红桃| 久久久久一区二区| 亚洲欧美卡通另类91av| 亚洲大胆在线| 国产欧美一区二区三区国产幕精品 | 欧美一区二区三区在线观看视频| 亚洲高清免费| 好吊色欧美一区二区三区视频| 欧美日韩在线精品| 久久人人97超碰精品888| 亚洲视频1区| 亚洲日本va午夜在线电影 | 欧美成人a视频| 欧美一级大片在线免费观看| 亚洲精品少妇网址| 激情小说另类小说亚洲欧美 | 国产精品久久久久久久久久久久| 欧美激情亚洲综合一区|