Java開発のトレンドはどうなるのか

Web開発もJavaを使うべきところ、フリーのデータベースを使うところ、AjaxやFlashを使うべきところ……と使われる技術がほぼ定番化してきました。今回は、Web開発における肝の部分でJavaがどのように使われてるのか――さまざまな周辺技術も踏まえ――を説明します。

Web開発は、だいたい定型的な仕事になった

Webにおいて必要なものは、画面系のプログラミングと、その固有の機能をプログラミングする部分と、データベースのプログラミングであるといっても過言ではありません。だいたい、どのサイトも同じような仕組みでできています。このような構造をMVC(モデル・ビュー・コントローラー)と業界の人たちは呼んでいます。ビューの部分が見た目、すなわち画面のプログラミングです。HTMLでコーディングするのは当たり前ですが、XHTMLやDHTMLやJavaScriptなどがこれにあてはまります。そのWeb個別の機能の部分は、モデルと呼んでいます。これがJavaでプログラミングする部分です(コントローラーは画面の操作部分⁠⁠。で、今回のテーマはこの部分を説明します。

ネットショッピングWebサイトの裏側の仕組み

インターネットで買い物するとき、個人情報を入力するとショッピングカートが使えるようになって、それからショッピングが始まりますね。どこのショッピングWebサイトも同じような機能です。だったら、この機能を定型化しませんか? ということでWebサイト構築に必要なものを一まとめにしてくれたのがApache Strutsです。しかし、今はそれよりもより高機能なWebサイトが必要になっています。たとえばWebショッピング中に呼び出されて、外出してしまって翌日になってから購入を決めてボタンをクリック……なんてことをすると、出来が悪いWebサイトでは、最初から情報を入力しなければならなくなります。そんなことをしているうちに売り切れてしまったりして。そういうことがないような仕組みが求められています。

定型的なものはまとめてしまえ

で、一般ユーザの方からは見えないけど必須な機能をひとまとめにしてくれたのが、Javaのオープンソースプロダクトである「Spring Framework2.0」です。さまざな機能の受け皿が最初から提供されています。プログラマは、欲しい機能についての設定ファイルをXML形式で書いて、カスタマイズしたい機能のプログラムを書いて付加すれば、かなり簡単にWebサイトの構築ができるようになります。本書『Spring2.0入門』は従来バージョンよりも高機能になったSpring Framework2.0の開発の仕方をすみからすみまで――それでも最低限必要なものだけですが――解説しています。ほぼ世界標準になったSpringですので、JavaでWeb開発をする方にとって最適な本になっています。また、前回好評だった著者たちによるエンジニアの心得ストーリーもたくさん収録しました。お楽しみに!

Javaによる開発は、Apacheプロジェクトのものを普通に使う

さて、Springで高機能なWebを簡単に作るということもアリですが、もっとその機能の部分を作るにあたって、Apache PlutoやLog4jや、Apache Axisなどフリーのプログラムを、みなさん普通に使うようになっています。その中でも、Javaのプログラミングの根幹を成すのが、プロジェクト管理やビルド管理です。ついにというかようやく、そのための本を作りました。⁠Apache Maven2.0」です。メイヴェンはJavaのソースコードからビルドの管理まで一貫しておこなうためのツールです。似たものにApache Antがありますが、Mavenのほうが高機能です。最新バージョンの解説をおこなったのが『Apache Maven2.0入門』です。Web開発だけでなく、Java開発をされている方に朗報となるソフトウェアです。特にチームでソフトウェア開発をするときのノウハウを語った5章がお勧めです。

Webの見た目はAjaxか?

最後に残ったのは、Webの見た目です。Ajax(アジャックス)の名前を聞いたことがある人も多いでしょう。一言でいえば、紙芝居的にページを飛ぶWebページから、ひとつのWebページが顧客の使い方に応じて変化していくWebページがAjaxです。データを入力する先から、入力ワードを予測してみせたりといった機能です。すでにグーグルでは使われていますね。Ajaxは皆さんご存じのように、デバッガが貧弱で本格的な開発には向いてないと思われていました。しかしながら、DWR(Direct Web Remoting)というフリーのツールならば、Javaで書いたソースをコンパイルして、JavaScriptに変換してくれます。

これならばデバッグも気楽です。AjaxとSpringの連携の方法も本書『Spring2.0入門』で深く説明していますので、ほんとうにお勧めです。たぶん国内初でしょう。

まとめ

JavaとWebの開発世界は日々進歩していますが、いずれもいかに短時間で高機能なWebサイトを作るかということに集約しつつあります。モデル(機能)やビュー(操作)の部分はビュー(見た目)と違いユーザからは見えませんが、すごい速さで進化しています。まずは、どんどん便利になっていくSpring FrameworkとApacheプロダクトを試してみませんか。きっと一流のWeb開発者になる力になります。