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

隨筆 - 181, 文章 - 2, 評論 - 85, 引用 - 0
數據加載中……

在企業級 SOA 中使用 Web 服務,第 7 部分: 使用 XML 二進制優化打包規范加速 Web 服務應用程序

您是否希望了解如何使用 XML 二進制優化打包 (XOP) 規范來優化 Web 服務應用程序?Judith M. Myerson 將向您展示在處理 Web 服務時,XOP 包比 XML 解析器更有效的原因。她將討論在多 SOA 中 Web 服務變得過于龐大的兩個場景。為了解決此問題,她討論了 XOP 包可以如何比 XML 解析器更為有效地處理二進制(而非文本)格式的大型文件。她給出了 XOP 處理前后的代碼示例,以幫助開發人員了解需要更改哪些元素。

引言

在本系列的第 2 部分中,我討論了可以如何實現原始應用程序 Web 服務的業務流程并確定系統可以承載的可互操作 SOA 的最大個數,以避免 SOA 過載。在本系列的第 5 部分中,我強調了將業務流程規則作為優化 Web 服務的首要事項的重要性,并給出了一些示例,以說明可以如何減少 Web 請求的數量和執行時間。

在這一部分中,我將討論基于 XML 的 Web 服務應用程序是如何變得過于龐大的。當大量使用 Web 服務時,這些 Web 服務將阻塞網絡通信,從而導致系統過載。為了解決此問題,我將討論可以如何應用 XML 二進制優化打包 (XOP) 規范(請參閱參考資料)來加速 Web 服務。

此標準草案旨在比當前 XML 解析器更有效地處理 Web 服務。解析器的行為更像解釋器,而不是編譯器。當解析器讀寫大型文件(特別是文本格式的大型文件)時,并不能達到其讀取較小的文件或計算簡單函數時的性能。甚至加密也可能使 Web 服務陷于停頓,因為必須執行復雜的計算才能獲得希望的結果。







兩個場景

我在第 2 部分中提到,從企業應用程序提取組件,然后將其重新構造為外部 Web 服務,這種做法更為恰當。如果這樣,您就可以更改 Web 服務中的代碼,而不用重新設計并編譯長時間運行的大型復雜應用程序。

第一個 SOA 中經過重新設計而顯得更加緊湊的應用程序(請參見圖 1)可以通過發送 Web 請求來與第二個 SOA 中的外部企業 MRP(托管資源原型)Web 服務進行動態鏈接。而 MRP Web 服務又指向第三個 SOA 中的外部企業 CRM Web 服務。客戶關系管理 (CRM) Web 服務隨后將請求和信息發送到該應用程序以進行進一步處理。


圖 1. 動態鏈接到 Web 服務
與 Web 服務動態鏈接

讓我們假定在任何給定時間都可能出現對多個基于 XML 的 Web 服務的多個 Web 請求。鏈接到其他遺留系統或大型企業系統的企業應用程序未在上圖中顯示,而這些系統又與接收多個 Web 請求的多個 Web 服務鏈接。當大量使用時,Web 服務會變得過于龐大,從而阻塞網絡通信。

一個解決方案就是向基于 XML 的 MRP 和 CRM Web 服務應用 XOP 包(請參見圖 2),從而以二進制格式進行處理。


圖 2. 將 XOP 包應用于 Web 服務
圖 2. 將 XOP 包應用于 Web 服務

在第二個場景中,可以首先開發業務流程規則,然后開發根據現有 Web 服務構建新的 Web 服務所需的基于 XML 的 Web 請求。如果新的 Web 服務(業務邏輯 Web 服務或以數據為中心的 Web 服務)可以提供更好的或額外的服務和功能,則必須減少或完全消除冗余的 Web 請求、執行時間、訪問時間和帶寬。

問題在于,當創建新的 Web 服務并大量使用時,它們將會變得過于龐大。與第一個場景類似,您需要將 XOP 包應用于 Web 服務。對于這兩個場景,您都需要與系統管理員協作,以確定在不引起系統過載的情況下可以使用 XOP 包的 Web 服務的最大數目。







XOP 處理前的 Infoset

為了理解 XOP 的工作方式,我將首先討論一個與 SOAP 消息相似的 XML Infoset,其中描述了包含一張圖片和一個簽名的 XML 文檔。在清單 1 中,我使用粗體來突出顯示原始 XML Infoset,以說明哪些原始元素在 XOP 處理之前。


清單 1. XOP 處理前的 XML Infoset
												
																		

<soap:Envelope
    xmlns:soap='http://www.w3.org/2003/05/soap-envelope' 
    xmlns:xop='http://www.w3.org/2003/12/xop/include' 
    xmlns:xmlmime='http://www.w3.org/2004/06/xmlmime'>
  <soap:Body>
    <m:data xmlns:m='http://example.org/stuff'>
    
      
														
																
																		
																				<m:photo xmlmime:content-type='image/png'>
        /aWKKapGGyQ=
      </m:photo>
      <m:sig xmlmime:content-type='application/pkcs7-signature'>
        Faa7vROi2VQ=
      </m:sig>
																		`
      
    </m:data>
  </soap:Body>
</soap:Envelope>
  

														
												
										

正如您所看到的,其中有兩個元素:m:photo m:sigm:photo 元素采用 base64 編碼的內容為 /aWKKapGGyQ=,而 m:sig 元素采用 base64 編碼的內容為 Faa7vROi2VQ=。這些元素也稱為元素信息項。內容是元素的子項。請將該元素當作此子項的父項。子項是字符信息項,即包含字母數字字符的項。例如,m: photo 是子項 /aWKKapGGyQ= 的父項。該子項的名稱不便閱讀且難于發音,很容易出現鍵入錯誤。

當通過 XOP 處理放置 XML Infoset 時,可以解決此問題。XOP 的工作方式是:從原始 Infoset 提取優化內容,然后創建 XOP Infoset。優化內容是我剛剛談到的經過縮減的內容。在清單 2 中,我突出顯示了要刪除的內容。


清單 2. 要刪除的內容
												
																		

<m:photo xmlmime:content-type='image/png'>
        /aWKKapGGyQ=
      </m:photo>
      <m:sig xmlmime:content-type='application/pkcs7-signature'>`
        Faa7vROi2VQ=
      </m:sig>


												
										







XOP 處理后的 Infoset

XOP 處理涉及到三個步驟。第一步,使用 Infoset 中的二進制元素替換文本元素。第二步,在包含已替換元素的 Infoset 前添加 MIME 包。第三步,在該 Infoset 后添加另一個包。

第 1 步:替換元素

XOP 包使用名為 xop:Include 的新元素信息項來替換刪除的內容。xop: Include 元素包含一個屬性信息項,帶有指向 XOP 包部分的鏈接,XOP 包承載從原始元素中刪除的數據的二進制表示。在清單 3 中,我突出顯示了替換原始 Infoset 中的圖片和簽名元素的內容的 xop: Include


清單 3. 替換后的元素
												
																		
 <m:photo xmlmime:content-type='image/png'>
        <xop:Include href='cid:http://example.org/me.png'/>
      </m:photo>
      <m:sig xmlmime:content-type='application/pkcs7-signature'>
        <xop:Include href='cid:http://example.org/my.hsh'/>
      </m:sig>
       
 
												
										

正如您所看到的, href='cid:http://example.org/me.png'/ 是圖片元素的屬性信息項,而 href='cid:http://example.org/my.hsh' 是簽名元素的屬性信息項。

更新 Infoset 部分(請參見清單 4)。而行數保持不變。


清單 4. 更新后的 XML Infoset 部分
												
																		
<soap:Envelope
    xmlns:soap='http://www.w3.org/2003/05/soap-envelope'
    xmlns:xop='http://www.w3.org/2003/12/xop/include'
    xmlns:xmlmime='http://www.w3.org/2004/06/xmlmime'>
  <soap:Body>
    <m:data xmlns:m='http://example.org/stuff'>
      <m:photo xmlmime:content-type='image/png'>
        <xop:Include href='cid:http://example.org/me.png'/>
      </m:photo>
      <m:sig xmlmime:content-type='application/pkcs7-signature'>
        <xop:Include href='cid:http://example.org/my.hsh'/>
      </m:sig>
    </m:data>
  </soap:Body>
</soap:Envelope>

												
										

第 2 步:在 Infoset 前添加 MIME 包

為了完成更新,需要使用 MIME Multipart/Related 包中的 XOP 對原始 Infoset 進行序列化。XOP 是一種更有效的方法,用于序列化包含特定類型的 Xquery 和 Xpath 2.0 元素內容的 XML Infoset。

在更新后的 Infoset 前后各添加一個 MIME 包,以分別描述包含文本格式和二進制格式的圖片和簽名的 XML 文檔。在清單 5 中,我突出顯示了 XOP 包識別 8 位文本格式的 XML Infoset 的代碼。


清單 5. Infoset 前的 XOP 包部分
												
																		
 MIME-Version: 1.0
Content-Type: Multipart/Related;boundary=MIME_boundary;
	      type=text/xml;start="<mymessage.xml@example.org>"
Content-Description: An XML document with my picture and signature in it

--MIME_boundary

														
																
																		
																				Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
																		
Content-ID: mymessage.xml@example.org

 
														
												
										

第 3 步:在 Infoset 后添加 MIME 包。

清單 6 顯示了 XOP 包如何識別已被刪除的數據的二進制表示。


清單 6. Infoset 后的 XOP 包部分
												
																		
  --MIME_boundary

														
																
																		
																				Content-Type: image/png
Content-Transfer-Encoding: binary
																		
Content-ID: <http://example.org/me.png>

// binary octets for png

--MIME_boundary

														
														
																
																		
																				Content-Type: application/pkcs7-signature
Content-Transfer-Encoding: binary
																		
Content-ID: <http://example.org/my.hsh>

// binary octets for signature

--MIME_boundary--
      
  
														
												
										

正如您所看到的,Infoset 后的 Content-ID 的二進制內容,xop: Include element 中提到的鏈接代替了 Infoset 前的消息的文本內容。







最終結果

清單 7 給出了序列化為 XOP 包的整個 XML Infoset。盡管其中還有其他行,但是此包比原始 Infoset 的 XML 解析器的效率高得多。


清單 7. 序列化為 XOP 包的 XML Infoset
												
																		

MIME-Version: 1.0
Content-Type: Multipart/Related;boundary=MIME_boundary;
	      type=text/xml;start="<mymessage.xml@example.org>"
Content-Description: An XML document with my picture and signature in it

--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <mymessage.xml@example.org>

<soap:Envelope
    xmlns:soap='http://www.w3.org/2003/05/soap-envelope'
    xmlns:xop='http://www.w3.org/2003/12/xop/include'
    xmlns:xmlmime='http://www.w3.org/2004/06/xmlmime'>
  <soap:Body>
    <m:data xmlns:m='http://example.org/stuff'>
      <m:photo xmlmime:content-type='image/png'>
        <xop:Include href='cid:http://example.org/me.png'/>
      </m:photo>
      <m:sig xmlmime:content-type='application/pkcs7-signature'>
        <xop:Include href='cid:http://example.org/my.hsh'/>
      </m:sig>
    </m:data>
  </soap:Body>
</soap:Envelope>

--MIME_boundary
Content-Type: image/png
Content-Transfer-Encoding: binary
Content-ID: <http://example.org/me.png>

// binary octets for png

--MIME_boundary
Content-Type: application/pkcs7-signature
Content-Transfer-Encoding: binary
Content-ID: <http://example.org/my.hsh>

// binary octets for signature

--MIME_boundary--
        

												
										







結束語

為了運行具有 XOP 包的 Web 服務,需要事先進行計劃,以確定應該如何設計應用程序,從而避免高峰時過載。應該就優化 Web 服務時應采用何種編碼技術與系統管理員團隊進行溝通。

您會發現解決這些問題后,您的 Web 服務應用程序優化工作變得容易得多。您可以使用 IBM Relational Web Developer for WebSphere? Software 來開發基于業務流程的 Web 服務,然后在 SOA 內部及各個 SOA 之間將其與 XOP 包一起使用。管理員會發現,解決了這些問題也使得他們的網絡管理工作變得更加輕松。他們能確定在不引起系統過載的前提下,可以將多少應用程序與 XOP 包一起使用。

posted on 2006-04-17 04:06 wsdfsdf 閱讀(231) 評論(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>
            欧美日韩视频在线| 午夜精品久久久久久久99水蜜桃| 欧美伊人久久久久久久久影院 | 伊甸园精品99久久久久久| 免费观看一区| 奶水喷射视频一区| 欧美国产亚洲视频| 欧美日韩在线综合| 久久精品噜噜噜成人av农村| 中国成人在线视频| 一区二区毛片| 午夜在线视频一区二区区别| 久久国产精品黑丝| 蜜桃久久av一区| 91久久线看在观草草青青| 久久婷婷成人综合色| 亚洲第一视频| 亚洲一区二区视频在线| 亚洲综合国产精品| 久久av一区二区三区| 蜜臀va亚洲va欧美va天堂| 欧美精品久久久久久久久老牛影院 | 欧美制服丝袜第一页| 欧美激情一区二区三区全黄| 欧美日韩欧美一区二区| 黑人巨大精品欧美一区二区| 一本到12不卡视频在线dvd| 久久精品视频99| 亚洲国产日韩一区| 巨胸喷奶水www久久久免费动漫| 欧美激情精品久久久久久大尺度 | 一区二区三区精品在线| 美女视频黄免费的久久| 欧美体内谢she精2性欧美| 免费亚洲婷婷| 欧美资源在线| 亚洲黄色三级| 亚洲欧美日韩国产中文在线| 美国十次了思思久久精品导航| 99精品欧美一区二区三区| 欧美激情精品久久久久久| 国产精品v欧美精品v日韩| 在线不卡a资源高清| 久久影院午夜片一区| 欧美综合国产精品久久丁香| 国产色产综合色产在线视频| 亚洲欧美中文在线视频| 中文有码久久| 国产亚洲免费的视频看| 久久久久久一区二区| 久久精品国产精品亚洲| 国产一区二区三区高清| 欧美成人午夜激情| 六月婷婷一区| 中文亚洲免费| 久久国产主播精品| 亚洲国产日韩欧美在线99 | 国产偷久久久精品专区| 欧美成人四级电影| 欧美午夜精品理论片a级按摩| 亚洲专区国产精品| 久久蜜桃精品| 亚洲在线免费观看| 免费视频一区二区三区在线观看| 亚洲开发第一视频在线播放| 亚洲在线免费| 亚洲一区999| 欧美成人一区在线| 欧美午夜电影在线观看| 久久久久久综合网天天| 欧美日韩国产精品专区| 欧美成人精品一区二区三区| 国产日韩在线播放| 99国产精品国产精品久久| 亚洲国产精品精华液网站| 国产区二精品视| 亚洲欧美日韩精品久久| 中日韩在线视频| 欧美日韩在线观看视频| 亚洲另类视频| 久久精品亚洲热| 国产精品久久久久久亚洲毛片| 欧美一区二区视频在线观看| 欧美日韩免费一区| 亚洲一区二区三区国产| 午夜精品久久一牛影视| 免费成人黄色| 红桃av永久久久| 免费成人高清| 亚洲毛片在线观看| 小处雏高清一区二区三区| 国产精品日韩精品欧美精品| 午夜视频一区二区| 美国十次成人| 亚洲午夜电影网| 欧美三级电影一区| 亚洲一区视频在线| 免费日韩视频| 亚洲欧美在线磁力| 亚洲第一区在线| 欧美日韩亚洲激情| 久久国产精品久久国产精品| 亚洲人成网在线播放| 久久这里有精品15一区二区三区| 亚洲自拍16p| 久久久久久夜| 亚洲精选在线观看| 国产欧美日韩亚洲一区二区三区| 久久精品中文字幕一区| 99亚洲精品| 99热免费精品在线观看| 麻豆成人精品| 久久久久久久尹人综合网亚洲| 亚洲美女av黄| 亚洲国产影院| 亚洲国产91色在线| 在线日韩av永久免费观看| 国产精品综合不卡av| 国产精品久久久久久福利一牛影视| 久久亚洲欧美| 麻豆av福利av久久av| 久久天天躁夜夜躁狠狠躁2022| 一区二区三区欧美成人| 亚洲精品国精品久久99热一| 欧美黑人国产人伦爽爽爽| 欧美韩日精品| 亚洲精品免费观看| 一本一本大道香蕉久在线精品| 亚洲日产国产精品| 亚洲日本中文字幕区| 亚洲精华国产欧美| 久久爱www.| 麻豆91精品| 国产精品夫妻自拍| 国产精品日日做人人爱 | 午夜精品久久久久久99热| 欧美高清视频免费观看| 久久综合久久美利坚合众国| 欧美另类一区| 伊人久久婷婷色综合98网| 99国产精品视频免费观看| 亚洲欧美另类综合偷拍| 欧美黑人在线观看| 欧美劲爆第一页| 久久免费黄色| 国产精品美女主播| 亚洲人成人99网站| 久久久久久久久伊人| 亚洲精品小视频| 久久久久久9| 国产精品推荐精品| 一本久久a久久免费精品不卡| 久久福利资源站| 中国亚洲黄色| 欧美午夜剧场| 亚洲深夜福利| 亚洲剧情一区二区| 欧美粗暴jizz性欧美20| 在线观看亚洲精品| 免费亚洲电影在线| 久久综合一区二区| 今天的高清视频免费播放成人 | 美女爽到呻吟久久久久| 久久亚洲综合网| 亚洲国产一区二区三区a毛片| 欧美成人国产va精品日本一级| 久久精品人人做人人综合| 亚洲电影毛片| 一区二区三区视频在线| 国产精品一区一区三区| 麻豆久久婷婷| 欧美四级在线| 免费av成人在线| 国产精品www色诱视频| 久久一区二区三区四区| 欧美日韩免费视频| 蜜桃av久久久亚洲精品| 欧美日韩亚洲另类| 男女精品视频| 国产精品theporn88| 久久久久www| 久久国产精品亚洲77777| 日韩视频精品在线观看| 欧美一级电影久久| 一本色道久久综合精品竹菊| 午夜久久久久久久久久一区二区| 亚洲精品国产日韩| 久久国产精彩视频| 小黄鸭视频精品导航| 欧美精品一区在线观看| 老巨人导航500精品| 国产女同一区二区| 亚洲专区在线视频| 久久久国产精品一区| 国产午夜精品麻豆| 久久成人资源| 女主播福利一区| 在线精品亚洲一区二区| 久久综合给合久久狠狠色| 免费久久99精品国产自|