本文へジャンプ

サービス・リポジトリーによるサービス管理とガバナンスの実現

IBM/SAPハイブリッドSOAソリューションのご紹介【第9回】

SOA効果を得るためのサービス管理

サービスを適切に管理するために、SOAガバナンスが重要な理由

「SOAガバナンス」という土台がしっかりしていれば、サービスは適切な品質を保ちながら管理されていくことになります。
「SOAガバナンス」という言葉は、SOAという考え方が出てきてから作られた用語で、既にあったITガバナンスの拡張部分と言えます。SOAガバナンスは、サービスが溢れかえり混乱を生じさせないよう秩序を保つと同時に、サービスの効率化や再利用の促進をもたらすものです。すなわち、ビジネス・プロセスに関する定義づけから、サービス開発のルールづくり、サービスを連携させるためのポリシーの策定、そして、アーキテクチャー計画やそれを推進するための組織体制や戦略まで含んだ包括的な概念です。
SOAを適用するメリットとして、「柔軟性の向上」「サービスの再利用によるコスト削減」などが挙げられます。こういった効果を得るためには、組織を超えた意思決定、トラッキング、可用性向上、コミュニケーション向上のためのフレームワークが確立されていることが必要不可欠ですが、このフレームワークこそがSOAガバナンスです。
SOAガバナンスの重要性を理解しなければ、SOA適用のメリットを最大限に得るのは難しいとさえ言えます。

IBMのSOAガバナンス導入アプローチ


各フェーズついて簡単に説明します。

以上が、SOAガバナンス構築の流れになります。SOAガバナンスが企業全体に浸透していれば、企業全体のプロセスおよびサービスが整備されているはずなので、効率的なサービスの再利用や短期間での変更が可能となるのです。



関連情報


SOAガバナンスのためのツール

企業におけるSOAガバナンスの重要性をここまで述べてきましたが、「では、それをどう管理するのか」という課題が次に浮かび上がります。ガバナンスの実体であるポリシー、原則、標準、手順を管理するツールが必要となります。
ここでは、前節で述べたSOAガバナンス・ライフサイクルの各フェーズをサポートするために、IBM、SAPそれぞれが提供しているツールを一覧にしました。両社ともに、管理したいカテゴリーによって、さまざまなツールを用意しています。特に、今回のトピックはサービス管理となっていますので、サービス管理ツールとされているIBMのWebSphere® Services Registry and RepositoryとSAPのEnterprise Services Repository and Registryについて、次節から詳しく見ていきます。

SOAガバナンス・ライフサイクルをサポートするソフトウェアおよびサービス
  IBM SAP
計画(Plan)
ガバナンス・ニーズを確立
Rational® Method Composer SAP Enterprise Architecture Framework
Rational Portfolio Manager ARIS(IDS Sheer)
定義(Define)
ガバナンス・アプローチの設計
Rational Method Composer Enterprise SOA Roadmap
Rational Requisite Pro
Rational Portfolio Manager
実施(Enable)
ガバナンス・モデルの実施
WebSphere Service Registry and Repository Enterprise Service Repository
Tivoli Change & Configuration Management Database(US)
評価(Measure)
ガバナンス・プロセスの監視と管理
Rational Portfolio Manager

Solution Manager

Tivoli Composite Application Manager for SOA(US)
Tivoli Service Level Advisor(US)
WebSphere Business Monitor(US)

サービス・レジストリー&リポジトリーに求められる機能

SOAガバナンスが整備され、適切なポリシー、原則、標準、手順が定まった上で、次は、組織という枠を超えたオーナー間でサービスに関する情報を共有するためのツールが必要となります。サービスは、業務とIT両方の観点から語られなければならないので、業務担当者とIT担当者の両者から見て理解ができる台帳のようなものが必要となってきます。また、サービスはデプロイされた後に、監視・管理されるフェーズに入るため、ライフサイクル管理に関する情報も同時に管理しなければなりません。ライフサイクル管理には、再利用性やコスト削減を実現できているか、確認するための評価タスクも含まれます。
そこで登場したのが、サービス・レジストリー&リポジトリーです。サービス・レジストリー&リポジトリーでは、下記のようなサービス管理のための機能が提供されます。

SAP Enterprise Services Registry and Repository(ESR)によるサービス管理

例えば、ESRのES RepositoryとServices Registryの機能を併せて使うことで、既存のオブジェクトやサービスを使って開発を行い、それをサービス化して公開したり、また既存のサービスを発見して再利用したりすることができます。その結果、無駄な開発を減らすというSOAアプローチが実現できます。

ES Repositoryは、オブジェクトを保管する機能を提供

ES Repositoryは、SAP NetWeaverのEAIツールであるProcess Integration(またはeXchange Infrastructure)のIntegration Repository部分が拡張されたものです。サービス・インターフェースやグローバル・データタイプ(GDT)などのオブジェクトを保管することができます。ソフトウェア・コンポーネント・バージョンという単位の下にフォルダを作成することができ、オブジェクトを階層構造で保管することができるため、ビジネスとして意味のある単位で階層を作っておけば、既存データの発見が早まり、再利用しやすくなります。
このほかに、プロセス・コンポーネント・モデルといった拡張オブジェクトも定義することができ、開発オブジェクトとのリンクを持たせて保管させることができます。プロセス・コンポーネントは、モデル駆動型開発をサポートするモデリング環境です。ここで定義したモデルからインターフェース定義への関連付けを行うことができ、モデル上の該当オブジェクトをダブルクリックすることで定義画面に飛ぶことができます。
先にも述べましたが、ES Repositoryを使用するメリットは、サービスにかかわるオブジェクトを一元管理できるという点です。WSDLで記述されていれば、SAPシステム以外で稼働しているサービスのインターフェースも、外部定義としてインポートすることが可能です。一個所ですべてのオブジェクトを管理できるということは、コンポジット・アプリケーション開発効率向上につながります。
下記は、ES Repositoryで管理されるオブジェクトの例です。

この他、下記のようなオブジェクトも保管できます。

Services Registryは、サービスの電話帳としての機能を提供

Service Registryは、使用できるWebサービスがあるのかを検索したい開発者と、異なるシステム間にあるサービスをつなげるためにエンドポイントを調べて接続設定をする管理者などが使用します。サービスはSAPシステムのもののみではなく、non-SAPシステムのものも含んでいます。
Services Registryの検索画面では、キーワードからサービスを検索することができます。
1000個以上あるSAP提供のWebサービスであるエンタープライズ・サービスと、自分で登録したサービスなどを、単一のレジストリから検索することが可能です。

また、分類に割り当てられているものに関しては、業務カテゴリーから検索していくこともできます。エンタープライズ・サービスは、あらかじめ分類されているので、導入後に自分自身でその分類を定義していく手間はありません。

下記画面では、SAPの開発ツールであるVisual Composerから、Services RegistryにあるWebサービスを発見してコンシュームしています。

再利用可能なサービスを発見できるのか、そして、発見した後に複雑な作業なしに開発ツールに取り込んで新しいサービスを構築できる環境が整っているのかどうか、このあたりの環境整備がSOA適用の成功の鍵を握っていると言えます。

WebSphere Service Registry and Repository(WSRR)によるサービス管理

WebSphere Service Registry and Repository(WSRR)は、WSDL(Webサービス定義文書)や、XSD(Xmlスキーマ定義文書)などを管理するための、IBMのソフトウェアです。WSRRは単にWSDLやXSDを管理するだけではなく、サービスの所有者、ガバナンス状態、サービス・レベル、関連するサービスなども管理することができます。それにより、SOAで重要となる"再利用性の向上"のために必要な、サービスのガバナンス管理、サービス変更の影響分析、ライフサイクル状態が遷移した際の通知などの機能を提供します。

WSRRが管理できる文書

プロパティー追加による柔軟なサービス管理

サービス・リポジトリー間の連携

サービス・リポジトリーと開発環境の連携

WSRRはEclipse V3.0.2以降のJava®開発環境に対して、プラグインを用意しています。そのため、どのベンダーのJava開発環境(Eclipse V3.0.2以降)でも、Webサービスを利用するJavaプラグラムを開発することができます。以下の図がIBM製のEclipse製品(Rational Application Developer : RAD)と、SAP製のEclipse製品(NetWeaver Developer Studio : NWDS)で、WSRR Eclipseプラグインを利用して、WSRRに登録されているWSDLを利用している図となります。

実際に、WSRRを利用したメディエーション・モジュール開発の動画をご覧いただきます。このデモは、WSRRにインポートしてあるSAP Enterprise Serviceを利用して、簡単にメディエーション・モジュールを開発できるところと、開発したメディエーション・モジュールからSAP Enterprise Serviceを呼び出せるところを、確認していただけます。

サービス・リポジトリーの使い分け

IBM社内の取り組み

IBM社内のリポジトリー構成

Webサービスを含む、全アセットの管理
SAP Enterprise Serviceの管理
Webサービス実行時の動的エンドポイント参照に利用



IBM, IBMロゴ, Rational, WebSphereは、International Business Machines Corporationの米国およびその他の国における商標。
Adobe, Adobeロゴは、Adobe Systems Incorporatedの米国およびその他の国における登録商標または商標。
JavaおよびすべてのJava関連の商標およびロゴは Sun Microsystems, Inc.の米国およびその他の国における商標。
他の会社名、製品名およびサービス名等はそれぞれ各社の商標。

アンケート

ご意見、ご感想をお寄せください。