進化するJ2EE その真髄とは
<進化するJ2EE その真髄とは>8.基幹業務システムに必要な機能
2003/06/02 16:18
週刊BCN 2003年06月02日vol.992掲載
今日のe-ビジネス・システムは、ウェブアプリケーションなしには語れない。ウェブシステムに付き物なのは、HTTPプロトコルなどのインターネット標準に準拠したサーバーであり、それを支えるのがサーブレットやJSPである。サーブレット/JSPがJ2EEのフロントエンドを担当する意味は、Javaによる再利用性、コード開発/保守生産性、バックエンドとの安全な接続性などが挙げられる。旧来からのCGIと比較すれば、パフォーマンスの向上も利点の1つだ。
次にJDBCとEJBによって、データベースとの自動連携、メモリなどのリソース食いつぶしに対する対策、分散トランザクション管理なども「プログラマが苦労せずに」行うことができる。メモリ上のオブジェクトとデータベース上のデータ項目の関係を維持することを「パーシスタンス処理」というが、EJBのエンティティBeanという機能を使えば、サーバーが自動的に行ってくれる。また、「パッシベーション」という機能により、サーバーのメモリが不足したときに一時的にディスクに待避し、必要な時に自動的に復元するという「ページング」に似たこともサーバーがやってくれる。
分散トランザクション連携においては、複数のデータベースを更新するようなプログラムを記述するとき、プログラマが「やるべき処理」のみを記述すれば、サーバーが一貫性をもって更新の管理をしてくれる。途中でエラーが起これば、自動的にすべてのデータが元に戻るようなことがいとも簡単にできるのである。これは、JMS(非同期処理基盤)でも同様のことができる。
重要なのは、いま語ってきたような機能を「アプリケーションが実現する」のではなく、「ミドルウェアが実現する」ことにある。スケーラブルで安全なアプリケーションを作ることはチャレンジングで、作ると楽しい作業であるが、企業がかかえるエンジニアにやらせてはならないと筆者は思う。それでは、安定した品質と完全性を期待するのは難しいし、何より企業のプログラマはそういうことに時間を使ってほしくない。それはミドルウェアベンダーの仕事だ。企業プログラマは、企業の業務を是非プログラムしてほしいと思う。
アプリケーション・プログラムには、スケーラビリティやトランザクション、セキュリティなどの記述を一切せずともミドルウェアの設定によって実現できることが重要である。こうすることで、企業はアプリケーションの開発形態に依存せず、最も信頼性のあるミドルウェアを自由に選択できるようになる。そして、J2EEは、それを実現できるようにデザインされた企業システム専用のアーキテクチャなのである。
- 1