OData一統江湖 加速催化Open Data應用 智慧應用 影音
EVmember
英特內

OData一統江湖 加速催化Open Data應用

  • DIGITIMES企劃

OData是微軟、IBM與SAP等大廠發起成立的網頁開放式資料協定,自4.0版本開始採用REST原則,於2014年為OASIS委員會採納成為業界標準。odata.org
OData是微軟、IBM與SAP等大廠發起成立的網頁開放式資料協定,自4.0版本開始採用REST原則,於2014年為OASIS委員會採納成為業界標準。odata.org

所謂開放資料,意謂可以廣泛、便捷地被人與機器獲取之公開資料,跨越技術、法律與使用的鴻溝,也是新經濟增長的強勁動力,可望為在地的中小企業,帶來創新性的生態系統。

具體來說,公部門基於運轉或經營上之需要,勢必持續產生大量資料。論及公開資料加值,便是開放這些「公部門資訊」,在保障個資的前提下,提供目的外之加值運用。此一趨勢除可望實現全民參與、透明化政府的效益外,亦將產生莫大商業價值。

根據歐盟官方組織(EUROPA)的調查報告指出,歐盟27國因公部門資訊再利用,所產生之市場直接規模產值,再加上間接帶動的經濟利益,估計每年可高達1,400億歐元之譜。正因如此,歐盟各國紛紛制定策略、設立基金會,支持公開資料加值的產業發展;而時至今日,無論美國、大陸、新加坡,甚至遠在非洲的肯亞,積極響應開放資料的各國政府不計其數,足見已成為大勢所趨。

早在2011年7月,肯亞政府即實施一項令世人驚嘆的舉措,正式啟動該國的開放資料計畫(Open Data Initiative),當時首波開放的資料,包括人口調查統計、國家/地方預算與支出、以及重大公共專案(含括公共衛生、貧窮、基礎建設等範疇)的相關數據。

儘管在當時,美國的data.gov已成立逾兩年,而英國的data.gov.uk也成立一年半,相形之下,肯亞的Open Data Initiative看來不足為奇;然而其開放資料,接連締造很多個第一,首先是非洲大陸的頭一遭,其次是「低所得國家群」的第一次,再者也是網路低度普及國家的第一次。不僅如此,當地公民團體也把握這個難得機會,鼓勵在地與國際技術好手共襄盛舉,善加利用這些首次曝光的寶貴公開資料,藉以分析肯亞國家發展現況,研究區域性落差問題,同時也為國際發展援助及本土公民運動,提供更豐富的背景分析。

大廠聯手催生OData  成為OASIS業界標準

由此可見,開放資料趨勢已是沛然成形。著眼於此,包括微軟(Microsoft)、IBM與思愛普(SAP)等IT大廠,遂發起成立「開放資料協定」(Open Data Protocol;OData),在OData 4.0版本開始使用REST原則,旨在定義如何搭建RESTful API,以及如何訪問這些API的規範,爾後成為OASIS委員會所採納的工業開放標準;值得一提的是,OData箇中擁有大量開源碼項目,也支援跨平台、多語言。

OData支援資料模型的描述,以及依據資料模型的資料進行查詢與更新功能,至於協定的規則,則來自於REST規範,且藉由既有的HTTP,外加標準的CRUD方式所組合而成。綜觀OData設計原則,大致依循幾個關鍵概念,包括了傾向機器能夠儲存各種資料來源、服務能夠支援拓展性的功能、以REST設計原則為導向、易於建構具兼容性的服務,以及保持簡單。

換言之,OData僅定義抽象的資料模型與協定,使任何一種客戶端,皆能夠公開存取任何一種資料來源,而客戶端係利用OData Client Library與OData Protocol的方式,透過OData的資料模型,來存取OData Service上的資料。

上列描述,正好點出幾個OData的核心組件。首先是OData的資料模型,其採用Entity Data Model(EDM)描述資料,與微軟的Entity Framework(EF)頗為近似;其次是OData Protocol,負責把將客戶端需求傳給OData Service,等到收到請求後,再經由OData Service回應予客戶端,而它是一種互動式的RESTful,如同HTTP一般,可針對資料執行新增、讀取、修改與刪除(CRUD),而OData所定義的查詢語言亦採納這般模式,而且資料在OData Service回傳客戶端時,兼能支援XML或JSON格式。

第三項核心組件是OData Client Library,其能夠很容易寫入一個應用程式,以便於經由OData Protocol而存取資料,但值得一提的,儘管OData Client Library並無嚴格的規範與要求,惟大部分OData Clients為應用程式,必須事先提供OData傳送方式的Library,以利於開發人員開發這些應用時,得以更簡單的實現。

最後是OData Service,顧名思義是一種開放式的端點,旨在讓用戶端可以存取資料,Service實作OData Protocol與利用OData抽象的資料模型,至於資料來源類型,可能是相關的Tables或SharePoint Lists等,主要是轉換為固定資料型式,再回傳給客戶端。

若簡單將OData的應用領域,拆解為客戶端、資料來源等兩大部份,則其中資料來源區塊,包含了Custom Applications、雲端儲存、內容管理軟體,及Windows Azure Marketplace DataMarket等主要項目。

Custom Applications意指如同臉書、eBay或Netflix…等等常見的企業級應用程式,它們皆可透過OData來存取開放資料,而非採用自身專屬的機制來存取;而為了更易於實現此目的,無論是Net Framework或Java Applications,都可以運用利用OData函式庫作為資料來源。雲端儲存方面,則以微軟的Windows Azures最為典型,直接就內建了OData資料表的存取協定,另一方面,OData也在SQL Azure中,支援存取關聯式資料。內容管理軟體部份,係指SharePoint、Webnodes支援內建的OData存取開放資料。此外以Windows Azure Marketplace DataMarket為基礎的服務,用以搜尋、購買與存取商業資料,皆可經由OData的方式,讓應用程式順利存取這些資料集。

而在客戶端區塊,則包含了Web瀏覽器、行動作業平台、商業智慧(BI)工具與Custom Applications的核心組件。其中各個常見的主流瀏覽器,都可對OData的資料來源進行存取;在行動平台部份,包括Android、iOS或Windows Phone,皆支援OData Client Library;BI工具部份,舉凡Microsoft Excel所提供的資料分析工具PowerPivot,乃至於Tableau Desktop,都可支援OData;有關Custom Applications,目前包括NET Framework、Java、PHP甚或其他技術,全都支援OData程式。

採用支援OData的平台  助公部門加速處理開放資料

簡言之,OData是開放資料交互的REST標準,其對於開放資料的意義與效益,主要展現於三個面向。第一是資料導入,對於公部門而言,僅需歷經建立資料集、添加資料、配置資料等簡單三步驟,便可完成資料導入程序,且兼能支援Word、Excel、CSV、JPG、HTML、URL…等等眾多文件格式;其次是資料歸納、整理與檢索,OData所定義的資料模型中,包括三個清晰可見的環節,一是資料集的分類查詢,二是融合資料集、機構與群組的三重視角,三是全文與模糊查詢機制,方便公部門妥善處理常用的資料與檔案;第三是資料可視化,以地理位置相關的資料為例,當輸入的數據含有地理資訊(例如經緯度),支援OData的開放資料平台會自動生成地圖應用,而平台也能支援基本的圖表產生工具。

更重要的,支援OData的開放資料平台會識別結構化資料(Excel、CSV),並自動產生OData開放資料API,藉由這些OData API,使得該平台的資料,即可被各種跨平台應用所訪問與使用。

以微軟為例,便挾著長年擁抱開源、貢獻開源的累積能量,輔以標榜靈活開放特質的Azure公有雲,據此建立開放資料平台框架,以期幫助公部門建立開源、開放的Open Data處理機制。

綜觀上述平台的架構設計,主要是取材於Open Data的完整生命週期,故而內含資料導入、資料處理與儲存、資料發佈等主要機制。用戶採用此平台的第一步,需要先針對政府公文、紙面資料、其他網站上的動靜態資料或鏈結等所有原始資料予以分類,繼而依據資料屬性採取對應的適用方式,將這些資料匯入平台,然後進行附加資料描述與標籤(以便於整理與檢索)、指定資料授權模式、配置資料可見性、添加自定義屬性等作業流程。

接著按適當方式完成資料儲存,例如將地理空間資訊存入空間資料庫管理系統(GIS),將非結構化資料存入既有檔案系統、或公有雲Object Storage空間,並將結構化資料存入關聯式資料庫、或Azure SQL Database等雲端資料庫服務,但如果結構化資料量過大,可選擇使用NoSQL等新興儲存技術。

最後執行資料可視化,待完成後即可面向資料用戶,以Web UI、社群媒體、或OData/JSON API等途徑進行發佈。

關鍵字