Javaの産みの苦しみに耐える

2002/2/23
February 20, 2002 InternetWeek, By Richard Karpinski

 ITで最先端を走っていると、プリミティブで、まだ性能の高くない新技術に出くわすことが多い。だが、それは同時に、他社より先に障害を理解し、克服するチャンスが与えられているということでもある。

 不動産業界最大手の米CBリチャードエリスもそのような試練に遭遇した。同社はいまから3年以上も前に、完全にミッションクリティカルなアプリケーションをJavaで構築した数少ない最初の企業の1社だ。高度に分散されたWebアプリケーションのおかげで、100カ所ある米国の営業拠点では、不動産取引の進展をインターネット経由で細かく把握できるようになった。

 同社はRAS(Revenue Accounting System)と呼ばれるアプリケーションを使って、取引経路の管理、売掛金のトラッキング、将来の見通し予測、そして代理店に対する報酬支払処理の合理化といったことを実現している。つまり、このシステムは同社の業務にとって欠くことのできない要素を管理しているのだ。

3年前からJavaに取り組む

 同社のアプリケーション開発ディレクター Gerrit Borg氏によると、CBリチャードエリスがJava、とりわけiPlanet Application Serverプラットフォーム(現在は米サン・マイクロシステムズが提供している)に取り組み始めたのはおよそ3年前だったという。当時は、多くの大企業同様、同社の財務/業務処理システムも高度に集中運用されており、メインフレームやUNIXベースのOracleの環境上で構築されていた。

 同社の営業拠点ではそれぞれ独自に取引データを管理していたが、同社はトラッキングやレポート作成のために、情報をすべて中央にある複数のデータストアに戻そうと全力で取り組んだ。だが、このプロセスにはデータの二重入力といったミスが付いて回ったという。

 「われわれにはデータを(効果的に)統合することがどうしてもできず、業務の全体像を見渡すこともできなかった。その時点での目標は、データ入力プロセスを分散し、個々のオフィスにWebインタフェース経由で取引データを入力させることだった」(Borg氏)。

 Borg氏のチームは当時、米NetDynamicsや米ネットスケープといったベンダのJavaベースのアプリケーションサーバ製品に取り組んでいたが、その後これらのサーバはどちらもサンに買収され、最終的にはiPlanetの製品とビジネスに吸収されている。

失敗したアプリケーション

 CBリチャードエリスでは、これらの初期のツールを利用することでRASアプリケーションを構築したが、誕生したアプリケーションが完璧にはほど遠いものであったことをBorg氏は認めている。

 「ある意味で、がっかりした。特にどの製品というわけではなく、Webアプリケーション自体がその時点は高速で優れたデータやデータベース入力に向いていないことがわかり、失望した」(Borg氏)。

 率直に言って、アプリケーションはあまりにも遅く、インターフェイスはあまりにも使いにくかった。「要求事項は正しかったが、その当時のWebがミッションクリティカルなアプリケーションをサポートする機能を備えていたかというとあまり自信がない。ITチームとしては多くの素晴らしい結果を出し、業績も非常に高かった。だが、ユーザーの評判、(アプリケーションの)低いパフォーマンス、技術的な課題など、いくつかの大きな犠牲もともなった」(Borg氏)。

 Borg氏がこのように、初期の頃の難題を包み隠しなく語ることができるのには、当時の問題を克服する新しいサーバプラットフォームとアプリケーションコードのプロジェクトを立ち上げようとしていることも一部関係する。

Javaアプリケーションサーバの成熟

 変更の一部はごく基本的なもので、パフォーマンス改善のために、必要な部分のハードウェアを強化し、Webページの構造を簡略化して、セキュリティ要求のチューニングを実施した。さらに、Javaアプリケーションコードを書き直し、モダンになった今日のJavaアプリケーションサーバが提供するJava BeansコンポーネントやJ2EEインフラを活用することで、2万行ものコードの削除に成功した。結局、このアプリケーションはiPlanet Application Server 6.0上に導入し直され、先日発表されたばかりのiPlanet 6.5サーバへの移行も現在計画中だ。

 今回行われたデザインの見直しでは、データの整合性に焦点を当てた。つまり、途中で取引データが紛失したり、変わってしまうことが絶対にないようにすることが最大の目的だった。この目的を達成することができたのは、iPlanetのJ2EEベースのアプリケーションサーバが複雑なトランザクションを一段とうまく処理できるようになったからだ、とBorg氏は評価する。

 Borg氏のチームはコーディングを11月に完了したものの、これを本番環境のサーバに移行するのはつい先日まで延期していた。現在、このアプリケーションはうまく稼働しており、メンテナンスに必要なスタッフの数は半数に削減される見込みだ。そして、この新しい環境ではデベロッパーが「これまで2カ月かかっていた変更期間を数週間に短縮できる」とBorg氏はいう。

 Borg氏によると、CBリチャードエリスの営業拠点は導入し直されたアプリケーションに満足しており、これで社員がもっとアプリケーションを利用してくれるようになることが最大の喜びだという。次なる課題は、このRASアプリケーションをサードパーティーの取引パートナーに公開すること。同氏によると、この計画はシステムのパフォーマンスが向上したおかげで可能になったことだという。

 「どの環境にも、まず学習、それから最先端へ躍り出るというライフサイクルがある。われわれは現在、このライフサイクルをはるかに超えている。(Javaのアプリケーションサーバは)製品として成熟しており、堅牢なアプリケーションをユーザーに提供できるようになった」(Borg氏)。

[英文記事]
Surviving Java's Growing Pains

[関連記事]
Visual Basic並みの使いやすさを目指したiPlanet新バージョン(@ITNews)
ヒートアップするアプリケーション・サーバ覇権争い (NewsInsight)
連載:Webと企業システムを結ぶ実践的アーキテクチャ(Java Solution)
「統合すべきはアプリケーションではなくデータ」とBEAスピンアウト (@ITNews)
情報システムの課題は「アプリケーションの統合と管理」 (@ITNews)

Copyright(c) 2001 CMP Media LLC. All rights reserved

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)