Javaはアプリケーション開発言語として行き詰まっている、とアナリスト
「Javaによるビジネスアプリケーションの開発は複雑すぎる。開発チームはJavaからの逃避を検討すべきだ」という内容のレポート「Java Is A Dead-End For Enterprise App Development」(Javaはエンタープライズアプリケーション開発に行き詰まっている)を調査会社フォレスターのアナリストMike Gualtieri氏がブログで公開しています。
Gualtieri氏は、Javaはビジネスアプリケーションの開発言語として確固たる地位を築いており、COBOLが消え去らないのと同じように急に消え去ったりはしないけれど、Java以外の選択肢を検討した方がよいとしています。
ビジネス要件が変わり、プレゼンテーションレイヤで失敗した
Javaが行き詰まっているというGualtieri氏のおもな理由をピックアップしてみましょう。
- ビジネスの要件が変わってきた
変化のスピードが高まっている - 開発に使える言語が限られている
Javaプラットフォームの上でGroovyやJRubyといった言語は使えるが、限られた選択肢しか提供されない。 - Javaはプレゼンテーションレイヤで失敗した
SwingやJavaFXは失敗し、プレゼンテーションレイヤでのリーダーシップを失っている。 - Javaの複雑さをフレームワークが明らかにした
Hibernate、Spring、Strutsなどのフレームワークは、Javaの強さよりも機能不足を証明している。 - JavaはC++を基にした20年前の言語
それが本当にこれからのビジネスアプリケーション開発の最善な言語なのか?
そして、Java以外にも選択肢があるとしています。ただしC#はマイクロソフト的なJavaであるとして、その選択肢にC#は含まれていません。リストには、Visual Studio Lightswitchなどが含まれています。以下、Gualtieri氏があげた選択肢をリストアップしました。
- Visual Studio LightSwitch
- WaveMaker
- Compuware Uniface
- Progress OpenEdge
- IBM、TIBCO、SoftwareAGなどのBPM(Business Process Management)ツール
コーディングよりももっと早く生成できるツールを
これらのツールをざっくりとまとめてみると、できるだけコードを書かず、モデルやより抽象化された言語でアプリケーションを生成できたり、バックエンドとプレゼンテーションレイヤを同時に生成するといった特徴があります。
ここから、このレポートの主張が見えてきます。つまり、ビジネスの変化が早くなってきたため、Javaのコーディングでビジネスアプリケーションを開発するよりももっと早く、効率的にアプリケーションを生成する方法を検討すべきだということ。そして、そのためにはバックエンドとプレゼンテーションをまとめて生成したり、ビジネスモデルやデータモデルからの生成といった新たなアプローチの開発ツールを検討すべきだ、ということなのでしょう。
振り返れば、こうしたアプローチやツールへのチャレンジは、ずっと以前から何度も繰り返されてきたことです。クラウド、Ajaxといった技術の変化と、ビジネスの変化がずっと早くなってきたという環境の変化、そして着実に積み重ねられてきたモデル言語やフレームワークの進化は、今度こそこうしたチャレンジを成功させることになるのでしょうか?
あわせて読みたい
国内のIT市場は受託が圧倒的多数。オフショアは中国が突出。総務省、経産省による調査
≪前の記事
ノベル、Attachmateによる買収に合意。これはマイクロソフトとレッドハットには有利な状況か