SlideShare a Scribd company logo
那些年,我們一起
 Open的Data
   kevingo
•   Open Data
•   Why Open Data
•   AccessTaiwan Project
•   技術手段
    – Spring MVC Framework
    – Spring Data for MongoDB
• 現況
• 目標展望
Open Data


可得性      可讀取


重複使用與
         自由使用
 散佈
Why Open Data ?

 透明度       民主監督     創新


改善政府效
           影響政策   產生新知識
  能

                  改善政府效
創造新經濟      自我啟發
                        力
非涉及   非侵犯
非個人   非機密
            隱私    權利
大戰略目標


 Data


          舒服的開
          發環境
RESTful
 API
AccessTaiwan
      主打將台灣觀光資料開放的計畫

  與組目標相同                   觀光議題有趣易推廣



       選定目標客群與開放的介面

   開發者                       跨平台的RESTful



         Done is better than perfect

先求有再求好打游擊戰略                   社群、持續接觸
Website    • http://www.accesstaiwan.org/


Facebook   • http://www.facebook.com/accesstaiwan


  Blog     • http://blog.accesstaiwan.org/


  API      • http://api.accesstaiwan.org
技術手段
            程式語言
            • Java




資料庫                     框架
• MongoDB               • Spring




            Protocol
            • RESTful
Spring
       Support

                     High
BSON
                 Performance



       MongoDB
Spring Framework
                   Spring Data for
SpringMVC
                     MongoDB


Spring Ecosystem      Spring Ecosystem




 Annotations for         High-level
    RESTful              operation
Happy Codeing with Spring MVC

   http://api.accesstaiwan.org/travel/entity?county=Taipei




                       Annotation          清楚乾淨的
                          Based            Controller


                                         ResponseBody
                      RESTful style
                                           For JSON
Happy Coding with Spring Data Mongo

 DBCollection coll = MongoDBFactory.getCollection(“mydb”,“mycollection”);
 DBObject doc = new BasicDBObject();
 doc.put("id", id);

 DBObject dbObject = coll.findOne(doc);

 Person person = new Person();
 person.setId(dbObject.get(“id”).toString());
 person.setFirstName(dbObject.get(“firstName”).toString());
 person.setLastName(dbObject.get(“lastName”).toString());
 person.setMoney(Double.valueOf(dbObject.get("money").toString()));




             Query query = new Query(where("pid").is(id));
             Person person =
             mongoTemplate.findOne("mycollection", query, Person.class);
台灣高鐵(THSR) API
 http://api.accesstaiwan.org/traffic/hsr/stops/




 [{
      "name": "Taipei",
      "id": "4f45d900a9d4d233a3efd586",
      "latitude": 25.04799,
      "longitude": 121.51643
 },
 {
      "name": "Banciao",
      "id": "4f45d900a9d4d233a3efd587",
      "latitude": 25.01453,
      "longitude": 121.4634
 },
 ]
目前Server配置




                          Internal


Web Server   API Server              MongoDB
現有資料
交通

• 高鐵 – 站名、經緯度、各車次時刻表
• 台鐵 – 站名、地址、經緯度
• 台北捷運 – 站名、地址、經緯度
• 高雄捷運 – 站名、地址、經緯度


旅遊景點

• 全台博物館 – 473筆
• 日月潭愛慢玩聯盟景點資料 – 251筆
• 全台景點資料(日月潭技正) – 10523筆
現有API
交通

 •http://api.accesstaiwan.org/traffic/hsr/stops/

 •http://api.accesstaiwan.org/traffic/hsr/stops/{stopName}
 •http://api.accesstaiwan.org/traffic/hsr/trains/
 •http://api.accesstaiwan.org/traffic/hsr/trains/{from}/{to}
 •… etc

旅遊景點

• http://api.accesstaiwan.org/travel/museums?type=專題博物館
• http://api.accesstaiwan.org/travel/museums?county=台北市
• http://api.accesstaiwan.org/travel/museums?desc=公立
• … etc
未來發展
• 作為旅遊服務平台基礎建設
 – 統一彙整不同來源資料
 – 提供標準資料存取介面
• 提供SI廠商進行加值服務使用
 – 時間、次數、數量計費
 – 授權金
• 爭取觀光局+故宮計畫
其他國家收費模式

   丹麥           英國         澳洲

• 一般查詢不收費   • 對於資訊加值採   • 資料加值採以下
• 企業使用或細緻   有價釋出授權模     混合收費模式
度高酌收費用      式           • 授權、買斷、指
                        派經銷商、範受
                        與經銷混合模
                        式、代理人,與
                        聯合投資
Happy Open Data !

More Related Content

Similar to 那些年,我們一起Open的data

Open Api&Sip
Open Api&SipOpen Api&Sip
Open Api&Sip
cenwenchu
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027Wei Sun
 
Hack & Go! Redefining API @ MOPCON 2014
Hack & Go!  Redefining API @ MOPCON 2014Hack & Go!  Redefining API @ MOPCON 2014
Hack & Go! Redefining API @ MOPCON 2014
Ben Lue
 
Data Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouseData Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouse
Jack Gao
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5 Tony Deng
 
從SOA到REST -- Web Service、WCF、WebAPI的應用情境
從SOA到REST -- Web Service、WCF、WebAPI的應用情境從SOA到REST -- Web Service、WCF、WebAPI的應用情境
從SOA到REST -- Web Service、WCF、WebAPI的應用情境
MIS2000 Lab.
 
资源整合与Web2.0
资源整合与Web2.0资源整合与Web2.0
资源整合与Web2.0
Shanghai Library
 
资源整合与Web2.0
资源整合与Web2.0资源整合与Web2.0
资源整合与Web2.0
Shanghai Library
 
Kevenjiaoda
KevenjiaodaKevenjiaoda
Kevenjiaoda
guest0c88ee
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)锐 张
 
用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services
javatwo2011
 
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
ssuserd6c7621
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
twMVC
 
KSDG BaaS Intro
KSDG BaaS IntroKSDG BaaS Intro
KSDG BaaS Intro
ericpi Bi
 
国际图象互操作框架(IIIF) APIs和应用实例
国际图象互操作框架(IIIF)  APIs和应用实例 国际图象互操作框架(IIIF)  APIs和应用实例
国际图象互操作框架(IIIF) APIs和应用实例
Marcia Zeng
 
選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲
Herman Wu
 
Node Web开发实战
Node Web开发实战Node Web开发实战
Node Web开发实战fengmk2
 
資料結構化專家會議簡報 V1.3 20160628
資料結構化專家會議簡報 V1.3 20160628資料結構化專家會議簡報 V1.3 20160628
資料結構化專家會議簡報 V1.3 20160628
Poya Liao
 
Vue ithome
Vue ithome Vue ithome
Vue ithome
Yoyo Young
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
Li JianYe
 

Similar to 那些年,我們一起Open的data (20)

Open Api&Sip
Open Api&SipOpen Api&Sip
Open Api&Sip
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
 
Hack & Go! Redefining API @ MOPCON 2014
Hack & Go!  Redefining API @ MOPCON 2014Hack & Go!  Redefining API @ MOPCON 2014
Hack & Go! Redefining API @ MOPCON 2014
 
Data Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouseData Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouse
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5
 
從SOA到REST -- Web Service、WCF、WebAPI的應用情境
從SOA到REST -- Web Service、WCF、WebAPI的應用情境從SOA到REST -- Web Service、WCF、WebAPI的應用情境
從SOA到REST -- Web Service、WCF、WebAPI的應用情境
 
资源整合与Web2.0
资源整合与Web2.0资源整合与Web2.0
资源整合与Web2.0
 
资源整合与Web2.0
资源整合与Web2.0资源整合与Web2.0
资源整合与Web2.0
 
Kevenjiaoda
KevenjiaodaKevenjiaoda
Kevenjiaoda
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
 
用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services用JAX-RS和Jersey完成RESTful Web Services
用JAX-RS和Jersey完成RESTful Web Services
 
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
 
KSDG BaaS Intro
KSDG BaaS IntroKSDG BaaS Intro
KSDG BaaS Intro
 
国际图象互操作框架(IIIF) APIs和应用实例
国际图象互操作框架(IIIF)  APIs和应用实例 国际图象互操作框架(IIIF)  APIs和应用实例
国际图象互操作框架(IIIF) APIs和应用实例
 
選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲
 
Node Web开发实战
Node Web开发实战Node Web开发实战
Node Web开发实战
 
資料結構化專家會議簡報 V1.3 20160628
資料結構化專家會議簡報 V1.3 20160628資料結構化專家會議簡報 V1.3 20160628
資料結構化專家會議簡報 V1.3 20160628
 
Vue ithome
Vue ithome Vue ithome
Vue ithome
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
 

More from Kevingo Tsai

工研院尾牙工作流程表
工研院尾牙工作流程表工研院尾牙工作流程表
工研院尾牙工作流程表
Kevingo Tsai
 
Playframework + Twitter Bootstrap
Playframework + Twitter BootstrapPlayframework + Twitter Bootstrap
Playframework + Twitter BootstrapKevingo Tsai
 
Design Restful Web Service, use SpringMVC as Example
Design Restful Web Service, use SpringMVC as ExampleDesign Restful Web Service, use SpringMVC as Example
Design Restful Web Service, use SpringMVC as ExampleKevingo Tsai
 
Design REST-ful Web Service
Design REST-ful Web ServiceDesign REST-ful Web Service
Design REST-ful Web Service
Kevingo Tsai
 
多媒體資料庫(New)3rd
多媒體資料庫(New)3rd多媒體資料庫(New)3rd
多媒體資料庫(New)3rdKevingo Tsai
 

More from Kevingo Tsai (6)

工研院尾牙工作流程表
工研院尾牙工作流程表工研院尾牙工作流程表
工研院尾牙工作流程表
 
Playframework + Twitter Bootstrap
Playframework + Twitter BootstrapPlayframework + Twitter Bootstrap
Playframework + Twitter Bootstrap
 
Design Restful Web Service, use SpringMVC as Example
Design Restful Web Service, use SpringMVC as ExampleDesign Restful Web Service, use SpringMVC as Example
Design Restful Web Service, use SpringMVC as Example
 
Design REST-ful Web Service
Design REST-ful Web ServiceDesign REST-ful Web Service
Design REST-ful Web Service
 
Scrum
ScrumScrum
Scrum
 
多媒體資料庫(New)3rd
多媒體資料庫(New)3rd多媒體資料庫(New)3rd
多媒體資料庫(New)3rd
 

那些年,我們一起Open的data

  • 2. Open Data • Why Open Data • AccessTaiwan Project • 技術手段 – Spring MVC Framework – Spring Data for MongoDB • 現況 • 目標展望
  • 3. Open Data 可得性 可讀取 重複使用與 自由使用 散佈
  • 4. Why Open Data ? 透明度 民主監督 創新 改善政府效 影響政策 產生新知識 能 改善政府效 創造新經濟 自我啟發 力
  • 5. 非涉及 非侵犯 非個人 非機密 隱私 權利
  • 6. 大戰略目標 Data 舒服的開 發環境 RESTful API
  • 7. AccessTaiwan 主打將台灣觀光資料開放的計畫 與組目標相同 觀光議題有趣易推廣 選定目標客群與開放的介面 開發者 跨平台的RESTful Done is better than perfect 先求有再求好打游擊戰略 社群、持續接觸
  • 8. Website • http://www.accesstaiwan.org/ Facebook • http://www.facebook.com/accesstaiwan Blog • http://blog.accesstaiwan.org/ API • http://api.accesstaiwan.org
  • 9. 技術手段 程式語言 • Java 資料庫 框架 • MongoDB • Spring Protocol • RESTful
  • 10. Spring Support High BSON Performance MongoDB
  • 11. Spring Framework Spring Data for SpringMVC MongoDB Spring Ecosystem Spring Ecosystem Annotations for High-level RESTful operation
  • 12. Happy Codeing with Spring MVC http://api.accesstaiwan.org/travel/entity?county=Taipei Annotation 清楚乾淨的 Based Controller ResponseBody RESTful style For JSON
  • 13. Happy Coding with Spring Data Mongo DBCollection coll = MongoDBFactory.getCollection(“mydb”,“mycollection”); DBObject doc = new BasicDBObject(); doc.put("id", id); DBObject dbObject = coll.findOne(doc); Person person = new Person(); person.setId(dbObject.get(“id”).toString()); person.setFirstName(dbObject.get(“firstName”).toString()); person.setLastName(dbObject.get(“lastName”).toString()); person.setMoney(Double.valueOf(dbObject.get("money").toString())); Query query = new Query(where("pid").is(id)); Person person = mongoTemplate.findOne("mycollection", query, Person.class);
  • 14. 台灣高鐵(THSR) API http://api.accesstaiwan.org/traffic/hsr/stops/ [{ "name": "Taipei", "id": "4f45d900a9d4d233a3efd586", "latitude": 25.04799, "longitude": 121.51643 }, { "name": "Banciao", "id": "4f45d900a9d4d233a3efd587", "latitude": 25.01453, "longitude": 121.4634 }, ]
  • 15. 目前Server配置 Internal Web Server API Server MongoDB
  • 16. 現有資料 交通 • 高鐵 – 站名、經緯度、各車次時刻表 • 台鐵 – 站名、地址、經緯度 • 台北捷運 – 站名、地址、經緯度 • 高雄捷運 – 站名、地址、經緯度 旅遊景點 • 全台博物館 – 473筆 • 日月潭愛慢玩聯盟景點資料 – 251筆 • 全台景點資料(日月潭技正) – 10523筆
  • 17. 現有API 交通 •http://api.accesstaiwan.org/traffic/hsr/stops/ •http://api.accesstaiwan.org/traffic/hsr/stops/{stopName} •http://api.accesstaiwan.org/traffic/hsr/trains/ •http://api.accesstaiwan.org/traffic/hsr/trains/{from}/{to} •… etc 旅遊景點 • http://api.accesstaiwan.org/travel/museums?type=專題博物館 • http://api.accesstaiwan.org/travel/museums?county=台北市 • http://api.accesstaiwan.org/travel/museums?desc=公立 • … etc
  • 18. 未來發展 • 作為旅遊服務平台基礎建設 – 統一彙整不同來源資料 – 提供標準資料存取介面 • 提供SI廠商進行加值服務使用 – 時間、次數、數量計費 – 授權金 • 爭取觀光局+故宮計畫
  • 19. 其他國家收費模式 丹麥 英國 澳洲 • 一般查詢不收費 • 對於資訊加值採 • 資料加值採以下 • 企業使用或細緻 有價釋出授權模 混合收費模式 度高酌收費用 式 • 授權、買斷、指 派經銷商、範受 與經銷混合模 式、代理人,與 聯合投資