Term project proposal - Web API and Implementation

以往我們開發者在運用Web API時,都是以『API使用者』的身分在做混搭以及開發,而本專題主要是在一個既有的系統上製作API,供第三方開發者以及內容提供者使用。目前先打算製作提供內容的API,有時間再做其他延伸的功能(例如存取相關資料、權限控管等等)。整個專題主要有學習相關知識、實作API以及應用呈現等三部分,最後會將這幾部分的經歷流程做成報告與同學們分享。

因為現代人越來越重視自己的健康狀況,因此出現許多與健康相關的服務網站,其中SHS是一個結合雲端以及服務應用的整合型系統,而本專題將會在這個系統上做API的開發。

SHS是萬維實驗室所建設的健康管理系統-全名為Social Health Space,SHS系統支援使用者管理以及健康紀錄管理等功能,使用者一多便可收集到不同人的健康紀錄並記錄於本站,對於有長期追蹤需求的使用者或醫護人員來說會是個非常方便的系統。功能部分已經包含健康紀錄、用藥紀錄的存取(新增、查詢等等)以及會員管理(註冊使用者),另外還有搭配Google Health雲端備份資料。

本系統將在近期內正式上線啟用,因此希望能為這個系統做一套API,提供中文化健康管理系統並讓第三方開發可以透過SHS API取得資料做混搭應用。不過仍舊有些問題必須深入思考與解決,首先是資料開放的問題,因為健康記錄牽涉到部分個人隱私相關的資料,API能取得的資料必須加以限制或是加密以免這些隱私資料有外洩的疑慮。另外還有認證授權的問題,目前Google Health提供一些認證相關的機制,例如OAuth或是AuthSub等等,使用者不必將個人的帳號密碼提供給第三方開發者,直接在系統內做登入認證的動作,為了使系統能夠確認使用者是否同意授權供別人使用,這類型的認證授權模式也是很重要的議題之一,這部分也許會在近期內有解決方法並套用在本專題內。