基礎解説

初めてのMicrosoft .NET
― .NET初心者のためのMicrosoft .NET入門 ―

デジタルアドバンテージ
2003/03/15

Page1 Page2 Page3 Page4

本記事は改訂されました。改訂版の「.NETとは何か? ― 基礎解説:.NET初心者のための.NET入門【2011年版】」をご覧ください。

Microsoft .NETとは何か?

 .NET(Microsoft .NET)は、2000年6月にマイクロソフトが発表した同社の次世代インターネット戦略である。特定の製品や技術を指すものではない。キャラクタベースのMS-DOSからグラフィカルなWindows環境へとパラダイム・シフトすることで、コンピューティングの可能性は大きく広がった。これと同じように、Windowsから、ネットワークをベースとする分散ソフトウェア環境へとパラダイム・シフトすることで、コンピュータの可能性をさらに一段飛躍させようとする。これが.NETの目的だ。

 .NET対応のソフトウェアやハードウェア・デバイスは、ネットワーク(インターネット)を介して通信し、それぞれが分散する部品の1つとして連携しながらさまざまな処理を進める。この際の通信手段としてはWebサービス(マイクロソフトはXML Webサービスと呼んでいる)と呼ばれるオープン・プロトコルを使う。Webサービスは、HTTP(Webページのアクセスで使用)やSMTP(メール送信で使用)といった既存のトランポート・プロトコルを使い、そのうえでXML仕様のデータをやり取りすることで、アプリケーション連携を可能にするものだ(詳細は後述)。このオープンなWebサービス・プロトコルを利用したアプリケーション連携の基盤となるものが、マイクロソフトがWindows OS上に実装したものが.NETプラットフォームである。Webサービス対応機能自体は、IBMやSun Microsystemsなどといった、マイクロソフト以外のプラットフォームに対しても実装が進められている。

 長期的な展望に立てば、デスクトップPCやサーバ・システムに加え、先ごろ発表されたSPOTデバイス(超小型マイクロプロセッサを搭載した生活関連機器。腕時計、目覚まし時計、キーホルダーなど。詳細は用語解説を参照)や携帯電話(スマート・フォン)、PDA(パームトップPC)、タブレットPCなど、あらゆる情報機器、情報システムが.NETによるアプリケーション連携の対象となる。ビル・ゲイツ氏のスピーチなどで登場する“.NET”は、この視点に立ったものだ。プライベートな時間を過ごす個人ユーザーであろうと、仕事中の企業ユーザーであろうと、人間を取り巻く情報機器や情報システムが、いつでもネットワークで連携するようになるというものである。

長期的な視野に立った.NETのビジョン
最終的には、デスクトップPCやサーバばかりでなく、携帯電話やSPOTデバイスまで、すべてが.NETテクノロジ(Webサービス)で連携するようになる。図中の赤丸は、Webサービスに対応した.NETプラットフォーム対応ソフトウェアを意味している。

 しかし多くの企業ユーザーからすれば、SPOTやPDAなどはまだ遠い存在だろう。企業ユーザーの立場から、もう少し近い未来の.NETを考えれば、「Webサービスを利用して、コンピュータやアプリケーション同士が連携可能になる」ということになろう。ネットワークを利用した企業間の情報連携(EDI:Electronic Data Interchange)や、社内システム統合(EAI:Enterprise Application Integration)など、従来は特定のインフラや独自のプロトコルに依存していたアプリケーション連携分野で、オープンなWebサービス・インターフェイスを採用し、より柔軟なシステムを構築しようという動きが活発化している。

企業ユーザーから見た近未来の.NET:B to B
企業間連携にWebサービスを利用することで、オープン・インターフェイスに基づく、企業を超えたアプリケーション連携が可能になる。図にはすべてに「.NET」マークを付けたが、Webサービス自体はオープン・プロトコルなので、マイクロソフト以外のプラットフォームを利用したアプリケーションも連携の対象となる。
 
企業ユーザーから見た近未来の.NET:EAI
企業内アプリケーション統合のインターフェイスとして、Webサービスが注目されている。メインフレームやミニ・コンピュータなどで動くいわゆるレガシー・システム、ERPやCRMなどの基幹系アプリケーションなどをWebサービスで接続することで、柔軟性の高いEAIを低コストで実現できる。

 ただ、現在のWebサービスは、プリミティブな通信機能しか持っておらず、セキュリティや信頼性の面では十分な機能が提供されないため、B to Bとして実装するには、独自にセキュリティ機能などを追加する必要がある(これに対しマイクロソフトは、独自に機能拡張したWeb Service Enhancements:WSEを提唱している。詳細は別稿「特集:次世代XML Webサービスを試す」を参照)。一方、比較的安全性の高い社内ネットワークで運用されるEAIでは、この欠点はB to Bほどは障害にならない。従来のEAIプラットフォームは非常に高価で、導入には特定のプラットフォーム(EAI対応ソフトウェア)依存を覚悟する必要があったが、オープンなWebサービスを利用することで、非常に低コストにEAIを実現できる。具体的には、メインフレームやミニ・コンピュータなどのレガシー・システム、ERP(Enterprise Resource Planning)CRM(Customer Relationship Management)などの基幹業務アプリケーションのフロントエンドとなるWebサービスを開発し、外部と通信可能にする。ビジネス・プロセス管理やトランザクション管理は別途行う必要があるが、アプリケーション連携自体は比較的容易で、柔軟性も高い。

 以下本稿では、後者の「コンピュータやアプリケーション連携」という視点で.NETに注目する。


 INDEX
  [基礎解説] 初めてのMicrosoft .NET
  1.Microsoft .NETとは何か?
    2.Webサービスとは何か?
    3.開発プラットフォームとしての.NET
 


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間