第一步
處理程序使用SQL服務器數據庫中的數據建立一般的內部XML訂單文件。對于我們的例子,我們將從三張表中抽取數據,包括PartnerInfo、PartnerOrders和PartnerOrderItems。(一個SQL腳本包括在下載的例子中,因此你可以自己建立此數據庫)。PartnerInfo儲存了第二步中需要的合作伙伴指定的XSL文件的目錄位置。PartnerOrders和PartnerOrderItem包含了所有的從Web站點生成的訂單數據。你同樣可容易地從現存的訂單表中抽取數據,并且把他們和類似于PartnerInfo的表連結起來。
在步驟一中,處理程序簡單的查找所有還沒被處理的合作伙伴訂單數據。它獲取這些數據并建立我們內部的XML訂單文檔。這些文檔包括一個所有數據超集,這些數據是我們可能需要傳送給未來的合作伙伴的。這些文檔都是一般化的并且遵循一個內部的標準,這是為了任何我們的系統可以理解如何讀取這些文件。第一步完成以后,所有生成好的文檔被保存在內部發件箱中。
內部XML訂單文檔的特性:
- 包含了合作伙伴指定的XSL文件的目錄位置
- 遵循內部標準(可能的話最好是工業標準)
- 是訂單數據的超集
讓我們隨著這段XML語句貫穿整個系統:
<OrderShipping_Details> <Name>John P Doe</Name> <Address1>Street Address1</Address1> <Address2>Apt 1</Address2> <Address3></Address3> <City>CityName</City> <State>ST</State> <PostalCode>88888</PostalCode> <Country>US</Country> <Phone>123?56?890</Phone> <ShipMethod>Standard Shipping</ShipMethod> </OrderShipping_Details>
(注:這將是研究為了你們的產業而現存的標準的良好場所。檢查大綱(Schema,譯注:描述XML文件信息結構的文件,用來替代DTD的功能)或是DTD庫(譯注:DTD是文檔類型聲明,全稱是Document Type Declaration)。這樣你就不必做重復勞動了。)( 譯注:在國內還不可能有行業標準Schema)
步驟二
處理程序依次整理在發件箱中的內部訂單,并載入 XML 數據。于是它使用 XML DOM(譯注,DOM是文檔對象模型,全稱是Document Object Model)查詢文檔,并且查找到合作伙伴指定的XSL文件的位置。處理程序載入正確的XSL文件并且將它合并入內部的XML訂單數據來建立待發送的訂單XML文檔。如果這兒出現任何錯誤,處理程序保存內部XML訂單到內部訂單出錯目錄中。如果沒有錯誤發生,內部的XML訂單文檔則被保存到存檔目錄中,并且新的外送文檔將存在于合作者的發件箱目錄中。
外送訂單XML文檔的特性:
- 這個文件包含了處理程序為了分發訂單到給定合作伙伴的所需知道的所有信息。它包括兩個主要的元素:標簽和數據包
- 標簽包含一個分發的方法(例如:"PostAsForm",或是"FTP")
- 標簽包含任何所需的分發參數(例如:"PostToURL",或是"FTPassword")
- 數據包是為了加工合作伙伴訂單數據的一個容器元素
- 數據包是合作伙伴指定格式的數據
- 在此給出的應用程序,訂單數據從我們內部XML格式轉化為合作者指定的XML格式
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/