アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
 
 @IT > モデル中心の開発手法が自律型システムの構築を可能にする
 
@IT[FYI]

  > モデリング・プラクティス コーナー

モデル中心の開発手法が
自律型システムの構築を可能にする


〜Dynamic Systems Initiative(DSI)の全容〜

 マイクロソフトは、(システムの設計、開発から運用までを含む)ソフトウェア・ライフサイクル全般の簡素化、自動化、柔軟性向上を図ることを通じて、運用・管理の効率化を実現する取り組みをIT業界全体で推進していこうとしている。そのためのビジョンが「Dynamic Systems Initiative(DSI)」である。マイクロソフトのユニークな点は、開発から運用までのソフトウェア・ライフサイクルの効率化を開発者の側に立って推進して行こうと考えている点にある。DSI推進において、同社が最も重要だと考えるキーワードの1つが「モデリング」である。

DSIを構成する4つの要素

 DSIとは何か? まずはDSI全体の構造を俯瞰(ふかん)し、少しずつ細かい部分を解説していこう。

 DSIは図1のように、4つのレイヤーで分類できる。

図1 DSIのアーキテクチャ

 まずはシステムを実行するハードウェア層。下段にあるダイナミックデータセンターとは、サーバ、ストレージ、ネットワークなどのセットで構成され、負荷状況に応じて動的に構成を変更できる要素である。

 次に、物理的なハードウェアを抽象化して実際の開発プラットフォームとして利用される論理的なノード(クライアントに近似)構成(Logical Datacenter)がある。ここではトポロジーの構成、ノードにおける稼働状況の公開、実行すべきタスクなどを定義し、それをもとに物理的な展開を実現する。

 さらにその上位層にサービス指向に基づく個々のシステムを動作させるための環境があり、そして最上位にこれらシステム全体を管理するためのツール層が存在する。マイクロソフトが2005年にリリースを予定している開発ツール「Visual Studio 2005 Team System」は、この図中で中段右に位置づけられ、主にシステムと論理ノードの構築および構成定義の役割を担うことになる。

 DSIの目的は分散システムのすべての側面に対してできる限りの自動化・簡素化だが、これを達成するには、まずハードウェアリソースを仮想化して、ビジネス要件や負荷状況に応じてリソースの動的なアロケーションが可能とならなければいけない。そのうえで、セキュリティ、接続性、信頼性などの各項目に分類された運用管理ポリシーに基づいて構築されたシステムが配置される必要がある(多くの場合、このようなシステムはサービス指向アーキテクチャ=SOA対応のシステムとよばれる)。このような条件をクリアするにはシステム全体の可視化を行い、それを例えば、上記のDSIアーキテクチャで説明した4つのレイヤー構造で共有するのが望ましい。

 そもそも、このようなシステムを実現するには開発当初からセキュリティ、接続性、信頼性などの運用管理ポリシーを同時にモデル化してシステムに織り込む必要がある。しかし、現在、システム開発のモデリング作業でよく利用されるUMLでは力不足だとマイクロソフトでは考えている。ドキュメント化やコミュニケーションのツールとしては有用だが、システムに取り込んで動的にリソースの割り当てを行うまでには至っていないためだと同社では説明している。このためマイクロソフトで独自のモデリング言語「System Definition Model(SDM)」を開発したというわけである。

DSIに関する詳細は以下のURLを参照
  http://www.microsoft.com/japan/windowsserversystem/dsi/default.mspx

モデリング言語――System Definition Model (SDM)

 マイクロソフトでは特定のモデル記述言語にとらわれることなく、システム構築のフェイズごと(あるいはビジネスから実装にいたるまでの抽象度ごと)にそれぞれの局面に適した複数のモデルを構築することを提唱している。

 それゆえに、マイクロソフトは、モデル対象それぞれに最適化した「Domain Specific Language(DSL)」という言語概念を提唱している。DSLで記述した各モデルは、パターンの適用によってほぼ自動的に次のモデルに変換され、最終的には物理的なインフラストラクチャと実行可能な実装コードが生成される。DSLとは、つまり、ある特定のドメインに最適化したモデリング言語であり、その包括的な概念を指すのである。この概念のもとにマイクロソフトが開発したモデリング言語が前述したSDMである。SDMとは、簡潔にいうと、分散システムを構築するためのモデリング言語である。SDMを用いることで分散システムの設計、配置、運用というライフサイクル全般に対するモデルの構築が可能となる。

図2 System Definition Model(SDM)

 図2では、SDMより、システム開発の初期段階からモデルが構築され、分散システムの物理構成から運用ポリシー、稼働状況の公開、管理にいたるまでシステム全般にわたり適用されるを示している。

 通常“モデル”という単語からは、設計時のある局面において利用するドキュメントを連想する人が多いと思うが、SDMは一度構築したモデルが分散システムのライフサイクルと共に存在し続け、システムのバージョンアップ時にも重要な役割を果たすことになる。SDMによって規定されるメタモデルは、開発ツールから運用管理ツール、実行時インフラで共有されることになる。「Visual Studio 2005 Team System」ではこのSDMをベースとしてその上にさまざまな機能を構築する。

 大規模分散システムの開発においては、UMLも含めそれぞれの開発局面において最適なモデリング言語を選択することが必要である。SDMはDSLに基づいて開発されている。SDMは分散システムを構築するためのモデリング技法に加え、開発初期に構築したモデルが、開発段階から運用管理段階に至るまで、実行可能なファイルとして稼動し続けるというユニークな特長を持っている。

SDMに関する詳細は下記URLを参照
  http://www.microsoft.com/japan/windowsserversystem/dsi/sdm.mspx

DSIに基づくマイクロソフトの製品ロードマップ

 DSIの提供に関するマイクロソフトの戦略は、ユーザーがITインフラストラクチャの複雑さを大幅に軽減することを目的とした長期的なビジョンと、ユーザーが今すぐに開始できる有効なソリューションを提供する、堅実な短期的製品ロードマップを結合することにある。

図3 製品ロードマップ図(クリックすると拡大)

[Windows Serverとサーバ・アプリケーション]

 Microsoftサーバ・プラットフォームである「Microsoft Windows Server 2003」は、Windows Server Systemが統合されたサーバ・インフラストラクチャ・ソフトウェアの基盤である。「Windows Server 2003」では、リソース管理およびプロビジョニング、Webサービスおよびアプリケーション・サービス、コア・サーバ管理機能を強化している。さらに、「Microsoft Virtual Server 2005」では、サーバ・ハードウェアの利用率を改善し、データ・センター・リソースのより柔軟なプロビジョニングを可能にする。

[サーバ・アプリケーションと管理パック]

 「Microsoft BizTalkR Server」「Microsoft SQL Server」「Microsoft Exchange Server」など、Windows Server Systemのサーバ・アプリケーションについて、「Microsoft Operations Manager」用管理パックを配布している。これらの管理パックにより、それぞれ特定のアプリケーションを監視および管理するための知識が即座に得ることが可能となる。

[Corporate Error Reporting]

 運用環境からアプリケーション開発に戻る循環ループを作るために、マイクロソフト社内では、ビジネスに使用しているいくつかのコア技術を提供し、他の組織が自社環境の管理機能を改善できるように支援している。ユーザーはこの技術を活用して、さまざまなサードパーティ製アプリケーションやカスタム・アプリケーションの通知も収集できるようになる。

[管理製品]

 Windows Server Systemのロードマップの一環として、「Windows Server 2003」の機能を基にした一連の管理製品とソリューションを提供している。これらの製品とソリューションは、現在のエンタープライズ環境に対応すると同時に、将来のSDM対応環境への道筋となるように設計されており、DSIの初期の重要なステップとして位置づけられている。各製品には、Windows環境への適合性を高めると共に、複雑な環境に対応する幅広い異種ソリューションを提供するパートナー各社の豊富な拡張機能が含まれている。

[アプリケーション開発ツール]

 マイクロソフトの開発ツールにおける“運用を考慮した設計”機能は、DSI戦略の重要な要素である。「Microsoft Visual Studio .NET 2003」では、運用時に最適な管理性を達成するため設計時に簡単に実装する機能など、開発者向けの幅広い拡張機能を提供した。 「Visual Studio .NET 2005」では、「サービス指向アプリケーション・デザイナ・スイート」が含まれている。このスイートにより、ユーザーはWebサービスベースのサービス指向アプリケーションを容易に構築でき、データ・センターでの展開に効率的に備えることができる。

[ソリューションとベスト・プラクティス]

 マイクロソフトはDSIロードマップの手引きとなる指針とベスト・プラクティスを公開している。「Microsoft Solutions for Management」は、管理上のベスト・プラクティスと管理テクノロジを組み合わせて適用することで、Windows環境でのサービス品質、信頼性、可用性、セキュリティを向上し、TCO を削減して、企業が優れた運用成果を達成できるように支援する。「Microsoft Systems Architecture」は、インフラストラクチャの根本的な問題を解決するための企業向けのテクノロジ・アーキテクチャである。

成本正史氏(マイクロソフト デベロッパーマーケティング本部 アーキテクトエバンジェリスト マネジャー)に聞く
DSIの必要性――アプリケーション・ライフサイクルの複雑化の克服

 エンタープライズ・システムが分散化するなか、アプリケーション・ライフサイクル全体にわたって複雑なタスクが著しく増加しています。新しいシステムを設計し、配布し、さらにそのシステムを最適化するには、膨大な時間が必要になります。特に大変なのはシステムの運用です。運用は、人的リソースに負う部分が大きいため、 極端にいえば、IT予算の70〜80%を既存システムの保守に費やさなければならない場合も出てきます。

 このような状況のなかでDSIは誕生しました。DSIの最終目的は、アプリケーションのライフサイクル全体にわたる複雑なタスクを軽減することにあります。DSIを適用することで、システム開発の初期段階から自律性を考慮したデザインが可能となるのです。

 通常、開発者はシステム・デザインを行う際に、運用ポリシーや(アプリケーションが動作するために必要な)リソース、プロトコル、セキュリティ制約などをビジュアルなツールで明確に定義し、モデルとして(レポジトリに)格納します。重要なのはモデルです。このモデルがベースとなって自律性の高いシステム構築が行われます。ここでいう自律性の高いシステムとは、例えば、アプリケーションの自動配布、負荷に応じたハードウェアリソースの自動割り当て、システムのモニタリング、エラー発生時レポーティング、自己復旧が可能なシステムを意味します。マイクロソフトでは、このようなシステムを構築する際、設計段階に定義したモデルを参照することで、ほぼ自動的に実現できるよう製品開発を行っているのです。DSIとは、このような概念を実現に導くための体系といえます。もちろん、個々の具体的な製品がDSIを構成するさまざまな概念に対応しています。

 DSIはマイクロソフト1社で完成できるものではなくハードウェアベンダからソフトウェアベンダにいたるIT業界全体の取り組みです。すでに複数の弊社パートナーとの協業が始まっています。


第1回 モデル中心の開発手法が自律型システムの構築を可能にする
〜Dynamic Systems Initiative(DSI)の全容〜
第2回 「工業生産の効率的手法」をソフトウェア開発に適用する
〜次世代開発基盤技術“Software Factories”〜
第3回 Software Factoriesによるソフトウェア開発手法
〜大規模システム開発を成功させるために〜

モデリング・プラクティス コーナー


提供:マイクロソフト株式会社
企画:アイティメディア 営業局
制作:@IT編集部
掲載内容有効期限:2005年4月30日
 
@IT 関連記事
ビジネス要求に基づく“役立つシステム”の実現手法 (@IT 情報マネジメント)

ビジネスモデリング事始 (@IT 情報マネジメント)

ビジネスを可視化するモデル記述言語「BPMN」 (@IT ITArchitect)

分析から設計へのモデル変換などについて (@IT ITArchitect)

UML2.0で変わるモデリング作法 (@IT ITArchitect)

UML 2.0のキホン:コンポーネント図の詳細解説 (@IT ITArchitect)

UMLモデリングのノウハウ、最後の秘訣 (@IT ITArchitect)

モデリング=まねることの本質について (@IT ITArchitect)

Software Factories詳解 (@IT Insider.NET)

Visual Studio 2005 Team System概要 (@IT Insider.NET)

.NETで始めるデザインパターン (@IT Insider.NET)

.NET開発者のための開発プロセス入門 (@IT Insider.NET)

Visioで始めるUMLモデリング (@IT Insider.NET)
モデリング関連ニュース
日立ソフトがSOAにもとづいた業務アプリケーションの開発コストを大幅に削減する (2005/5/19)

グリッド構築の共通モデリング言語、EGAが発表 (2005/5/12)

公開!アーキテクト養成講座 キックオフイベント 5月24日開催 (2005/5/11)

UML にマインドマップを組み合わせたJUDE/Professional2.2 をリリース (2005/4/15)

UMLモデリングツール『JUDE』がソフトウェア部門 優秀賞を受賞 (2005/4/1)

「要求開発サミット」、2005年3月15日に開催 (2005/3/1)

ボーランド、Eclipse 3.0.1に対応したビジュアルモデリングツール Borland Together Edition for Eclipse 7.0日本語版を出荷開始 (2005/2/17)

DOA+コンソーシアム 設立1周年記念セミナー開催 (2005/2/16)

マイクロソフト、ビジネス プロセス マネジメントの分野で 日揮情報ソフトウェアとの協業体制を強化 (2005/1/14)

日揮情報ソフトウェア、BPMN1.0準拠のビジネスプロセスモデリングツール「ITpearls Process Modeler for Microsoft Visio」を販売開始 (2005/1/14)

ウルシステムズ 丸井グループ全体の経営を支える戦略的なシステムの再構築において先端技術コンサルティングを実施 (2004/12/17)

業界初、オープンな環境に対応したソフトウェア開発ツール (2004/11/4)

キャッツとボーランドが組込み分野向け3製品を再販する契約を締結 (2004/9/6)

ボーランド、「コードとモデリング」が完全統合した.NET開発を実現する Borland Together Edition for Microsoft Visual Studio .NET 2.0 日本語版を出荷開始 (2004/7/6)

ソフトウェアアーキテクチャ モデリングへの新しいアプローチでマイクロソフトのコスト優位性を明らかにする (2004/5/5)


 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ