----SOAに話を戻しましょう。SOAとは具体的に何を意味するのですか。
SOAは1980年代のクライアント/サーバ時代に登場しており、かなりの期間を経たアーキテクチャです。オブジェクト指向のプログラムや設計の一部として、SOAは昔から存在しています。そして、数年前のJavaの登場とともに、ぼんやりと姿を現し始めました。確かに、Javaは世界中で使われています。でも、SOAの今日の姿を可能にしたのはインターネットとXMLで、そのために分散コンピューティングというカテゴリーに入れられています。緩やかに結合しているため、ユーザーはそのサービスの実際の構造についてはほとんど知らないということになります。
SOAでは、システム間の相互通信方法に関する標準が実際に定義されています。1つの言語を使って、さまざまな標準インターフェースに対して通信できます。具体的にはWebサービス記述言語ですから、サービスに共通のレジストリを活用できることになります。
例えば、「このバージョンの特定の部分に通信するには、どうすればよいか」を調べることが可能です。ツールはずい分と簡単になっています。実行したいことがすべて同じ言語で記述されているため、さまざまなものをドラッグ&ドロップし、スレッド化して整理できるからです。
----SOAが実際、どのように使われるのか例を挙げてください。
企業の場合、経営陣から社員まであらゆるスタッフが必要とするすべての情報を見られることが重要です。他の企業と契約して、クレジットカードのトランザクションと自社カタログからのオンライン発注の管理を任せようとしている企業を考えてみましょう。その会社が、トランザクションの成功率として98%を要求したとします。これは妥当な数字に見えますが、2%のダウン率の中に金額が最も大きい発注が含まれていたことが分かったら、どうでしょうか?
全体のダウンタイムがわずか2%だとしても、もしそれが最大の顧客だったら、その情報は企業のマネージャにとって非常に重要です。つまり、このようなサービスから得られる情報とそれが実際に企業の事業に意味するものとの間に、これまでにない関係が生まれているのです。情報のギャップが生じており、われわれはいま現在、この間を橋渡しすることが可能なのです。
----Webサービスを取り巻く現状についてお訊ねします。OracleがPeopleSoftを買収できなかった場合、次のターゲットはBEA Systemsだと噂されてきました。そしていまやPeopleSoft買収不可能の確率は高くなっています。Oracleのこれらの動きは、IBMにとってどのような意味を持つのでしょう?
基本的な部分では、われわれが行っていることに何の影響も与えません。IBMはOracleとBEAの2社と競合しており、成功を収めています。われわれの製品ポートフォリオの幅を見ればお分かりでしょう。われわれはアプリケーションサーバだけを提供しているわけではなく、データベースだけを提供しているわけでもありません。つまり、IBMはすでに、Oracleの業務アプリケーション群を除いては、広範なポートフォリオを揃えているということです。
----Javaの偏在性について触れていましたが、いまIBMは、Sun宛ての公開書簡で示したように、Javaがオープンソースとなることを望んでいます。ですが、Sunにとっての利益は何でしょう。SunがJavaをオープンソースにする必要がどこにあるでしょうか。
この議論は次の点に集約できます--Javaとは何か。Javaは実際には数百という開発者、数百という企業によって構築されてきました。Sunが新しいJavaのバージョンを発表したときの発表資料を読むと、人々は「Sunがすべてを書いたわけではない。たくさんの人が作り上げたのだ」と思うことがよくあるのではないでしょうか。
Javaのエンタープライズ向けWebサービスの仕様であるJSR-109は、IBMが最初に取り組み、IBMがリードをとりました。BEAも多くの点で大きな役割を果たしています。つまり、SunイコールJava、JavaイコールSunという考えは根本的に間違っているといえます。Javaはすでにコミュニティの活動になっています。Javaは進化し、あちこちにその取り組みが分散しています。でも、オープンソースの形をとり、信頼性のあるJavaの完全なソリューションは存在しないのです。
IBMは、4000万ドル相当のコードをEclipseに投資しました。EclipseとはIBMが設立したオープンソースのJavaに関する取り組みです。その後Eclipseは完全に独立した活動になりました。このモデルの価値は、エコシステムを構築し、多数のソフトウェア開発者にどんどんとすばらしい貢献をしてもらうということにあります。少しでも高いレベルの共通ディストリビューションを目指して、共同で作業できる状況を生み出せるように挑戦しようではありませんか。これがうまくいけば各人がリソースを出し合いながら、個別に作業ができるようになるのです。
IBMは、プラットフォーム事業からさらに収益を得ようとしてこの提案をしているわけではありません。Javaの採用を加速し、業界全体のためにJavaを発展させていくことを願っているのです。Sunは他の場所でリソースを再度活用できます。われわれは、オープンソースJavaにより、すばらしい製品を構築できるようになるのです。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス