最初の一歩

photo credit: Erica_Marshall
今回はLeft Handle DBの開発フェーズ・・・最初のフェーズ・・・について書いておきたいと思います。
今後、「Left Handle DB」はオンラインデータベースサービスを指し、「Left Handle Public Data」は「Left Handle DB」を利用した公開資料データ集を指すことと定義しておきます。
名前は今後変わる可能性があるけれど、その時は都度ここで報告しまっす。
以下、このフェーズで行うことのリスト。
赤字は現時点で終了している項目。
最小限の内容で最初のフェーズを乗りきろうと思っているけど・・・まだまだやることが一杯ありますぜ。
Left Handle DB
- オンラインデータベースサービスとしてどのデータベースエンジンを利用するか決める
- 結論としてCouchDBを採用
- CouchDBはErlangで書かれたドキュメント指向データベースエンジン(スキーマレス)
- 標準搭載されたRESTful API
- MapReduceフレームワークに基づいたView(問い合わせ)
- 分散データベース環境をつくりやすい
- CSVで記述したデータ構造を読み込んでデータベース作成&デフォルトView作成する機能を用意(スキーマレスといえども、これはやっておく必要がある)
- 内部利用のView管理APIの開発(View作成・編集・削除)
- CouchDBのRESTful APIに「認証」の仕組みを加えるために、CouchDBをProxyサーバの背後で動作するようにセットアップ(データベースアクセスの「認可」についてはこのフェーズでは考えない)
- 一般のユーザーは認証機構(ProxyサーバのBasic認証)を通して、既存データベース内のデータに対してGETリクエストを発行し、データを取得できるようにする(このフェーズでは、POST/PUT/DELETEなどのリクエストは一般ユーザーは発行できない)
- 管理ユーザーは認証機構を通してGET/POST/PUT/DELETEリクエストを発行し、データベースを操作できる
- エンドユーザー用Webアプリケーションの開発
- アカウントの作成(ProxyサーバのBasic認証と連動)
- 「Left Handle Public Data」のデータのWebサイト上での参照
- 管理者用Webアプリケーションの開発
- データベース管理(データ構造定義CSVファイルからの作成と削除が可能)
- View管理(簡単なViewの作成・編集・削除が可能)
- データ管理(データの作成・編集・削除を単独およびバルクで実行可能)
Left Handle Public Data
- 最初につくる資料データとして 「都道府県・市区町村データ」を作成
- データ構造定義CSVファイルの作成
- データのソースを見つける(オンラインデータ・オフラインデータ含む)

Leave a Reply