Jiemamyってなんぞ(5) - Jiemamy API
前回までが、簡単なJiemamy開発モデルのご紹介でした。
繰り返しになりますが、Jiemamy Eclipseプラグイン+mavenプラグインは、このような開発を助けるための補助ツールです。
JiemamyによるDB構成情報(Jiemamyモデル)は、基本的にERダイアグラムエディタで作成・編集され、このエディタのエクスポート機能やmavenプラグインによってSQLに変換されます。
しかし、以前に書いた通りJiemamyモデルファイルはXMLなので、手で編集したり、また、DOMやSAX等によるプロセッシングも可能です。
が、さすがにJiemamyモデルをDOMで操作しようという人は少ないでしょう。Jiemamy Projectでは、このJiemamyモデルを操作するAPI仕様を定義*1し、そのJavaによる実装を提供しています。
せっかく作ったJiemamyモデルファイルなのに、Jiemamyモデルエディタからしか操作できないなんて悲しすぎる。仕様をオープンにして、このモデルをどこからでも操作できるように解放しよう、という意図です。
このAPIにより、Jiemamyモデルの新規作成や編集、SQLへの変換などをどこからでも*2呼び出すことができます。
この仕様及び実装は、クラスライブラリとして、Apache License v2.0により配布しています。
このクラスライブラリは、Jiemamyモデルエディタ(ER図エディタ)で使っているロジックとまったく同じです。というか、Jiemamyモデルエディタ内のロジックをEclipseに依存しないように切り出して、独立したライブラリとしたもの、とも言えます。卵が先か鶏が先かですが、Jiemamyモデルエディタは、JiemamyAPIを利用したアプリケーションの一例です。
このAPIを利用して、NetBeans用のJiemamyモデルエディタを作ることもできるでしょう。id:happy_ryoが必ずや作ってくれると信じています。信じています。大事なことなので二回言いました。
そのほかにも、warに組み込んで「warをwebappディレクトリに配置して、最初にアクセスされた時、自動的にSQLをDBに適用して、環境構築を行う」なんていうシステムも計画中です。
また「動的にテーブルを作ったりするWebアプリ」とか、気持ち悪いものも簡単に作れそうですw