RAD的アプローチについて

RAD = Rapid Application Development のことですが、最近あまり聞かない言葉のような気がします。モデル駆動もその一種かと思いますが、各種 Framework を利用して迅速に開発を行うことが今日的な RAD のような気もします。

ツールベンダが提供しているRADツールは高額なものが多く、普通は気楽に試すことが出来ません。そこで、エンタプライズシステム用に使えそうなオープンソース製品をいくつか眺めてみます(Mavenを利用しているものが結構あります)。

WaveMaker:元々は有償製品だったのですが現在はオープンソースとなっています。データモデルを作成すると簡単にそしてコードを書くことなく GUI を作成することが出来ます。変数の使い方など慣れが必要ですが、全部手作業でコードを書くよりかなり早く作業を進めることが出来ます。日本語ドキュメントもあり、元々販売を担当されていた日本の会社が有償サポートをされているようですので、初期はお願いするようなことをすれば使えると思います。

Naked Objects:これも元々は有償だったと思うのですが、現在はオープンソースとなっています。DDDベースのものですが、Java用と.NET用の二つのものがあります。Java用は現在Apache Isisという名前です。結構コードを書くことになると思いますので、RADといっても?かもしれません。ただ、GUIについて好みが分かれるところで、ちょっと使いにくいかもしれません。

RoR & Grails:Rails系のものはコード中心の作業になりますが、実はモデルをコードで表現しscaffold機能によりホスト言語(RubyやGroovy)のコードを生成します。従って途中からはホスト言語だけでの作業になりますが、早くプロトタイプを見せることが出来るためRAD的なものに分類出来ると思います。どちらも国内で専門的に対応する会社がありますので(RoRの方が多いでしょうが)、過去の資産との連続性などを勘案して検討出来ると思います。

商用製品やよりニッチ度の高いものなど他にも多くあると思いますが、最近の流行は出来上がったアプリケーションをクラウドにdeployできるようにすることやモバイル用GUIサポートのようです。モバイル用JavaScriptの世界は動きが早く、jQuery (Mobile)が強いように思えますが、例えばWaveMakerは(開発時期の関係か)Dojoをつかっています。そのまま使うのでなく、手を入れて使うつもりならこのあたりも評価のポイントかもしれません。

以上眺めてみると、モデリングからスタートするようなRADはプログラミングの世界とのギャップを埋める部分が面倒に見えるためか試す方も少ないようです。プログラミングからスタートし、DSLやある種のパターン的なものを導入し「簡単にコードが書けます」という言い方の方がプログラマには分かり易く、効果も見えやすいのかと思います。個人的にはモデリングからのアプローチが好みですが、すぐ効果の現れる後者のアプローチが受けているようです。これからもこういったDSLsやFrameworksがどんどん出てくると思いますが、いったんどれかで開発してしまった場合、移行・乗り換えはどうするのでしょう?

最後に、モデリングについては商用UMLツールやeclipse modeling project(に含まれる多くのモデリングプロジェクト)が利用でき、時にはそちら側の進化もチェックされてはどうかと思います。例えばXtendはモデリング側からJavaプログラムへのアプローチとも解釈できます。なお、eclipseにはRADにつながる?scoutのようなApplication Frameworkも隠れていますので見逃さないようにしてください。

RAD的アプローチについて

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中