Contenu connexe
Similaire à Open LY - 「立法院開放資料服務平台建置案」服務建議書(部分) (20)
Plus de Charles Chuang (20)
Open LY - 「立法院開放資料服務平台建置案」服務建議書(部分)
- 1. 壹、緣起
開放資料能夠提昇透明性、責信,改善效用及效率,並建立經濟機
會。
- World Bank Open Data Initiative
近年來,隨著資訊的數位化及網際網路的普及,科技在社會民主參與
中也扮演著日趨重要的角色。也因此,世界各國皆積極推動「開放政
府資料」(Open Government Data),由國家機構將所持有的大量政府資
料數位化,並以開放格式釋出,以利民眾資料再利用、提供更多元的
資訊服務。
立法院作為台灣最高民意機構,無論在法案及預算審議上,不僅和民
眾生活息息相關,也影響著我國民主法治、國家財政的健全及發展。
目前立法院已有眾多檢索系統,包括議案整合暨綜合查詢系統、國會
圖書館、法案審查系統等,提供了豐富且完整的議事、法案、及預算
資料;然而,目前尚未有一整合個系統之開放資料平台,以統一的格
式提供民眾資料,同時便利於相關管理及操作。
如今因應開放政府資料之潮流,透過「立法院開放資料服務平台」之
建置,將可鼓勵個人、企業和組織有效運用本平台之開放資料,提昇
立法院資訊服務能量,期達國會透明治理及擴大公民參與之成效。
網絡行動科技有限公司長期以開放原始碼工具協助公部門、私部門與
第三部門善用資訊傳播科技,過去曾承接研考會之「政府開放資料加
值應用研究案」,也擔任政府資料開放平台(http://data.gov.tw/)委外
建置廠商之諮詢顧問,不僅對於開放政府資料有深度理解,也擁有相
關平台規劃建置之專業與經驗。
本專案除了將以本公司過去的技術與實績為基礎,也將邀請「國會大
代誌」(http://ly.g0v.tw/)的開發者擔任顧問,運用其以 MIT License
所釋出之原始碼與創新應用,預計將可建構優於本專案需求規格之成
果、並降低成本、提昇效益。
- 6. 四、 專案時程建議
本專案預計分兩階段,自簽約日起以七個月的時間完成專案範圍之各項工
作,並提供上線後一年之保固維護服務。
項次 項目 第一
個月
第二
個月
第三
個月
第四
個月
第五
個月
第六
個月
第七
個月
1. 專案管理計畫書
2. 制定開放資料標準規範
3. 「開放資料服務平台」、「外部開
放資料管理機制」、「開放資料資
訊管理機制」之系統架構與流程規
劃
4. 「開放資料服務平台」視覺設計
5. 第一期驗收所需之各項文件
6. 「開放資料服務平台」、「外部開
放資料管理機制」、「開放資料資
訊管理機制」系統建置
7. 議事日程、議事錄及公報之開放資
料實作
8. 行動化應用服務規劃與製作
9. 系統備援機制建置與測試
10. 資訊安全與個資保護之檢測與調整
11. 教育訓練
12. 平台測試上線、壓力測試、效能調
校
13. 平台正式上線
14. 第二期驗收所需之各項文件、程式
- 7. 參、需求建議
一、 系統架構及環境說明
(一) 整體系統運作環境架構規劃建議
本專案主要之目的在於規劃及建置「立法院開放資料服務平台」網站,提
供資料分類、資料查詢、檔案下載及應用程式 API 等服務;並透過此對外
服務平台後端之「外部開放資料管理機制」,以進行立法院對外開放資料
之管理及相關作業;再透過與內部各項資訊系統界接之「開放資料資訊管
理機制」,將立法院的開放資料相關資訊進行管理。
系統原規劃之運作方式如下圖所示:
然而目前「國會大代誌」網站已綜合二十個立法院網站資料,將提案、委
員會審查、院會各階段文件、影音整理成結構性資料,自動化更新所有資
料。換言之,無需調整目前立法院資料處理之運作模式,僅需決定要將哪
些公開資料轉為開放資料,即可運用「國會大代誌」的機制,將開放資料
傳遞到「外部開放資料管理機制」,直接發佈於「立法院開放資料服務平
台」網站。
透過此一從外部自動抓取資料進行分析並上傳至資料庫之機制,可取代立
法院內部人工處理資料上傳、或是另行建置「開放資料資訊管理機制」的
工作,並可與立法院網站現有維護流程順暢整合,減少人員教育訓練、流
開放資料資訊管理機制
外部開放資料管理機制
立法院開放資料服務平台立法院現有公開網站 / 資料
立法院現有資料內部管理機制
- 9. (二) 整體系統安全環境規劃與建議
本系統規劃如下節所述,將透過四台伺服器,分別提供立法院對外、對
內,及程式自動處理功能,可以降低單一伺服器安全漏洞的影響範圍,有
效分散風險。
對外提供服務的 API 伺服器與資料平台伺服器,其資料來源均由資料寫入
伺服器同步而來,其本身並不俱備寫入與修改資料的功能,因此可以降低
在這兩台伺服器(API 伺服器與資料平台伺服器)發生惡意修改資料的機
率。同時,這兩台伺服器發生任何安全問題,都不會影響資料本身的正確
性。
對外提供服務的 API 伺服器與資料平台伺服器,可因應使用人數多寡彈性
調配伺服器資源,必要時加開伺服器以服務大量使用者。透過資料寫入伺
服器的同步機制,可以確保多台 API 伺服器與資料平台伺服器的資料內容
一致。同時,即使少數 API 伺服器與資料平台伺服器因為負載過重而停止
運作,也不會影響轉檔服務、資料寫入,與系統其它功能的運作。
對內提供服務的資料寫入伺服器,和程式自動處理的轉檔服務器,為系統
核心的資料庫,僅供少數人員與工程師在必要時登入修改資料或批次修
改,也不需要對外提供登入介面與操作介面。如此一來可以降低系統遭到
入侵修改資料的機率。
- 10. 二、 系統開發及建置說明
(一) 系統規劃及設計方法
本專案所需之運作架構,規劃以四台伺服器(虛擬機器)提供所需服務。
簡述如下:
1. 轉檔服務器:
• 轉檔服務器提供轉檔服務。當工作人員上傳新的文件到「議事
暨公報系統」與「議案整合暨綜合查詢系統」並開放後,該機
器會主動將議事日程、議事錄及公報等資料進行處理、轉換,
從中分析出必要的資訊,並將相應的資料寫入資料伺服器。
• 上述資料抓取、處理、判讀、轉換的功能,完全由程式自動處
理,毋需人工介入。
2. 資料寫入伺服器:
• 資料寫入伺服器提供寫入服務。轉檔伺服器會將處理好之資料
寫入資料寫入伺服器之資料庫,並在第一時間將內容同步至
API 伺服器與資料平台伺服器。
• 資料寫入伺服器提供資料庫後台,供立法院資訊人員與資訊工
程師修改、控制轉檔伺服器取出之資料庫內容。若程式自動取
出之資料內容有錯誤,經查核後可透過此後台更正,即刻同步
至 API 伺服器與資料平台伺服器。
3. API 伺服器:
• API 伺服器主要為提供查詢之用,內含完整資料庫及 API 介
面,可提供一千人同時線上查詢。(優規)
• 提供「報告事項」、「質詢事項」、「討論事項」、「同意權
行使事項」、「國是論壇」、「院會紀錄」、「委員會紀
錄」、「法律條文對照表」、「中央政府總預算審查過程」及
「會議資訊」之 API 查詢。
• 若需提供更多人次之服務,可增加 API 伺服器。
4. 資料平台伺服器:
- 11. • 資料平台伺服器提供開放資料平台所需之資料搜尋、最新資
料、熱門資料、推薦資料、資料目錄、最新消息、平台介紹、
使用規範、開發指南、應用範例、相關網站、個資保護及網站
安全政策、RSS 訂閱服務、意見回饋等功能。
• 提供「報告事項」、「質詢事項」、「討論事項」、「同意權
行使事項」、「國是論壇」、「院會紀錄」、「委員會紀
錄」、「法律條文對照表」、「中央政府總預算審查過程」及
「會議資訊」之資料平台查詢、瀏覽、批次下載功能。
• 資料平台伺服器提供資料平台後台,供立法院人員修改資料
集、權限控管、管理推薦資料、管理資料目錄、處理意見回
饋。
• 若民眾回報資料平台所提供之資料有錯誤,可先透過資料平台
後台將錯誤資料先行下架,待內部查核後,於資料寫入伺服器
更正,再重新上架。這段期間透過 API 伺服器取用資料的第三
方程式與 APP 將正常運作不受影響。
• 若需提供更多人次之服務,可彈性增加資料平台伺服器。
(二) 開發建置解決方案描述,與所遵循之標準。
本系統預計將建置於立法院內現有之富士通 PRIMERGY BX900 雲端刀鋒
主機或功能相似之硬體,透過 VM 環境建置 Debian 或 Ubuntu Server 雲端
伺服器作業系統。系統將採用高效能的 Nginx 或功能相似之網頁伺服器,
與 PostgreSQL 或功能相似之資料庫伺服器。所有作業系統與伺服器軟
體,都將採用低成本、高品質、高安全性的開放源碼(Open Source)解決
方案,確保日後維護便利,可配合立法院 OS/DBMS 政策做必要之修改、
擴充與調校。
資料平台伺服器將採用以 Drupal 為基礎的 DKAN 套件架設。Drupal 為開
放源碼的內容管理系統(Content Management System),包括美國白宮網
站在內等政府機關重大網站,以及其數百萬個的網站均使用 Drupal 建
置。DKAN 為參考著名之 CKAN 開放資料平台,在 Drupal 的基礎上所
發展的平台。CKAN 為目前最廣為使用的開放資料平台軟體,包括
- 12. data.gov 等重要開放資料網站,均使用 CKAN 建置。DKAN 結合 CKAN
的資料平台功能與 Drupal 的高度彈性的內容管理功能,簡化了一般開放
資料平台必須處理 CKAN 與內容管理系統之間資料同步的複雜機制,為
開放資料平台理想的後台系統。
圖說:以 Drupal 為基礎、仿效 CKAN 功能之 DKAN。目前已為
http://data.gov.tw 所採用上線。
Drupal 本身即提供高度彈性的使用者登入機制與權限控管機制,可透過
LDAP 目錄服務管理或相似之技術整合立法院內資源入口網站之單一簽入
身分認證機制。所有登入機制並可透過 SSLv3 技術加密確保資料安全。
API 伺服器將採用 PostgreSQL 資料庫配合 pgREST 技術,提供 RESTful
API 服務。PostgreSQL 為發展數十年廣為使用的開放源碼 SQL 資料庫系
統,利用其可擴充的 store procedure 機制,搭配 Google 開放釋出的高效率
- 13. V8 JavaScript 引擎,從資料庫底層提供全套 UTF-8 編碼、JSON 格式、符
合 REST API 設計原則的資料 API 服務。
以上所有系統均內建系統日誌功能,可依需要設定日誌記錄的詳細程度。
所有網路程式與伺服器也都支援使用 Domain Name、IPv4、IPv6 位址設定
連線。
本公司長期參與 g0v 立法院相關開放資料專案,對於立法院擬開放之資
料集之資料抓取、分析、傳輸流程、所需儲存空間、對外頻寛用量,已經
累積相當程度實作經驗。以第八屆第一會期資料為例,資料處理所需空
間,估計約在 50GB 以內。考量提供高承載力的資料平台與 API 服務所需
的伺服器軟體,粗略估計可以 400GB 總儲存空間、每個月 16TB 的資料
傳輸量為基準。惟依流量高低情況,必要時有可能擴充系統需求。
立法院公開資料標準規範
針對立法院公開資料標準規範、並提供 Web Service 介面規格之需求,除
了「國會大代誌」已撰寫相關文件之外,DKAN 也提供其 API 標準可供
參酌。(優規)
- 16. 規劃及實作相關開放資料
針對立法院的 3 項公開資料(「議事日程」、「議事錄」及「公報」),
將開放 10 項資料集(「報告事項」、「質詢事項」、「討論事項」、
「同意權行使事項」、「國是論壇」、「院會紀錄」、「委員會紀錄」、
「法律條文對照表」、「中央政府總預算審查過程」及「會議資訊」),
提供內部管理機制、外部資料服務平台機制、API 服務機制。
此外,本公司並建請立法院評估於本平台開放下列公開資料之可行性:
• 立委聯絡資料與個人資料,包含:聯絡資料、選區、照片、學經歷
• 議事轉播 IVOD 串流服務,以及錄影檔案下載。
示範性加值應用之行動化應用服務
目前已有多項運用「國會大代誌」 API 之加值應用(優規),例如:
• 法案條文修改歷程(例如:http://ly.g0v.tw/bills/1749L16076
)。視覺化呈現各法案條文修正草案所新增、刪減、修改之條文內
容,以及目前審議進度。
• 立委投票指南(http://vote.ly.g0v.tw/)。整合多項立委資料,
包括個人資料、服務處聯絡方式、提案數量、投票記錄、政見,並
可快速瀏覽搜尋,幫忙民眾快速瞭解立委問政成績。
• 立委聯絡資料(http://billy3321.github.io/lytel/)。快速查詢
立委聯絡資料,並可配合手機快速聯絡各區立委服務處。
• 立院影城(http://ivod.ly.g0v.tw/)。IVOD 議事直播系統快速查
詢介面。
- 23. 圖說:以智慧型手機瀏覽資料集。
5. 可靠性
本系統所採用之 Drupal 網站建置框架,已有豐富之國內外各領域實作範
例,包括美國白宮官方網站、英國開放資料平台,在系統穩定、資訊安全
等方面都可靠無虞。而 g0v.tw 所建置的「國會大代誌」,則已經經歷過
多次超過千人同時使用的實際使用狀況。
6. 未來擴充性
Drupal 擁有超過 8,000 個以上的功能模組,涵蓋了內容管理、社群互動、
協同作業、權限管理、使用介面與流程優化、第三方服務整合、地理資訊
應用、運作效能、搜尋引擎與社交網路優化等多種面向,「立法院開放資
料服務平台網站」的未來擴充性只會侷限於我們的想像力。