ロードマップ
Patterns & Practices
Microsoft Corporation
December 2002
日本語版最終更新日 2003 年 3 月 17 日
対象
.NET Framework Version 1.0
Visual Studio .NET Version 2002
SQL Server 2000
Windows 2000
要約: このガイドでは、Windows 2000 と .NET Framework Version 1.0 を基盤として構築される .NET Framework アプリケーションおよびサービスのアーキテクチャと設計に関する設計レベルの情報を紹介します。コンポーネントへのアプリケーション機能の分割方法、主要な設計上の特徴の概要、各レイヤへのセキュリティ、管理、および通信の適用方法、コンポーネントの適切な展開方法などについて説明します。
日本語版編集注: このページで提供する日本語訳は暫定版です。今後、内容に関して更新が入る可能性がありますのでご了承ください。
このロードマップの内容
このガイドの対象読者
このガイドの内容
前提知識
ご協力いただいた方々
ご意見、お問い合わせ、およびサポート
このガイドの対象読者
このガイドは、以下の作業を行う必要のあるアーキテクトまたは開発者向けに作成されています。
- アプリケーションを分割してコンポーネントにする方法の決定
- トランザクション型の基幹業務アプリケーションまたはサービスで使用するテクノロジの選択
- 適用すべき管理ポリシーおよびセキュリティ ポリシーの設計
- アプリケーションの展開方法の決定
このガイドでは、ASP.NET、Web サービス、Enterprise Services (COM+)、リモート処理、ADO.NET、SQL Server などのテクノロジを使用して多くの物理層全体に展開することが可能な、レイヤ型の設計に基づくトランザクション型アプリケーションまたは OLTP アプリケーションを扱います。このガイドで紹介するいくつかの設計原則は、他の同様の環境でも使用できる場合があります。
分散アプリケーションを設計する作業は、簡単ではありません。アーキテクチャ、設計、および実装の各レベルで、多くのことを決定する必要があります。これらの決定事項により、セキュリティ、拡張性、可用性、保守性などを始めとするアプリケーションの性能が左右されると同時に、対象とするインフラストラクチャのアーキテクチャ、設計、および実装が影響を受けます。このガイドは、分散アプリケーションの各レイヤを設計する際に検討すべき選択事項の理解に役立つように作成されており、これらの選択事項は、アプリケーションをモデル化するために使用するコンポーネントのレイヤのセットとして提示されます。図 1.0 に、このガイドで説明する論理コンポーネント レイヤを示します。これらのレイヤについては、主に第 2 章で説明します。
図 1.0 .NET で作成する分散アプリケーションおよびサービスのコンポーネント レイヤ
このガイドの内容
第 1 章 はじめに
この章では、分散アプリケーション設計の全体的な目標、サービスおよびサービス統合と従来のアプリケーション開発との関係、およびこのガイドで事例として紹介する単純な小売り用のシナリオについて説明します。
第 2 章 アプリケーションまたはサービスのコンポーネント設計
この章では、分散アプリケーションに関してユーザー インターフェイスの概要から説明し、適切に機能するアプリケーションで共通に使用されるコンポーネントまたはレイヤのさまざまな種類を識別する方法について解説します。また、主要なテクノロジまたは必要な設計判断と、これらのコンポーネントを設計する際の指針となる原則について説明します。
第 3 章 セキュリティ、運用管理、通信のポリシー
この章では、認定や例外管理などのさまざまな機能がアプリケーション レイヤの設計にどのような影響を及ぼすか、およびこれらの領域に関する設計判断がアプリケーション全体にどのように作用するかについて説明します。また、通信メカニズムの選択についても説明します。
第 4 章 物理的な展開と運用上の要件
この章では、前の章で説明した論理コンポーネント レイヤを複数の物理層から構成されるインフラストラクチャに展開する方法と、論理コンポーネント レイヤ、物理層、および運用要件を組み合わせる際の適切で一般的な展開パターンについて説明します。
第 5 章 付録
この付録には、用語集、第 2 章で解説するアプリケーション コンポーネント レイヤを実装または強化するための Microsoft 製品とテクノロジのマップ、およびコンピュータ業界でこれらのレイヤに使用されている関連パターンと名前の一覧が含まれます。
前提知識
このガイドを有効に活用するには、.NET 開発における技法とテクノロジの使用経験が必要です。さらに、一般的な分散アプリケーション アーキテクチャに関する知識、また .NET Web アプリケーション ソリューションを構築済みである場合には、構築したアプリケーションのアーキテクチャと展開パターンを把握している必要があります。
ご協力いただいた方々
Solution Architect & Program Manager: Edward A. Jezierski
以下のご協力いただいた方々、スポンサー、およびレビューアに深謝いたします。
Keith Short, Mike Pizzo, Johannes Klein, Rodney Limprecht, Chris Anderson, Anders Hejlsberg, David Treadwell, Jonathan Hawkins, Erik Olson, Brad Rhodes, Rob Howard, Ron Jacobs, John Shewchuck, Luca Bolognese, David Schleifer, Riyaz Pishori, Pablo Castro, Brian Pepin, Mark Boulter, Shawn Burke, Michael Platt, Maarten Mullender, Mike Burner, Dino Chiesa, John Montgomery, Richard Burte, Steve Kirk, Richard Irving, Srinath Vasireddy, Steve Newbury, Sharon Bjeltich, Tom Devey, Kurt Schenk, Bryan Lamos, Paddy Srinivasan, Yves Dolce, Rob Macdonald, Mark Phillips, Blair Shaw, Jeremy Rule, Paul Gomes, Dale Michalk, Martin Petersen-Frey, Angela Crocker, Kenny Jones, Ilia Fortunov, Shantanu Sarkar, Rossen Blagoev, the Think Tank, Bijan Javidi, Bob Jarvis, Aaron Margosis, Maurice Magnier, Doug Orange, Eugenio Pace, Carlos Billy Reynoso, Anthony Menio, Karl Schulmeisters, Ingo Ramner, Bernard Chen (Sapient), Dimitris Georgakopoulos (Sapient), Michael Monteiro (Sapient), Roger Sessions (ObjectWatch), Andrew Roubin, Diego Gonzalez (Lagash), Adrie Geelhoed (CMG), Gerke Geurts (CMG), Sasha Siddhartha, and Franco Ceruti (VBNext).
Prescriptive Architecture Guidance and content team:
Technical Writers: Graeme Malcolm (Content Master Ltd) and Lin Joyner (Content Master Ltd)
Filiberto Selvas Patino, Michael Kropp, Per Vonge Nielsen, Shaun Hayes, J.D. Meier, Rick Maguire, Philip Teale, Ken Perilman, David Trowbridge, Mohammad Al-Sabt, Lars Laakes, Sharon Smith, Chris Sfanos, Claudia Iebbiano (Wadeware) および Satyam Computer Services Ltd の Architecture review board
次章では
アプリケーション設計とサービス設計の違いについて理解するには、「第 1 章 はじめに」をお読みください。
ご意見、お問い合わせ、およびサポート
このガイドに関するご質問、ご意見、ご提案などがございましたら、devfdbck@microsoft.com (英語で) までご連絡ください。
ニュースグループを利用すると、オンラインの公開フォーラムで他のユーザーや Microsoft サポート担当者に助言を求めることができます。みな様からのご質問やコメントは参加しているすべてのユーザーにとって役立ちます。また、弊社の開発チームも定期的にこのニュースグループをチェックしています。
ニュースグループ : Web 経由の閲覧
http://www.microsoft.com/japan/communities/newsgroups/default.mspx
ニュースグループ : NNTP 経由の閲覧
news://msnews.microsoft.com/microsoft.public.dotnet.distributed_apps
(英語情報)
記載されているサンプル コードと情報は、現状のまま無保証で提供されています。このガイドの内容については検証しており、確実な手順と推奨事項を収録していますが、通常の Microsoft 製品と同様のサポートは提供されません。