エンタープライズをとりまく技術の流動は速い。加えて2008年はコンシューマや個人を中心に使われてきた技術が企業活動にも取り込まれていく年になるだろう。注目されている分野は実装系も多い。今後ますます関連技術の動向に注目する必要がありそうだ。本稿では関連技術を見渡し、どういった種類や実装があるのかをまとめておく。
Webコンテナ、アプリケーションサーバ
代表的なWebコンテナのひとつがApache Tomcatだ。TomcatはHTTPサーバであると同時にJSPやServletを実行するためのコンテナでもある。運用環境で使う場合はApache HTTPd Serverをエッジに設置し、コネクタでつないでWebコンテナを動作させるといったやり方をすることが多い。軽量実装にはJetty、PicoContainer、NanoContainerなどもある。
コンテナ以外にも多くの機能を搭載したサーバがアプリケーションサーバだ。Java EE 5に準拠したアプリケーションサーバにはGlassFish、Apache Geronimo、JBoss Application Serverなどがある。同種の商用サーバにはIBM WebSphere Application ServerやBEA WebLogic Server、Oracle Application Serverなどいくつも実装がある。
Webアプリケーションフレームワーク - Java
Webコンテナやアプリケーションサーバで動作するWebアプリケーションを開発するためにいくつものフレームワークがある。Javaで開発する場合に絞ってもClick、Wicket、RIFE、Spring Framework、Apache MyFaces、Apache Shale、Stripes、VRaptor 2、Apache Struts、Jakarta Tapestry、Apache Beehive、JBoss Seam、Apache MyFaces Trinidad、wingS、Seasar/Seasar2、Tuigwaa、Jakarta HiveMindなどがある。さらに細かいものまで含めればこの限りではない。
Java用のWebアプリケーションフレームワークに絞っても開発方法論やアプローチなどは千差万別だ。どのフレームワークが自分の関連している開発に適しているか、将来性があるか、関連情報が入手しやすいかなどを判断する必要がある。
Webアプリケーションフレームワーク - JavaScript Ajax
ここ1年でJavaScriptを活用したAjax Webアプリケーションフレームワークは大きく進展した。正確な分類はしにくいが、代表的なところだけでもPrototype、Scriptaculous、Protoscript、jQuery、Ext、YUI、Dojo、jMaki、Ruby on Rails、Mootools、GWT、Grails、ZK、OpenLink AJAX Toolkit、Foo Framework、MyAJAX、Achievo ATK、Rialto、ICEfaces、DWR、Sajax、JSON-RPC-java、qooxdooなどがある。もちろん、これら以外のフレームワークもある。
JavaScriptとはちょっと違う類だが、リッチインターネットアプリケーション(RIA)の開発となると、Adobe FlexやMicrosoft Silverlightもある。Webサービスのマッシュアップにクライアント側のJavaScriptが活躍することも増えている。JavaScript AjaxフレームワークやRIA開発プラットフォームは2008年にますます注目される分野になるだろう。
開発環境や開発ツール
代表的な統合開発環境にEclipse IDEとNetBeansがある。商用アプリケーションとなればJetBrainsのIntelliJ IDEAやMicrosoft Visual Studioもある。Eclipse IDEはほかの開発環境のベースとなっている。EasyEclipse、MyEclipse、Aptana Studio、RadRails、JBoss Developer Studioなどがそうだ。細かい開発ツールになるが、試験関連のフレームワークであるTestNGとJameleon、それにビルドツールであるApache Ant、Apache Mavenなどもある。
最近ではWebベースの開発ツールも普及しはじめているようだ。Firefox向けのエクステンションでWebアプリケーションやサイトの分析調査ツールであるFirebug、Firebugをベースとして開発されたWebページパフォーマンス計測用ツールであるYSlow、JavaScriptの実行計測ツールSunSpider、Webアプリ自動テストツールSeleniumなどだ。
データベース - エンタープライズから組み込みまで
商用データベースであるOracle DB、MS SQL Serverはもちろん、OSSで開発されているMySQLやPostgreSQLなど、データベースはエンタープライズクラスのアプリケーションシステムにおける中心でありつづけている。OSS系のDBはスケーラビリティを向上させるなど開発も活発だ。OSSで開発されているデータベースクラスタリングミドルウェアもある。
もうひとつの潮流として注目すべきは組み込み向けデータベースの開発や採用が進んでいることだ。Apache Derby、H2 Database Engine、JDOInstruments、HSQLDB、SQLiteなど実装はいくつもある。組み込みデータベースはインストールしてすぐ開発を実施するための簡易データベースとしても活用されている。
スクリプト言語の躍進
2008年はさらにスクリプト言語の活躍の場所が増えることになるだろう。Webアプリケーションは次期JavaScriptがもっと活躍する場所となりそうだし、Webアプリケーション以外の用途にも活躍の場を増やす可能性がある。Javaにも各種スクリプト言語が取り込まれ続けている。
スクリプト言語自身も改善を繰り替えしている。より多くの機能を実現し、APIを増やし、実行環境を改善して実行速度を向上させている。EclipseやNetBeansも対象としてスクリプト言語のサポートをはじめている。
技術のキャッチアップと迅速な応用を
エンタープライズをとりまく技術の流動は速いが、変化するビジネスに迅速に対応できるシステムも開発しなければならない。技術のキャッチアップを迅速に行い、システム開発に適した技術を選定し、最小限の労力で最大の効果を発揮していく必要がある。それには世界の技術動向にセンサーを張って日々チェックする必要がある。
システム開発にかけられる期間は以前よりも短くなっているし、かけられる予算も芳しくないことが多い。すべてをいちから開発するのは大変な労力を伴う。適切なフレームワークやライブラリ、開発を支援する統合開発環境を採用し、効率のよい開発を実施していく必要が、これまで以上に高まりそうだ。