連載:アプリケーション・アーキテクチャ・ガイド2.0解説第1回 Application Architecture Guideの概要日本ユニシス 猪股 健太郎2009/03/10 |
Page1
Page2
|
マイクロソフトは自社技術に関連する膨大な量の情報を公開しているが、その中に「patterns & practices」(以下、「パターンとプラクティス」)という一連の情報があるのをご存じだろうか。
「パターンとプラクティス」とは、マイクロソフト技術を使用したアプリケーションの設計と開発における推奨事項を集めたものだ。そこで公開されている情報は、マイクロソフト社内外の専門家が作成しレビューし検証したものである。従って、アプリケーションを設計・開発する際に「パターンとプラクティス」を活用すれば、プロジェクトの技術リスクを低くすることができる。
「パターンとプラクティス」では、ドキュメント、再利用可能なソース・コード、リファレンス実装などが組み合わさったものが公開されている。情報の蓄積と公開は2001年から継続して行われており、多量の情報が存在する。
「パターンとプラクティス」で蓄積、公開されている情報 |
英語版のリストは「patterns & practices: Complete Catalog」にある。それらの情報は、一部が日本語に翻訳されている。日本語版の情報は1カ所に集約されてはいないが、MSDNライブラリの以下の各ページ内で確認できる。
なお、@IT/Insider.NETでも、「アプリケーション・アーキテクチャ設計入門」「Enterprise Library」といった解説記事が掲載されている。
そして、本連載では、「パターンとプラクティス」の中から、2009年1月に公開されたばかりの『Application Architecture Guide 2.0』(以下、AAG)を取り上げ、5回にわたって内容を説明していく。
■AAGとは何か
AAGは、.NET Frameworkを用いて構築するアプリケーションのアーキテクチャ策定と設計のためのガイダンス(ドキュメント)である。AAGの概要説明文には「このガイダンスでは、アプリケーションの一般的な形態と、アプリケーションの機能を論理階層やコンポーネントやサービスに分割する方法に重点を置き、設計における主要な特徴を一通り紹介する」とある。
AAGはCodePlexで公開されており*1、HTMLやPDFで読むことができる。
- patterns & practices: Application Architecture Guide 2.0(The Book)
- patterns & practices: App Arch Guide 2.0 Knowledge Base
*1 MSDNへの正式な公開は2009年夏の予定だが、内容自体は1月にCodePlexに公開されたものが完成版である。 |
■AAGに書かれていること
AAGが取り扱っているのは以下のような内容である。
-
アプリケーションの標準的な内部構造:アプリケーションは論理的/物理的に多層構造にすることが多いが、その際に推奨される分け方を提示する。各層はそれぞれ役割が異なるため、実現すべき機能や選択されるテクノロジも異なる。
-
アプリケーションの種別:アプリケーションの要件に応じてアプリケーションの実装形態は異なるが、典型的なアプリケーションの形態を例として提示する。あくまで例であり、網羅的なものではない。
-
アーキテクチャ要素:設計においていくつかの選択肢が存在するような、アプリケーションごとの可変部分を明確化する。そこでは要件や制約を満たすように設計上の判断をしなければならない。
-
品質属性:アプリケーション・アーキテクチャに影響を与えるような品質属性について考察する。
-
原則とパターンとベスト・プラクティス:上に挙げたような要素を前提とした推奨事項を提示する。原則とパターンとベスト・プラクティスは相互に関連している。
-
実装テクノロジと機能範囲:マイクロソフトが提供するさまざまなテクノロジと、それが実現する機能について説明する。
■AAGの活用方法
AAGは、アプリケーション・アーキテクチャをどのように設計し実現していけばよいのかということについての思考の枠組み(フレームワーク)を提供してくれる。AAGが提供する枠組みに沿って考えることで、問題が明確になり、解決策を導きやすくなることだろう。
ただし、AAGを利用するうえで注意すべきことが2つある。
1つは、AAGは設計の手順書ではない、ということである。AAGは参考書(リファレンス)を目指して書かれている。具体的な手順やプロセスは規定していないので、それを期待して読んではいけない。
もう1つは、AAGは完全ではない、ということである。AAGではアプリケーション開発を包括的にとらえ、最も重要だと思われる問題に関する推奨事項を記述している。しかし、細部を詳細に解説したり、特定の問題に対する万能な解答を提示したりはしない。AAGはアプリケーション・アーキテクチャを決定するための指針を提示するが、決断するのはあなたなのだ。
■AAGの構成およびAAfNとの対応づけ
AAGは4部構成・全21章から構成されている。
まえがき
第1部 基礎
第2部 設計
第3部 論理階層
第4部 アプリケーション種別
14章 アプリケーション種別
15章 Webアプリケーション
16章 リッチ・インターネット・アプリケーション(RIA)
17章 リッチ・クライアント・アプリケーション
18章 サービス
19章 モバイル・アプリケーション
20章 Officeビジネス・アプリケーション(OBA)
21章 SharePoint業務アプリケーション
付録
ガイド全体を読む時間がない場合は、まえがきの「本ガイドの要旨」だけでも、まずは目を通すことをお勧めする。そこにはAAGに記述されている内容の抜粋が書かれているので、短い時間で全体像をつかむことができる。
次のページでは、AAGの全体像を説明する。
INDEX | ||
連載:アプリケーション・アーキテクチャ・ガイド2.0解説 | ||
第1回 Application Architecture Guideの概要 | ||
1.『Application Architecture Guide 2.0』とは何か? | ||
2.Application Architecture Guide 2.0の全体像 | ||
「アプリケーション・アーキテクチャ・ガイド2.0解説」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|