xml在传统制造业供应链中的应用分析(四)

上传人:自*** 文档编号:80029705 上传时间:2019-02-18 格式:DOC 页数:23 大小:162.50KB
返回 下载 相关 举报
xml在传统制造业供应链中的应用分析(四)_第1页
第1页 / 共23页
xml在传统制造业供应链中的应用分析(四)_第2页
第2页 / 共23页
xml在传统制造业供应链中的应用分析(四)_第3页
第3页 / 共23页
xml在传统制造业供应链中的应用分析(四)_第4页
第4页 / 共23页
xml在传统制造业供应链中的应用分析(四)_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《xml在传统制造业供应链中的应用分析(四)》由会员分享,可在线阅读,更多相关《xml在传统制造业供应链中的应用分析(四)(23页珍藏版)》请在金锄头文库上搜索。

1、http:/ 第一部分 郭 路 (gl2_)Technical Manager2001 年 6 月傳遞XML資訊流的通信協定基本可分爲兩類:與XML無關及與XML有關的。當協定與XML無關時XML文檔被視爲一般的文本資料,因此可以與各種通用的網路通信方式結合。當協定與XML有關時,即傳遞資料的載體必須爲XML格式,目前這樣的協定有XMLRPC、SOAP、WDDX等,它們都屬於應用層協定。由於第一類方法中,XML資訊的處理與一般資訊無二,即使用傳統的網路通信方法即可,因此本文僅作簡要介紹;而對第二類方法,本文將會逐一做較爲詳細的說明,並試圖分析XML-RPC、SOAP、WDDX等協定之間的異同。

2、與XML無關的傳輸模式通常在分散式的企業內部管理系統中,用於傳遞資料的常見方法有: 使用傳統通信協定:如TCP/IP、SOCKET、IPX/SPX等; 使用消息佇列傳遞:如MessageQ、MSMQ、MQSeries等; 使用郵件服務系統:如Exchange Server、Lotus等; 使用分散式應用元件模型:如CORBA、DCOM、RMI等; 使用資料庫伺服器:如ODBC、ADO、OLE DB資料源等; 對於如TCP、IP、SOCKET、IPX等處於傳輸層或傳輸層以下的協定,資訊一般以純資料流程形式傳遞。或者將資料拆分打包(如TCP、UDP、IPX、SPX等),或者指定存有傳遞資料的發送緩

3、衝區(如SOCKET),通信協定並不瞭解所傳遞的內容,此時的XML資訊被整個視爲一個字元整串傳遞。消息佇列傳遞通常是針對某種MQ應用軟體而言的(本文中對消息的定義僅在應用層,是一種高級的通訊模式,與Windows編程模型中的事件消息定義不同),對於這類軟體,消息是網路資料傳遞的基本方式,一般用一個消息佇列伺服器來統一管理消息,消息大致可分爲資料報、請求、應答、報告等基本類型,不管何種類型,消息都由消息描述符與實際資料組成。通常消息伺服器不需瞭解消息的內容,不過由於消息用戶端一般總是需要定制的,我們可以使用DTD與DOM對消息進行約束,通過對MQ Client的二次開發(發送端與接收端都需要),

4、使消息面向XML。目前已有包括微軟在內的一些MQ軟體提供商表示將在其下一代消息軟體中支援XML,由於消息採用XML規範,因此可以輕易地實現異構網路的通信,比如說,可以開發UNIX版的MSMQ用戶端,而原來MSMQ必須基於Windows平臺。與消息佇列傳遞相似的是郵件服務系統,其基本原理是在網路中建立一台郵件伺服器,即郵局,每一個客戶可以在郵局中建立自己的郵箱並設置收信密碼,並將自己的郵箱位址發佈到通訊錄,其他客戶可以將電子郵件發到其郵箱中,而收件人通過密碼打開郵箱取信。通常我們使用SMTP協定發信,POP3協定收信,二者都是應用層協定。電子郵件是一種非常成熟的資料交互模式,在此基礎上建立起的一

5、系列規範已成爲工業標準,如郵件的加密、數位簽名、多媒體傳輸(MIME)等。通常採用郵件發送XML資料有兩種形式,作爲電子郵件原文或附件,在應用上二者沒有大的區別。目前各郵件服務系統的郵件管理都是通過後臺的資料庫管理實現的,除了使用指定的用戶端收發郵件外,通常也都提供了直接訪問郵局的編程介面(如可以通過ADO介面訪問Exchange Server),開發人員可以由此定制自己的郵件用戶端。與前三類對話模式不同,由於分散式元件模型支援常見的資料類型(與Schema和DTD相容),因此我們針對不同類型的XML文檔-以資料爲中心的(Data-Centric)或以文檔爲中心的(Document-Centr

6、ic),可以採取不同的傳輸策略,對於以文檔爲中心的XML資訊(如標書,通知,信函等),通常還是將整個文檔打包處理,對於以資料爲中心的XML資訊(如採購訂單、生産計劃等),由於可以非常方便地用結構資料類型表示,因此我們可以對其進行如下處理:此時網路通信的輸入輸出源均爲XML格式,而實際資料的傳輸則使用與編程模型相對應的格式。這種方法與WDDX非常相似,事實上它與WDDX的主要區別就在於二者資料結構的映射順序正好相反(關於WDDX將在下一節介紹)。這樣做的好處在於:1. 少數據冗餘(XML由於包含大量標記,因此會造成一定資料冗餘,同時通過映射,可以過濾掉不需要傳遞的子元素和屬性); 2. 強資料約

7、束(XML元素中資料通常被統一視爲字串類型,因此很難判斷基本資料類型的錯誤,通過結構類型的映射可以對每個葉子結點作顯式的類型聲明); 3. 易實現資料的安全傳輸(XML本身不包含資料的安全加密,而諸如DCOM、CORBA這樣的分散式元件模型中都已內含完整的資料安全策略,使用元件模型開發人員可以透明的實現資料的安全傳遞); 4. 提高資料傳遞的靈活性(除了前面提到可以過濾不需要的子元素和屬性外,通過映射與反映射,可以不使用XSLT就實現XML到XML的轉換)。 目前已有一些CORBA軟體商聲稱將在其産品中支援SOAP協定,這樣今後我們在開發時也許就可以無需映射直接傳遞XML資料了。資料庫伺服器同

8、樣支援常見的基本資料類型,這種資料交互模式一般用於應用層與資料層之間的資料交換,最爲典型的例子就是將應用伺服器輸出的XML資料流程保存到資料庫中。由於資料庫高度結構化的特性,我們很少用它來傳輸以文檔爲中心的XML資訊(除非將一個XML文檔保存到單個欄位中),通常情況下,我們可以使用一個XML-資料庫中間件(如ORACLE的XML SQL Utility for Java and XSQL Servlet,InfoShark的XMLShark等)來封裝XML資料資料庫記錄集的映射以及網路間的資料傳輸。當然,也可以使用DOM或SAX解析出XML文檔子元素,然後通過ODBC等資料庫介面傳輸到遠端的資

9、料庫中,對於像ADO這樣本身就已支援XML的資料庫編程介面(可以將一個XML文檔直接當作記錄集使用,或將記錄集直接輸出爲XML格式),只要將XML資訊的表示稍加約束,添加一些附加的映射資訊,無需DOM解析便可直接傳遞。基於XML的資料傳輸模式XML-RPC協定如果有一種資料傳輸協定,無需映射、打包,只需附加少許對XML文檔格式的約束,便可以直接傳輸XML文檔,顯然,這將大大簡化我們資料傳輸的流程。XML-RPC正是這樣的一種應用層傳輸協定。首先我們將XML資料視作簡單的文本,此時可以選擇HTTP爲資料傳輸協定,HTTP不僅是最簡單最通用的原文傳輸協定,其優點還在於幾乎所有的防火牆都允許HTTP

10、(缺省80埠)通過,換言之,幾乎所有的電腦其HTTP 80埠都是開放的。這種特點在企業局域網中也許並不明顯,因爲我們知道需要交互資訊的是哪兩台電腦,並可以要求系統管理員開放出固定的通信埠。然而在一個互聯網電子商務的環境中,設想一下,假設某個供應商訪問了我的網站,並申請成爲我們的會員,當他按了WEB頁面上確定申請的按鈕後,我希望可以POST一份會員手冊給他,我不知道該供應商的電腦上是否裝有防火牆,我唯一可以確定的,就是其HTTP埠是開放的,爲了保證我POST會員手冊的動作不會失敗,顯然我應該選擇通過HTTP埠進行手冊的傳輸。XML-RPC的實現是基於HTTP POST方法的,也就是說XML-RP

11、C的傳輸資料流程遵循HTTP格式,它可以是手工建立的,也可以是通過XML-RPC介面自動生成的。事實上,與其說XML-RPC是一種傳輸協定,倒不如說其是一種網路編程介面定義規範更準確些,因爲它封裝了HTTP(有點像是一個SHELL),實際的資料傳輸全部由HTTP完成,通過這種介面規範,用戶端可以指定目標電腦,並將XML資料(包括目標方法和參數)傳遞給它,目標電腦通過XML-RPC介面得到XML資料,處理後將結果值以同樣的方式(XML報文格式)返回給用戶端。由於XML-RPC實際使用的是HTTP協定,因此在傳輸過程中,它會沿襲HTTP協定本身的各項屬性,比如說,除了前面所說的繞過防火牆外,還可以

12、對XML-RPC使用SSL、SHTTP等安全協定。首先來看如下的一段XMLRPC請求:POST /RPC2 HTTP/1.0 /請求報頭User-Agent: Frontier/5.1.2 (WinNT)Host: 202.96.96.68Content-Type: text/xmlContent-length: 280 /請求報文 CreateOrderForm /調用方法名:新建採購訂單 /參數組 鴻雁電器 /指定採購供應商 三向插頭 /指定採購物品 2000 /指定採購數量20010321T12:00:00 /指定交貨時間 上述請求的XMLRPC回應如下:HTTP/1.0 200 OK

13、/回應報頭Connection: closeContent-length: Content-Type: text/xmlDate: Fri, 16 Mar 2001 14:30:01 GMTServer: Win Server /回應報文 SX0002001 /訂單新建成功,返回訂單號 顧名思義,XML-RPC是一種通過XML實現遠端方法調用(Remote Procedure Calls)的手段,它能夠完成與CORBA、DCE RPC、SUN RPC相類似的功能,即調用遠端電腦上的方法(程式),並將結果集返回。然而由於使用了XML,使其在應用中具有了無與倫比的靈活性,XML-RPC是一個純粹的有線協定,其規範是完全開放的,不要求使用任何第三方的ORB技術(微軟或其他廠商),事實上,由於XML-RPC是如此簡單,我們完全可以自己編寫一個API來實現其調用。正如上面的範例所示,XML-RPC報頭遵循HTTP規範,消息體使用規範的XML格式,其包含著在遠端伺服器上執行的方法以及這些

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号