可是,用了之後會發現,OData根本就沒有怎麼一回事。(如果我們純粹扮演資料消費者的角色時)
首先來到OData.org 先看看別人提的資料服務。
點選【Browser...】後,就可以看到熟悉又陌生的東西。你會說怎麼跟Sharepoint這麼像!?應該是說,Sharepoint也支援OData標準,只是在微軟的世界裡,他們更喜歡用WCF這個字眼吧。注意那個URL,那就是資料服務源的路徑。
我們確認好,這個資料服務源沒有問題之後,我們就複製這個路徑要LINQPad去看看吧。
首先是下載LINQPad並安裝。這個是免費的,但只能在視窗環境下執行。
開啟後,就新增一個連線吧。他會跳出一個視窗。因為我們是要用OData,當然很清楚的選擇後按【Next】就對了。
來到下一個視窗。
就把剛剛再瀏覽器開啟的資料源URL貼上去。然後你可選擇兩個回傳格式。這邊先用XML,否則用JSON又得先說說什麼是JSON。
若不放心,可以再按【Test】按鈕,看看對不對(其實這邊是不用啦,不是已經用瀏覽器側試過了嗎?如果是自己寫的資料源,記得就先測試看看URL寫的對不對)。最後【Ok】回主畫面。
這下子就得看你的網路頻寬了。(從這可以衍生,頻寬真的是一個國家的競爭力來源)
反正,最後應該會出現下列讓你感動的畫面。
是的,這個資料源的所有Entity都抓回來了。Entity?不習慣?那就把他當做是資料表吧。
其實,OData到這邊就結束了(哈~)
接著就是你針對這個資料源要用HTTP的協定進行各式的操弄。
因為是在LINQPad當然可以用Linq的語法來玩玩。
我們就看看Products這個Entity吧。選擇產品類別編號為1者。點選執行,就得結果。
等等!!
iOS環境下用XCode又沒有Linq(硬要也有啦,用MONO)那怎麼辦?
不是說了嗎OData是透過Http的方式來做資料交換,所以來看看他真正存取資料的方法是什麼。
點選【Request Log】就了解了。(是Log,就表示是背後的真正流程)
再拿這個URL貼在瀏覽器上吧。
有感覺了嗎?再看看原始碼吧。
由於目前所使用的資料服務源非OData 3.0,所以沒有辦法測試JSON的結果。
之前自己有在玩HL7,從這些技術發展看來。其實,有跟沒有根本已經不重要了。
沒有留言:
張貼留言