SlideShare ist ein Scribd-Unternehmen logo
1 von 14
真実(ほんとう)の .NET


  NT-Committee2
    小野修司
ブラウザ、使いやすいですか
            ?
• 業務アプリケーションを Web 化する動
  きが活発だが。。。
 – 入力系のユーザインターフェィス部品が貧
   弱
 – 印刷機能が弱い
 – 高機能になっているクライアントマシンの
   パワーはほとんど利用できない
それでも Web アプリケーシ
       ョン全盛の理由
• ブラウザならどのクライアントマシンにも
  入っている
• アプリケーションのプログラム、データは
  サーバ側で一括管理
• 要するに管理コストが低い(と思われてい
  る)
 – 実際には DHTML を利用したり、帳票用のツー
   ルを利用したりする必要が生じ、それなりの管
   理コストが発生している
めざせ!リッチクライアントの
            復権
• 管理コストが抑えられればユーザはリッチク
  ライアント( Windows アプリケーション)を
  利用するのではないか?
• リッチクライアントが Web アプリケーション
  と肩をならべるには
 – すべてのマシンにランタイムエンジンを
 – プログラムはサーバからダウンロードして実行
 – インターネット環境でn階層アプリケーションを
   手軽に構築
 – プログラムのダウンロードを快適に
 – プログラムの実行も快適に
 – セキュリティに十分な配慮を
すべてのマシンにランタイ
       ムエンジンを
• OS の上に .NET アプリケーションの実
  行環境としての CLR を用意
  – Windows98 以降の OS 上での動作を保障
  – PDA にもある程度の互換性をもたせる
• CLR を Windows Update で配布
  – いずれは OS に CLR を組み込む
• .NET Framework SDK も無料で配布する
  ことにより裾野の広がりをねらう
プログラムはサーバからダウ
      ンロードして実行
• 必要なファイルをコピーするだけでアプリケー
  ションを動作可能に
• レジストリによるアプリケーションの動作用の
  情報管理をやめる
 – コンパイルにより生成されるアセンブリにメタデー
   タとよばれる情報を追加し、バージョンなどを管理
   する
 – 複数のバージョンが平行動作可能に
• アセンブリを HTTP ベースでダウンロードして
  実行可
• アプリケーションの終了により、クライアント
  上からプログラムが消去される
インターネット環境でn階層
 アプリケーションを手軽に構
             築
• Web サービスを利用することにより、ファイ
  アウォールをはさんだ環境でもn階層のアプ
  リケーションの構築を可能に
• Web サービスの提供/利用部分をツールが自
  動生成することで、簡単に Web サービスアプ
  リケーションが構築できる
• アセンブリは中間言語( MSIL )で記述され
  ているので、適切なコンパイラさえあればど
  んな言語でも .NET 上でアプリケーションを
  構築できる
プログラムのダウンロード
          を快適に
• ダウンロードするファイルをできるだ
  け小さくするため、クラスライブラリ
  の機能を充実し、ランタイムエンジン
  と同時に配布
• 複数のファイルから構築されるアセン
  ブリを生成できる
 – 実行時にはメソッド単位でメモリ上にロー
   ドされるため、メソッドが含まれるファイ
   ル毎にダウンロードされる
プログラムの実行も快適に
• 実行時にはメソッド単位でメモリ上にロード
  されるため、そのとき実行されないメソッド
  はロードされない
• ロード時にネイティブコードへのコンパイル
  を行い、実行速度をあげる( JIT コンパイラ
  )
• インメモリデータベース( DataSet) を採用す
  ることでデータの一括ダウンロードと一括ア
  ップロードを実現(処理単位のスループット
  の向上が可能に)
セキュリティに十分な配慮を
• ロード時にセキュリティチェックを行う
 – 型チェックによるメモリの利用領域確認
 – ユーザのロール(役割)による実行権限の確認
 – コードの出自による実行権限の確認
  • プログラムはどこからダウンロードされているのか
  • プログラムは誰によってつくられたのか
  • プログラムは何をしようとしているのか
• 管理者がセキュリティの設定を管理できる
 – ユーザが「 OK 」ボタンを押したらなんでも実行
   できてしまったいままでのセキュリティとは違う
セキュリティ管理ツール
• Caspol.exe
  – コマンドラインから実行
  – ログオンスクリプト等にくみこめる
• Microsoft .NET Framework Configuration
  – 管理ツールに組み込まれる
  – GUI で設定
  – セキュリティ設定用の msi ファイルを作成
    可
  – Active Directory を利用してセキュリティ設
    定
Web アプリケーションへの対応
              は?
– IE のオブジェクトモデルを理解し、複雑な
  DHTML を記述すれば、業務アプリケーシ
  ョンに必要な入力系のユーザインタフェー
  スをつくりこむことは可能だった
– DHTML をモジュール化するビヘイビアと
  いった技術もすでに存在する
– .NET では、業務アプリケーションを構築
  できるように、 IE のオブジェクトモデル
  を最大限に活用する DHTML を生成するよ
  うにもできたはずなのに。。。
標準を重視した ASP.NET
• ASP.NET では HTML3.2 ベースの HTML を生
  成することが重視されている
  – DHTML を活用する Web コントロールは
    Validation (入力チェック)系のものぐらい
  – DHTML を記述する方法は用意されているが、む
    しろ面倒ともいえる手順が必要になっている
  – DHTML は依然として文字列の形で記述する必要
    がある
• ASP.NET では、データの閲覧を主とするアプ
  リケーションの構築に重点が置かれている
  – DataGrid/DataList/Repeater 等の Web コントロール
真実(ほんとう)の .NET の姿
• .NET は Microsoft が考える次世代の分散シ
  ステムの姿をうかびあがらせる
 – Web アプリケーションはn階層といっても、
   その実態は集中型のシステムを構築するもの
   であった
 – .NET により、システムの管理コストを抑えつ
   つ、クライアントのパワーを利用できる分散
   型のシステムの構築がより簡単になろうとし
   ている

Weitere ähnliche Inhalte

Ähnlich wie 20020713

Data Center As A Computer 2章前半
Data Center As A Computer 2章前半Data Center As A Computer 2章前半
Data Center As A Computer 2章前半
Akinori YOSHIDA
 
Performance and Scalability of Web Service
Performance and Scalability of Web ServicePerformance and Scalability of Web Service
Performance and Scalability of Web Service
Shinji Tanaka
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
irix_jp
 
[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)
[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)
[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)
Insight Technology, Inc.
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
Abe Junichiro
 

Ähnlich wie 20020713 (20)

Data Center As A Computer 2章前半
Data Center As A Computer 2章前半Data Center As A Computer 2章前半
Data Center As A Computer 2章前半
 
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウドOsc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
 
Windows 展開の自動化ツール - Microsoft Deployment Toolkit
Windows 展開の自動化ツール - Microsoft Deployment ToolkitWindows 展開の自動化ツール - Microsoft Deployment Toolkit
Windows 展開の自動化ツール - Microsoft Deployment Toolkit
 
第2章アーキテクチャ
第2章アーキテクチャ第2章アーキテクチャ
第2章アーキテクチャ
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
Performance and Scalability of Web Service
Performance and Scalability of Web ServicePerformance and Scalability of Web Service
Performance and Scalability of Web Service
 
20060419
2006041920060419
20060419
 
20181120 HowtoFlow
20181120 HowtoFlow20181120 HowtoFlow
20181120 HowtoFlow
 
オトナのService Fabric~マイクロサービス編
オトナのService Fabric~マイクロサービス編オトナのService Fabric~マイクロサービス編
オトナのService Fabric~マイクロサービス編
 
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
 
Smart store servlerless-20191030-40min
Smart store servlerless-20191030-40minSmart store servlerless-20191030-40min
Smart store servlerless-20191030-40min
 
Hinemosによるクラウド運用管理の最新情報
Hinemosによるクラウド運用管理の最新情報Hinemosによるクラウド運用管理の最新情報
Hinemosによるクラウド運用管理の最新情報
 
IT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration Manager
IT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration ManagerIT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration Manager
IT エンジニアのための 流し読み Windows 10 - 入門!System Center Configration Manager
 
ディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指してディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指して
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
 
Citrix eco new
Citrix eco newCitrix eco new
Citrix eco new
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
 
[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)
[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)
[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
 
Netsuiteご紹介
Netsuiteご紹介Netsuiteご紹介
Netsuiteご紹介
 

Mehr von 小野 修司 (20)

20140322
2014032220140322
20140322
 
20121215
2012121520121215
20121215
 
20120616
2012061620120616
20120616
 
20120609
2012060920120609
20120609
 
20120425
2012042520120425
20120425
 
20120128
2012012820120128
20120128
 
20111203
2011120320111203
20111203
 
20110607
2011060720110607
20110607
 
20100313
2010031320100313
20100313
 
20100224
2010022420100224
20100224
 
20100218 lt
20100218 lt20100218 lt
20100218 lt
 
20100218
2010021820100218
20100218
 
20091207
2009120720091207
20091207
 
20090711
2009071120090711
20090711
 
20090606
2009060620090606
20090606
 
20090418
2009041820090418
20090418
 
20090328
2009032820090328
20090328
 
20090212
2009021220090212
20090212
 
20081003
2008100320081003
20081003
 
20080630
2008063020080630
20080630
 

20020713

  • 1. 真実(ほんとう)の .NET NT-Committee2 小野修司
  • 2. ブラウザ、使いやすいですか ? • 業務アプリケーションを Web 化する動 きが活発だが。。。 – 入力系のユーザインターフェィス部品が貧 弱 – 印刷機能が弱い – 高機能になっているクライアントマシンの パワーはほとんど利用できない
  • 3. それでも Web アプリケーシ ョン全盛の理由 • ブラウザならどのクライアントマシンにも 入っている • アプリケーションのプログラム、データは サーバ側で一括管理 • 要するに管理コストが低い(と思われてい る) – 実際には DHTML を利用したり、帳票用のツー ルを利用したりする必要が生じ、それなりの管 理コストが発生している
  • 4. めざせ!リッチクライアントの 復権 • 管理コストが抑えられればユーザはリッチク ライアント( Windows アプリケーション)を 利用するのではないか? • リッチクライアントが Web アプリケーション と肩をならべるには – すべてのマシンにランタイムエンジンを – プログラムはサーバからダウンロードして実行 – インターネット環境でn階層アプリケーションを 手軽に構築 – プログラムのダウンロードを快適に – プログラムの実行も快適に – セキュリティに十分な配慮を
  • 5. すべてのマシンにランタイ ムエンジンを • OS の上に .NET アプリケーションの実 行環境としての CLR を用意 – Windows98 以降の OS 上での動作を保障 – PDA にもある程度の互換性をもたせる • CLR を Windows Update で配布 – いずれは OS に CLR を組み込む • .NET Framework SDK も無料で配布する ことにより裾野の広がりをねらう
  • 6. プログラムはサーバからダウ ンロードして実行 • 必要なファイルをコピーするだけでアプリケー ションを動作可能に • レジストリによるアプリケーションの動作用の 情報管理をやめる – コンパイルにより生成されるアセンブリにメタデー タとよばれる情報を追加し、バージョンなどを管理 する – 複数のバージョンが平行動作可能に • アセンブリを HTTP ベースでダウンロードして 実行可 • アプリケーションの終了により、クライアント 上からプログラムが消去される
  • 7. インターネット環境でn階層 アプリケーションを手軽に構 築 • Web サービスを利用することにより、ファイ アウォールをはさんだ環境でもn階層のアプ リケーションの構築を可能に • Web サービスの提供/利用部分をツールが自 動生成することで、簡単に Web サービスアプ リケーションが構築できる • アセンブリは中間言語( MSIL )で記述され ているので、適切なコンパイラさえあればど んな言語でも .NET 上でアプリケーションを 構築できる
  • 8. プログラムのダウンロード を快適に • ダウンロードするファイルをできるだ け小さくするため、クラスライブラリ の機能を充実し、ランタイムエンジン と同時に配布 • 複数のファイルから構築されるアセン ブリを生成できる – 実行時にはメソッド単位でメモリ上にロー ドされるため、メソッドが含まれるファイ ル毎にダウンロードされる
  • 9. プログラムの実行も快適に • 実行時にはメソッド単位でメモリ上にロード されるため、そのとき実行されないメソッド はロードされない • ロード時にネイティブコードへのコンパイル を行い、実行速度をあげる( JIT コンパイラ ) • インメモリデータベース( DataSet) を採用す ることでデータの一括ダウンロードと一括ア ップロードを実現(処理単位のスループット の向上が可能に)
  • 10. セキュリティに十分な配慮を • ロード時にセキュリティチェックを行う – 型チェックによるメモリの利用領域確認 – ユーザのロール(役割)による実行権限の確認 – コードの出自による実行権限の確認 • プログラムはどこからダウンロードされているのか • プログラムは誰によってつくられたのか • プログラムは何をしようとしているのか • 管理者がセキュリティの設定を管理できる – ユーザが「 OK 」ボタンを押したらなんでも実行 できてしまったいままでのセキュリティとは違う
  • 11. セキュリティ管理ツール • Caspol.exe – コマンドラインから実行 – ログオンスクリプト等にくみこめる • Microsoft .NET Framework Configuration – 管理ツールに組み込まれる – GUI で設定 – セキュリティ設定用の msi ファイルを作成 可 – Active Directory を利用してセキュリティ設 定
  • 12. Web アプリケーションへの対応 は? – IE のオブジェクトモデルを理解し、複雑な DHTML を記述すれば、業務アプリケーシ ョンに必要な入力系のユーザインタフェー スをつくりこむことは可能だった – DHTML をモジュール化するビヘイビアと いった技術もすでに存在する – .NET では、業務アプリケーションを構築 できるように、 IE のオブジェクトモデル を最大限に活用する DHTML を生成するよ うにもできたはずなのに。。。
  • 13. 標準を重視した ASP.NET • ASP.NET では HTML3.2 ベースの HTML を生 成することが重視されている – DHTML を活用する Web コントロールは Validation (入力チェック)系のものぐらい – DHTML を記述する方法は用意されているが、む しろ面倒ともいえる手順が必要になっている – DHTML は依然として文字列の形で記述する必要 がある • ASP.NET では、データの閲覧を主とするアプ リケーションの構築に重点が置かれている – DataGrid/DataList/Repeater 等の Web コントロール
  • 14. 真実(ほんとう)の .NET の姿 • .NET は Microsoft が考える次世代の分散シ ステムの姿をうかびあがらせる – Web アプリケーションはn階層といっても、 その実態は集中型のシステムを構築するもの であった – .NET により、システムの管理コストを抑えつ つ、クライアントのパワーを利用できる分散 型のシステムの構築がより簡単になろうとし ている