IBMの1部門、マッピング不要で、Javaオブジェクトに永続性を持たせるCachéを採用し、開発時間を劇的に短縮

pdf

PDFファイルはこちら

主な利点

  • 迅速な開発
  • Java
  • 高パフォーマンス

IBMは巨大企業ですが、成功した企業というものは多かれ少なかれ過小評価されるものです。IBMは多数の製品を排出し、世界各国に顧客を有しています。IBMのある1部門では、"FocalPoint"と呼ばれる、グローバルに最適化を行うプロジェクトを推進しています。そのプロジェクトではCachéの新しいPOJO(Plain Old Java Objects)サポートを有効活用し、開発にかかる時間を劇的に短縮させることに成功しています。

IBM Success Story「"FocalPoint"はJavaとXMLベースの技術を使って開発されています」と、IBM ソフトウェアシステムアーキテクトのIran Hutchinson氏は説明します。「オペレーションを強化するために、ある程度知られていて、且つ新しい技術であり、一般的になり得るような「ドメインオブジェクト」のセットを定義しました。これらのJava オブジェクトは永続化され、データは1つのセントラルリポジトリに格納されます。その後、サービス指向アーキテクチャの中で、ビジネス・ルールとワークフローを使って、セントラルレポジトリからデータの抽出、格納を行い、それを世界共通のインターフェースに表示するアプリケーションを設計する予定です。」

標準技術をサポートする事をゴールとして念頭に置きつつ、ある程度までの将来の拡張にも対応できるよう、Hutchinson氏はソリューション指向のアプローチを選択しました。すなわち以下の要件を満たすものです。

  • ビジネス上の問題に対する要件やユースケース
  • IBM のソリューション
  • 適切なライセンスを備えたオープンソースソリューション
  • IBMビジネスパートナー、または商業用ソリューション
  • カスタム開発が行われている

Hutchinson氏は、ポストリレーショナル・データベースであるCachéをセントラルデータのリポジトリに採用しました。その理由は、リレーショナルデータ構造へのマッピングを行わずに、CachéでJavaオブジェクトに永続性を与えることが可能であるためです。Hutchinson氏は次のように述べています。「これまでのプロジェクトでは、Javaオブジェクトをリレーショナルデータベースに適合させるにはO/Rマッピングが必要でしたが、開発労力の60%が費やされていました。多次元データベースである、ポストリレーショナル・データベースは、まさに要件に合致するものだったのです。」

いくつかのオブジェクトデータベースを検証し、Hutchinson氏は高パフォーマンスと使いやすさからCachéを採用しました。特にCachéのPOJOサポートには強い関心を持ちました。このユニークな機能("Jalapeno")ではCachéがJavaのオブジェクト定義から、自動的に永続性のあるCachéのオブジェクトクラスを生成することが可能です。開発者は今までと同じ環境下でPOJOを使い続けることができ、Cachéによって生成された永続メソッドは「オブジェクトマネージャ」と呼ばれる別のコンポーネントで扱われます。「開発者はデータベースを考慮する必要がありません」と、Hutchinson氏は述べます。

「オブジェクトとリレーショナル間のマッピングには数ヶ月以上を要しますが、
Cachéでオブジェクトに永続性を与える作業は僅か15分で済みます。」

- Software Systems Architect
Iran Hutchinson氏-

Hutchinson氏自身、FocalPointの初期開発に大きく関わっていました。彼は当時を思い起こし、次のように述べます。「プロジェクトの第一フェーズで、必要条件やユースケースを解析するのに1ヶ月費やし、更にオブジェクトモデルを開発するのに約1、2週間かかりました。Cachéでオブジェクトに永続性を与える作業は、僅か15分で済みます。もしオブジェクトとリレーショナル間のマッピングを行ったとすれば、数ヶ月かかったでしょう」

FocalPointは世界各国のIBMのハードウェアサポート部門でテストされ、運用開始しました。最初の実装は、約1万ユーザをサポートし、将来的に拡張が計画されており、6〜10TBものデータを統合する予定です。「FocalPointは我々のクライアントのサポート経験を最適化し、将来的にIBMとクライアントのサポートにかかる費用も減少します。」とHutchinson氏は述べます。

Cachéの中にクライアントのサポート情報を全て格納しているので、IBMでそのデータを分析し、レポートを作成し、サポートオペレーションについての決断を下すことはとても簡単なことです。Hutchinson氏は次のように述べます。「O/Rマッピングが不要で、しかも迅速に、オブジェクト指向データに対してSQLクエリを実行することができる、という点においてCachéはユニークです。リレーショナルデータベースからは同じような高パフォーマンスは得ることができません。また、Cachéを採用することで、数ヶ月にも渡る開発期間からも開放されました。技術力、スピード、使い勝っての良さで、Cachéは我々のプロジェクトを実現し得る唯一の選択肢だったのです」