© 2010 Microsoft Corporation. All rights reserved.© 2010 Microsoft Corporation. All rights reserved.
マイクロソフト株式会社デベロッパー & プラットフォーム統括本部エバンジェリスト 奥主 洋 (おくぬし ひろし)
http://blogs.technet.com/hirookun/
1
© 2010 Microsoft Corporation. All rights reserved. 2
© 2010 Microsoft Corporation. All rights reserved.
本日の時間割
3
時間 内容
18:30 - 19:00 受付開始
19:00 - 19:30過去:『マイクロソフトの Web 技術 振り返り』これまでのマイクロソフトの Web 開発技術の振り返りと俯瞰して全体像を取り上げて整理します。
19:30 - 20:00
現在:『ASP のこれまでと最新環境における ASP 再利用術 ~今もできること、やっぱりできないこと ~』最新環境において ASP はどう利用できるか、どういうところがポイントになるのかを移行抜きにして語ります。
20:00 - 20:05 休憩
20:05 - 20:50
未来:『ASP を超えて次のステージへ ~これから目指すべきこと~』マイクロソフトの最新テクノロジーを踏まえ、 どう技術的な移行、新しい技術の習得をしていくべきなのか、整理して解説します。
20:50 - 21:00 Q&A
© 2010 Microsoft Corporation. All rights reserved. 4© 2010 Microsoft Corporation. All rights reserved.
4
© 2010 Microsoft Corporation. All rights reserved. 5
© 2010 Microsoft Corporation. All rights reserved. 6
© 2010 Microsoft Corporation. All rights reserved. 7
橋本龍太郎内閣発足
横山やすしさん ご逝去
将棋 羽生善治さん 史上初の7冠
りんかい線 新木場駅 開業
東京ビッグサイト 開場
Yahoo! Japan が検索サービス開始
森且行さんが SMAP を脱退
NINTENDO64 発売開始
クローン羊 ドリー生まれるO157の集団食中毒発生
渥美清さん ご逝去
民主党 結成
清原 和博 選手FAで巨人へ
携帯電話、PHS の契約数急増
アトランタ オリンピック
貴乃花が 春・夏・名古屋・秋 場所で優勝
F1 はウィリアムズのデイモン・ヒルが優勝
Mr.Children の「名もなき詩」
今井美樹さん 「PRIDE」
Every Little Thing デビュー
映画 インデペンデンス・デイ
ロング・バケーション
© 2010 Microsoft Corporation. All rights reserved. 8
© 2010 Microsoft Corporation. All rights reserved. 9
Active Server Pages 1.0(IIS 3.0)
1996年12月
Active Server Pages 2.0(IIS 4.0)
1997年9月
Active Server Pages 3.0(IIS 5.0)
2000年11月
© 2010 Microsoft Corporation. All rights reserved. 10
Windows Distributed interNet Applications
© 2010 Microsoft Corporation. All rights reserved.
スタックでちゃんと理解しよう!
OS
Web Server
Presentation
Logic
Data Access
DatabaseSQL Server 2000Access/.mdb
SQL Server 2008/R2
(Access/.accdb)
IIS 5.0 IIS 7.x
.NET Framework
Active Server Pages(.asp)
ASP.NET 4
Visual Studio 6.0
Visual Studio 2010
Visual Studio 2005/2008
11
© 2010 Microsoft Corporation. All rights reserved.
スタックでちゃんと理解しよう!
OS
Web Server
Presentation
Logic
Data Access
DatabaseSQL Server 2000Access/.mdb
SQL Server 2008/R2
(Access/.accdb)
IIS 5.0 IIS 7.x
.NET Framework
Active Server Pages(.asp)
ASP.NET 4
Visual Studio 6.0
Visual Studio 2010
Visual Studio 2005/2008
12
© 2010 Microsoft Corporation. All rights reserved.
想えば遠くへ来たもんだ
Webサービス
SOA
マイクロソフトの基盤は一貫して同じスキームで進化してきた。
“.NET”
13
© 2010 Microsoft Corporation. All rights reserved.
ASP 開発者は戸惑ったはず
• 技術情報の発信はほぼ
• 営業が言ってくるのも
• セミナーを受けても
• マイクロソフトがもう支援してくれない?!
• 資産はいっぱいあるし、どうしろと?!
• さらに ASP.NET もどんどん世代が進む
14
© 2010 Microsoft Corporation. All rights reserved.
Active Server Pages の弱点
• UI とロジックが混在してしまう
• 何をやるにしてもコーディングが必要
• スクリプト言語のみサポート
• VB6 の COM(Component Object Model)
コンポーネントの弱点をそのまま引き継ぐ
15
© 2010 Microsoft Corporation. All rights reserved.
Active Server Pages の弱点
• UI とロジックが混在してしまう
• 何をやるにしてもコーディングが必要
• スクリプト言語のみサポート
• VB6 の COM(Component Object Model)
コンポーネントの弱点をそのまま引き継ぐ
16
視認性は悪くないが、メンテナンスが非常にしにくい
ロジックを VB6 で作成できたが基本的に全部書く
COM を開発しなければ残りは全部スクリプト
VB6 プログラマーに Web への道を拓いたが、同時実行処理の難度が実は高い → 失敗
© 2010 Microsoft Corporation. All rights reserved.
あらためて。.NET が登場した理由
• 相互運用性
• 共通中間言語、共通言語ランタイム
• データ型の統一、複数の言語を用いた開発
• 基本クラスライブラリ
• 配置(DLL Hell の解消)
• 様々な権限レベルでの実行
17
© 2010 Microsoft Corporation. All rights reserved.
アプリケーションサーバーの利用意向【設問】主要なアプリケーション プロジェクトの中で利用されているアプリケーション サーバーをお答えください。(単一回答)
Windows Server と.NET の利用が2009 年に大幅躍進
「2009 Mission Critical North American Application Platform Study」p20, 21, 82
http://www.microsoft.com/net/CaseStudies/MissionCriticalApps/Default.aspx
日本は含まれていません。下記サイトで入手可能。
資料にグラフ掲載許可が得られませんでした。
© 2010 Microsoft Corporation. All rights reserved.
.NET に進んでいただきたい理由
• 保守・安定 の価値観
• 確かに手軽である、心地いい
• 新しいことに手を伸ばすのは勇気がいる
• 最先端をやっているワクワク感がない
• 技術者として差別化が難しい
• 他の国の技術者はもっと貪欲である
19
© 2010 Microsoft Corporation. All rights reserved.
スタックでちゃんと理解しよう!
OS
Web Server
Presentation
Logic
Data Access
DatabaseSQL Server 2000Access/.mdb
SQL Server 2008/R2
(Access/.accdb)
IIS 5.0 IIS 7.x
.NET Framework
Active Server Pages(.asp)
ASP.NET 4
Visual Studio 6.0
Visual Studio 2010
Visual Studio 2005/2008
20
© 2010 Microsoft Corporation. All rights reserved. 21© 2010 Microsoft Corporation. All rights reserved.
21
© 2010 Microsoft Corporation. All rights reserved.
革新と互換性~ASP はそのまま動くケースも多い~
• マイクロソフトはこの相反する二つのテーマと常に格闘している
• 情報発信はともかく製品は互換対応
• ASP 資産を見捨てているわけじゃない
• OS の革新の影響はある
–よりセキュアでないといけない
–既定で動かない機能がある
22
© 2010 Microsoft Corporation. All rights reserved.
ASP エンジンの互換性は?
• は64ビットの環境のみ
• エンジンは 32ビット、64ビットともに動作する
• IIS7.x としては 32ビット互換ワーカープロセス機能
PresentationActive Server Pages(.asp)
OS
Web Server IIS 7.x
23
© 2010 Microsoft Corporation. All rights reserved.
dllhost.exe
ISAPI 拡張機能
ISAPI フィルタ
Web アプリ
lsass.exe
ご参考 : IIS 5 のアーキテクチャー(IIS 6 の IIS5.0 プロセス分離モードも同じ)
24
Svchost.exe
TCPIP.sys
dllhost.exe(プール)
Inetinfo.exe
アプリケーション実行プロセス
カーネル モード
ユーザー モード
プロセスの管理
FTP
IISAdmin
NNTP
SMTP
WWW/WASM ISAPI 拡張機能
dllhost.exe
ISAPI 拡張機能
アプリケーション実行プロセス
Metabase
.bin
Winsock
Web アプリWeb アプリWindows認証
ISAPI 拡張機能
ISAPI フィルタ
Web アプリ
Web アプリ
SSL
© 2010 Microsoft Corporation. All rights reserved.
w3wp.exew3wp.exe
ご参考 : IIS 6 のアーキテクチャー(ワーカー プロセス分離モード)
Svchost.exe
HTTP.sys
w3wp.exeInetinfo.exe
カーネル モード
ユーザー モード
プロセスの管理(ヘルス モニタリング、リサイクリング、保護)
FTP
IISAdmin
NNTP
SMTP
WWW/WASM ISAPI 拡張機能
ISAPI フィルタ
アプリケーションプール
Listener Response Cache
HTTP Requestsユーザー アプリケーションとサーバーの分離
プロセスの分離
Web アプリ
w3wp.exe
ISAPI 拡張機能
ISAPI フィルタ
Web アプリ
Web アプリ
w3wp.exe
ISAPI 拡張機能
ISAPI フィルタ
Web アプリ
Web アプリ
アプリケーションプール
TCPIP.sys
lsass.exe
Windows認証
SSL
Metabase
.xml
25
アプリケーションプール (Web ガーデン)
© 2010 Microsoft Corporation. All rights reserved.
IIS 6 互換モード設定
26
© 2010 Microsoft Corporation. All rights reserved.
w3wp.exew3wp.exe
ご参考 : IIS 7 のアーキテクチャー
Svchost.exe
HTTP.sys
アプリケーションプール
w3wp.exeInetinfo.exe
カーネル モード
ユーザー モード
プロセスの管理(ヘルス モニタリング、リサイクリング、保護)
FTP
IISAdmin
SMTP
WWW ISAPI 拡張機能
ISAPI フィルタ
アプリケーションプール
Listener Response Cache
HTTP Requestsユーザー アプリケーションとサーバーの分離
プロセスの分離
Web アプリ
w3wp.exe
ISAPI 拡張機能
ISAPI フィルタ
Web アプリ
Web アプリ
w3wp.exe
ISAPI 拡張機能
ISAPI フィルタ
Web アプリ
Web アプリ
アプリケーションプール
TCPIP.sys
lsass.exe
SSLWindows認証
WAS
ApplicationHost
.config
27
© 2010 Microsoft Corporation. All rights reserved.
IIS 7 互換モード設定
28
© 2010 Microsoft Corporation. All rights reserved.
いくつかのポイント
① ASP は既定でインストールされない
② 既定でオフになっている機能が多い
③ アクセス制御が厳しくなっている
④ Access のドライバーは 64 ビット対応?
⑤ Classic ASP で親パスは使えない
⑥ ASP.NET の複数バージョンと ASP は共存
29
© 2010 Microsoft Corporation. All rights reserved.
ASP 稼動について参考になる情報
• IIS 7.0 および IIS 7.5 上で Classic ASPアプリケーションを実行するhttp://technet.microsoft.com/ja-jp/library/ee155445.aspx
• IIS 開発部門トップ Bill Staples のブログhttp://blogs.iis.net/bills/archive/tags/ASP/default.aspx
• Classic ASP Forum(英語)http://forums.iis.net/1044.aspx
30
© 2010 Microsoft Corporation. All rights reserved.
おススメ!“サーバー構築ガイドライン”
・現在ドラフト版・序章~第11章まで公開予定・無償ダウンロード・PDFおよびXPS文書・最終的に1つにまとめる・フィードバック募集中!
31
© 2010 Microsoft Corporation. All rights reserved.
スタックでちゃんと理解しよう!
OS
Web Server
Presentation
Logic
Data Access
DatabaseSQL Server 2000Access/.mdb
SQL Server 2008/R2
(Access/.accdb)
IIS 5.0 IIS 7.x
.NET Framework
Active Server Pages(.asp)
ASP.NET 4
Visual Studio 6.0
Visual Studio 2010
Visual Studio 2005/2008
© 2010 Microsoft Corporation. All rights reserved.
ASP.NET 4 構成フレームワークの種類
Web Forms ASP.NET AJAX
ASP.NET MVC 動的データ
© 2010 Microsoft Corporation. All rights reserved.
おススメ!“Web 開発 ガイドライン”
Microsoft Web 開発 ガイドライン~ ASP.NET プログラミング エッセンシャル ~http://msdn.microsoft.com/ja-jp/asp.net/ff602016.aspx
• PDF で4MB くらい
• 373 ページの無償文書、書籍並みの濃さ
http://blogs.itmedia.co.jp/chack/
© 2010 Microsoft Corporation. All rights reserved.
備えよ、クラウドが見えている
• 今だから IIS7, ASP.NET をやるべき
• Windows Azure の土台の理解へ
• 波に乗ると仕事の恩恵は計り知れない
• 先行者ベネフィットと差別化
• 技術には革新の理由が必ずある
35
© 2010 Microsoft Corporation. All rights reserved. 36© 2010 Microsoft Corporation. All rights reserved.
36
© 2010 Microsoft Corporation. All rights reserved.
製品の入手機会は段違いに多い
風評:マイクロソフト=有償製品=高い
正解:無償版、無償提供サービスも多い
37
Web 制作会社向け 起業家向け 学生向け
© 2010 Microsoft Corporation. All rights reserved.
スタックでちゃんと理解しよう!
OS
Web Server
Presentation
Logic
Data Access
DatabaseSQL Server 2000Access/.mdb
SQL Server 2008/R2
(Access/.accdb)
IIS 5.0 IIS 7.x
.NET Framework
Active Server Pages(.asp)
ASP.NET 4
Visual Studio 6.0
Visual Studio 2010
Visual Studio 2005/2008
38
© 2010 Microsoft Corporation. All rights reserved.
.asp 部分をどう選択?
Presentation
Active Server Pages(.asp)
HTML
別の考え方:今日のスコープ外
HTML + jQuery
Silverlight
WCF や .asmxServices
ASP.NETWeb フォーム
ASP.NETMVC
ASP.NETWeb Pages
AJAX
“Razor”
“Razor”
39
© 2010 Microsoft Corporation. All rights reserved.
って何?
• Introducing “Razor” – a new view engine for ASP.NEThttp://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx
• 新しい解釈エンジン
• 新しいマークアップ記述手法
– 新しい言語とは言えない、あくまでも解釈エンジン
• <% %> の代わりに@で始め、閉じない
<H3>今年は <%= DateTime.Now.Year %>
</H3>
<H3>今年は @DateTime.Now.Year
</H3>
“Razor”
40
© 2010 Microsoft Corporation. All rights reserved.
ロジック部分をどう選択?
Logic ASP.NET 4
.NET Framework
WCF(Windows Communication Foundation), WF(Windows Workflow Foundation)を使用してWeb 技術を使ったサービスを構築する方法もある。
既存のコンポーネントは Wrap して Web サービス化する手法もとれる。
.aspx .aspx.vb
.aspx.cs
IT Pro道場 ~ アプリケーションの開発http://technet.microsoft.com/ja-jp/events/dd696115.aspx
41
© 2010 Microsoft Corporation. All rights reserved.
データアクセス部分をどう選択?
• 基盤部分(例 :OLEDB)はプロバイダーモデルで大きくは変わっていない
• 変わったのはその上位で Wrap する部分
• Windows Server 2008 R2 を見据えると64 ビットへの対応が大きな検討課題となる
Data Access
ASP.NET 4
.NET Framework
MDAC
データ アクセス テクノロジ概要http://msdn.microsoft.com/ja-jp/data/dd919164.aspx
42
© 2010 Microsoft Corporation. All rights reserved.
データベース部分をどう選択?Database
SQL Server 2000(6.5, 7.0)
Access/.mdb
http://www.microsoft.com/sqlserver/2008/en/us/editions.aspx
SQL Server 2008/R2
SQL Server 2008/R2
Express Edition
Access 2007/2010(.accdb)
SQL Compact(ファイルベース)
43
© 2010 Microsoft Corporation. All rights reserved.
それでも .NET は標高が高い人へあるいはこれから Web を学ぶ人へ
45
© 2010 Microsoft Corporation. All rights reserved.
ASP+MDB のいいところって?• OS と IIS があれば動く
• Visual Studio なくともテキストエディターで頑張れる
• .asp 内で完結するので COBOL 感覚な人でもわかりやすい
• クラスやオブジェクト指向の知識不要
• Visual Basic 6 でコンポーネントが作れた
• .mdb が再配布容易
• .mdb がファイルベースなので軽い
• OS 以外はテキストエディターで頑張れば「無償」
• データアクセス方法も以前とさほど変わらない
• 何かフレームワーク知識不要、サクサク書ける
46
© 2010 Microsoft Corporation. All rights reserved.
そこで “今”。新たな選択肢。
OS
Web Server
Presentation
Logic
Data Access
DatabaseSQL Server 2000Access/.mdb
Active Server Pages(.asp)
IIS 5.0
SQL Server 2008/R2
(Access/.accdb)
ASP.NET 4(.aspx)
IIS 7.x
Visual Studio 2010
.NET Framework
Visual Studio 6.0
SQL Compact4 Web
ASP.NETWeb Pages“Razor”
IIS Express(開発用 IIS7)XP も OK !!
Windows XPでも最新環境(開発環境)
47
© 2010 Microsoft Corporation. All rights reserved.
WebMatrix(Beta3) と関連テクノロジー
• WebMatrix (Beta3)– http://www.microsoft.com/web/webmatrix/
– 軽量な Web サイトを構築・管理する統合ツール
– オープンソースの Web アプリのインストールやカスタマイズ
• 必要があれば他のスクリプト系言語のサイトも一緒に管理ができ、オープンソース アプリケーションをベースにしたカスタマイズ開発も可能
IIS Express(開発用 Web サーバー)
ASP.NET Web Pages
SQL Compact(ファイルベース)
Windows XP以降
“Razor”
48
© 2010 Microsoft Corporation. All rights reserved.
お腹いっぱいですか?
• クラウド時代の牽引役はアプリケーションであって仮想化じゃない
• 積み上げが大事。結局 前提知識は役立つABC を知らずして Z は理解できない
• クラウドも駆使できる最強のエンジニアに!A しかできない、BしかできないではなくA も B もできる、これが標準仕様になる
• あきらめない。これに尽きる。
49
© 2010 Microsoft Corporation. All rights reserved. 50
Call to Action
最強のエンジニア計画
51
© 2010 Microsoft Corporation. All rights reserved.
Microsoft Web Platform ホームまずはここからスタート !
• Web プラットフォームの紹介– サーバー– フレームワーク– データーベース– ツール
• Web App Gallery
• ダウンロード
• プログラム紹介
• ホスティング情報
• 事例紹介
• などなど ...
www.microsoft.com/web
52
© 2010 Microsoft Corporation. All rights reserved.
ASP.NET デベロッパーセンター
53
http://msdn.microsoft.com/ja-jp/asp.net/default.aspx
© 2010 Microsoft Corporation. All rights reserved.
IIS TechCenter(テックセンター)
54
http://technet.microsoft.com/ja-jp/iis/default.aspx
© 2010 Microsoft Corporation. All rights reserved.
The Microsoft ConferenceJapan Tour 2010 ~ 東京+ 6 都市で開催 ~
• 開催日:2010 年 11 月 25 日 ~ 26 日
• 開催場所: ザ・プリンス パークタワー東京
• 参加費:無償
55
http://www.microsoft.com/japan/cloud/msc2010/tokyo.mspx
コース 形式 開催日程 会場
Windows Azure概要と開発手法
セミナー11月15日(月)午前12月 2日(木)午前12月13日(月)午前
弊社 新宿本社 5F セミナールーム
Windows Azure アプリケーション開発体験~ Windows Azure 入門編 ~
ハンズオントレーニング
11月19日(金)午前11月19日(金)午後11月30日(火)午前12月 2日(木)午後12月 6日(月)午前12月 8日(水)午前12月13日(月)午後12月17日(金)午前
弊社 新宿本社 5F セミナールーム
Windows Azure アプリケーション開発体験~ SQL Azure 編 ~
ハンズオントレーニング
11月15日(月)午後11月30日(火)午後12月 8日(水)午後
弊社 新宿本社 5F セミナールーム
Windows Azure アプリケーション開発体験~ Windows Azure 管理・監視編 ~
ハンズオントレーニング
12月 6日(月)午後12月17日(金)午後
弊社 新宿本社 5F セミナールーム
開発者のためのWindows Azure 実践編
ハンズオントレーニング
11月19日(金)11月24日(水)12月 3日(金)12月 9日(木)
弊社 大手町テクノロジーセンター
参加費無料
期間限定
詳細およびお申込みはコチラhttp://www.microsoft.com/japan/windowsazure/events/hol/
無償 セミナー & ハンズオン トレーニング
56