アプリケーション サーバーは、Windows Server® 2008 オペレーティング システムに用意されているサーバー役割の 1 つであり、Microsoft® .NET Framework バージョン 3.0 を使用して構築されたカスタムのビジネス アプリケーションを展開および実行するための統合環境を提供します。アプリケーション サーバーには、COM+、メッセージ キュー、Web サービス、および分散トランザクションを使用するように構築されたアプリケーションをサポートするサービスが含まれています。
Q. アプリケーション サーバーとは何ですか。
A. アプリケーション サーバーとはサーバー構成の一種であり、Microsoft .NET Framework 3.0 を使用して構築されたカスタムのビジネス アプリケーションを展開および実行するための統合環境を提供するものです。アプリケーション サーバーの役割をインストールする際には、COM+、メッセージ キュー、Web サービス、および分散トランザクションを使用するように設計されているアプリケーションをサポートするためのサービスを選択できます。
アプリケーション サーバーには、次のような利点があります。
-
コア ランタイム : パフォーマンスに優れたビジネス アプリケーションの効率的な展開と管理をサポート
-
.NET Framework 開発環境 : サーバー ベースのアプリケーション用に、簡素化されたプログラミング モデルとパフォーマンスに優れた実行モデルを提供
.NET Framework は、Web サービスを実現し、既存のアプリケーションおよびインフラストラクチャに対する新規アプリケーションの統合を可能にするフレームワークです。
-
使いやすいインストール ウィザード : 組織でアプリケーションを実行するために必要な各種の役割サービスと機能を選択可能
-
インストール機能 : 使用する役割サービスに必要な機能を自動的にインストール
アプリケーション サーバー上に展開されて動作するアプリケーションは、普通、次に示すテクノロジのうち 1 つ以上を利用するものです。
-
インターネット インフォメーション サービス (IIS) (Windows Server に組み込まれているハイパーテキスト転送プロトコル (HTTP) サーバー)
-
.NET Framework バージョン 3.0 および 2.0
-
Microsoft 分散トランザクション コーディネータ (DTC)
-
ASP.NET
-
COM+
-
メッセージ キュー
-
Windows Communication Foundation (WCF) で構築された Web サービス
アプリケーション サーバーの役割の詳細については、アプリケーション サーバーに関するページ (http://go.microsoft.com/fwlink/?LinkID=48544) (英語の可能性あり) を参照してください。
Q. アプリケーション サーバーの役割は、どのようなテクノロジで構成されていますか。
A. アプリケーション サーバーに関するサーバー役割をインストールする際、管理者は、次に示す各種テクノロジを役割サービスとして選択できます。
アプリケーション サーバー基盤
アプリケーション サーバー基盤は、アプリケーション サーバーの役割のインストール時に既定でインストールされるテクノロジ群です。アプリケーション サーバー基盤の内容は、基本的に .NET Framework 3.0 と同等です。
Windows Server 2008 には、どのサーバーの役割をインストールしたかに関係なく .NET Framework 2.0 が含まれています。.NET Framework 2.0 には共通言語ランタイム (CLR) が含まれています。CLR は、コードの安全な実行、コード展開の簡素化、複数言語間の相互運用性のサポートを促進するコード実行環境と、アプリケーション構築用の広範なライブラリを提供します。
.NET Framework 3.0 の内容は、大まかには次の基本コンポーネントに分けることができます。
-
.NET Framework
-
WCF
-
Windows Presentation Foundation (WPF)
-
Windows Workflow Foundation (WF)
アプリケーション サーバー基盤は、ベースラインとなる .NET Framework 2.0 の機能に、.NET Framework 3.0 の機能を追加するものです。.NET Framework 3.0 の詳細については、.NET Framework Developer Center のページ (http://go.microsoft.com/fwlink/?LinkId=81263) (英語の可能性あり) を参照してください。
Web サーバー
アプリケーション サーバーのインストール時にこのオプションを選択すると、IIS 7.0 (Windows Server 2008 に組み込まれている Web サーバー) がインストールされます。IIS はこれまでも長年にわたり Windows Server で使用されてきましたが、Windows Server 2008 ではパフォーマンス、セキュリティ、管理、サポート性、信頼性、およびモジュール性の向上によって大幅に強化されています。
IIS には次の利点があります。
-
静的コンテンツまたは動的コンテンツを提供する内部または外部の Web サイトまたはサービスを、アプリケーション サーバーでホストできます。
-
Web ブラウザを使用してアクセスする ASP.NET アプリケーションをサポートします。
-
WCF または ASP.NET で構築された Web サービスをサポートします。
IIS 7.0 の詳細については、インターネット インフォメーション サービス 7.0 に関するページ (http://go.microsoft.com/fwlink/?LinkId=100708) (英語の可能性あり) を参照してください。
COM+ ネットワーク アクセス
アプリケーション サーバーのインストール時にこのオプションを選択すると、COM+ で構築されホストされたアプリケーション コンポーネントをリモート起動するための COM+ ネットワーク アクセスがインストールされます。このようなアプリケーション コンポーネントは、Enterprise Services コンポーネントとも呼ばれます。
COM+ ネットワーク アクセスは Windows 2000 Server 以降の Windows Server でサポートされているリモート起動機能で、Windows Server 2008 でも引き続きサポートされています。最近のアプリケーションでは、リモート起動をサポートする場合は WCF を使用するのが一般的です。WCF では複数プラットフォーム間の相互運用が可能であり、また、緩やかな結合によって統合システムの相互依存性を低減できます。
Windows プロセス アクティブ化サービス
アプリケーション サーバーの役割のインストール時にこのオプションを選択すると、WAS がインストールされます。WAS は、Windows Vista® および Windows Server 2008 オペレーティング システムで使用される新しいプロセス アクティブ化メカニズムです。WAS は、管理者の扱い慣れた IIS 6.0 プロセス モデル (アプリケーション プールとメッセージ ベースのプロセス アクティブ化) やホスト機能 (迅速なエラー保護、状態監視、リサイクルなど) をそのまま維持しながら、HTTP に依存しないアクティブ化アーキテクチャを提供します。IIS 7.0 では、WAS を使用して、メッセージ ベースによる HTTP 経由のアクティブ化を実現しています。WCF では、HTTP プロトコルだけでなく、TCP、メッセージ キュー、名前付きパイプなど、WAS でサポートされているその他のプロトコルを使用してメッセージ ベースのアクティブ化を提供することもできます。これにより、通信プロトコルを使用するアプリケーションは、これまで HTTP ベースのアプリケーションのみで使用できた IIS の機能 (プロセスのリサイクル、迅速なエラー保護、共通構成システムなど) を利用できるようになります。
Net.TCP ポート共有
Net.TCP ポート共有サービスは、Windows Server 2008 の新しいサービスです。アプリケーション サーバーのインストール時にこのオプションを選択すると、Net.TCP ポート共有サービスがインストールされます。この役割サービスは、複数のアプリケーションが 1 つの TCP ポートを使用して入力方向の通信を行うことを可能にします。たとえば、WCF で構築した SOA に含まれる複数のアプリケーションで同じポートを共有できるようになります。開くことのできるポートの数がファイアウォール構成またはネットワークの制限により限られている場合や、WCF アプリケーションの複数インスタンスを同時に動作させて使用可能な状態にしておく必要がある場合には、ポートを共有することがしばしば要件になります。
複数の WCF アプリケーションによるポートの共有 (多重化とも呼ばれます) を実現するために、Net.TCP ポート共有サービスでは多重化処理を実行します。Net.TCP ポート共有サービスは、TCP を使用して着信接続要求を受け付け、着信した要求を、そのターゲット アドレスに基づいてさまざまな WCF サービスに自動的に転送します。ポートの共有は、WCF アプリケーションが着信方向の通信に net.tcp プロトコルを使用する場合にのみ有効です。
分散トランザクション
分散トランザクションは Windows NT® Server 4.0 以降の Windows Server でサポートされており、Windows Server 2008 でも継続してサポートされています。複数のデータベースやその他のトランザクション リソースに接続して更新を行うアプリケーションでは、更新操作を "オール オア ナッシング (すべて処理するか、あるいは一切処理しない)" のトランザクション方式で実行することが必要な場合があります。この方式は、結果としてトランザクションのすべての部分が完了するか、完了しない場合はトランザクション全体がロールバックされて元の状態に戻ることを確実にするためのテクノロジです。トランザクションに含まれるデータベースやトランザクション リソースは、すべてが 1 台のコンピュータ上にある場合もあれば、ネットワーク上に分散している場合もあります。Windows Server 2008 では、DTC がこうしたトランザクション方式をサポートします。
Q. アプリケーション サーバーの役割によって、どのような機能がオペレーティング システムに追加されますか。
A. サーバー マネージャの役割の追加ウィザードでアプリケーション マネージャをインストールすると、サーバーは、カスタムのビジネス アプリケーションを実行するために必要な機能と役割サービスを提供するアプリケーション サーバーとして構成されます。
アプリケーション サーバーの役割のインストール作業では、目的のアプリケーションを実行するために必要な役割サービスと機能だけを選択して有効にすることをお勧めします。実際のアプリケーションに必要なサービスと機能だけを有効にすることは、セキュリティ上のベスト プラクティスであり、悪意あるユーザーの攻撃対象となる機会を減少させるために役立ちます。また、有効にするサービスの数を減らすと、使用されていないサービスの存在が原因となるサーバーのパフォーマンス低下が発生しにくくなります。
.NET Framework 3.0 で構築された基幹業務 (LOB) アプリケーションを運用する管理者の多くは、アプリケーション サーバーの役割を使用することで、LOB アプリケーション用ホスティング環境のセットアップ作業を単純化できます。役割の追加ウィザードの指示に従って作業を進めることにより、具体的な LOB アプリケーションの実行に必要な役割サービスおよび補助的な機能を選択できます。
アプリケーション サーバーに関するすべてのテクノロジの一覧については、このドキュメントの「アプリケーション サーバーの役割は、どのようなテクノロジで構成されていますか」を参照してください。
Q. Web サーバーとアプリケーション サーバーとの違い、Web サーバーの役割とアプリケーション サーバーの役割との違いは何ですか。
A. "Web サーバー" は、ユーザーがブラウザ上に表示して操作するためのコンテンツをホストするものです。たとえば、Windows Server 2008 に付属している IIS バージョン 7.0 は Web サーバーの 1 つです。一方、"Web サーバーの役割" は、Web アプリケーション (ASP.NET で構築された Web アプリケーションなど) の実行に必要な Web サーバーおよびそれを補助する役割サービスをインストールするものです。
"アプリケーション サーバー" は、(ブラウザ上でのみ動作するのではなく) サーバー上およびクライアント上でネイティブ動作するアプリケーションをホストするものです。ネイティブ アプリケーションでは、Windows 上で利用できる多種多様なテクノロジやプロトコル (たとえば、リモート プロシージャ コール (RPC)、コンポーネント オブジェクト モデル (COM)、DTC、メッセージ キューなど HTTP 以外のテクノロジ) を活用できます。Windows Server 2008 ではアプリケーション サーバーの機能が一新され、分散マネージ アプリケーション (.NET Framework 3.0 と WCF で構築されたアプリケーションなど) を実行するための既定のサービス群が提供されています。また、分散トランザクションや Web サービスなど各種のサービスに関するサポートをインストールできるオプションも用意されています。"アプリケーション サーバーの役割" は、アプリケーション サーバーのインストールと、このような種類のアプリケーションを実行するための補助的な役割サービスのインストールを行うものです。
ホストするアプリケーションが WCF で構築され、しかも IIS と ASP.NET を使用するものである場合は、アプリケーション サーバーをインストールし、そのインストール時に Web サーバー (IIS) のサポートを選択してください。このようにアプリケーション サーバーを構成すると、両方のサーバー役割が持つ利点を兼ね備えた、柔軟なホスティング環境を作成できます。
Q. アプリケーション サーバーと、アプリケーション サーバーの役割との違いは何ですか。
A. "アプリケーション サーバーの役割" は、サーバー マネージャを使用してインストールできるサーバー役割の 1 つです。役割の追加ウィザードを使用して、コンピュータにアプリケーション サーバーの役割をインストールすると、そのコンピュータは "アプリケーション サーバー" になります。
Q. Windows Server 2003 のアプリケーション サーバーと、Windows Server 2008 のアプリケーション サーバーとの違いは何ですか。
A. アプリケーション サーバーは、Windows Server 2008 向けにまったく新しく開発し直されました。まず、アプリケーション サーバーの役割は、サーバー役割の 1 つとして、新しいサーバー マネージャ機能から役割の追加ウィザードを使用して管理者がインストールできるようになりました。このため、アプリケーション サーバーの役割を従来よりも簡単にインストールできます。
また、アプリケーション サーバーには、アプリケーション サーバー基盤が既定でインストールされます。これは、基本的に .NET Framework 3.0 を構成する要素と同じテクノロジ群です。Windows Server 2008 であらかじめ有効になっているベースラインの .NET Framework 2.0 機能に、アプリケーション サーバー基盤によって .NET Framework 3.0 の機能が追加されます。.NET Framework 3.0 の詳細については、.NET Framework Developer Center のページ (http://go.microsoft.com/fwlink/?LinkId=81263) (英語の可能性あり) を参照してください。
アプリケーション サーバーは、サービス指向アーキテクチャ (SOA) における接続型アプリケーションの実行に最適のプラットフォームです。この種のアプリケーションは WCF で構築され、相互の通信に Web サービスを使用します。ビジネスにとって、SOA 環境でアプリケーションを実行できることの重要性は高まってきています。WCF の詳細については、Windows Communication Foundation の概要ページ (http://go.microsoft.com/fwlink/?LinkId=81260) (英語の可能性あり) を参照してください。
アプリケーション サーバーには、Windows Server 2008 に組み込まれた Web サーバーである IIS 7.0 がインストールされます。IIS はこれまでも長年にわたり Windows Server で使用されてきましたが、Windows Server 2008 ではパフォーマンス、セキュリティ、管理、サポート性、信頼性、およびモジュール性の向上によって大幅に強化されています。IIS の詳細については、インターネット インフォメーション サービス 7.0 に関するページ (http://go.microsoft.com/fwlink/?LinkId=100708) (英語の可能性あり) を参照してください。
Windows プロセス アクティブ化サービス (WAS) は、Windows Server 2008 の新しいサービスです。WAS はアプリケーション サーバーを構成するコンポーネントの 1 つです。WAS を使用すると、HTTP、メッセージ キュー、TCP、名前付きパイプなどを介してネットワーク経由で受信するメッセージに基づいて、アプリケーションの開始と停止を動的に行うことができます。アプリケーションを動的に開始および停止できることは、サーバー リソースをより効率的に使用できることを意味します。WAS の詳細については、WAS のアクティブ化アーキテクチャに関するページ (http://go.microsoft.com/fwlink/?LinkId=100709) (英語の可能性あり) を参照してください。
アプリケーション サーバーには、Net.TCP ポート共有サービスを有効にするオプションが用意されています。Net.TCP ポート共有サービスは Windows Server 2008 の新しいサービスであり、複数のアプリケーションが 1 つの TCP ポートを使用して入力方向の通信を行うことを可能にします。これにより、たとえば、WCF で構築したサービスが同じポートを共有できます。ポートの共有は、多くの場合、ファイアウォール構成またはネットワークの制限により開くことができるポートの数が限られているとき、または WCF アプリケーションの複数の異なるインスタンスを同時に実行し使用可能な状態にしておく必要があるときの要件となります。
Q. Microsoft アプリケーション プラットフォームとは何ですか。また、その中でアプリケーション サーバーの役割はどのように位置付けられますか。
A. Microsoft アプリケーション プラットフォームは、IT 部門および開発部門にビジネス組織との協力を促すテクノロジ機能、コア製品、ベスト プラクティスを取り揃えて提供します。これは、次に示す 5 つの主要な投資領域を通してビジネスの成功を実現するために役立ちます。
-
データ管理 : 信頼性とスケーラビリティに優れたデータ インフラストラクチャと管理プロセスによって、アプリケーションのパフォーマンスを向上します。
-
ビジネス インテリジェンス : 組織内のあらゆる階層においてデータを有効活用することで、十分な情報に基づく意思決定活動を可能にします。
-
ビジネス プロセスと SOA : 柔軟性、反復可能性、協調性を備えたビジネス プロセスと IT プロセスを確立することで、より確実な将来予測を可能にします。
-
開発 : 適切なレベルの可視性、共同作業、管理性をソフトウェアの開発プロセスに適用することで、ビジネス上の優先事項に対応できるようにします。
-
ユーザー エクスペリエンス : カスタマイズ可能で高度に洗練されたユーザー エクスペリエンスを提供することで、従業員の生産性、顧客の定着、ビジネスの成長を促進します。
Microsoft アプリケーション プラットフォームのコア製品は、Microsoft SQL Server™ 2005、Visual Studio® 2005、および BizTalk® Server 2006 です。
Microsoft アプリケーション プラットフォームは、業務向けのパフォーマンスに優れたカスタム アプリケーション開発に使用できます。Windows Server 2008 は、ビジネスの負荷要件に応じてサーバーの構成、管理、最適化作業を簡単に行うために役立つオペレーティング システムです。
アプリケーション サーバーは、Microsoft アプリケーション プラットフォームの中では、インフラストラクチャおよび管理レイヤの要素として位置付けられます。管理者は、アプリケーション サーバーを簡単にインストールおよび構成して、パフォーマンスに優れたサーバー ベースのビジネス アプリケーションを展開および実行するための、信頼性の高い中間層とすることができます。それらのアプリケーションは、パブリック インターネットや社内ネットワーク (イントラネット) から接続する Web ブラウザなどのリモート クライアント システムからのサービス要求を処理することも、要求をメッセージとして送信できるリモート コンピュータ システムからのサービス要求を処理することもできます。クライアントはアプリケーション サーバー上のアプリケーションとやり取りし、アプリケーション サーバーは Microsoft アプリケーション プラットフォームとやり取りします。
Microsoft アプリケーション プラットフォームの詳細については、アプリケーション プラットフォームの概要ページ (http://go.microsoft.com/fwlink/?LinkId=100712) (英語の可能性あり) を参照してください。
Q. アプリケーション サーバーの役割をインストールすることを検討する必要があるのは、どのような場合ですか。アプリケーション サーバーの役割が持つ利点は、どのような場合に役立ちますか。
A. 統合されたアプリケーション サーバーの役割の構成要素である何らかの役割サービスまたは機能 (インストール時に選択) に依存するアプリケーションを Windows Server 2008 で実行する場合は、アプリケーション サーバーの役割が必須です。たとえば、BizTalk® Server の特定の構成では、アプリケーション サーバー環境の構成要素である役割サービスまたは機能をいくつか使用します。
一般的に、組織内で開発された (または、独立系ソフトウェア ベンダ (ISV) によって組織向けに開発された) ビジネス アプリケーションを展開する場合、および特定の役割サービスが必須であることを開発者が指定している場合には、アプリケーション サーバーの役割が必須です。たとえば、組織において、データベースに格納されている顧客のレコードにアクセスする注文処理アプリケーションを使用しているとします。このアプリケーションは、WCF Web サービスのセットを介して顧客情報にアクセスします。この場合、Windows Server 2008 コンピュータをアプリケーション サーバーとして構成し、データベースをこのコンピュータまたは別のコンピュータにインストールすることができます。
サーバー アプリケーションによっては、アプリケーション サーバーの役割をインストールしなくても正常に動作するものがあります。たとえば、Windows Server 2008 上で Microsoft Exchange Server や SQL Server をサポートするためにアプリケーション サーバーの役割をインストールする必要はありません。
実際のビジネス アプリケーションがアプリケーション サーバーの役割を必要とするかどうかを判断するには、管理者がアプリケーションの開発者と緊密に連携して、アプリケーションの要件 (.NET Framework 3.0 や COM+ コンポーネントの使用など) を把握することが必要です。
Q. BizTalk Server などのアプリケーションを実行する場合、アプリケーション サーバーの役割をインストールする必要がありますか。
A. BizTalk Server などのサーバー アプリケーションは、アプリケーション サーバーがなくても正常に動作することがあります。必要かどうかは、BizTalk Server アプリケーションの構成によって異なります。アプリケーション サーバーの提供する役割サービスや機能を BizTalk Server アプリケーションで使用していない場合、アプリケーション サーバーは必要ありません。
実際のビジネス アプリケーションがアプリケーション サーバーの役割を必要とするかどうかを判断するには、管理者がアプリケーションの開発者と緊密に連携して、アプリケーションの要件を把握することが必要です。
BizTalk Server の機能および利点については、BizTalk Server TechCenter のページ (http://go.microsoft.com/fwlink/?LinkId=100723) (英語の可能性あり) を参照してください。
Q. .NET Framework 2.0 で構築されたアプリケーションがある場合、アプリケーション サーバーは必要ですか。
A. いいえ。アプリケーションが .NET Framework 2.0 で構築されている場合、アプリケーション サーバーは必要ありません。Windows Server 2008 には、どのサーバーの役割をインストールしたかに関係なく .NET Framework 2.0 が含まれているからです。
.NET Framework 2.0 には CLR が含まれています。CLR は、コードの安全な実行、コード展開の簡素化、複数言語間の相互運用性のサポートを促進するコード実行環境と、アプリケーション構築用の広範なライブラリを提供します。
Q. .NET Framework 3.0 で構築されたアプリケーションがある場合、アプリケーション サーバーは必要ですか。
A. はい。アプリケーションが .NET Framework 3.0 で構築されている場合、アプリケーション サーバーの役割をインストールする必要があります。
アプリケーション サーバー基盤により、ベースラインとなる .NET Framework 2.0 の機能に .NET Framework 3.0 の機能が追加されます。.NET Framework 3.0 の詳細については、.NET Framework Developer Center のページ (http://go.microsoft.com/fwlink/?LinkId=81263) (英語の可能性あり) を参照してください。
インストール時には、オプションの役割サービスの中からインストールするサービスを選択できます。追加する役割サービスは、目的のアプリケーションに必要なものだけにすることをお勧めします。使用しないサービスを追加すると、システムが攻撃対象にされる機会が増えるため、望ましくありません。
Q. アプリケーション サーバー基盤だけで十分な場合、つまり、その他の役割サービスを構成する必要がないのはどのような場合ですか。
A. アプリケーションが .NET Framework 3.0 コンポーネント (WCF、WF、WPF など) で構築されており、しかも、追加の役割サービス (IIS、COM+ ネットワーク アクセス、WAS、TCP ポート共有、分散トランザクションなど) を必要としない場合は、オプションの役割サービスを何も選択せず、アプリケーション サーバーの役割だけをインストールしてください。既定では、アプリケーション サーバーにはアプリケーション サーバー基盤が含まれています。これは、.NET Framework 3.0 を構成するテクノロジ群です。
Q. アプリケーション サーバーの役割は、クライアント コンピュータと共有したいアプリケーションを何でも自動的に共有できるようにするものですか。
A. いいえ。アプリケーション サーバーの役割は、分散アプリケーションの開発と実行をサポートする各種のシステム コンポーネントおよびサービスを提供するものです。アプリケーション サーバーの役割を利用するには、アプリケーション サーバーの役割に含まれているテクノロジを利用するアプリケーションを作成する必要があります。