20020713
- 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 により、システムの管理コストを抑えつ
つ、クライアントのパワーを利用できる分散
型のシステムの構築がより簡単になろうとし
ている