.NETエンタープライズWebアプリケーション 開発技術大全

マイクロソフト コンサルティング本部 赤間 信幸

 本連載は、日経BPソフトプレス/マイクロソフトプレスが発行している『.NETエンタープライズWebアプリケーション開発技術大全』のVol.1 .NET Framework導入編Vol.2 ASP.NET 基礎編Vol.3 ASP.NET 応用編Vol.4 セキュアアプリケーション設計編Vol.5 トランザクション設計編より、その一部を同社の許可を得てその内容を転載したものです。 このインデックス・ページでは、各巻の全目次を掲載しています。
 

第1回 Microsoft .NET概要 (2004/04/22)
第2回 ASP.NETランタイムの基本動作とWeb UI コントロールツリー (2004/05/08)
第3回 Webアプリケーションの状態管理 (2004/05/20)
第4回 スマートクライアント型システムにおけるVS.NETのメリット (2004/06/03)
第5回 ポストバック処理 (2004/06/17)
第6回 Sessionオブジェクト (2004/07/15)
第7回 Webアプリケーションのセキュリティデザイン基礎 (2004/09/16)
第8回 大規模プロジェクトにおける開発環境構築術 (2004/09/30)
第9回 SQL Serverのロック管理 (2005/03/01)
第10回 接続型データアクセスと短時間トランザクション (2005/03/15)
第11回 対話型トランザクション処理の設計方法 (2005/04/12)

 

.NETエンタープライズ
Webアプリケーション開発技術大全
Vol.1 .NET Framework導入編

 
第1章 Microsoft .NET概要

1.1 今日のIT業界の現状
1.2 XML Webサービスの出現
1.3 Microsoft .NETとは何か?
1.3.1 サービス指向アーキテクチャ(SOA, Service Oriented Architecture)
1.3.2 相互運用性(異機種プラットフォーム間接続)の重視
1.3.3 広範なデバイスの活用による新しいユーザエクスペリエンスの実現
1.4 Microsoft .NETと製品・技術の関係
1.5 ソフトウェアの未来像としての".NET"と今日のシステム開発現場とのギャップ
1.6 Microsoft .NET概要のまとめ

(2004/04/22 公開)

第2章 Visual Studio .NETによるアプリケーション開発がもたらすメリット

2.1 オープン系の業務システムにおける典型的なシステム形態
2.2 C/S型システム開発におけるVisual Studio .NETのメリット
2.2.1 本システム形態の特徴
2.2.2 本システム形態の問題点
2.2.3 共通言語ランタイム(CLR, Common Language Runtime)
2.3 Web型システム開発におけるVisual Studio .NETのメリット
2.3.1 本システム形態の特徴
2.3.2 本システム形態の問題点
2.3.3 Webアプリケーション開発フレームワークとは何か
2.3.4 Webアプリケーション開発フレームワークASP.NET & ADO.NET
2.3.5 Webアプリケーション開発における.NET Frameworkの持つ技術的なメリット
2.4 スマートクライアント型システムにおけるVisual Studio .NETのメリット
2.4.1 本システム形態の特徴
2.4.2 本システム形態の構成例
2.4.3 本システム形態の問題点
2.4.4 Visual Studio .NETによる簡単なXML Webサービス開発
2.4.5 サーバ/クライアントへのパッケージ製品の応用
2.4.6 スマートクライアント型システム形態の今後

(2004/06/03 公開)

2.5 疎結合システムにおけるVisual Studio .NETのメリット
2.5.1 本システム形態の特徴
2.5.2 本システム形態の問題点
2.5.3 未来に向けた取り組みとしてのMicrosoft .NET
2.6 既存資産の再利用
2.6.1 ソースコードの再利用(全体または部分移行)
2.6.2 コンポーネントの再利用
2.6.3 サービスとしての再利用
2.7 Visual Studio .NETによるアプリケーション開発のまとめ

第3章 開発ソリューションとしてのマイクロソフトの開発技術

3.1 Visual Studio .NETによる開発プロセスのサポート
3.1.1 設計ツールVisioによるUMLモデリング
3.1.2 WebアプリケーションテストツールApplication Center Test(ACT)
3.1.3 パッケージングを行うセットアッププロジェクト
3.2 Visual Studio .NETによるチーム開発のサポート
3.2.1 チーム開発環境の構築のポイント
3.2.2 ソースコード管理ツールVisual SourceSafe(VSS)
3.2.3 容易なビルドシステムの構築
3.2.4 大規模アプリケーションの分散開発のシナリオ
3.2.5 MSDNサブスクリプションと開発者ライセンスについて
3.3 Windows Server Systemによるパッケージベース開発のサポート
3.3.1 Windows Server Systemについて
3.3.2 システム開発の観点から重要なWSSサーバ製品
3.3.3 製品ロードマップ情報
3.4 サードパーティコンポーネントとソリューション
3.5 Windowsシステムの信頼性
3.5.1 スケーラビリティ(拡張性)
3.5.2 アベイラビリティ(可用性)
3.5.3 セキュリティ
3.6 開発情報の入手
3.6.1 設計・実装に関するベストプラクティスガイドライン(patterns & practices)
3.6.2 開発技術を比較する際の注意点
3.7 開発技術を比較する際の注意点

第4章 本シリーズでの学習を始めるにあたって

4.1 本シリーズの目的
4.2 本シリーズの特徴とアプローチ
4.3 本シリーズを読むために必要な前提知識
4.4 本シリーズのゴール対象外の事項
4.5 本シリーズに関するご意見・ご感想などについて

 

.NETエンタープライズ
Webアプリケーション開発技術大全
Vol.2 ASP.NET 基礎編

 
○第1部 フレームワークとしてのASP.NET
第1章 ASP.NETの特徴

1.1 Webアプリケーション開発技術の変遷
1.2 ASP.NETの主な特徴
1.3 ランタイムパフォーマンスの比較
1.4 ASP.NETの動作を理解するために

第2章 ASP.NETランタイムの基本動作とWeb UI コントロールツリー

2.1 ASP.NETランタイムの基本動作
2.2 Web UIコントロールツリーの作成方法
2.3 ASP.NET処理ブロックの中からのWeb UIコントロールツリーの操作方法
2.4 ASP.NETランタイムの基本動作とWeb UI コントロールツリーのまとめ

(2004/05/08 公開)

第3章 ポストバック処理

3.1 対話型Webアプリケーションの問題点
3.2 ポストバック処理の概要
3.3 ポストバック処理の詳細なランタイム動作
3.4 ポストバックを利用したプログラム設計のスタイル

(2004/06/17 公開)

3.5 データの引渡し

第4章 コードビハインド

4.1 コードビハインドの概要
4.2 コードビハインドの動作原理
4.3 Visual Studio .NETの編集作業に伴う動作
4.4 コードビハインドのまとめ

第5章 検証コントロール

5.1 ユーザ入力値の検証とは
5.2 検証コントロール
5.3 サマリ表示機能
5.4 一括結果チェック機能
5.5 検証コントロールを使いこなす4つのポイント
5.6 ASP.NET入力値検証に関する制限事項と注意事項
5.7 ASP.NET入力値検証のまとめ

○第2部 データバインド
第6章 ADO.NET基礎

6.1 ADO.NET概要
6.2 データアクセス方法の分類
6.3 接続型データアクセス
6.4 非接続型データアクセス
6.5 DataSet
6.6 Visual Studio .NETとADO.NET
6.7 ADO.NETのまとめ

第7章 データバインド

7.1 データバインドの分類
7.2 Visual Studio .NETを利用した開発
7.3 DataGridによるデータバインドのカスタマイズ
7.4 データバインド機能のまとめ

○第3部 セキュアプログラミング
第8章 Webアプリケーションのセキュアプログラミング

8.1 Webアプリケーションのセキュリティ
8.2 セキュアプログラミングテクニック
8.3 セキュリティに関する主な学習リソース

本書のまとめ
付録A 実習用コンピュータのセットアップ手順

A.1 実習用コンピュータのセットアップ手順について
A.1.1 一般的な注意点と準備するソフトウェア
A.1.2 共通セットアップ手順
A.1.3 インストールに関するTips & FAQ

 

.NETエンタープライズ
Webアプリケーション開発技術大全
Vol.3 ASP.NET 応用編

 
○第1部 クラスタリングと状態管理
第1章 Webシステムのスケーラビリティとクラスタリング

1.1 クラスタリングを行う2つの目的
1.2 Webシステムのスケーラビリティ
1.3 Webサーバの負荷分散方式
1.4 Webサーバの負荷分散を行う場合の設計原則
1.5 マイクロソフトのクラスタリング技術
1.6 物理3階層型システム

第2章 Webアプリケーションの状態管理

2.1 状態管理の手法
2.2 ViewStateオブジェクト

(2004/05/20 公開)

2.3 Sessionオブジェクト

(2004/07/14 公開)
2.4 その他のクライアントサイドのユーザ状態管理
2.5 その他のサーバサイドのユーザ状態管理
2.6 Applicationオブジェクトとstatic(Shared)メンバ変数
2.7 SQL Serverデータベース上のカスタムテーブルによるアプリケーション状態の保存
2.8 データキャッシュ
2.9 Webアプリケーションの状態管理のまとめ

○第2部 ASP.NET Webアプリケーション共通基盤技術
第3章 ASP.NETランタイムの詳細動作

3.1 ASP.NETランタイムの実行プロセスモデル
3.2 ASP.NETパイプライン処理モデル

第4章 デバッグ、トレース、例外処理

4.1 デバッグ、トレース、例外処理とは何か
4.2 デバッグ
4.3 トレース機能
4.4 例外処理

第5章 ASP.NET Webアプリケーションの構成管理

5.1 ASP.NET Web アプリケーションランタイムの構成管理
5.2 Webアプリケーション固有の構成データの管理
5.3 実システムにおける構成データの管理上の注意点

本書のまとめ
付録A 実習用コンピュータのセットアップ手順

A.1 実習用コンピュータのセットアップ手順について
A.1.1 一般的な注意点と準備するソフトウェア
A.1.2 共通セットアップ手順
A.1.3 インストールに関するTips & FAQ

 

.NETエンタープライズ
Webアプリケーション開発技術大全
Vol.4 セキュアアプリケーション設計編

 

○第1部 セキュアWebアプリケーションデザイン基礎
第1章 Webアプリケーションのセキュリティデザイン基礎

1.1 Webシステムのセキュリティの基本概念
1.2 認証(Authentication)と許可制御(Authorization)
1.3 ロールベースセキュリティ(RBS)
1.4 リソースアクセスストラテジ
1.5 Webサーバにおけるセキュリティデザインの構成要素
1.6 Webアプリケーションのセキュリティデザインの基礎のまとめ

(2004/09/16 公開)

第2章 ASP.NET Webアプリケーションセキュリティ基礎

2.1 ASP.NET Webアプリケーションのユーザ認証
2.2 ASP.NET Webアプリケーションの許可制御
2.3 ASP.NET Webアプリケーションの通信のセキュア化
2.4 ASP.NET Webアプリケーションのリソースアクセスストラテジ
2.5 ASP.NET Webアプリケーションの代表的なセキュリティ構成パターン
2.6 ASP.NET Webアプリケーションの代表的なセキュリティ構成パターン

第3章 SQL Serverデータベースセキュリティ基礎

3.1 SQL Serverの内部構造
3.2 SQL Serverのユーザ認証
3.3 SQL Serverの許可制御
3.4 システム管理者sa
3.5 システム管理者sa
3.6 SQL Serverに関するその他のセキュリティ上の注意事項
3.7 SQL Serverデータベースセキュリティ基礎のまとめ

第4章 ASP.NETフォーム認証

4.1 フォーム認証の動作概要
4.2 認証チケットと認証クッキー
4.3 フォーム認証におけるロール情報の利用
4.4 ユーザ管理システムの作成方法
4.5 静的ファイルに対するURL許可制御の利用
4.6 ASP.NETフォーム認証のまとめ

○第2部 開発環境構築
第5章 開発環境構築の全体像

5.1 大規模開発における全体の作業の流れ
5.2 大規模開発における全体の作業の流れ
5.3 分散開発されたアプリケーションを集約し、リリースするまでの流れ
5.4 開発プロセスやその環境構築に利用されるマイクロソフトの製品群
5.5 開発プロセスやその環境構築に利用されるマイクロソフトの製品群

(2004/09/30 公開)

第6章 Visual Studio .NETソリューション構造

6.1 ソリューションとプロジェクト
6.2 物理ファイルの配置位置
6.3 アプリケーションのコンパイル
6.4 参照設定
6.5 グローバルアセンブリキャッシュ(GAC)と厳密名(Strong Name)
6.6 Visual Studio .NETソリューション構造に関するまとめ

第7章 Visual SourceSafeによるソースコード管理

7.1 Visual Studio .NETソリューション構造に関するまとめ
7.2 Visual SourceSafeによるソースコード管理の全体像
7.3 ソースコード管理者によるVSSデータベースの準備
7.4 開発リーダによる初期登録作業
7.5 各開発メンバによるプログラミング作業の遂行
7.6 Visual SourceSafeを利用する場合の注意事項
7.7 Visual SourceSafeによるソースコード管理のまとめ

第8章 Webアプリケーションの性能テスト

8.1 性能テスト(Performance Testing)とは何か
8.2 ユーザアプリケーションバグによるマルチスレッド動作障害
8.3 一般的な性能テストの実施方法
8.4 Application Center Testを利用した性能テストの実施方法
8.5 Webアプリケーションの性能テストのまとめ

第9章 ビルドプロセス

9.1 ビルドプロセス概要
9.2 ビルドプロセスの構成要素
9.3 ビルドシステムの構築
9.4 バージョニングポリシーの策定
9.5 バッチファイルとVBScriptを用いたビルドプロセスの開発
9.6 ビルドプロセスのまとめ

第10章 大規模開発におけるソリューション構造

10.1 大規模開発におけるソリューションとプロジェクトの設計的意味
10.2 プロジェクトとソリューションが持つ意味
10.3 エンタープライズWebアプリケーションの内部設計の構造化指針
10.4 大規模開発におけるソリューション構造のまとめ

 

.NETエンタープライズ
Webアプリケーション開発技術大全
Vol.5 トランザクション設計編

 
○第1部 短時間トランザクション処理
第1章 トランザクションと分離レベル

1.1 同時実行制御とトランザクション
1.2 トランザクションの分離レベル
1.3 トランザクションと分離レベルのまとめ

第2章 SQL Serverのロック管理

2.1 SQL Serverのロックメカニズムの基礎
2.2 分離レベルによるロック挙動の変化

(2005/03/01 公開)

2.3 ブロック
2.4 デッドロック
2.5 SQL Serverのロック制御のまとめ

第3章 接続型データアクセスと短時間トランザクション

3.1 業務的なトランザクション制御
3.2 データベーストランザクション
3.3 マニュアルトランザクション
3.4 自動トランザクション
3.5 短時間トランザクション処理の3つの制御方式の比較
3.6 接続型データアクセスと短時間トランザクションのまとめ
(2005/03/15 公開)

○第2部 自動トランザクション処理
第4章 自動トランザクション処理の概要

4.1 .NET FrameworkとCOM+サービスの関係
4.2 自動トランザクションの処理フロー
4.3 トランザクションコンテキストの分割方法
4.4 投票によるコミットとアボート制御
4.5 自動トランザクション処理の概要のまとめ

第5章 自動トランザクション処理の内部動作

5.1 サービスコンポーネントプロキシ(SCP)
5.2 ジャストインタイムアクティベーション(JIT)
5.3 トランザクション制御ビット
5.4 ステートフル設計とステートレス設計
5.5 自動トランザクション制御の利用に関するその他の注意点
5.6 自動トランザクション処理の内部動作のまとめ

第6章 サービスコンポーネントの実装方法と配置方法

6.1 本章で解説する実装サンプルについて
6.2 サービスコンポーネントの実装
6.3 サービスコンポーネントの配置
6.4 サービスコンポーネントの実装方法と配置方法のまとめ

第7章 サービスコンポーネントを用いたアプリケーション設計時の注意点

7.1 トランザクション分離レベルの調整方法
7.2 コンポーネント分割とトランザクションオプション指定のパターン化
7.3 例外とトランザクションアボートの違い
7.4 サービスコンポーネントを用いたアプリケーション設計時の注意点のまとめ

○第3部 複雑なトランザクション制御
第8章 対話型トランザクション処理の設計方法

8.1 対話型トランザクション処理とは
(2005/04/12 公開)

8.2 業務排他制御による対話型トランザクション処理の設計方法
8.3 楽観同時実行制御による対話型トランザクション処理の設計方法
8.4 対話型トランザクション処理の設計方法のまとめ

第9章 複雑なトランザクション制御

9.1 複雑なトランザクション制御とは
9.2 ネットワーク障害発生時のメッセージロスト対策
9.3 オンライン型長時間バッチ処理
9.4 トランザクションマネージャと連携できないリソースマネージャを含む短時間トランザクション
9.5 キュー型トランザクション
9.6 複雑なトランザクション制御のまとめ

本書のまとめ
本シリーズのまとめ 〜アプリケーションアーキテクトとは〜

付録A 実習用コンピュータのセットアップ手順

 

 




Insider.NET フォーラム 新着記事
  • 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間