元數據交換

元數據,通常定義為描述數據的數據,旨在便利存取、管理、共享和處理大量結構化和或非結構化的數據。元數據交換使數據交換各方之間按共同規則描述元數據信息,完成對元數據的存取交換功能,

基本介紹

  • 中文名:元數據交換
  • 外文名:Metadata Interchange
  • 目的:便利存取、管理、共享數據。
  • 類別XML元數據交換
  • 開發者:OMG組織
  • 領域:計算機
元數據概述,元數據的定義,元數據作用,元數據交換的過程,基於XML文本的元數據交換,概述,實現原理,創建XML模板示例,

元數據概述

元數據的定義

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

元數據作用

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

元數據交換的過程

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

基於XML文本的元數據交換

概述

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

實現原理

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

創建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>     //教師評判,非客觀題的評分情況說明        </wiki>      </wikis>    </examInfo> </testDocument> <hashCode> <student></student>     //學生交卷後生成的數字簽名 <teacher></teacher>     //教師評判後生成的數字簽名 </hashCode> 
其中,testDocument 是XML文本模板檔案交換元數據部分的開始標籤;baseInfo, pageSetting, examInfo 是 3 個基本類信息標籤,baseInfo 存儲課程名稱與學生基本信息;pageSetting存儲電子試卷的頁面設定信息用於控制試卷的顯示與列印,examInfo 存儲試卷的詳細信息,包括試題信息,學生的作答情況和教師的評判情況;hashCode 標籤用於保存考試試卷的數字簽名信息,保證電子試卷的完整性,防止試卷被惡意篡改。在學生考試過程中生成試卷時,標準答案項與教師評判項標籤均為空,在教師評卷時此類信息才會被加入到試卷中,以供列印或評估時查閱。

相關詞條

熱門詞條

聯絡我們