JSONとハッシュとデータベース

ながい期間、システム構築に携わってきた。

システムは、変わり続けなければならないことが宿命。

ユーザーにとってシステムは便利な器でしかない。

システムを作り、管理していく側から考えると修正するたびに
まったく異なったシステムになる。

理想的なシステムは、日々リファクタリングすることが可能なシステムでしょう。

経営戦略にあわせて、プログラムもデータベースも変え続け、
かつ、過去のデータについても利害関係者に合わせてシームレスに参照できる
ことが理想でしょう。

DOA データベースを中心にシステムを構築していくことで、安定したシステムを作ることが可能ではある。

データベースの構築は、丁寧に業務を分析した上で行わなければならない。

システムとしてリリースした瞬間に、遅かれ、早かれ次の修正が待っている。

データベースの設計は、テーブルの関係性
親子関係、派生関係、参照関係を組み合わせて構成していくが、手作業で行うには
あまりにも複雑で細かすぎる。

特に、旧システムから、新システムへのデータベースの移行は、複雑さゆえに困難を極める。

できるだけ、データベースは変更したくないといった問題は、この辺にある。

データベースは2次元表の塊だ、この塊には業務上の意味づけが関連付けられている。
新システムへはテーブルの修正と、業務上の新しい意味づけが必要になる。

JSONは、1ファイルで親子関係を表現できる。テキストファイルで編集も簡単。
一見、おまじないのようでつかみどころがなさそうなフォーマットだが、
多くのプログラミング言語で読み書きできる。

こちらのPCにあるオブジェクトをネットワークでつながった他のパソコンへ送るようなことにも応用できる。

メモリ上にオブジェクトとして取り込めるので、プログラムで処理してデータベースに書き戻すのも容易だ。

読み込んだオブジェクトをハッシュに入れておけば、さらにプログラミングは楽になる。

データベース <> ハッシュ <> JSON の標準的なパターンを作れば、どんな言語でもシステムの移行は、効率的に進められるでしょう。

XMLJSONも表現できる内容は同じようなものだが、XMLは、同じ内容のデータを無駄の多いフォーマットで表現することになる。

プログラミング言語ごとに構文解析のパーサが用意されているが方言が多かったり、操作に一貫性がないので、言語ごとにコーディングが大きく異なってしまう。

扱いやすさは、JSONに軍配が上がる。

http://ja.wikipedia.org/wiki/JavaScript_Object_Notation