レベル: 初級 Kane Scarlett (kane@us.ibm.com), developerWorks Editor, IBM
2006年 8月 15日 SML (Service Modeling Language ) 仕様について知りましょう。SML は、モデリング言語を定義するオープン・スタンダードとして提案されており、一連の構成体を備えています。そのため、コンフィギュレーションやモニタリング、ポリシー、ヘルス、容量計画、そして SLA (Service Level Agreement) などの要素を管理するコンポーネントの複雑なシステム階層構造をモデル化することができます。SML による効果の 1 つとして、管理タスクの自動化を促進できること、またそれによって人が介入して調整を行う必要が減少することがあげられます。この記事では、SML 仕様を簡単に調べることにします。
この、「仕様を知る」シリーズは、SML 仕様の中の様々なコンポーネントに焦点を当てます。この記事には、オリジナルの仕様からの抜粋や、言い換えが含まれています。完全な仕様を見るためには、参考文献を参照してください。
今日のようなマルチベンダーの環境では、顧客は管理ソフトウェア技術の統合を促進する、オープンで標準に基づいた方法を要求します。そうした方法は、ソフトウェアのデプロイメントをスピードアップできること、また人の介入が必要なことから生じるオーバーヘッドを削減できることが必要です。
そこに SML (Service Modeling Language) が登場します。SML はモデリング言語として、複雑な IT システムのモデリング (コンフィギュレーションやモニタリング、ポリシー、ヘルス、容量計画、SLA など) のために様々な種類の構成体を提供します。SML を使用すると、複雑な IT システムの様々な部分に関するナレッジや、IT システムが適切に機能するために各部分が満足すべき制約についてのナレッジを捉えることができます。
 |
SML 仕様へのコントリビューター
BEA、Cisco、Dell、HP、IBM®、Intel、Microsoft®、そして Sun が一致して協力し、新しい仕様のドラフトを公開しています。この仕様では、コンピューター・ネットワークやアプリケーション、サーバー、その他の IT リソースを、XML で記述、つまりモデル化するための、一貫性のある方法を定義しています。そのため、こうしたリソースの上に構築されたサービスをより簡単に、ビジネスで管理することができるのです。
|
|
SML を使用することによって、下記のようないくつかの効果が生まれます。こうした効果はオートノミック・コンピューティングを採用する人達の要求に応えるものであり、また SML を使用するすべての人達は、この効果を共有することができます。
- 一部の管理タスクの自動化を促進できる (機械で読み取れる形でナレッジが捉えられるため)
- ライフサイクルの様々な時点でシステムに携わる、様々な専門知識を持つ人達が、関係する専門知識を共有して効率的に協力できるようになり、またそうした人達による様々なコントリビューションをシームレスに統合できるようになる
この仕様は、SML が使用するXML Schema と Schematron のプロファイルを定義すること、そしてモデルの検証プロセスに主な焦点を当てています。この記事では、SML の基本を紹介します。
モデルが価値を提供する
SML は、複雑な IT サービスやシステムのモデルを作成するための、様々な構成体を常に提供しています。通常、こうしたモデルには、コンフィギュレーションやデプロイメント、モニタリング、ポリシー、ヘルス、容量計画、ターゲットとするオペレーション範囲、サービス・レベル・アグリーメントなどに関する情報が含まれています。モデルは、次のような重要な点で価値を提供しています。
- サービスやシステムの不変の側面を捉える
- コミュニケーションやコラボレーションの単位となる
- モジュール性、再利用性、標準化を促進する
- 変更を検証するための機構を表現する
- 自動化を促進する
- では、それぞれを少し詳しく見て行きましょう。
モデルは、サービスやシステムが適切に機能する上で維持することが必要な、そのサービスやシステムの不変の側面すべてを捉えることに焦点を当てます。モデルは、必要なだけの詳細情報を捉え、それ以上のものは捉えません。
モデルは容易に共有、追跡、そしてリビジョン・コントールができるため、設計者や実装者、オペレーター、ユーザーなどの間でのコミュニケーションやコラボレーションの単位とすることができます。複雑なサービスは、様々な役割を担う様々な人達によって構築され、維持管理されるため、この点は重要です。
モデルによって、モジュール性、再利用性、そして標準化が促進されます。実世界の複雑なサービスやシステムは、非常に複雑な部分から構成されている場合がほとんどです。サービスやシステム、そしてそれらの部分を再利用し、標準化することは、全体的な生産コストやオペレーション・コストを削減し、また信頼性を向上させる上での鍵となります。
モデルは、サービスやシステムに変更を適用する前にその変更を検証する上で、強力な機構となります。また、実行中のサービスやシステムに変更が生じた場合には、意図した状態をモデルの中に記述したものを使って、そうした変更を検証することができます。実際のサービスやシステム、そしてそのモデルを共に利用することによって、最終的な目的である、自己修復するサービスやシステムを実現することができます。制御ループを構成するためには、サービスやシステムのモデルは、実際に動作中のサービスやシステムとは必ず分離されている必要があります。
モデルによって、管理タスクの自動化を促進することができます。今日の大部分の IT サービスやシステムが公開する自動化機能は、人ではなくソフトウェアによって提供することができます。それによって信頼性の高いサービスやシステムを初期段階から実現でき、また継続的なライフサイクル管理を行うことができます。
SML でのモデルとは何か
SML でのモデルは、相互に関連した一連の XML 文書として実現されます。この XML 文書には、ある 1 つの IT サービスの部分に関する情報や、その IT サービスが適切に動作するために各部分が満足すべき制約についての情報などが含まれています。
制約は、次のような 2 つの方法で捉えられます。
-
スキーマ、つまりモデルの中の文書の構造や内容に関する制約によって。SML はスキーマ言語として、XML Schema 1.0 のプロファイルを使っています。また SML は文書間の参照をサポートするために、XML Schema への一連の拡張も定義しています。
-
ルール、つまりモデルの中の文書の構造や内容を制約するブール式によって。SML はルールとして、Schematron と XPath 1.0 を使っています。
モデルが定義できたら、そのモデルに対する重要なオペレーションとして、そのモデルの有効性を確立する必要があります。この作業の中には、モデル中の全データが、宣言されたスキーマとルールを満足するかどうかのチェックも含まれます。
これで、SML の簡単な紹介は終わります。
ちょっと待ってください。他にもあるのです。
今後の「仕様を知る」の記事では、SML を別の面、つまり制約の検証という面から調べます。そして Schematron プロファイルやサポートされる型、拡張型や属性、要素などの詳細、XPath 関数などをとりあげます。また、SML によってオートノミック・コンピューティング技術が推進されている例についても見ていきます。
SML 仕様は進行中の作業の最初のドラフトであり、フィードバックを求めるために公開されています。このワーキング・グループにフィードバックを受け付けてもらうためには、フィードバック・アグリーメントが必要です。フィードバック・チームの一員となるための詳細については、sml-feedback@external.cisco.com に連絡してください。
参考文献 学ぶために
製品や技術を入手するために
議論するために
著者について  | 
|  | Kane ScarlettはdeveloperWorksのAutonomic computing technologyゾーンの編集者です。出版に関わる、これまでの経験としては、『Unix Review』や『Advanced Systems』、(JavaWorldやSunWorldなどの)Worldシリーズの雑誌、変わったところでは『ナショナル・ジオグラフィック・マガジン』などもあります。 |
記事の評価
|