Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20010127

472 views

Published on

  • Be the first to comment

  • Be the first to like this

20010127

  1. 1. .NET の概要 NT-Commitee2 小野 修司http://www.corebase.co.jp/shu/
  2. 2. 最初から参考文献 (^^; Microsoft .NET 完全解説( ASCII ) C# で学ぶ .NET プログラミング(技術評論社 ) C マガジン 2001 年 1 月号(ソフトバンク) – C# 言語仕様とプログラミング MSDN マガジン( ASCII ) マイクロソフト社 Web サイト » http://www.microsoft.com/japan/developer/net/ » http://www.microsoft.com/japan/developer/vstudio/nextgen/これらをベースに自分なりに説明する。
  3. 3. 従来技術との比較 Orchestration ・ .NET の説明で利用される図 M そ ・従来技術を無理やり対比させて考C# VB JS の えてみよう。。。 C++ 他 .NET Building VB C++ JS,VBS Enterprise Block MFC ATL .NET Servers ランタイム ASP Framework Windows COM DNA Win32 ServersWindows (CE, ME, 2000, and .NET) API Windows (9x, NT)
  4. 4. Windows DNA サーバか ら .NET Enterprise Servers へ Windows DNA サーバ – COM のインタフェースを通して利用する、 システム構築のインフラ .NET Enterprise Servers – COM 以外に XML 、 HTTP 等のインターネ ット標準をインタフェースとして利用でき る、システム構築のインフラ – 今後、 .NET の環境上に構築される – SOAP や C# をサポートするようになる
  5. 5. COM から Building Block へ COM – 機能の再利用のために自マシン、または ネットワーク上のマシンに用意される – COM のインターフェースを通して利用す る Building Block – 機能の再利用のためにインターネット上に 用意される(認証機能、カレンダー機能 等) – SOAP をインターフェースとして利用する
  6. 6. Win32API から .NET Framework へ Win32API 上での開発 – 開発言語によりベースとなる開発環境が異なる – Visual Studio であっても VB 、 VC++ 、 Visual InterDev はまったく異なるツール – 作成した COM はレジストリに登録することによ り利用できる .NET Framework 上での開発(詳細は後述す る) – すべての言語で同一の開発環境が利用できる – 作成したクラスはファイルコピーにより利用でき る
  7. 7. Orchestration の登場 従来、同じ COM とはいっても、作成の仕方 により、例えば VBScript からは利用できない ものもあった .NET では、インタフェースを SOAP ベース とすることにより、インターネット上にある サービスも含めた、すべてのサービスを組み 合わせて利用することが可能になる XML による記述で、サービスの利用順序や 組み合わせ方を指定できるようになり、その 組み替えも簡単になる
  8. 8. 変化するキーワード - COM から SOAP へ COM ( Windows DNA -密結合 ) – COM インタフェースによる再利用 – DCOM による分散環境の構築 SOAP ( .NET -疎結合) – SOAP をインタフェースとするサービスの再 利用 – SOAP によるインターネット上の分散環境の 構築
  9. 9. SOAP とは? XML の表記法(タグやスキーマの利用)によ り、どの命令を実行するかが記述され、また その引数としてどのようなデータを与えるか も記述される 要するに、テキストファイル( XML ファイ ル)を送りつけることにより命令が実行さ れ、その結果もテキストファイルで返される – テキストファイルによる RPC 実行とも言える このテキストファイルを送るためのプロトコ ルとして、 HTTP や SMTP 等が利用できる
  10. 10. SOAP の利点 SOAP が利用できるのは Windows ばかりでは ない – IBM が SOAP を推進、ツール等を提供    http://www.ibm.co.jp/developerworks/ – XML が解釈できる環境を構築すれば、 SOAP を利 用することは可能これにより、 .NET は Windows にしばられな い インターネット上でのすべてのマシンとのデ ータ交換をするための基盤を持つということ
  11. 11. SOAP の広がり SOAP をベースとした標準が構築される – WSDL(Web Service Description Language) » SOAP の組み合わせにより、機能を実現する手 順を指定するための標準 – Disco » 特定のサーバ上で WSDL を発見するための標 準 – UDDI(Universal Description, Discovery, and Integration) » 企業が提供するサービスを WSDL を利用して 登録しておくことができる企業ディレクトリ
  12. 12. .NET が与えるインパクト DOS から Windows への変化として、パ ソコン単体のシステムからネットワーク に対応したシステムへの変化があった .NET においては、クライアント/サー バ型であっても企業内に閉じていたシス テムが、インターネットに対して開いた システムへと変化する – 複数の企業間のサービスの連携によってシ ステムが構築されるようになる
  13. 13. .NET は COM を駆逐するの か? COM と .NET クラスは相互に利用する ことが可能である – ただし、ユーティリティを利用する必要が ある .NET 環境でも、トランザクションや メッセージングには COM+ を利用する COM+ が進化していく先に .NET との融 合がある
  14. 14. .NET Framework そ ManagedC# VB JS の C++ 他 .NET FrameworkBase クラスライブラリ Web Window Data XML System JIT CLR メモリ管理
  15. 15. 各言語の特徴 VC++ – デフォルトでは Win32API を利用し、 COM を利用する従来の Windows プログラムを作 成する – .NET 対応プログラムを作成するために は、 Managed C++ という形式でプログラミ ングを行う VB – クラスの継承が利用できるようになる – VBScript は VB に統合される
  16. 16. 各言語の特徴 C# – Microsoft が C++ / C をベースに新しく作成した 言語 – ECMA に標準化を提案している JS – VisualStudio.NET ベータ版では開発環境が提供さ れていない その他 – Perl 、 SmallTalk 、 COBOL 等サードベンダーによ り.NET対応の言語が提供される – Java も Rational 社により提供予定?
  17. 17. Base クラスライブラリ Base クラスライブラリはすべての言語から 利用される – 各言語で利用する基本的な機能は Base ライブ ラリで提供される – 文法が異なるだけで、 .NET に対応する言語に よる本質的な違いはないといえる – ライブラリを利用するためにはクラスを直接、 または継承して利用する。
  18. 18. Base クラスライブラリ System – I/O 、セキュリティ等基本機能を提供する Data / XML(ADO.NET) – DataSet という形で一種のインメモリ DB が 提供される – Data と XML を統一した形で利用できる
  19. 19. Base クラスライブラリ Web Forms – ASP.NET で利用される – サーバ上で動作し、接続してきたブラウザに合わ せた HTML を生成する ( HTML3.2 、 DHTML 、 WAP) Web サービス – SOAP を利用するインタフェース、およびテスト プログラムは自動で作成される Windows Forms – Windows プログラム作成で利用する
  20. 20. Common Language Runtime(CLR) IL ( Intermideate Language ) – すべてのプログラムはコンパイルにより、 IL とい う中間言語の形に変換される – IL プログラムは dll または exe という拡張子を持 つ JIT – CLR は、 IL プログラムを JIT コンパイラを利用し て機械語のコードに変換し、実行する – JIT によって変換された機械語コードはキャッシ ュされて利用される メモリ管理 – ガベージコレクションにより、メモリの開放は自 動的に行われる
  21. 21. Base クラスライブラリ共有の ためのしくみ CTS(Common Type System) – 各言語のすべてのタイプ(自ら作成するクラスを含 む)を扱えるよう、 CLR に組み込まれたしくみ – クラス、メソッド、プロパティ等の扱いを規定する CLS(Common Language Specification) – 特定の言語が CTS すべてをサポートするのは難し いため、言語間の連携に最低限必要な取り決めだけ をとりだしたもの – 外部とのインタフェースとなる部分(パブリックク ラスのパブリックメソッド)は CLS にしたがって いる必要がある
  22. 22. C# による Web サービスサン プル asmx サンプル – 2 つの数字の和を返す Web サービス – 自動的にテストプログラムを作成 – 自動的に SOAP に対応 WebServiceUtil の利用 – SOAP プロキシクラスの作成 Web サービスを利用するコンソールア プリケーションサンプル
  23. 23. Visual Studio .NET VS.NET – .NET のための統合開発環境 – VC++ 、 C# 、 VB すべてで同じ環境を利用 する – ドラッグ & ドロップによるユーザインタ フェース構築 ( Windows.Form 、 Web.Form ) デモ: Web サービスを利用する Window アプリケーションの作成
  24. 24. オブジェクト指向開発のため の基礎知識 オブジェクト指向の開発に対して知識を整理 しておこう – オブジェクト指向再入門講座(ソフト・リサーチ・ センター) UML – オブジェクト指向で設計する際の表記法の標準 – UML モデリングのエッセンス 第2版(翔泳社) – http://www.ogis-uml-university.com/ パターン – システム構築において何度も利用されるクラス構 造を収集、分類したもの – デザインパターン 改訂版(ソフトバンク) – アナリシスパターン(ピアソン・エデュケーション
  25. 25. オブジェクト指向開発方法論 RUP ( Rational Unified Process ) – 中・大規模向けのオブジェクト指向開発方法論 – UML による統一ソフトウェア開発プロセス 翔泳 社 XP – ライトウェイトなプログラム開発方法論 – エクストリーム プログラミング入門 (ピアソン・エデュケーショ ン) – http://www.esm.co.jp/eXtremeProgramming/ – Nunit : .NET 用ユニットテスティングフレームワ ーク http://sourceforge.net/projects/nunit
  26. 26. .NET はプログラマを幸福にす るか ベータ版に触れて、自分の眼で確かめ てほしい (^^; 個人的にはできるだけはやく .NET 環境 が標準になってほしい

×