レベル: 中級 Heather Kreger (kreger@us.ibm.com), Lead Architect for Web Services and Management for Standards and Emerging Technologies, IBM
2005年 3月 11日 ごく最近OASISが承認した、新しいWSDM(Web Services Distributed Management)1.0の開発の背景を探りましょう。この記事では、WSDM 1.0仕様の概要と、設計において重要となる考え方のいくつかについて解説します。
知恵を必要とする問題
業界は、そのビジネス・システムを管理する複雑さを何とかすべく、格闘し続けてきました。この複雑さは、企業がビジネス・システムを構築するために利用する、様々なITリソース・プロバイダーやアプリケーション・プロバイダーに起因しています。もう既に、幅広いリソースを管理するための様々な管理システムが共存しています。これは究極的には、古典的な統合問題、つまり管理の統合の問題を提起しているのです。
OASISは最近、管理統合問題を解決するための第一歩として、WSDM技術委員会からの標準を承認しました。これがMUWS仕様(Web Services Distributed Management: Management Using Web Services)と、MOWS仕様(Web Services Distributed Management: Management of Web Services)です。
WSDMは、3つの主なグループに対して、大きな価値を持つものです。
-
顧客: 異機種構成のIT環境を持つ顧客はWSDMによって、様々なベンダーからの管理ソフトウェアの相互動作を改善させることができ、エンド・ツー・エンド、さらには企業間での管理までできるようになります。
-
ISV: 管理ソフトウェアを生産しているISVはWSDMによって、IT環境におけるリソースの特性を識別、検査、修正するための標準を持つことができます。管理アプリケーションは、これらを利用して必要な機能を提供することができ、また管理ソフトウェアで対応できるリソースの数やタイプを増大させることができます。これがやがて、そうしたアプリケーションのコストを低下させ、また潜在的な機能の拡大につながります。
-
製造者: デバイスの製造者はWSDMによって、標準的な方法でWebサービスを利用するだけで、(内部の実装具合によらず)管理インターフェースを公開できるようになります。全ての管理ベンダーがこうしたWebサービス・インターフェースを使えるようになるため、必要なカスタム・サポートの量が減少します。
WSDMがOASISの標準として承認されたことは、この3つのグループ全員だけでなく、システム管理やWebサービスに関係した業界アナリストにとっても、大きな関心事と言えるでしょう。
WSDMの概要
WSDMのMUWS(Web Services Distributed Management: Management Using Web Services)1.0仕様は、(Webサービスとしての)リソースにおける管理機能インターフェースの表現、利用方法を定義しています。標準的な管理機能リソース定義は、マネージャーと、リソース実装に使われる様々な管理プロトコルとの間に統合レイヤーを作ります。これらはWebサービスを使って管理アプリケーションを構築するための基盤となり、様々なマネージャーが、1つの実装セットを使ってリソースを管理できるようになります。
WSDMのMOWS(Web Services Distributed Management: Management of Web Services)1.0仕様は、リソースとしてのWebサービスの管理方法と、その管理機能をMUWSで記述、利用する方法を定義しています。これによって、管理可能Webサービス・アプリケーションが企業や組織の境界を越えて相互動作するための機構と方法を提供しているのです。MOWS仕様を利用すると、Webサービス・ベースのビジネス・アプリケーションやプロセスと、管理を統合できるようになります。
WSDMは、重要な分散コンピューティング機能やインターオペラビリティー、疎結合、実装の独立性を提供するためのプラットフォームとしてWebサービスを使用します。したがって、WSDM仕様はBP(WS-I Basic Profile)に加えて、OASISで標準化されている次のようなWebサービスの基盤仕様にも依存しています。
- プロパティーに関するWSRP(WS-Resource Framework (WS-RF) Resource Properties)
- 管理イベント・トランスポートに関するWSBN(WS-Notification (WSN) Base Notifications)
- サービス参照に関するWSA(WS-Addressing)
WSDMはまたオプション機能として、WSSG(WS-RF Service Groups)とWST(WS-Notification WS-Topics)も利用しています。WSDMが依存している仕様が進化し、標準となるにつれ、WSDMもWebサービスのプラットフォームとして進化して行きます。
下記のリストは、WSDMの設計ゴールとして重要なもののいくつかをあげたものです。
-
リソース指向(Resource orientation) -- WSDMはWebサービスとして、直接、管理可能リソース・インターフェースにアクセスする方法を表現しています。
-
エージェント・アーキテクチャー不問(Agent architecture agnostic) -- Webサービスではプロキシーやリダイレクト・アーキテクチャーを容易にサポートできるため、伝統的なエージェントによるインターフェースを通してではなく、Webサービスとしてリソースを表現、提供することができます。リソースには、エージェントや他のプロキシーを通してアクセスできるかも知れません。リソースは、アプリケーション・サーバーのように、その管理可能リソースを直接サポートしているかも知れません。実装をどのように選択しても、リソースへのインターフェースや、マネージャーとリソースとのやり取りには、反映されません。
-
構成機能(Composability) -- リソースの能力や管理機能には非常に幅があるため、管理機能やWebサービスの品質は、(セキュリティーと同様)絶対に必要な場合にのみサポートするようにします。構成機能によって、小さなデバイスにまで規模を縮小することもでき、逆に企業クラスの環境にまで拡大することもできます。
-
設計時と実行時での検査(Design time and run-time inspection) -- 管理システムは実行時に、環境やリソースの検出を行う必要があります。これは、管理システムが既存システムに導入された時に行われ、また常に変化し続ける環境を正確に把握するために、継続的にも行われます。管理システムはまた、新しいリソースのインスタンスとやり取りすることなく、そのリソースを検査し、統合できる必要があります。例えば、インストール時、デプロイ時、ジャストインタイムでのリソース・アクティベーション・シナリオ等においては、マネージャーがリソースとの相互動作を開始しようとしても、リソースは存在していないかも知れません。
-
モデル不問(Model agnostic) -- WSDMは、情報リソースがWSDMの管理インターフェースの中で提供すべきものを定義しません。これはリソース・モデルがすべきことなのです。WSDMは、そのモデルをXMLスキーマでどのように表現するかを定義し、Webサービスを使ってモデルにアクセスすることによって、モデルを補完します。
では、もう少し詳しくWSDM V1.0仕様を見てみましょう。
Webサービスを使った管理
WSDM MUWS仕様は、Webサービスを使ってマネージャーを監視、制御するために、相互運用可能な、ベースとしての管理機能を提供します。この仕様では基本的な管理補助機能セットを定義しており、これらを組み合わせて、管理実装機能を表現することができます。WSDM MUWS仕様はまた、インターオペラビリティーや相関関係を改善するための、標準管理イベント・フォーマットも定義しています。WSDM MUWS 1.0は、2つの仕様に分かれています。MUWS1(MUWS Part 1)は、アーキテクチャー面での基本概念と必要なコンポーネントを定義しており、MUWS2(MUWS Part 2)は、管理補助機能のための、標準的な構成可能サポートを定義しています。
管理補助機能(Manageability capabilities)
管理補助機能(manageability capability)というのは、ある特定な管理タスクをサポートするために組み合わせて構成できる、一連のプロパティーやオペレーション、イベント、メタデータその他の意味体系を言います。これは、大部分のリソース情報モデルで一般的な概念を捉えたものです。管理補助機能は、管理可能リソースがクライアントに提供できると主張する「約束事」を識別します。管理補助機能は、Javaなどのプログラミング言語における「マーカー」インターフェースに似た、抽象的なインターフェースと考えることができます。WSDM MUWSは、基本的な管理概念のための、基盤としての管理補助機能セットを定義しています。新規の、あるいは領域専用の機能は、必要に応じて既存の基盤機能を拡張することができます。
機能を表現することによって、より効率的にリソースを検出でき、認識(introspect)できるようになります。これは、クライアント(つまりマネージャー)は通常、特定な管理タスクまたは領域に注目しており、したがって管理可能リソースが持っている、クライアントが必要とする機能を、より効率的に判定できる必要があるためです。
全ての機能には、共通した振る舞いがいくつかあります。第1に、管理補助機能はそれぞれ、標準URIで識別されます。第2に、それぞれの機能には、その機能専用の通知を識別、カテゴリー分けするために使われるWS-Notificationsトピックがあります。第3に、それぞれの機能には、そのプロパティーやオペレーションに関して定義されたメタデータがあります。WSDM MUWS 1.0で定義された標準機能には、次のようなものがあります。
-
Identity機能 -- Identity機能は唯一の必須機能であり、2つの管理対象リソースが同じリソースかどうかを判定するためだけに使われます。これには1つだけ、リソースに固有な、ResourceIdというプロパティーがあります。2つの管理可能リソースが同じIDを共有している場合には、両者は同じリソースを管理していることになります。
-
Description機能 -- Description機能は、管理可能リソースに関する一連の標題や記述、バージョンを記述します。
-
Manageability Characteristics機能 -- Manageability Characteristics機能は、リソースの管理インターフェースのプロパティーを記述します。これには1つだけ、ManageabilityCapabilityというプロパティーがあります。このプロパティーは、リソースに対する管理インターフェースがサポートする管理補助機能のURIのリストを含んでいます。
-
Correlatable Properties -- Correlatable Properties機能は、プロパティー・セットを定義します。この一連のプロパティーを使って、別々のIDを持った2つの管理可能リソースが、同じリソースではないかどうかを判定します。リソースが複数の独立プロバイダーによって管理されており、プロバイダー同士が意識せずリソースに別々のIDを割り当てている場合に、これが起こり得ます。
-
Metrics機能 -- Metrics機能は、収集期間中に収集された値の表現、使用方法と、リソースにおける現在の時間を定義します。メトリックスは特に、コンテキストを提供するためのメタデータを必要とします。つまり、いつそれが収集されたのか、どのように収集されたのか、どのように値を変化させるのか、などを必要とするのです。メトリックス・プロパティーの値が変化すると、標準メトリックス・トピックに対する標準プロパティー変更イベントの公開をトリガーします。
-
Configuration機能 -- クライアントはConfiguration機能を利用すると、プロパティーを設定したりオペレーションを呼び出したりすることによって、リソースの振る舞いに影響を与えることができます。標準のWS-RFプロパティー変更イベントが使われ、コンフィギュレーション・トピックに送られます。
-
State機能 -- クライアントはState機能を使うと、単純なプロパティーや状態、汎用状態遷移イベント、そして状態遷移トピックを定義できます。特定な状態モデルによって、有効な状態値やサブ状態を判定します。
-
Operational Status機能 -- Operational Status機能は、3つの非常に単純な状態レベル(使用可能、使用不可、未知)と、インターオペラビリティーのための状態変化イベントを定義します。リソースは、どの状態や状態変化が、もっとキメの粗い状態にマップされるのかを理解している必要があります。
-
Advertisement機能 -- Advertisement機能は、新しい管理可能リソースが作られた時に送信される標準イベントを定義します。
図1は、Webサービス・プラットフォームからのサービス品質と、管理補助機能やリソース固有の管理補助機能とを組み合わせるために、構成機能がどのように使われるかを示しています。リソース管理モデルを使うと、リソース固有機能の内容を定義しやすくなります。
図1. MUWS(WSDM composability)
関係
WSDMは、2種類の関係をサポートしています。つまり、リソース間に存在する実際の関係を単純にデータで表現した関係と、独自のプロパティーや振る舞いを持つリソース間の関係です。データで表現した関係は、関係WebサービスにアクセスするためのWebサービス参照を含む場合があります。WSDMは管理可能リソースに対して、包含関係など、管理可能リソースが直接参加する関係についてクエリーするためのインターフェースを定義しています。WSDMはまた、多くの管理可能リソースに対して関係情報を提供する、関係レジストリーが使用可能となるようなサービス用インターフェースも定義しています。管理可能リソースは、関係に参加していることを意識する必要はありません。WSDMは、標準的な関係タイプを何ら定義していません。リスト1は、WSDM MUWS仕様から引用した関係の例を示しています。
リスト1. WSDM MUWS仕様から引用した関係の例
<muws-p2-xs:Relationship>
<muws-p2-xs:Name>SCSI disk attached to the host computer</muws-p2-xs:Name>
<muws-p2-xs:Type>
<scsi:Attached>
<bus:Connected>
<generally:Linked/>
</bus:Connected>
</scsi:Attached>
</muws-p2-xs:Type>
<muws-p2-xs:Participant>
<muws-pl-xs:ManageabilityEndpointReference>
...EPR1...
</muws-p1-xs:ManageabilityEndpointReference>
<muws-p1-xs:ResourceID>urn:uuid:123</muws-p1-xs:ResourceID>
<muws-p2-xs:Role>urn:role:bus:host</muws-p2-xs:Role>
<netop-xs:HostName>myhost.myorg.org</netop-xs:NostName>
</muws-p2-xs:Participant>
<muws-p2-xs:Participant>
<muws-p2-xs:Role>urn:role:bus:device</muws-p2-xs:Role>
<scsi-xs:Port>2</scsi-xs:Port>
<scsi-xs:CH>0</scsi-xs:CH>
<scsi-xs:BusID>5</scsi-xs:BusID>
<scsi-xs:LUN>0</scsi-xs:LUN>
<mows-xs:EndpointReference>
...EPR2...
</mows-xs:EndpointReference>
<.muws-p2-xs:Participant>
</muws-p2-xs:Relationship>
|
これは、ホストとデバイス間のAttached.Connected.Linked関係を記述しています。
WSDM Event Format
WSDM Event Formatは、基本的で一貫性のある一連のデータ要素を定義する、拡張可能XMLフォーマットです(データ要素を使うと、様々なタイプの管理イベント情報を、一貫した方法で転送することができます)。WSDM Event Formatを使用すると、様々な製品やプラットフォーム、管理技術などからのイベントを、プログラム的に処理したり、相関させたり、解釈したりすることができます。
WSDM Event Formatは、管理イベンド・データに関して、イベント・レポーター、イベント・ソース、状況データという、3つのカテゴリーから構成されています。各カテゴリーは、管理イベントの大部分に見られるいくつかの標準プロパティーを定義しており、イベントや状況特有のデータを追加して拡張することができます。状況データは、状況時間や状況カテゴリー、状況処分の優先度、重大度、メッセージ、置換メッセージ要素などを含んでいます。WSDMはまた、優先度や重大度、状況カテゴリー(StartSituationやStopSituation、CreateSituation)などの標準セットを定義し、様々なリソースやリソース実装、管理インフラなどから受信したイベントが一般的に理解できるようにしています。
検索と公示
リソースを公示、検索する方法は数多くありますが、WSDM仕様では、次の3つの方法を一部サポートしています。
-
イベントの公示: WSDMでは、新しい管理可能リソースが作られた時に送信される標準イベントを定義した公示機能を定義しています
-
関係: WSDMでは、参加者としての管理可能リソースをさらに検索するための、リソースやレジストリーからトラバースできる関係を定義しています。
-
登録: WSDMでは、クエリー可能な管理可能リソース・レジストリーとして、WS-RF Service Groupsの使い方を推奨しています。
Webサービスの管理
WSDMでのWebサービス管理仕様では、MUWSを拡張して、Webサービスであるリソースを具体的に管理する方法を定義しています。Webサービスも他のリソースと同様、管理を可能とするためのID機能やメトリクス機能、コンフィギュレーション機能などがあります。Webサービスでは、構成機能の特徴が特に興味あるものです。この機能によって、サービスのビジネス機能とサービスに対する管理機能を組み合わせて、単一のサービスにすることができるのです。つまり、サービスをタスクとして使うことと、タスクがフェールした場合にサービスを管理することを継ぎ目なく切り換えられるビジネス・プロセスを構成でき、しかもこれは非常に容易に、自動的かつリアルタイムで補償や再ルーティング、あるいはフェール修正ができるのです。
Webサービスに対する管理補助機能
WSDM MOWSはWebサービスに対して、次のようなMUWS機能を定義しています。
- Identity機能 -- MUWSのIdentity機能は、Webサービスに対する固有のIDを定義します。
- Identification機能 -- Identification機能は、管理対象のWebサービスに対する参照を定義します。
- Metrics機能 -- MOWSのMetrics機能は、Webサービスに対する基本的なメトリックス・セットを定義します。具体的にはNumberOf RequestsやNumberOfFailedRequest、NumberOfSuccessfulRequests、ServiceTime、MaxResponseTimeそしてLastResponseTimeです。
- OperationalState機能 -- MOWSのOperational State機能は、現在のサービスのオペレーション状態を提供します。有効な状態としては、サブ状態としてBusyとIdleを持つUpと、サブ状態としてStopped、Crashed、Saturatedを持つDownがあります。
- OperationalStatus機能 -- MUWSのOperational Status機能は、サービスに関する高位レベルの状態を提供します。全てのUp状態はAvailableを返し、全てのDown状態は、(PartiallyAvailableを返すSaturatedを除いて)Unavailableを返します。
- RequestProcessingState機能 -- MOWSのRequest Processing State機能は、リクエスト状態ダイアグラムを定義し、リクエスト処理状態が変化した時に送信されるイベントを定義するための機構を提供します。
例
図2は、MOWS(WSDM MOWS)仕様にしたがって、管理可能Webプリンター・サービスをどのように構成するかを示しています。プリンターに対する機能インターフェースは、WSDLオペレーションとして定義、アクセスされる単純なPrintオペレーションです。プリンター・デバイス自体を管理するリソース管理インターフェースには、2つのプロパティー(PrintedPageCountとAvailableTonerCapacity)と、Enableオペレーションがあります。これらのプロパティーはResource Properties Documentの中で公示され、WS-RF GetPropertiesオペレーションを通してアクセスすることができます。最後に、プリンターWebサービスを管理するための管理補助機能は、MOWSメトリックスとNumberOfRequests、そしてさらに、オペレーション状態制御のためのオペレーション、StartとStopを提供しています。
図2. 管理可能プリンター
これによって、リソース・プロパティー文書が作られます。この文書は、リソース管理補助機能とWebサービス管理可能プロパティーの両方を、グローバル要素宣言としてスキーマの中で定義します。これをリスト2に示します。
リスト2. 管理可能プリンターに対するプロパティー定義
?
<xs:element name="ResourceId" type="xs:anyURI"/>
<xs:element name="PrintedPageCount" type="xsd:positiveInteger" />
<xs:element name="AvailableTonerCapacity" type="xsd:positiveInteger" />
<xs:element name="NumberOfRequests" type="mows-xs:IntegerCounter" />
<xs:element name="NumberOfSuccessfulRequests" type="mows-xs:IntegerCounter" />
<xs:element name="NumberOfFailedRequests" type="mows-xs:IntegerCounter" />
<xs:element name="ServiceTime" type="mows-xs:DurationMetric" />
<xs:element name="MaxResponseTime" type="mows-xs:DurationMetric" />
<xs:element name="LastResponseTime" type="mows-xs:DurationMetric" />
?
|
WSDLインターフェースには、リスト3に示すように、4つのオペレーションとWSRF GetPropertyオペレーションが含まれています。
リスト3. 管理可能プリンターに対するオペレーション定義
<portType name="ManageablePrinter"
wsrf-rp:ResourceProperties="Printers:PrinterProperties">
<wsdl:operation name="Print" >
<wsdl:input ? />
<wsdl:output ? /></wsdl:operation>
<wsdl:operation name="Enable" >
<wsdl:input ? />
<wsdl:output ? /></wsdl:operation>
<wsdl:operation name="Stop" >
<wsdl:input ? />
<wsdl:output ? /></wsdl:operation>
<wsdl:operation name="Start" >
<wsdl:input ? />
<wsdl:output ? /></operation>
<wsdl:operation name="GetResourceProperty">
<wsdl:input name="GetResourcePropertyRequest"
message="wsrp:GetResourcePropertyRequest" />
<wsdl:output name="GetResourcePropertyResponse"
message="wsrp:GetResourcePropertyResponse" />
<wsdl:fault name="UnknownResource"
message="wsrp:ErrorMessage" />
<wsdl:fault name="InvalidResourcePropertyQName"
message="wsrp:ErrorMessage" /></wsdl:operation>
? (other operations)
</portType>
|
プリンターが、メトリックスが変化した場合の通知もサポートしている場合には、イベント・スキーマはリスト4に示すようなものになります。
リスト4. メトリックス・プロパティーの変化イベントに対するWSDM Event Format
<muws-p1-xs:ManagementEvent ...
muws-p1-xs:ReportTime="2004-11-11T18:06:00Z">
<muws-p1-xs:EventId>urn:uuid:384329757082303</muws-p1-xs:EventId>
<muws-p1-xs:SourceComponent ...>
<muws-p1-xs:ResourceId>urn:ibm:printer2110</muws-p1-xs:ResourceId>
<muws-p1-xs:ComponentAddress>9.62.101.41</muws-p1-xs:ComponentAddress>
</muws-p1-xs:SourceComponent>
<muws-p2-xs:Situation>
<muws-p2-xs:SituationCategory>ReportSituation
</muws-p2-xs:SituationCategory>
<muws-p2-xs:SuccessDisposition>Sucessful
</muws-p2-xs:SuccessDisposition>
<muws-p2-xs:SituationTime>2004-11-11T18:06:00Z
</muws-p2-xs:SituationTime>
<muws-p2-xs:Severity>1</muws-p2-xs:Severity>
<ws-rf-rp-xs:ResourcePropertyValueChangeNotification>
<ws-rf-rp-xs:OldValue>
< muws-p2-xs:NumberOfRequests
LastUpdated="2004-11-11T18:06:00Z">10
</ muws-p2-xs:NumberOfRequests>
</ws-rf-rp-xs:OldValue>
<ws-rf-rp-xs:newValue>
< muws-p2-xs:NumberOfRequests
LastUpdated="2004-11-11T18:01:00Z">9
</ muws-p2-xs:NumberOfRequests>
</ws-rf-rp-xs:NewValue>
</ws-rf-rp-xs:ResourcePropertyValueChangeNotification>
</muws-p1-xs:ManagementEvent>
|
WS-Notificationトピックは、下記のようになります。
WS-Notificationトピックは、下記のようになります。
<wstop:Topic name="MetricsCapability" messageTypes="muws-xs1:ManagementEvent" />
|
まとめ
WSDM 1.0仕様は、管理プラットフォームとしてWebサービスを使うための基盤となるものです。WSDM 1.0仕様は既に承認されたため、これから業界を教育し、他のシステム管理活動と整合させるための活動が行われるでしょう。WSDMは多くの面で、これからも進化し続けるでしょう。WSDMは、その元となる仕様がOASISやW3Cの標準になるのに伴って進化します。WSDMは、DFTM(Distributed Management Task Force)やその他の管理組織に採用され、そのスコープに新しい機能が追加されるのに伴って進化します。WSDMはまた、業界が競合仕様や重複仕様を整理するのに伴って、これからも進化して行くでしょう。
参考文献
著者について  | |  | Heather Kregerは標準及び新興技術領域におけるWebサービスと管理のLead Architectです。彼女は現在、OASISのWeb Services Distributed Management Technical Committeeの共同議長であり、それに関連した幾つかのDMTFワークグループのメンバーです。また、W3CのWeb Services Architecture Working GroupへのIBM代表、J2EE環境でのWebサービス展開を規定するJSR109の共同主催者、JMX(Java Management Extensions)仕様への貢献者でもありました。IBM Systems JournalやCommunications of ACM、Web Services Journalなどに、Webサービスや管理に関して数多くの記事を執筆しています。その他の公開技術成果としては、「Web Services Conceptual Architecture」や「WS-Manageability」、そして彼女の著書「Java and JMX, Building Manageable Systems」などがあります。 |
記事の評価
|