EJB3(JPA)はコーディングレス開発への足がかり

EJB3(JPA)についていろいろ意見があるようですが、結局のところ、EJB3(JPA)がなんでいいかというと、ツールとデータベースの橋渡しになるからいいのです。
Studio Creatorのような。
Javaは結局のところ、WebにしろGUIにしろ、コンポーネントJava Beansベースで作るようになっています。
そのため、RADツールでデータベースを扱いたいと思うと、データベース-Java Beans変換が必要になります。
そこでEJB3(JPA)です。
EJB3(JPA)は、Object-Relationalマッピングではなくて、Java Beans-Relationalマッピングなのです。


EJB3(JPA)は、コーディングを楽にしてくれるフレームワークではなく、ツールを作りやすくするフレームワークだと思っています。
NetBeans5.5には、データベースからCRUDのWebページを自動生成する機能がありますが、こういうことが「標準」だけでできるのはEJB3(JPA)のおかげです。
そして、Javaは今後、コーディングなしである程度ができるようになる方向に進化していくと思います。というより、その必要があります。かなり尻に火がついた状態で。


Microsoftの開発環境ならコーディングなしでできることが、Javaではたくさんのコーディングが必要になるという状況が今後も続くようだと、ビジネスアプリの開発は.NETに流れていってしまいます。
Accessならばプログラムの知識なくマウスのクリックとちょとしたプロパティの設定でできることが、Javaだと言語の知識とデータベースの知識とライブラリの知識と大量のコードが必要になります。どちらが生産性が高いでしょうか?メンテナンスの効率が違うという免罪符も、効力を失っています。
趣味プログラミングの主役はすでにJavaではなく、Rubyなどのスクリプト系言語です。ビジネスアプリで価値がなくなれば、Javaは居所がなくなってしまいます。


EJB3(JPA)は、GUIやWebのアプリがDrag & Dropとプロパティの設定だけでできるようなツールがどんどん出るための必要条件だと思います。
で、そのツールは、いまのところNetBeansになるでしょう。Eclipseはコーディングツールです。NetBeansはアプリケーション作成ツールです。


EclipseからNetBeansへの移行はなかなか進まないという声をよくききますが、それは、これからもJavaの開発でコーディングが前提だという仮定があるからだと思います。ぼくはNetBeansに移行する強制力が働くタイミングが来ると思っているのですが、それはJavaでの開発がコーディングレスになっていくというパラダイムシフトがあると思っているからです。もちろん仮定ですが。