[コース: A1] .NET Framework の基礎

Download Report

Transcript [コース: A1] .NET Framework の基礎

Microsoft ON ― 出張ワークショップ ―
[コース: A1]
.NET Framework の基礎
(参加者向け)
.NET の背景
“つながる”ことこそが重要
システム同士の連携ニーズの増大
システムの長寿命化、デバイスの多様化に対応
サービス指向アーキテクチャ(SOA)
システム統合(EAI)
異種システム連携
企業間連携(B2B)
企業同士も“つながる”ことが重要
自動化の促進
Webサービス
プラットフォーム非依存
HTTP(TCP/IP)
インターネットの急速な普及
“ユビキタス”
XML
簡潔な規則
プログラムが理解しやすい形式
←→「HTML」は、人が理解しやすい形式
.NET と .NET Framework
.NET
マイクロソフトにおける Web サービスの実装
.NET Framework
.NET の実現に関わるテクノロジーの総称
アプリケーションの開発基盤&実行基盤
マネージコード(管理されたコード)による安全性、信
頼性の向上
高いレベルで提供される“標準”フレームワーク
Windows、Web、データアクセス、通信など
.NET Framework の構造
.NET Framework の構造
基本的な要素
Windows
Presentatio
n
Foundation
Windows
Communicatio
n
Foundation
Windows
Workflow
Foundatio
n
Windows
CardSpace
.NET FX 3.0
(旧称WinFX)
Web フォーム Web サービス
Windows フォーム
ASP.NET
データアクセス(ADO.NET)
XML
汎用ルーチン(文字列処理、メモリ管理、ネットワークなど)
共通言語ランタイム(CLR=Common Language Runtime)
.NET FX 2.0
共通言語ランタイム(CLR)
言語非依存の中間言語(IL)実行環境
異なる言語間での連携
安全性
COM との連携
VB、C# などの
ソースコード
コンパイル
アセンブリ
モジュール
メタデータ
アセンブリ
IL
モジュール
モジュール
メタデータ
メタデータ
IL
IL
マネージコード(中間言語)の実行エンジン
メタデータ
プログラムの中身を説明するバイナリ情報
.NET Framework 上で動作するプログラムは、
実行に必要な情報をメタデータとして保持
言語コンパイラは、中間言語(IL)およびメタデー
タを出力
VB、C#、C++ など
自己記述 (self-describing)
のソースコード
言語間の相互運用性
コンパイル
メタデータとして公開される情報
アセンブリに関する情報
型に関する情報
属性
プログラム
メタデータ
IL
アセンブリ
アプリケーションを構成する最小単位
アセンブリ=組立部品
※これ以上は分解して使えない最小単位
配置
バージョン管理
セキュリティ
論理的なプログラムファイルの集まり
シングルファイルアセンブリ=単一プログラム(IL+
メタデータ)
マルチファイルアセンブリ=複数のプログラム+マ
ニフェスト
アプリケーションの構築
Windows アプリケーション
OS を最大限に活用して、すぐれた操作性を実現
Windows フォーム
ビジュアル開発の基礎
SDI フォーム、MDI フォーム
コントロール
Windows フォームに配置する“部品”
プロパティ & イベント
実体はクラス、独自作成も可能
Web アプリケーション
ASP.NET と IIS による高パフォーマンス&生産性
ASP.NET と IIS(Internet Information
Services)
ネイティブコードによる高パフォーマンス
高い開発生産性
ソースレベル デバッグ
自動リカバリ(IIS6)などの高信頼性
Web フォーム
Web アプリケーションのビジュアル開発基盤
サーバー コントロール(“部品”)の配置
UI とロジックの分離
Web サービス
その他
さまざまなアプリケーション形態をサポート
Windows サービス
Windows の動作中、実行されるアプリケーション
コンソール アプリケーション
コマンド プロンプトで入出力するアプリケーション
アプリケーションの配置
.NET Framework における配置方法
Win32 よりも容易な配置を実現
XCOPY
単純なファイルコピーによる配置
必要な情報がアセンブリに埋め込まれている
Windows インストーラ
.msi によるセットアッププログラム
ノータッチ デプロイメント
Web サーバー上に実行ファイルを配置
http 経由でダウンロード、即実行
ClickOnce
クライアントにアプリケーションをインストール
バージョンアップ時の自動更新が可能
DLLモジュールの配置
厳密名と配置場所
アセンブリの厳密名
アセンブリ識別子(テキスト、バージョン番号、カルチャ)
署名(公開キー、秘密キー)
配置場所
グローバル アセンブリ キャッシュ(GAC)
→ アプリケーションから最初に探索される
プライベートな配置
→ 構成ファイルのコードベースで指定
厳密名なし
プライベート
○
GAC
×
厳密名付き
○
○
サイド バイ サイド実行
“DLL Hell”からの脱却
異なるバージョンのアセンブリがあっても、常に
コンパイル時に指定したバージョンを参照可能
厳密名付きのアセンブリを使って、正しいバー
ジョンのアセンブリに関連付ける
→ バージョンの違うアセンブリはエラー!
バージョンを区別できる格納場所(GAC)に配置
する
セキュリティ
コード アクセス セキュリティ(CAS)
アセンブリの出所・作成者に基づくアクセス制限
エビデンス(証拠)ベースのセキュリティ
.NET Framework の標準セキュリティ機構
アセンブリ(A)
アセンブリ(B)
アクセス
許可
アクセス
許可
出所・
作成者
出所・
作成者
ポリシー
エビデンス
ポリシー
エビデンス
共通言語ランタイム(CLR=Common Language Runtime)
ロール ベース セキュリティ
利用者の属性に対応したアクセス制限
ユーザーをグループ化したロールで管理
.NET Framework の標準セキュリティ機構
ロール(A)
ユーザー(1)
ユーザー(2)
ユーザー(3)
ロール(B)
ユーザー(4)
ユーザー(5)
プリンシパル
アイデンティティ
アクセス確認
ロール
ユーザーや
サービス
リソース
データベース
ユーザー(6)
技術情報リソース
MSDN Online:
http://www.microsoft.com/japan/msdn/
.NET Framework デベロッパー センター:
http://www.microsoft.com/japan/msdn/netframework/
.NET Framework 概念の概要:
http://msdn2.microsoft.com/ja-jp/library/zw4w595w.aspx
300秒でズバリ!!、10行でズバリ!!:
http://www.microsoft.com/japan/msdn/thisweek/300x10/
ステップ7:
http://www.microsoft.com/japan/msdn/thisweek/step7/
MSDN イベント&セミナー:
http://www.microsoft.com/japan/msdn/events/
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not
be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.