技術解説
Windows Server 2003がサポートする.NETとは?

2. .NETプラットフォームとは

溝端二三雄
2003/06/19

1-2 .NETプラットフォーム

 .NET戦略を実現する具体的な技術が、.NETプラットフォームです。Windows Server 2003のWebアプリケーションサーバ機能の構成要素であるこの .NETプラットフォームは、以下の技術の組み合わせです。

  • .NET Framework
  • Windows Server System
  • ビルディングブロックサービス(Webサービス)
  • オーケストレーション

 この中で、Windowsに最も大きな変化をもたらしたのは、.NET Frameworkです。まずは、これらの概要を解説します。

1-2-1 .NET Framework

 .NETプラットフォームの基盤となるのが、.NET Frameworkです(図1-4)。.NET Frameworkには、以下の2つの側面があります。

  • .NETプラットフォーム上で実行されるアプリケーションの開発環境
  • .NETプラットフォーム上で実行されるアプリケーションの実行環境
図1-4 .NET Frameworkの位置付け

 アプリケーション開発は、可能な限り既存の部品(DLL)を組み合わせて開発することにより、開発効率を上げることができます。開発環境とは、この部品の集まりです。つまり、Windows上にフォーム(ウィンドウ)を表示するための部品や、Webフォーム(Webページ)を表示するための部品、さらにはデータベースに簡単にアクセスするための部品なども含まれます。また近年、Pocket PCやTablet PCといった携帯端末を使用したアプリケーションが増えてきており、携帯電話もめまぐるしく進化しなから普及しています。これらの携帯端末用のアプリケーションを簡単に作成することができる部品も多く含まれています。これらすべての部品は、「.NET Frameworkクラスライブラリ」と呼ばれています。.NET Frameworkクラスライブラリに対応した開発ツールとして、Visual Studio .NETがあります。

 .NET Frameworkを使用したアプリケーションは、.NET Frameworkがない環境では実行できません。もう少し細かくいうと、実行するためには .NET Frameworkの一部である「共通言語ランタイム(CLR:Common Language Runtime)」と呼ばれる実行環境が必要になります。もちろん、アプリケーションを実行するためには、そのアプリケーションが使用している部品である .NET Frameworkクラスライブラリも必要になるので、.NET Framework全体を「アプリケーションの実行環境」と呼ぶこともできます。Windows Server 2003には、.NET Frameworkが標準でインストールされています。

TIPS
■フレームワーク

 この言葉は、IT専門用語ではなく、一般的に使われる言葉です。例えば、経営戦略を作成するための「業務分析フレームワーク」などがあります。これは、経営戦略を立案する際にどういう事柄をどのように分析すればよいかを定義している一連の作業全体を指します。ここでの各作業はそれぞれの企業によって詳細は異なることがありますが、一般論として「こういう作業をすればよい」という枠組みを「フレームワーク」と呼んでいます。当然、経営戦略を作成する際には、このフレームワークの各項目をその企業に合うようにカスタマイズして使用することもあります。

 つまり、フレームワークは以下の特徴を持ちます。

  • 何かを実現するための作業、処理の集まり
  • なぜそうなるかを理解しなくても実践できる
  • 各作業や処理はカスタマイズして使用する

 ここでは、.NET Frameworkを部品に例えましたが、部品という例えがぴったりなのは、ライブラリやAPIでしょう。厳密な定義ではありませんが、ライブラリ内の関数(API)は定義済みの関数であり、その関数を呼び出すことで利用されます。しかし、.NET Frameworkは、当然その中の関数を呼び出すことができますが、それ以外に機能を拡張したり、変更したり、カスタマイズすることが可能です。このカスタマイズは、オブジェクト指向の「継承」と呼ばれる機能で実現します。

 このカスタマイズには、無限の可能性があります。例えば、車を例にあげると、あなたは車を運転する際、ハンドルやブレーキ、アクセルが動作するメカニズムを理解する必要はありません。あなたの用途に合った使い方だけ理解すればよいのです。しかも、この車のメカニズムをカスタマイズして、あなたの自宅から会社までしか走ることができない車を作ったとしましょう。用途は限定されますが、もしかするとその車は運転手が不要な車として作成できるかもしれません(現実世界では自動運転可能な列車はあっても車はまだ実現されていませんが……)。

■クラス継承
 以下の図1-5は、AクラスをBクラスに継承している図です。Visual Basic .NETのクラス継承の指定は、クラス定義の際にInheritsキーワードを用いて定義します。この図では、BクラスはAクラスを継承するように定義されています。この1行だけで、Aクラスに実装されているメソッドやプロパティがBクラスにも実装されていることになります。つまり、Aクラスに10個のメソッドが定義されていたとしたら、Bクラスはその10個のメソッドと、クラス内に定義されたメソッドの両方の機能を持ちます。

図1-5 クラス継承

 Aクラスを継承したBクラスでは、単に機能を拡張するだけではありません。継承した機能を変更することも可能です。継承した機能の変更は、Overrideキーワードで元のメソッドを上書きすることで実現できます。

Class A
    Public Overridable Sub MethodA(ByVal X As Integer)
        'AクラスでのMethodAの処理
    End Sub

    Public Overridable Sub MethodB(ByVal X As Integer)


        'AクラスでのMethodBの処理
    End Sub
End Class

Class B
    Inherits A
    Public Overrides Sub MethodA(ByVal X As Integer)
        MyBase.Add(x)       'AクラスでのMethodAの処理を呼び出す
        'さらにBクラスでのMethodAの処理を追加
    End Sub
End Class

 これでBクラスには、MethodAとMethodBの2つのメソッドがあることになり、MethodBはAクラスと同様の動作をしますが、MethodAはAクラスの動作に追加の処理を実行する独自のメソッドとして上書きされています。

 .NET Frameworkは、単なるAPI(関数)として利用するだけでも、かなりの開発効率の向上が実現できます。しかし、.NET Frameworkは、どんな企業、どんな業種であっても使用できる部品を提供しています。もし、あなたの企業やあなたの所属する部署が特定の業種のアプリケーション(金融業や流通業など)や特定の業務に特化したアプリケーション(販売管理や在庫管理など)を専門に開発しているのであれば、その用途に合うように .NET Frameworkをカスタマイズしたり追加した独自のフレームワーク(拡張フレームワーク)を作成し、その用途でしか使用しない機能を提供するクラスを作成します。これらのクラスを使用する際には、すでにその用途に特化している機能が提供されているので、コード量が減り、さらに開発効率を上げることができます。

 これは、フレームワークの解説で例にあげた、あなたの自宅から会社にしか行くことのできない車と同じです。用途は限定されますが自動運転の機能により、その使用が簡単で効率的になります。

 

 INDEX
  [技術解説] Windows Server 2003がサポートする.NETとは?
    1..NET戦略の概要
  2..NETプラットフォームとは
    3..NETとWindows Server Systemの関係
    4..NET Frameworkのメリット
 
目次ページへ  「Windows Server Insider @ITハイブックス連携企画」

Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

スキルアップ/キャリアアップ

.NET管理者虎の巻

- PR -
- PR -