アプリケーションのデザイン上の検討事項
更新 : 2007 年 11 月
ここでは、インターネットのプログラミングを始めるときに考慮するデザイン上の問題について説明します。
ここでは、次のトピックについて説明します。
イントラネットとインターネットの比較
クライアント アプリケーションとサーバー アプリケーション
Web ページ : HTML、Active ドキュメント、ActiveX コントロール
ブラウザとスタンドアロン アプリケーション
インターネット上の COM
クライアントへのデータのダウンロード サービス
プログラムの作成準備ができている場合は、「MFC アプリケーションの作成」を参照してください。
イントラネットとインターネットの比較
インターネット上では、多数のアプリケーションが動作しており、ブラウザおよびインターネット アクセスを通じてこれらのアプリケーションにだれでもアクセスできます。イントラネットを実装している企業もあります。イントラネットは、TCP/IP プロトコルと Web ブラウザを使用した企業内ネットワークです。イントラネットは、企業内情報の供給源であり、情報を簡単にアップグレードできます。ソフトウェアのアップグレード、調査結果の作表や送付、顧客のサポート、情報の伝達などに使用されます。次の表は、インターネットとイントラネットの特徴を比較しています。
インターネット |
イントラネット |
---|---|
帯域幅が狭い (データ転送能力が低い) |
帯域幅が広い (データ転送能力が高い) |
データおよびシステムのセキュリティが弱い |
データおよびシステムへのアクセスを制御できる |
コンテンツをほとんど制御できない |
コンテンツを細かく制御できる |
クライアント アプリケーションとサーバー アプリケーション
アプリケーションには、クライアント アプリケーションとサーバー アプリケーションがあります。サーバー アプリケーションが、インターネットを通じてダウンロードされ、クライアント コンピュータで実行される場合もあります。クライアント アプリケーションでファイルをダウンロードするには、MFC WinInet クラスを使用します。ファイルとコントロール プロパティをダウンロードするには、MFC および非同期モニカ クラスを使用します。クライアント アプリケーション、またはサーバーからダウンロードされてクライアントで実行されるアプリケーションには、ActiveX コントロールおよび Active ドキュメントを使用します。
Web ページ : HTML、Active ドキュメント、ActiveX コントロール
Microsoft は、Web ページで内容を表示するための方法をいくつか用意しています。Web ページでは、標準の HTML またはオブジェクト タグなどの HTML 拡張機能を使用して、ActiveX コントロールなどの動的コンテンツが用意されています。
通常、Web ブラウザは HTML ページを表示します。Active ドキュメントは、COM 対応ブラウザのポイント アンド クリックするだけの簡単なインターフェイスで、アプリケーションのデータを表示できます。Active ドキュメント サーバーでは、独自のドキュメントをクライアント領域全体に全画面表示できます。ドキュメントのメニューやツール バーもドキュメントと共に表示できます。
作成した ActiveX コントロールは、サーバーから非同期的にダウンロードして、Web ページに表示できます。VBScript などのスクリプト言語を使用して、サーバーに送る前の情報の正当性をクライアント側でチェックできます。
ブラウザとスタンドアロン アプリケーション
HTML ページに埋めこむことのできる ActiveX コントロールや、ブラウザで表示できる Active ドキュメント サーバーを作成できます。また、Web サーバーで ISAPI アプリケーションを実行させるためのボタンを含む HTML ページを作成できます。さらに、インターネット プロトコルでファイルをダウンロードし、情報をユーザーに表示できるスタンドアロンのアプリケーションを作成して、ブラウザ アプリケーションの代わりにも使用できます。
インターネット上の COM
ActiveX コントロール、Active ドキュメント、および非同期モニカでは、COM (Component Object Model) 技術を使用します。
ActiveX コントロールには、インターネット サイトのドキュメントやページに動的コンテンツが用意されています。COM を使用すると、ActiveX コントロールと、Active ドキュメントを使用する全画面のドキュメントをビルドできます。
非同期モニカでは、インターネット環境でコントロールのパフォーマンスを向上させるための機能が用意されています。この機能には、データを部分的に少しずつダウンロードするための方法も含まれます。また、コントロールには、データを非同期的に同時取得する複数のコントロールとの協調も必要です。
クライアントへのデータのダウンロード サービス
クライアントにデータを転送するための API として、WinInet と非同期モニカの 2 種類があります。HTML ページに、サイズの大きな .gif ファイル、.avi ファイル、ActiveX コントロールなどがある場合は、データを非同期的にダウンロードするとユーザーに効率よく応答できます。非同期的なダウンロードには、非同期モニカを使用するか、WinInet を非同期的に使用します。
インターネットでの一般的な作業は、データ転送です。ActiveX コントロールなどを通じて Active テクノロジーを既に使用している場合は、非同期モニカを使用してダウンロードしながらデータを少しずつ描画できます。HTTP、FTP、Gopher などの一般的なインターネット プロトコルを使用してデータを転送するには、WinInet を使用します。どちらの方法も特定のプロトコルに依存せず、WinSock と TCP/IP の抽象化層を提供します。ただし、WinSock を直接使用することもできます。
次の表は、インターネットを通じてデータを転送するための方法を示しています。
使用プロトコル |
使用条件 |
使用クラス |
---|---|---|
COM、ActiveX コントロール、およびインターネット プロトコルを使用して非同期的に転送する場合。 |
||
HTTP、FTP、および Gopher のインターネット プロトコルを使用する場合。データは同期的または非同期的に転送され、システムのキャッシュに格納されます。 |
||
最大の効率と制御を求める場合。ソケットおよび TCP/IP プロトコルに関する知識が必要です。 |