SlideShare une entreprise Scribd logo
1  sur  56
今だから一緒に考えよう!従来の .asp 資産、身につけた技術をこれからどうするか? マイクロソフト株式会社 デベロッパー & プラットフォーム統括本部 エバンジェリスト  奥主 洋 (おくぬし ひろし) http://blogs.technet.com/hirookun/ 1
2 本日の結論! は “必然” だった があるから がある IT道は険しく、進化は続く
本日の時間割 3
Part I:マイクロソフトの Web 技術 振り返り 4
5 A.D.1996
6 平成8年
7 今井美樹さん 「PRIDE」 映画 インデペンデンス・デイ クローン羊 ドリー生まれる O157の集団食中毒発生 橋本龍太郎内閣発足 EveryLittleThing デビュー 森且行さんが SMAP を脱退 清原 和博 選手FAで巨人へ 将棋 羽生善治さん 史上初の7冠 携帯電話、PHS の契約数急増 東京ビッグサイト 開場 ロング・バケーション Mr.Children の「名もなき詩」 横山やすしさん ご逝去 NINTENDO64 発売開始 民主党 結成 貴乃花が 春・夏・名古屋・秋 場所で優勝 りんかい線 新木場駅 開業 アトランタ オリンピック 渥美清さん ご逝去 Yahoo!Japan が検索サービス開始 F1 はウィリアムズのデイモン・ヒルが優勝
8 1996年10月 1995年11月
9 1996年12月 ActiveServerPages 誕生!
10 “WindowsDNA”& “Windows DNA 2000” Windows Distributed interNetApplications
スタックでちゃんと理解しよう! Database SQLServer 2000 Access/.mdb SQLServer 2005 (Access/.accdb) SQLServer 2008/R2 (Access/.accdb) ADO.NET DAO/ADO ODBC/OLEDB DAO/ADO ODBC/OLEDB ADO.NET/LINQ EntityFramework OData DataAccess Logic COM/COM+ (DCOM) COM/COM+ (DCOM) ASP.NET2.0/3.5 .NET Framework ASP.NET4 Presentation Active Server Pages(.asp) Active Server Pages(.asp) VisualStudio 2005/2008 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS 6.0 IIS 7.x OS Windows 2000 Windows Server 2003R2 Windows Server 2008/R2 11
スタックでちゃんと理解しよう! Database SQLServer 2000 Access/.mdb SQLServer 2005 (Access/.accdb) SQLServer 2008/R2 (Access/.accdb) ADO.NET DAO/ADO ODBC/OLEDB DAO/ADO ODBC/OLEDB ADO.NET/LINQ EntityFramework OData DataAccess Logic COM/COM+ (DCOM) COM/COM+ (DCOM) ASP.NET2.0/3.5 .NET Framework ASP.NET4 Presentation Active Server Pages(.asp) Active Server Pages(.asp) VisualStudio 2005/2008 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS 6.0 IIS 7.x OS Windows 2000 Windows Server 2003R2 Windows Server 2008/R2 12
想えば遠くへ来たもんだ “WindowsDNA” WindowsServer2000 ActiveX / DCOM/COM+ Active Server Pages マイクロソフトの基盤は一貫して同じスキームで進化してきた。 “.NET” 2000 NGWS -> .NET “Office 365/ Windows Azure” Web サービス SOA いわゆる .NET の10年 2010 13
ASP 開発者は戸惑ったはず 技術情報の発信はほぼ 営業が言ってくるのも セミナーを受けても マイクロソフトがもう支援してくれない?! 資産はいっぱいあるし、どうしろと?! さらに ASP.NET もどんどん世代が進む 14 1.0 -> 1.1 -> 2.0 -> 3.5 -> 4.0
ActiveServerPages の弱点 UI とロジックが混在してしまう 何をやるにしてもコーディングが必要 スクリプト言語のみサポート VB6 の COM(ComponentObjectModel)コンポーネントの弱点をそのまま引き継ぐ 15 ,[object Object]
でも次第に弱点が浮き彫りに
Win32api をもっと楽に,[object Object]
でも次第に弱点が浮き彫りに
Win32api をもっと楽に,[object Object]
さらなる生産性,[object Object]
.NET に進んでいただきたい理由 保守・安定 の価値観 確かに手軽である、心地いい 新しいことに手を伸ばすのは勇気がいる 最先端をやっているワクワク感がない 技術者として差別化が難しい 他の国の技術者はもっと貪欲である 19
スタックでちゃんと理解しよう! Database SQLServer 2000 Access/.mdb SQLServer 2005 (Access/.accdb) SQLServer 2008/R2 (Access/.accdb) ADO.NET DAO/ADO ODBC/OLEDB DAO/ADO ODBC/OLEDB ADO.NET/LINQ EntityFramework OData DataAccess Logic COM/COM+ (DCOM) COM/COM+ (DCOM) ASP.NET2.0/3.5 .NET Framework ASP.NET4 Presentation Active Server Pages(.asp) Active Server Pages(.asp) VisualStudio 2005/2008 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS 6.0 IIS 7.x OS Windows 2000 Windows Server 2003R2 Windows Server 2008/R2 20
Part II:ASP のこれまでと最新環境における ASP 再利用術~ 今もできること、やっぱりできないこと ~ 21
革新と互換性~ASP はそのまま動くケースも多い~ マイクロソフトはこの相反する二つのテーマと常に格闘している 情報発信はともかく製品は互換対応 ASP 資産を見捨てているわけじゃない OS の革新の影響はある よりセキュアでないといけない 既定で動かない機能がある 22
ASP エンジンの互換性は? Presentation Active Server Pages(.asp) Web Server IIS 7.x OS Windows Server 2008/R2          は64ビットの環境のみ エンジンは 32ビット、64ビットともに動作する IIS7.x としては 32ビット互換ワーカープロセス機能 23
ご参考 : IIS 5 のアーキテクチャー(IIS 6 の IIS5.0 プロセス分離モードも同じ) 24 プロセスの管理 Metabase .bin アプリケーション 実行プロセス  アプリケーション 実行プロセス dllhost.exe dllhost.exe (プール) dllhost.exe lsass.exe Svchost.exe Inetinfo.exe IISAdmin ISAPI 拡張機能 ISAPI 拡張機能 ISAPI 拡張機能 ISAPI 拡張機能 WWW/WASM FTP Windows 認証 Web アプリ Web アプリ Web アプリ Web アプリ NNTP Web アプリ SMTP ISAPI フィルタ ISAPI フィルタ SSL 低 中 高 Winsock ユーザー モード カーネル モード TCPIP.sys
ご参考 : IIS 6 のアーキテクチャー(ワーカー プロセス分離モード) プロセスの管理(ヘルス モニタリング、リサイクリング、保護) Metabase .xml アプリケーション  プール アプリケーション  プール アプリケーション プール (Web ガーデン) w3wp.exe w3wp.exe Svchost.exe Inetinfo.exe w3wp.exe lsass.exe w3wp.exe w3wp.exe FTP ISAPI 拡張機能 ISAPI 拡張機能 ISAPI 拡張機能 WWW/WASM IISAdmin Windows 認証 Web アプリ Web アプリ Web アプリ NNTP Web アプリ Web アプリ SMTP SSL ISAPI フィルタ ISAPI フィルタ ISAPI フィルタ プロセスの分離 ユーザー モード カーネル モード ユーザー アプリケーションとサーバーの分離 HTTP Requests HTTP.sys Listener Response Cache TCPIP.sys 25
IIS 6 互換モード設定 26 IIS5.0 の互換モードあり
ご参考 : IIS 7 のアーキテクチャー プロセスの管理(ヘルス モニタリング、リサイクリング、保護) Application Host.config アプリケーション プール アプリケーション プール アプリケーション プール w3wp.exe w3wp.exe Svchost.exe Inetinfo.exe w3wp.exe lsass.exe w3wp.exe w3wp.exe FTP ISAPI 拡張機能 ISAPI 拡張機能 ISAPI 拡張機能 WWW IISAdmin Web アプリ Web アプリ WAS Web アプリ Web アプリ Web アプリ SMTP ISAPI フィルタ ISAPI フィルタ ISAPI フィルタ プロセスの分離 ユーザー モード カーネル モード ユーザー アプリケーションとサーバーの分離 HTTP Requests HTTP.sys Windows 認証 SSL Listener Response Cache TCPIP.sys 27
IIS 7 互換モード設定 28 IIS5.0 の互換モードなし
いくつかのポイント ASP は既定でインストールされない 既定でオフになっている機能が多い アクセス制御が厳しくなっている Access のドライバーは 64 ビット対応? ClassicASP で親パスは使えない ASP.NET の複数バージョンと ASP は共存 29
ASP 稼動について参考になる情報 IIS7.0 および IIS7.5 上で ClassicASPアプリケーションを実行するhttp://technet.microsoft.com/ja-jp/library/ee155445.aspx IIS 開発部門トップ BillStaples のブログhttp://blogs.iis.net/bills/archive/tags/ASP/default.aspx ClassicASPForum(英語)http://forums.iis.net/1044.aspx 30
おススメ!“サーバー構築ガイドライン” http://technet.microsoft.com/ja-jp/iis/ff625168.aspx ・現在ドラフト版 ・序章~第11章まで公開予定 ・無償ダウンロード ・PDFおよびXPS文書 ・最終的に1つにまとめる ・フィードバック募集中! 31
スタックでちゃんと理解しよう! Database SQLServer 2000 Access/.mdb SQLServer 2005 (Access/.accdb) SQLServer 2008/R2 (Access/.accdb) ADO.NET DAO/ADO ODBC/OLEDB DAO/ADO ODBC/OLEDB ADO.NET/LINQ EntityFramework OData DataAccess Logic COM/COM+ (DCOM) COM/COM+ (DCOM) ASP.NET2.0/3.5 .NET Framework ASP.NET4 Presentation Active Server Pages(.asp) Active Server Pages(.asp) VisualStudio 2005/2008 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS 6.0 IIS 7.x OS Windows 2000 Windows Server 2003R2 Windows Server 2008/R2
ASP.NET 4 構成フレームワークの種類 GUI ベースのWeb ページ開発 ASP.NET に統合されたAJAX フレームワーク MVC パターンによるWeb 開発 データ駆動型 Web アプリケーションの開発 さまざまな .NET テクノロジーを活用した Web 開発
おススメ!“Web 開発 ガイドライン” Microsoft Web 開発 ガイドライン  ~ ASP.NET プログラミング エッセンシャル ~http://msdn.microsoft.com/ja-jp/asp.net/ff602016.aspx ,[object Object]
373 ページの無償文書、書籍並みの濃さhttp://blogs.itmedia.co.jp/chack/
備えよ、クラウドが見えている 今だから IIS7, ASP.NETをやるべき WindowsAzure の土台の理解へ 波に乗ると仕事の恩恵は計り知れない 先行者ベネフィットと差別化 技術には革新の理由が必ずある 35
Part III:ASP を超えて次のステージへ ~これから目指すべきこと~ 36
製品の入手機会は段違いに多い 風評:マイクロソフト=有償製品=高い 正解:無償版、無償提供サービスも多い 37 SharePointFoundation2010 SysinternalsTools 学生向け Web 制作会社向け 起業家向け
スタックでちゃんと理解しよう! Database SQLServer 2000 Access/.mdb SQLServer 2005 (Access/.accdb) SQLServer 2008/R2 (Access/.accdb) ADO.NET DAO/ADO ODBC/OLEDB DAO/ADO ODBC/OLEDB ADO.NET/LINQ EntityFramework OData DataAccess Logic COM/COM+ (DCOM) COM/COM+ (DCOM) ASP.NET2.0/3.5 .NET Framework ASP.NET4 Presentation Active Server Pages(.asp) Active Server Pages(.asp) VisualStudio 2005/2008 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS 6.0 IIS 7.x OS Windows 2000 Windows Server 2003R2 Windows Server 2008/R2 38
.asp 部分をどう選択? Presentation ASP.NET Web フォーム Active Server Pages(.asp) HTML ASP.NET MVC AJAX “Razor” 別の考え方:今日のスコープ外 ASP.NET Web Pages HTML +  jQuery “Razor” WCF や .asmx Services Silverlight Azure を見据えると やはり ASP.NETへ 39
    って何? “Razor” 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> とにかくシンプルに、記述少なく 40
ロジック部分をどう選択? ASP.NET4 Logic COM/COM+ (DCOM) .NET Framework .aspx .aspx.vb .aspx.cs WCF WF WindowsServer AppFabric WindowsAzure PlatformAppFabric WCF(WindowsCommunicationFoundation),  WF(WindowsWorkflowFoundation)を使用して Web 技術を使ったサービスを構築する方法もある。 既存のコンポーネントは Wrap して Web サービス化する手法もとれる。 ITPro道場 ~ アプリケーションの開発 http://technet.microsoft.com/ja-jp/events/dd696115.aspx 41
データアクセス部分をどう選択? ADO.NET LINQ EntityFramework OData DAO/ADO ODBC/OLEDB DataAccess .NET Framework ASP.NET4 MDAC 基盤部分(例 :OLEDB)はプロバイダーモデルで大きくは変わっていない 変わったのはその上位で Wrap する部分 WindowsServer2008R2 を見据えると64 ビットへの対応が大きな検討課題となる データ アクセス テクノロジ概要 http://msdn.microsoft.com/ja-jp/data/dd919164.aspx 42
データベース部分をどう選択? Database SQLServer 2000 (6.5, 7.0) SQLServer 2005 SQLServer 2008/R2 エンジン 無償 SQLServer 2008/R2 ExpressEdition Access/.mdb Access2007/2010 (.accdb) ファイル 無償 SQLCompact (ファイルベース) SQL 無償版:MSDE -> Personal -> Express へ SQL Express も Compact も同じ “DNA” http://www.microsoft.com/sqlserver/2008/en/us/editions.aspx 43
One morething…
それでも .NET は標高が高い人へあるいはこれから Web を学ぶ人へ 45
ASP+MDB のいいところって? OS と IIS があれば動く VisualStudio なくともテキストエディターで頑張れる .asp 内で完結するので COBOL 感覚な人でもわかりやすい クラスやオブジェクト指向の知識不要 VisualBasic 6 でコンポーネントが作れた .mdbが再配布容易 .mdb がファイルベースなので軽い OS 以外はテキストエディターで頑張れば「無償」 データアクセス方法も以前とさほど変わらない 何かフレームワーク知識不要、サクサク書ける 46
そこで “今”。新たな選択肢。 Database SQLServer 2000 Access/.mdb SQLCompact 4 Web SQLServer 2008/R2 (Access/.accdb) 無償 ADO.NET/LINQ EntityFramework DAO/ADO ODBC/OLEDB DataAccess Logic COM/COM+ ASP.NET4 (.aspx) .NET Framework ASP.NET WebPages “Razor” Presentation Active Server Pages(.asp) 無償 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS Express (開発用 IIS7) XP も OK !! IIS 7.x 無償 OS Windows 2000 Windows Server 2008/R2 Windows XP でも最新環境 (開発環境) 既存 47
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
お腹いっぱいですか?  クラウド時代の牽引役はアプリケーションであって仮想化じゃない 積み上げが大事。結局 前提知識は役立つABC を知らずして Z は理解できない クラウドも駆使できる最強のエンジニアに!A しかできない、BしかできないではなくA も B もできる、これが標準仕様になる あきらめない。これに尽きる。 49
50 本日の結論! へのシフトは “必然” だった があるから がある 成功者は最新技術をあきらめない
Call to Action 最強のエンジニア計画 51
Microsoft Web Platform ホームまずはここからスタート ! www.microsoft.com/web Web プラットフォームの紹介 サーバー フレームワーク データーベース ツール Web App Gallery ダウンロード プログラム紹介 ホスティング情報 事例紹介 などなど ... 52
ASP.NET デベロッパーセンター 53 http://msdn.microsoft.com/ja-jp/asp.net/default.aspx

Contenu connexe

En vedette

Mengenal Power Point
Mengenal Power PointMengenal Power Point
Mengenal Power Pointhartiningsih
 
Swine Flu By Dr Ajay Kumar
Swine Flu By Dr Ajay KumarSwine Flu By Dr Ajay Kumar
Swine Flu By Dr Ajay KumarDr Ajay Kumar
 
Php conference 2010 final
Php conference 2010 finalPhp conference 2010 final
Php conference 2010 finalhirookun
 
Minacs Corporate Presentation
Minacs Corporate PresentationMinacs Corporate Presentation
Minacs Corporate Presentationlesterathayde
 
Tableau Software - Business Analytics and Data Visualization
Tableau Software - Business Analytics and Data VisualizationTableau Software - Business Analytics and Data Visualization
Tableau Software - Business Analytics and Data Visualizationlesterathayde
 
IIS7.5概要 10月17日
IIS7.5概要 10月17日IIS7.5概要 10月17日
IIS7.5概要 10月17日hirookun
 
20101112 tf web_hirookun_p
20101112 tf web_hirookun_p20101112 tf web_hirookun_p
20101112 tf web_hirookun_phirookun
 
Don giovanni; la seducción y sus diversas adaptaciones a lo largo de la histo...
Don giovanni; la seducción y sus diversas adaptaciones a lo largo de la histo...Don giovanni; la seducción y sus diversas adaptaciones a lo largo de la histo...
Don giovanni; la seducción y sus diversas adaptaciones a lo largo de la histo...Bryan Barrachina
 
Imagenes ambientales!!!
Imagenes ambientales!!!Imagenes ambientales!!!
Imagenes ambientales!!!erikahp01
 
Seminario2 felipepérez
Seminario2 felipepérezSeminario2 felipepérez
Seminario2 felipepérezfelipe_perez_m
 
Presentación1
Presentación1Presentación1
Presentación1susigo530
 
Como preparar una bibliografa anotada
Como preparar una bibliografa anotadaComo preparar una bibliografa anotada
Como preparar una bibliografa anotadaLILI
 
Guitarz presentation
Guitarz presentationGuitarz presentation
Guitarz presentationAndy Bennett
 

En vedette (20)

Mengenal Power Point
Mengenal Power PointMengenal Power Point
Mengenal Power Point
 
Tableau
TableauTableau
Tableau
 
Swine Flu By Dr Ajay Kumar
Swine Flu By Dr Ajay KumarSwine Flu By Dr Ajay Kumar
Swine Flu By Dr Ajay Kumar
 
Php conference 2010 final
Php conference 2010 finalPhp conference 2010 final
Php conference 2010 final
 
Cosmo House
Cosmo HouseCosmo House
Cosmo House
 
Minacs Corporate Presentation
Minacs Corporate PresentationMinacs Corporate Presentation
Minacs Corporate Presentation
 
Tableau Software - Business Analytics and Data Visualization
Tableau Software - Business Analytics and Data VisualizationTableau Software - Business Analytics and Data Visualization
Tableau Software - Business Analytics and Data Visualization
 
O poder das redes sociais no seu negócio.
O poder das redes sociais no seu negócio.O poder das redes sociais no seu negócio.
O poder das redes sociais no seu negócio.
 
IIS7.5概要 10月17日
IIS7.5概要 10月17日IIS7.5概要 10月17日
IIS7.5概要 10月17日
 
20101112 tf web_hirookun_p
20101112 tf web_hirookun_p20101112 tf web_hirookun_p
20101112 tf web_hirookun_p
 
Don giovanni; la seducción y sus diversas adaptaciones a lo largo de la histo...
Don giovanni; la seducción y sus diversas adaptaciones a lo largo de la histo...Don giovanni; la seducción y sus diversas adaptaciones a lo largo de la histo...
Don giovanni; la seducción y sus diversas adaptaciones a lo largo de la histo...
 
Pictures
PicturesPictures
Pictures
 
Introdução
IntroduçãoIntrodução
Introdução
 
Imagenes ambientales!!!
Imagenes ambientales!!!Imagenes ambientales!!!
Imagenes ambientales!!!
 
Seminario2 felipepérez
Seminario2 felipepérezSeminario2 felipepérez
Seminario2 felipepérez
 
Diani 5
Diani 5Diani 5
Diani 5
 
Presentación1
Presentación1Presentación1
Presentación1
 
Como preparar una bibliografa anotada
Como preparar una bibliografa anotadaComo preparar una bibliografa anotada
Como preparar una bibliografa anotada
 
Ermelino178
Ermelino178Ermelino178
Ermelino178
 
Guitarz presentation
Guitarz presentationGuitarz presentation
Guitarz presentation
 

Plus de hirookun

Web Camp 2 - マイクロソフト
Web Camp 2 - マイクロソフトWeb Camp 2 - マイクロソフト
Web Camp 2 - マイクロソフトhirookun
 
Dotnetlab 20110827
Dotnetlab 20110827Dotnetlab 20110827
Dotnetlab 20110827hirookun
 
OSC 名古屋 2011年8月20日
OSC 名古屋 2011年8月20日OSC 名古屋 2011年8月20日
OSC 名古屋 2011年8月20日hirookun
 
Hyper-V 虎の巻
Hyper-V 虎の巻Hyper-V 虎の巻
Hyper-V 虎の巻hirookun
 
PHP Windows コラボセミナー Vol 1 Session 1
PHP Windows コラボセミナー Vol 1 Session 1PHP Windows コラボセミナー Vol 1 Session 1
PHP Windows コラボセミナー Vol 1 Session 1hirookun
 
WebsiteSpark のカタログ
WebsiteSpark のカタログWebsiteSpark のカタログ
WebsiteSpark のカタログhirookun
 
TFセミナー マイクロソフト製品で作る Web インフラ 基本編
TFセミナー マイクロソフト製品で作る Web インフラ 基本編TFセミナー マイクロソフト製品で作る Web インフラ 基本編
TFセミナー マイクロソフト製品で作る Web インフラ 基本編hirookun
 
PHP Conference 09 Japan Microsoft
PHP Conference 09 Japan MicrosoftPHP Conference 09 Japan Microsoft
PHP Conference 09 Japan Microsofthirookun
 

Plus de hirookun (8)

Web Camp 2 - マイクロソフト
Web Camp 2 - マイクロソフトWeb Camp 2 - マイクロソフト
Web Camp 2 - マイクロソフト
 
Dotnetlab 20110827
Dotnetlab 20110827Dotnetlab 20110827
Dotnetlab 20110827
 
OSC 名古屋 2011年8月20日
OSC 名古屋 2011年8月20日OSC 名古屋 2011年8月20日
OSC 名古屋 2011年8月20日
 
Hyper-V 虎の巻
Hyper-V 虎の巻Hyper-V 虎の巻
Hyper-V 虎の巻
 
PHP Windows コラボセミナー Vol 1 Session 1
PHP Windows コラボセミナー Vol 1 Session 1PHP Windows コラボセミナー Vol 1 Session 1
PHP Windows コラボセミナー Vol 1 Session 1
 
WebsiteSpark のカタログ
WebsiteSpark のカタログWebsiteSpark のカタログ
WebsiteSpark のカタログ
 
TFセミナー マイクロソフト製品で作る Web インフラ 基本編
TFセミナー マイクロソフト製品で作る Web インフラ 基本編TFセミナー マイクロソフト製品で作る Web インフラ 基本編
TFセミナー マイクロソフト製品で作る Web インフラ 基本編
 
PHP Conference 09 Japan Microsoft
PHP Conference 09 Japan MicrosoftPHP Conference 09 Japan Microsoft
PHP Conference 09 Japan Microsoft
 

20101112 tf web_hirookun

  • 1. 今だから一緒に考えよう!従来の .asp 資産、身につけた技術をこれからどうするか? マイクロソフト株式会社 デベロッパー & プラットフォーム統括本部 エバンジェリスト 奥主 洋 (おくぬし ひろし) http://blogs.technet.com/hirookun/ 1
  • 2. 2 本日の結論! は “必然” だった があるから がある IT道は険しく、進化は続く
  • 4. Part I:マイクロソフトの Web 技術 振り返り 4
  • 7. 7 今井美樹さん 「PRIDE」 映画 インデペンデンス・デイ クローン羊 ドリー生まれる O157の集団食中毒発生 橋本龍太郎内閣発足 EveryLittleThing デビュー 森且行さんが SMAP を脱退 清原 和博 選手FAで巨人へ 将棋 羽生善治さん 史上初の7冠 携帯電話、PHS の契約数急増 東京ビッグサイト 開場 ロング・バケーション Mr.Children の「名もなき詩」 横山やすしさん ご逝去 NINTENDO64 発売開始 民主党 結成 貴乃花が 春・夏・名古屋・秋 場所で優勝 りんかい線 新木場駅 開業 アトランタ オリンピック 渥美清さん ご逝去 Yahoo!Japan が検索サービス開始 F1 はウィリアムズのデイモン・ヒルが優勝
  • 10. 10 “WindowsDNA”& “Windows DNA 2000” Windows Distributed interNetApplications
  • 11. スタックでちゃんと理解しよう! Database SQLServer 2000 Access/.mdb SQLServer 2005 (Access/.accdb) SQLServer 2008/R2 (Access/.accdb) ADO.NET DAO/ADO ODBC/OLEDB DAO/ADO ODBC/OLEDB ADO.NET/LINQ EntityFramework OData DataAccess Logic COM/COM+ (DCOM) COM/COM+ (DCOM) ASP.NET2.0/3.5 .NET Framework ASP.NET4 Presentation Active Server Pages(.asp) Active Server Pages(.asp) VisualStudio 2005/2008 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS 6.0 IIS 7.x OS Windows 2000 Windows Server 2003R2 Windows Server 2008/R2 11
  • 12. スタックでちゃんと理解しよう! Database SQLServer 2000 Access/.mdb SQLServer 2005 (Access/.accdb) SQLServer 2008/R2 (Access/.accdb) ADO.NET DAO/ADO ODBC/OLEDB DAO/ADO ODBC/OLEDB ADO.NET/LINQ EntityFramework OData DataAccess Logic COM/COM+ (DCOM) COM/COM+ (DCOM) ASP.NET2.0/3.5 .NET Framework ASP.NET4 Presentation Active Server Pages(.asp) Active Server Pages(.asp) VisualStudio 2005/2008 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS 6.0 IIS 7.x OS Windows 2000 Windows Server 2003R2 Windows Server 2008/R2 12
  • 13. 想えば遠くへ来たもんだ “WindowsDNA” WindowsServer2000 ActiveX / DCOM/COM+ Active Server Pages マイクロソフトの基盤は一貫して同じスキームで進化してきた。 “.NET” 2000 NGWS -> .NET “Office 365/ Windows Azure” Web サービス SOA いわゆる .NET の10年 2010 13
  • 14. ASP 開発者は戸惑ったはず 技術情報の発信はほぼ 営業が言ってくるのも セミナーを受けても マイクロソフトがもう支援してくれない?! 資産はいっぱいあるし、どうしろと?! さらに ASP.NET もどんどん世代が進む 14 1.0 -> 1.1 -> 2.0 -> 3.5 -> 4.0
  • 15.
  • 17.
  • 19.
  • 20.
  • 21. .NET に進んでいただきたい理由 保守・安定 の価値観 確かに手軽である、心地いい 新しいことに手を伸ばすのは勇気がいる 最先端をやっているワクワク感がない 技術者として差別化が難しい 他の国の技術者はもっと貪欲である 19
  • 22. スタックでちゃんと理解しよう! Database SQLServer 2000 Access/.mdb SQLServer 2005 (Access/.accdb) SQLServer 2008/R2 (Access/.accdb) ADO.NET DAO/ADO ODBC/OLEDB DAO/ADO ODBC/OLEDB ADO.NET/LINQ EntityFramework OData DataAccess Logic COM/COM+ (DCOM) COM/COM+ (DCOM) ASP.NET2.0/3.5 .NET Framework ASP.NET4 Presentation Active Server Pages(.asp) Active Server Pages(.asp) VisualStudio 2005/2008 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS 6.0 IIS 7.x OS Windows 2000 Windows Server 2003R2 Windows Server 2008/R2 20
  • 23. Part II:ASP のこれまでと最新環境における ASP 再利用術~ 今もできること、やっぱりできないこと ~ 21
  • 24. 革新と互換性~ASP はそのまま動くケースも多い~ マイクロソフトはこの相反する二つのテーマと常に格闘している 情報発信はともかく製品は互換対応 ASP 資産を見捨てているわけじゃない OS の革新の影響はある よりセキュアでないといけない 既定で動かない機能がある 22
  • 25. ASP エンジンの互換性は? Presentation Active Server Pages(.asp) Web Server IIS 7.x OS Windows Server 2008/R2          は64ビットの環境のみ エンジンは 32ビット、64ビットともに動作する IIS7.x としては 32ビット互換ワーカープロセス機能 23
  • 26. ご参考 : IIS 5 のアーキテクチャー(IIS 6 の IIS5.0 プロセス分離モードも同じ) 24 プロセスの管理 Metabase .bin アプリケーション 実行プロセス アプリケーション 実行プロセス dllhost.exe dllhost.exe (プール) dllhost.exe lsass.exe Svchost.exe Inetinfo.exe IISAdmin ISAPI 拡張機能 ISAPI 拡張機能 ISAPI 拡張機能 ISAPI 拡張機能 WWW/WASM FTP Windows 認証 Web アプリ Web アプリ Web アプリ Web アプリ NNTP Web アプリ SMTP ISAPI フィルタ ISAPI フィルタ SSL 低 中 高 Winsock ユーザー モード カーネル モード TCPIP.sys
  • 27. ご参考 : IIS 6 のアーキテクチャー(ワーカー プロセス分離モード) プロセスの管理(ヘルス モニタリング、リサイクリング、保護) Metabase .xml アプリケーション プール アプリケーション プール アプリケーション プール (Web ガーデン) w3wp.exe w3wp.exe Svchost.exe Inetinfo.exe w3wp.exe lsass.exe w3wp.exe w3wp.exe FTP ISAPI 拡張機能 ISAPI 拡張機能 ISAPI 拡張機能 WWW/WASM IISAdmin Windows 認証 Web アプリ Web アプリ Web アプリ NNTP Web アプリ Web アプリ SMTP SSL ISAPI フィルタ ISAPI フィルタ ISAPI フィルタ プロセスの分離 ユーザー モード カーネル モード ユーザー アプリケーションとサーバーの分離 HTTP Requests HTTP.sys Listener Response Cache TCPIP.sys 25
  • 28. IIS 6 互換モード設定 26 IIS5.0 の互換モードあり
  • 29. ご参考 : IIS 7 のアーキテクチャー プロセスの管理(ヘルス モニタリング、リサイクリング、保護) Application Host.config アプリケーション プール アプリケーション プール アプリケーション プール w3wp.exe w3wp.exe Svchost.exe Inetinfo.exe w3wp.exe lsass.exe w3wp.exe w3wp.exe FTP ISAPI 拡張機能 ISAPI 拡張機能 ISAPI 拡張機能 WWW IISAdmin Web アプリ Web アプリ WAS Web アプリ Web アプリ Web アプリ SMTP ISAPI フィルタ ISAPI フィルタ ISAPI フィルタ プロセスの分離 ユーザー モード カーネル モード ユーザー アプリケーションとサーバーの分離 HTTP Requests HTTP.sys Windows 認証 SSL Listener Response Cache TCPIP.sys 27
  • 30. IIS 7 互換モード設定 28 IIS5.0 の互換モードなし
  • 31. いくつかのポイント ASP は既定でインストールされない 既定でオフになっている機能が多い アクセス制御が厳しくなっている Access のドライバーは 64 ビット対応? ClassicASP で親パスは使えない ASP.NET の複数バージョンと ASP は共存 29
  • 32. ASP 稼動について参考になる情報 IIS7.0 および IIS7.5 上で ClassicASPアプリケーションを実行するhttp://technet.microsoft.com/ja-jp/library/ee155445.aspx IIS 開発部門トップ BillStaples のブログhttp://blogs.iis.net/bills/archive/tags/ASP/default.aspx ClassicASPForum(英語)http://forums.iis.net/1044.aspx 30
  • 33. おススメ!“サーバー構築ガイドライン” http://technet.microsoft.com/ja-jp/iis/ff625168.aspx ・現在ドラフト版 ・序章~第11章まで公開予定 ・無償ダウンロード ・PDFおよびXPS文書 ・最終的に1つにまとめる ・フィードバック募集中! 31
  • 34. スタックでちゃんと理解しよう! Database SQLServer 2000 Access/.mdb SQLServer 2005 (Access/.accdb) SQLServer 2008/R2 (Access/.accdb) ADO.NET DAO/ADO ODBC/OLEDB DAO/ADO ODBC/OLEDB ADO.NET/LINQ EntityFramework OData DataAccess Logic COM/COM+ (DCOM) COM/COM+ (DCOM) ASP.NET2.0/3.5 .NET Framework ASP.NET4 Presentation Active Server Pages(.asp) Active Server Pages(.asp) VisualStudio 2005/2008 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS 6.0 IIS 7.x OS Windows 2000 Windows Server 2003R2 Windows Server 2008/R2
  • 35. ASP.NET 4 構成フレームワークの種類 GUI ベースのWeb ページ開発 ASP.NET に統合されたAJAX フレームワーク MVC パターンによるWeb 開発 データ駆動型 Web アプリケーションの開発 さまざまな .NET テクノロジーを活用した Web 開発
  • 36.
  • 38. 備えよ、クラウドが見えている 今だから IIS7, ASP.NETをやるべき WindowsAzure の土台の理解へ 波に乗ると仕事の恩恵は計り知れない 先行者ベネフィットと差別化 技術には革新の理由が必ずある 35
  • 39. Part III:ASP を超えて次のステージへ ~これから目指すべきこと~ 36
  • 40. 製品の入手機会は段違いに多い 風評:マイクロソフト=有償製品=高い 正解:無償版、無償提供サービスも多い 37 SharePointFoundation2010 SysinternalsTools 学生向け Web 制作会社向け 起業家向け
  • 41. スタックでちゃんと理解しよう! Database SQLServer 2000 Access/.mdb SQLServer 2005 (Access/.accdb) SQLServer 2008/R2 (Access/.accdb) ADO.NET DAO/ADO ODBC/OLEDB DAO/ADO ODBC/OLEDB ADO.NET/LINQ EntityFramework OData DataAccess Logic COM/COM+ (DCOM) COM/COM+ (DCOM) ASP.NET2.0/3.5 .NET Framework ASP.NET4 Presentation Active Server Pages(.asp) Active Server Pages(.asp) VisualStudio 2005/2008 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS 6.0 IIS 7.x OS Windows 2000 Windows Server 2003R2 Windows Server 2008/R2 38
  • 42. .asp 部分をどう選択? Presentation ASP.NET Web フォーム Active Server Pages(.asp) HTML ASP.NET MVC AJAX “Razor” 別の考え方:今日のスコープ外 ASP.NET Web Pages HTML + jQuery “Razor” WCF や .asmx Services Silverlight Azure を見据えると やはり ASP.NETへ 39
  • 43.     って何? “Razor” 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> とにかくシンプルに、記述少なく 40
  • 44. ロジック部分をどう選択? ASP.NET4 Logic COM/COM+ (DCOM) .NET Framework .aspx .aspx.vb .aspx.cs WCF WF WindowsServer AppFabric WindowsAzure PlatformAppFabric WCF(WindowsCommunicationFoundation), WF(WindowsWorkflowFoundation)を使用して Web 技術を使ったサービスを構築する方法もある。 既存のコンポーネントは Wrap して Web サービス化する手法もとれる。 ITPro道場 ~ アプリケーションの開発 http://technet.microsoft.com/ja-jp/events/dd696115.aspx 41
  • 45. データアクセス部分をどう選択? ADO.NET LINQ EntityFramework OData DAO/ADO ODBC/OLEDB DataAccess .NET Framework ASP.NET4 MDAC 基盤部分(例 :OLEDB)はプロバイダーモデルで大きくは変わっていない 変わったのはその上位で Wrap する部分 WindowsServer2008R2 を見据えると64 ビットへの対応が大きな検討課題となる データ アクセス テクノロジ概要 http://msdn.microsoft.com/ja-jp/data/dd919164.aspx 42
  • 46. データベース部分をどう選択? Database SQLServer 2000 (6.5, 7.0) SQLServer 2005 SQLServer 2008/R2 エンジン 無償 SQLServer 2008/R2 ExpressEdition Access/.mdb Access2007/2010 (.accdb) ファイル 無償 SQLCompact (ファイルベース) SQL 無償版:MSDE -> Personal -> Express へ SQL Express も Compact も同じ “DNA” http://www.microsoft.com/sqlserver/2008/en/us/editions.aspx 43
  • 49. ASP+MDB のいいところって? OS と IIS があれば動く VisualStudio なくともテキストエディターで頑張れる .asp 内で完結するので COBOL 感覚な人でもわかりやすい クラスやオブジェクト指向の知識不要 VisualBasic 6 でコンポーネントが作れた .mdbが再配布容易 .mdb がファイルベースなので軽い OS 以外はテキストエディターで頑張れば「無償」 データアクセス方法も以前とさほど変わらない 何かフレームワーク知識不要、サクサク書ける 46
  • 50. そこで “今”。新たな選択肢。 Database SQLServer 2000 Access/.mdb SQLCompact 4 Web SQLServer 2008/R2 (Access/.accdb) 無償 ADO.NET/LINQ EntityFramework DAO/ADO ODBC/OLEDB DataAccess Logic COM/COM+ ASP.NET4 (.aspx) .NET Framework ASP.NET WebPages “Razor” Presentation Active Server Pages(.asp) 無償 VisualStudio 6.0 VisualStudio 2010 Web Server IIS 5.0 IIS Express (開発用 IIS7) XP も OK !! IIS 7.x 無償 OS Windows 2000 Windows Server 2008/R2 Windows XP でも最新環境 (開発環境) 既存 47
  • 51. 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
  • 52. お腹いっぱいですか? クラウド時代の牽引役はアプリケーションであって仮想化じゃない 積み上げが大事。結局 前提知識は役立つABC を知らずして Z は理解できない クラウドも駆使できる最強のエンジニアに!A しかできない、BしかできないではなくA も B もできる、これが標準仕様になる あきらめない。これに尽きる。 49
  • 53. 50 本日の結論! へのシフトは “必然” だった があるから がある 成功者は最新技術をあきらめない
  • 54. Call to Action 最強のエンジニア計画 51
  • 55. Microsoft Web Platform ホームまずはここからスタート ! www.microsoft.com/web Web プラットフォームの紹介 サーバー フレームワーク データーベース ツール Web App Gallery ダウンロード プログラム紹介 ホスティング情報 事例紹介 などなど ... 52
  • 56. ASP.NET デベロッパーセンター 53 http://msdn.microsoft.com/ja-jp/asp.net/default.aspx
  • 57. IIS TechCenter(テックセンター) 54 http://technet.microsoft.com/ja-jp/iis/default.aspx
  • 58. TheMicrosoftConferenceJapanTour2010~ 東京+ 6 都市で開催 ~ http://www.microsoft.com/japan/cloud/msc2010/tokyo.mspx 開催日:2010 年 11 月 25 日 ~ 26 日 開催場所: ザ・プリンス パークタワー東京 参加費:無償 55
  • 59.