複製鏈接
請複製以下鏈接發送給好友

元數據交換

鎖定
元數據,通常定義為描述數據的數據,旨在便利存取、管理、共享和處理大量結構化和或非結構化的數據。元數據交換使數據交換各方之間按共同規則描述元數據信息,完成對元數據的存取交換功能,
中文名
元數據交換
外文名
MetadataInterchange
目    的
便利存取、管理、共享數據。
類    別
XML元數據交換
開發者
OMG組織
領    域
計算機

元數據交換元數據的定義

元數據,通常定義為描述數據的數據,旨在便利存取、管理、共享和處理大量結構化和或非結構化的數據。在過去的幾年裏,元數據的概念在現實中大量使用,如為了支持信息檢索,或為了軟件配置,或為了不同系統之間的數據交互。對於不同應用領域,元數據有着不同的應用,但這些元數據的存在有兩個共同點:元數據對數據進行描述;元數據的存在是為了更有效地使用數據,元數據是關於數據的結構數據 [1] 

元數據交換元數據作用

元數據的定義是“關於數據的數據”,比如傳統數據庫中的數據字典就是一種元數據。近年來,隨着計算機技術應用的廣泛化,元數據得到人們越來越多的關注,這是由多方面的需求決定的。
首先是管理數據的需求。當系統數據量越來越大時,檢索、使用這些數據的效率就會降低,通過存儲關於系統和數據的內容、組織、特性等細節信息(這些即為元數據)可以幫助有效地進行管理,從而提高效率。
第二是系統分佈、互通和重用的要求。目前信息系統一個共同的趨勢就是信息共享,要實現異構系統中的信息共享,就需要描述數據語義、軟件開發過程的元數據,而且這些元數據必須標準化,以充分實現分佈、互通和重用。
第三是元數據重用、綜合的需求。目前,很少有單一工具能滿足大型商業應用的需求,用户常常需要使用多種工具的組合,不同工具之間的數據交換的途徑之一就是通過標準的元數據。
元數據是關於數據的數據,是對“業務數據”本身及其運行環境的刻畫和定義的數據,因此元數據具有上述重要的功能。而且,現有企業不僅僅要處理好各種應用數據,更需要着力從事的是如何建立和管理好自己的企業級的元數據信息倉儲,使之成為連接各種應用的紐帶和衍生新應用的源泉 [1] 

元數據交換元數據交換的過程

WCF服務端的運行時,有一組類庫隨時待命把服務的元數據輸出為WSDL描述提供給請求者,只要有客户端按照服務端約定的方法來請求元數據,服務端立即將服務運行時狀態寫成WSDL文件提供。客户端得到的實際上就是WSDL文件(還有一些框架描述文件XSD),客户端拿到文件後再使用自己的方法來解讀WSDL,把他翻譯成客户端可用的源代碼或配置文件,這時客户端就得到了服務的編程模型,通過一些代理類,客户端甚至可以像調用本地對象一樣使用WCF服務。
因此整個過程是這樣:客户端向服務端請求元數據交換---服務端運行時將元數據編寫成WSDL文件提---供客户端獲得文件---客户端翻譯文件---客户端根據翻譯結果生成本地類代碼和配置---客户端獲得服務的本地編程模型。這就是元數據交換的過程 [1] 

元數據交換基於XML文本的元數據交換

XML元數據交換(XML Metadata Interchange),簡稱XMI,是由OMG組織開發的,它是統一建模語言UML模型中元數據的標準交換方式。
XML元數據交換算法是使數據交換各方之間按共同規則描述元數據信息的 XML 模板文檔,通過解析 XML模板文檔識別該元數據的信息,完成對元數據的存取交換功能,而無須知道各應用程序的元數據庫結構信息和元數據交換握手信號的規則等技術細節 [2] 

元數據交換實現原理

基於文本格式元數據交換的算法,是使不同應用系統之間在交換元數據時,各個應用系統可以按事先提供的一個按照共同規則描述了元數據信息的XML模板文檔,來解析模板文檔識別該元數據的信息,並完成對元數據的存取交換功能,而不用知道各應用系統的元數據庫結構信息和元數據交換握手信號的規則等技術細節。
整個元數據交換存儲系統由三部分組成應用系統、MSXML解析器組件和模板。組件實現對元數據的存儲和讀取,並嚮應用系統提供若干接口。應用系統可以利用組件提供的接口實現對元數據存儲和讀取,而無需知道存取的細節。XML模板文檔由應用系統的開發者提供,用來向組件提供要存取變量的詳細信息。
首先由應用系統生成一個模板文檔,此模板藉助XML技術詳盡地描述應用系統中需要交換的各個元數據的關鍵信息,如元數據名、元數據所佔字節大小和元數據包含字段個數等。它相當於應用系統和組件共同遵守的一個用來描述元數據信息的規則集,組件可以通過解析XML模板文檔辨別出應用系統中需要交換的元數據的信息。應用系統就可以通過調用組件公開的接口來對元數據進行存取操作,而無需知道實現存取的細節。組件根據接口參數傳入的元數據名稱,在XML模板文檔中找到相應的元數據信息,然後識別出它的具體信息,從而可以實現對該元數據的存取。由於組件可以通過XML模板文檔推斷出需要交換存取的元數據的信息,所以,組件端一旦交由應用系統使用,就可以不加改變地用來交換不同應用系統中的元數據 [2] 

元數據交換創建XML模板示例

XML文檔模板創建規則是在實際開發中可採用的、認為比較合理的一種規則,在實際應用中也可以創建其他規則,但前提條件是各個應用系統和組件端必須遵守同一個規則。電子試卷生成規則的 XML 文檔模板中元數據信息採用類對象描述方式,統一表達為 :
<testDocument> 
   <baseInfo> 
     <courseName></courseName>     //課程名稱 
     <student Name="" stuNo=""></student>   //學生姓名與學號 
   </baseInfo> 
   <pageSetting> 
     <paperSize height="" width=""></paperSize>    //紙張大小 
     <magin top="" bottom="" left="" right=""></magin>//頁邊距 
     <layout></layout>     //紙張方向 
   </pageSetting> 
   <examInfo> 
   <items count="" score="" type="" lastscore="" num="">//題型、
//小題數量、分值、最終得分、題號 
  <item score="" lastscore="" num="">//小題、分值與得分、題號 
        <topic></topic>     //題幹 
        <options count="">//選擇項,非選擇題一般不用此節點 
           <option></option>    
         </options> 
         <answer type="" doctype=""></answer>    //學生答案 
        <standardanswer type="" doctype=""> </standardanswer>    
//此題標準答案 
         <description></description>     
//教師評判,非客觀題的評分情況説明 
       </item> 
     </items> 
   </examInfo> 
</testDocument> 
<hashCode> 
<student></student>     //學生交卷後生成的數字簽名 
<teacher></teacher>     //教師評判後生成的數字簽名 
</hashCode> 

其中,testDocument 是XML文本模板文件交換元數據部分的開始標籤;baseInfo, pageSetting, examInfo 是 3 個基本類信息標籤,baseInfo 存儲課程名稱與學生基本信息;pageSetting存儲電子試卷的頁面設置信息用於控制試卷的顯示與打印,examInfo 存儲試卷的詳細信息,包括試題信息,學生的作答情況和教師的評判情況;hashCode 標籤用於保存考試試卷的數字簽名信息,保證電子試卷的完整性,防止試卷被惡意篡改。在學生考試過程中生成試卷時,標準答案項與教師評判項標籤均為空,在教師評卷時此類信息才會被加入到試卷中,以供打印或評估時查閲 [3] 
參考資料