9日、東京都港区の品川コンファレンスセンターにおいて、ITアーキテクトを対象にした技術カンファレンス「ITアーキテクトサミット 2007 Summer」が開催された。ここでは、同カンファレンスの中から、日本IBM 藤井智弘氏が講師を務めたセッション「サービス&モジュールのアセット化と再利用の促進」の内容をお伝えしよう。

コンテキストが変わればモジュールの使い方は変わる

日本IBM ソフトウェア事業部 Rationalテクニカル・セールス 藤井智弘氏

SOA(Service Oriented Architecture)という考え方が普及してきた現在では、いかにしてソフトウェアの再利用性を高めるかという点が開発者の大きな関心事になっている。ITアーキテクトは、汎用性の高いモジュール(サービス)を実現するために、さまざまな角度から設計を見直し、開発作業に多くの時間を費やしている。

こうした状況に対して、日本IBM ソフトウェア事業部 Rationalテクニカル・セールス 藤井氏は、「各モジュールが将来的にどのようなコンテキスト/環境で使われるのかを予見することは不可能に近い。したがって、"再利用時には変更が必要になる"という前提のもとに、ブラッシュアップを容易にかけられるようにするための"裏方的プロセス/環境"を整備することが重要だ」という見解を示す。

膨大な時間を割いて汎用性を追求しても、必ずしもすべてのシステムで利用できるとは限らない。ならば、必要なときに既存資産の中から"使えそうなもの"を短時間で探し出せる環境を整え、コンテキストに合わせて変更を加えながら利用するというスタイルをとったほうが効率的というわけだ。

目的のものに近い既存資産を探し出せる環境を整備する

以上のような開発スタイルを実現するうえでIBM Rationalが重視しているのが、「定義(再利用可能なサービスの確立)」「検索(再利用の促進)」「計測(再利用の定量化)」「作成/改良(トレーサビリティ)」「ガバナンス(サービスアセットのガバナンス)」の5つの要素だ。藤井氏は、これらのうち特に、定義、検索、計測の3つについて重点的に解説した。

アセットの定義

IBM Rationalでは、ビジネス要求を満たすうえで用いられる一定の単位でまとめた資産を「アセット」と呼んでいる。アセットは、バイナリやソースコードだけでなく、設計書、テスト仕様書、提案書などの成果物が取り込まれることもある。そのアセットを管理するうえで最も重要なのが、メタ情報を定義しておくことだ。

アセットのメタ情報には、アセット自体の機能を記述するのではなく、コンテキスト、使用法、拡張点などを定義する。こうした情報を定義することにより、利用者が求めているコンテキストで各アセットを使えるか否かを判断できる状況を整えるわけだ。メタ情報の定義に関しては、OMGが「OMG-RAS(Reusable Asset Specification)」という仕様を策定しており、RUP(Rational Unified Process)でもアセット開発用のプロセスを拡張定義しているという。

アセットの検索

検索機能を提供するのは、IBM Rationalが提供するアセット管理環境「Rational Asset Manager(以下、RAM)」だ。

RAMは、OMG-RASに則って定義したメタ情報を基に目的のアセットを検索する機能を備える。「従来は、APIを見ながら探していたものを、コンテキストなどで検索できるようになる」(藤井氏)ため、目的に合ったものを効率的に見つけられるという。

もちろん、RAMではアセットを定義するための画面も用意されており、アセットの管理作業を全般を行うことができる。

アセットの計測

再利用ベースの開発を効率的に進めるうえでは、目的に合致し、かつ質の高いアセットを選定できる状況を整える必要がある。「検索したアセットが『十分な品質を備えているか』『利用するコンテキストにどの程度適合しているか』などの情報が目に見えるかたちで表示されること」(藤井氏)が好ましい。

この部分を補うために、RAMでは、アセットの作成工数や、再利用に要する工数の期待値と過去の実績、ダウンロード回数などの情報を算出/表示する機能が用意されている。また、OSSのダウンロードサイトのように、利用者が評価結果を入力することも可能だ。

こうした機能により、各アセットの評価に要する時間を極力削減している。

稼動中のサービスを自動的に取り込むことも可能

このほかにも、RAMには、IBMが提供するサービスリポジトリ「WebSphere Service Registry and Repository」と連携して、稼動中のサービスを検索対象として自動的に取り込む機能なども用意されている。この機能を使用すれば、例えば、コミュニケーションがとりづらい海外拠点の資産を国内で再利用するといったことも比較的容易に実現することができるという。

以上、本稿では、ITアーキテクトサミットの中から、藤井氏のセッションを取り上げ、その内容をお伝えした。再利用性を高めるうえで、モジュールの改変を前提にするというのは現実的な考え方だと言える。Web Servicesの登場当初に語られていた理想が、理想でしかないことがわかった今、ITアーキテクトはこうしたアプローチにも目を向けるべきるだろう。