- PR -

自社開発グループウェアの設計のトレンド

投稿者投稿内容
だっちょ
大ベテラン
会議室デビュー日: 2006/12/05
投稿数: 115
投稿日時: 2008-05-15 13:39
 DBは素人に近いので、参考にならないかもしれませんが、今作っているものは、EJB3.0を使って
 GlassFish + PostgreSQL
で開発しています。
 項目の変更などはEntityクラスを修正すれば、テーブル削除指定してundeployしたあとdeployすると、対応するテーブルが生成されて簡単に修正できるのですが、テーブル内容はバックアップもかねて、DBの内容を取得するWebサービスの結果をXMLファイルたちとして保存し、復元するときにDBに反映するAPIで同じIDとなるように復元しています。deployするearのEntityクラスのメソッドやannotationを比較し、変更があった場合に復元するためのチェックツールを作って、テーブルの変更があったときにデータ保存・復元しています。
 データ量は少なくないので、やはり保存・復元に2時間くらいかかるのが難点ですが、それだけの時間stopできるなら、現状でも問題ないと思っています。もう少しがんばれば、別サーバのGlassFish+Postgresにデータを復元して、non stopで切り替えるようなことも可能だろうと思っています。

「インターフェースから入力⇒DB登録ではなく、データ作成する形式をXMLやJSON形式で作成させて⇒システムにアップ⇒データ保持は元データ形式なども考えてはいますが・・・ 」
 についてはやめた方がいいと思います。画面ができる前にExcelなどにあるデータを入れて、データがわかる人たちに修正させないといけないので、Excelシートでの入力なども作っていますが、データが変わっていくとシートの内容をチェックするためアップロード画面で入力データが整合性取れているのかとか、いろいろチェックするようなツールを作って、本体より巨大なツール群ができてしまいました。

スキルアップ/キャリアアップ(JOB@IT)