以前の記事で取り上げたRelaxerについて、ある人からの質問のメールに対し、「Relaxerとは何ぞや」という内容で答えたのですが、それが我ながら良くまとまってるかも!と思ったので、掲載します。
さて、Relaxerですが、技術評論社の「XML PRESS Vol.3」で特集されてます。
買ってみると、面白いかもしれません。
Relaxerつーのは、XML文書とJavaの間、XML文書とDBの間を取り持つ便利なインタフェースです。
普通、XML文書をJavaで扱う場合、DOMとかSAXというインタフェースを使うんだけど、これがいまいち便利ではないので、実はみんな困ってたわけだ。で、Relaxerを使うと、ここが便利になるのだね。つまり、そのXML文書を扱うために最適なJavaのソースコードを出力してくれる。
XML文書が、いったいどういう構造なのか(XMLはあくまで言語を定義するための言語だから、個人情報用のXML言語もあるし、発注書や、納品書を表現するXML言語もある。それぞれを自分で好きなように定義するわけだよね)を定義するために、ある言語を使う。それにはDTDというのもあるし、XML Schemaというのもあるけど、RelaxerではRelaxというのを使う。で、そのRelaxには、どういうエレメントがあって、どういうアトリビュートがあって、そのエレメントの値がString型なのかInteger型なのか・・・といったことが定義できる。Relaxerを使うと、そのRelaxで定義したXML文書の構造をそのままJavaのクラスとして表現するようなソースコードが出力されるわけだな。
一方、XML文書とDBの間では、XML文書をOracleとかAccessとかPostgreSQLとかに保存するためのJavaのソースコードを出力する。この機能は、まだ出来たばかりで、完璧とは言えないけど、まぁ使えるものが出来ると思う。
Relaxerはこのような機能を持ってる。これがもう少し進歩して、使う側がうまく使うと、システム開発に革命を起こす可能性があると思う。だって、システム間(企業間)でデータをやり取りするためには、XML文書がベストチョイスだし、Javaプログラムでデータを扱うにはJavaのクラスになっていることがベストチョイスだし、大量のデータを保存するにはDBがベストチョイス。この3つのベストチョイスを、データの流れに沿ってシームレスに統合しているのがRelaxerを使ったシステム開発なのです。
こんな感じで。