MSON-B2 .NET Framework 2.0 - Web アプリケーション開発

Download Report

Transcript MSON-B2 .NET Framework 2.0 - Web アプリケーション開発

Microsoft ON ― 出張ワークショップ ―
MSON-B2
.NET Framework 2.0
- Web アプリケーション開発
ASP.NET の基礎
ASP.NET とは何か
.NET Framework ベースの Web 開発テクノロジ
Web アプリケーション
Web フォームを使ったビジュアル開発
多彩なサーバー コントロール
HTML ページの配信
Web サービス
システム間連携の標準(B2B、EAI など)
スマートクライアントのためのロジックの実装
XML ベースのメッセージ交換
ASP.NET のメリット
パフォーマンスと使いやすさの両立
パフォーマンス
(インタープリタではなく)コンパイルされる
キャッシング
安全性・信頼性
.NET Framework ベース
エラーからの自動回復(with IIS6)
改良・更新の容易性
洗練された言語により保守や拡張が容易
ビジュアルな Web アプリケーション開発
Visual Studio の充実した開発機能を享受
Web サーバーを停止せずに置き換え可能
ASP.NET の実行プロセス
Web サーバー(IIS)
解析
ASPX
生成
エンジン
Web ブラウザ
リクエスト
リクエスト
ASPX
ファイル
インスタンス
レスポンス
ページ
レスポンス
クラス
コード
ビハインド
クラス
生成され
たページ
クラス
コンパイル
プロセスのイ
ンスタンス化
ASP.NET パフォーマンス
ワークロード
Scripting Performance
ASP もしくは ASP.NET スクリプト
サイズの違うスクリプトの実行
データベース。XML の利用
1500
1000
500
A
SP
.N
ET
A
SP
W
in
20
03
W
in
20
03
W
in
2K
A
SP
.N
ET
A
SP
0
W
in
2K
8P 900 MHz Xeon PIII
4GB RAM
1xGB Intel Pro1000F NIC
2000
Req/s
ハードウェア
2500
1P
4P
8P
IIS 概要
アーキテクチャを再設計






出荷時設定での
セキュリティ確保
設計段階でのセ
キュリティ確保
展開時のセキュ
リティ確保
フォールト トレラント
なアーキテクチャ
ヘルス モニタリング
インテリジェント キ
ューイング






XML に基づく設定
コマンド ラインの
管理
リモート管理
圧縮とスケールアップ
/スケールアウト
カーネル モードのキ
ャッシング
統合アプリケーション
プラットフォーム
Visual Studio による開発
Web サイトの作成
さまざまな場所にプロジェクトを作成可能
Web サイト
IIS 上の仮想ディレクトリ
デバッグ、実行に IIS 環境を使用
ファイルシステム
デバッグ、実行に ASP.NET 開発サーバーを使用
ソリューション
Web サイトをプロジェクトのように管理
Web サイトとプロジェクトの一括管理も可能
Web フォーム
Web アプリケーションのビジュアルな開発
① コードエディタを表示
② デザイナを表示
Web フォーム デザイナ
③ デザインビュー
ソリューション エクスプローラ
④ ソース ビュー
プロパティ ウィンドウ
Web フォームのファイル構成
ユーザー インターフェイスと制御ロジックの分離
<%@ Page Language="VB" CodeFile="Page1.aspx.vb" Inherits="Page1" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
Page1.aspx
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="OK" /><br />
...
</form>
</body>
</html>
Partial Class Page1
Inherits System.Web.UI.Page
Protected Sub Button1_Click( ... ) Handles Button1.Click
Label1.Text = TextBox1.Text + " さん、こんにちは"
End Sub
End Class
Page1.aspx.vb
ASP.NET サーバー コントロール
サーバーで実行される Web フォームの構成部品
画面を構成する HTML をカプセル化
適切な HTML を自動生成
プログラミング中は HTML を意識しない
サーバー イベント処理
ビュー ステートの自動管理
http://srv/app/Page1.aspx
ブラウザ
HTML
<select name="ListBox1" ...>
<option value="~">~</option>
<option value="~">~</option> ...
Webサーバー
<%@ Page ... %>
<asp:ListBox id="ListBox1"
runat="server"></asp:ListBox>
実行
ListBox1.Items.Add("Tokyo");
ListBox1.Items.Add("Nagoya");
ListBox1.Items.Add("Osaka");
サーバー イベント処理
ブラウザで発生したイベントをサーバー側で処理
ブラウザとサーバー
ブラウザ側は HTML ベース
イベントハンドラはサーバー側で実装
ポストバック イベント
ブラウザ
Webサーバー
URL欄で指定
<%@ Page ... %>
<asp:Button id="Button1"
runat="server"></asp:Button>
private void Button1_Click(...)
{
//OKボタンが押されたら実行
ポストバック
HTML
実行
}
ビュー ステート
サーバー コントロールの自動管理
隠しフィールドを利用してブラウザ上の HTML
内に状態を保持
自動的にラウンド トリップ
プログラマが任意のデータを格納可能
ステート
Dim n As Integer
n = CInt(Label1.Text)
n = n + 1
Label1.Text = CStr(n)
ステート
ラベル表示、色、フォントサイズ、etc ...
<input type="hidden" name="__VIEWSTATE" value= ~
Webサーバー
セッション
ユーザーの一連の操作をサーバー側で管理
Cookie内、またはクエリ文字列に、一意のセッ
ションIDを送り、同一ユーザーセッションを識別
Pageクラスの Sessionプロパティでセッション単
位の状態管理が可能
Cookie
セッションID
同一セッションにおける
HTTP要求であることを
ASP.NET は認識する
Webサーバー
セッションID
Cookie
デバッグ
信頼性を高める充実した機能
Web アプリケーションのソースデバッグを実現
ブレークポイント、ウォッチなど Windows アプリケー
ションと同様のデバッグ環境
ASP.NET 開発サーバー
IIS がない環境で Web アプリケーションを実行可能
空きポートの自動的な割り振り
Web アプリケーションの配置
Web サイトの発行
IDE から直接 Web サイトに配置(発行)
[ビルド]―[Web サイトの発行]
ソースファイルを含めない発行
セキュリティ
ASP.NET におけるセキュリティ
ブラウザ
認証(匿名、基本、Windows、etc...)
IPなどの制限、ポート番号、SSL、etc...
Webサーバー
IIS
ASP.NETにアクセスるすには、
IISを通過する必要がある
ISAPI Dll
ASP.NET
.NET Framework
共通言語ランタイム
認証(Windows、Passport、フォーム)
独自の承認(アクセス制御)
コード アクセス セキュリティ
ロール ベース セキュリティ
ASP.NET 2.0 および AJAX
ASP.NET 2.0 の方向性
現実的な Web サイト構築を効率化
ページデザインのためのコントロール群
ナビゲーション機能
Web パーツ
パーソナライズ化への対応
メンバーシープやロールの組み込み
Web 管理画面
データアクセスの改良と簡略化
新たなコントロール
データベース キャッシング
標準のサポート
XHTML やアクセシビリティへの対応
ASP.NET AJAX
AJAX 開発機能(コードネーム “Atlas”)
AJAX=Asynchronous JavaScript + XML
ASP.NET AJAX の構成
Microsoft AJAX Library
クライアント サイドの AJAX ライブラリ(JavaScript)
ASP.NET 2.0 AJAX Extentions
ASP.NET に統合されるサーバーサイド機能
Atlas Control Toolkit
ASP.NET 2.0 AJAX Extentions で構築される
AJAX 部品
Expression Web
Expression Web
Web デザイナ向けの新ツール
Web 標準のサポート
XHTML
Cascading Style Sheet
Document Object Model
アクセシビリティ
ECMA Script
Visual Studio との連携
技術情報リソース
MSDN Online:
http://www.microsoft.com/japan/msdn/
Visual Studio デベロッパーセンター:
http://www.microsoft.com/japan/msdn/vstudio/
Visual Studio 2005 Express Edition(無償ツール):
http://www.microsoft.com/japan/msdn/vstudio/express/
ASP.NET デベロッパーセンター:
http://www.microsoft.com/japan/msdn/asp.net/
ASP.NET AJAX(英文):
http://ajax.asp.net/
MSDN Flash(ウィークリー ニュースレター):
http://www.microsoft.com/japan/msdn/flash/
© 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.