.NET Web アプリケーションの作成

ASP.NET を利用する Web アプリケーションを構築したい場合、または JavaScript API では対処できない要件がある場合は、ArcGIS Server Web ADF(Application Developer Framework)の使用を検討してください。Web ADF は、Microsoft Visual Studio で .NET Web アプリケーションを開発するためのツールとテンプレートを提供します。

Web ADF をインストールすると、Visual Studio に次の新しい機能が追加されます。

Visual Studio を使用した経験がある場合は、Web アプリケーションに GIS 機能を追加する作業がほぼ同じであることに気付くでしょう。つまり、[ツールボックス] からコントロールをフォーム(この場合は Web フォーム)にドラッグし、コントロールのプロパティを設定し、マウス クリックなどのイベントを処理するコードを記述してコントロールの動作方法をプログラムから定義します。Web ADF では、テキスト ボックスやボタンに加えて、マップやコンテンツ ウィンドウなどを Web フォームに直接追加することができます。開発者ヘルプは、この開発環境にすでに精通していることと、Web フォーム、Web コントロール、アセンブリ、名前空間などを理解していることを前提としています。

Web マッピング アプリケーションの作成

Web ADF には、Visual Studio テンプレート [Web マッピング アプリケーション] が含まれています。Web マッピング アプリケーションの外観は ArcGIS Server Manager で構築したアプリケーションと同じですが、ArcGIS Server Manager でアプリケーションを作成するための手順に従う必要はありません。Web マッピング アプリケーションは、コードを記述せずにそのまま導入することも、カスタム アプリケーションを作成するための出発点として利用することもできます。また、Web マッピング アプリケーションに含まれているコードやファイルを独自のプロジェクトのガイドとして使用することもできます。

新しい Web アプリケーションの作成

Web ADF に含まれているツールを使用して、テンプレートを使用したり、ArcGIS Server Manager で以前に作成したアプリケーションを使用したりせずに、Visual Studio で新しい Web アプリケーションを作成することができます。アプリケーションを設計する際には、Visual Studio の [ツールボックス] に追加される Web ADF の Web コントロールを使用することができます。これらのコントロールを Web フォームにドラッグし、それらのプロパティを設定して、コントロールのイベントを処理したりフォーム上の他のコントロールに接続したりするコードを記述することができます。

Web コントロールを使用する必要がない場合、またはそれらが提供するデフォルトの機能では不十分な場合は、ArcGIS Server に付属しているライブラリを使用して、サービスが実行されているサーバにプログラムから接続し、操作することができます。各ライブラリには、ライブラリのクラスとそれらの関係を視覚的に理解するのに役立つオブジェクト モデル ダイアグラムが含まれています。オブジェクト モデル ダイアグラムは、開発者ヘルプの「Library Reference」セクションにあります。

Web ADF の活用

Web ADF は、Web アプリケーションと Web サービスにおいて、次の数種類の GIS サービスへの接続をサポートするように設計されています。

数種類の GIS サーバにアクセスできるだけでなく、そのサーバ上で実行されている GIS サービスを 1 つのマップに統合することもできます。Web ADF では、複数のマップ サービスを 1 つのマップ画面に追加して、同じサーバ上で、またはさまざまなタイプのサーバ上で実行されているマップ サービスをシームレスに統合することができます。たとえば、ArcIMS サーバ上で実行されているマップ サービスを ArcGIS Server 上で実行されているマップ サービスと統合することができます。このマルチサービス アーキテクチャにより、マップ サービスの透過的なオーバーレイが可能になります。

Web ADF がサポートする各種サービスには、専用の API があります。このことは、マップが数種類のサービスで構成されている場合、複数の API に対処しなければならない可能性があることを意味します。たとえば、マップで ArcGIS Server サービスと ArcIMS サービスを結合する場合は、ArcObjects と ArcIMS API を使用したプログラミングが必要になる可能性があります。幸い、Web ADF には、数種類のサービスで構成されたマップを操作および検索するための共通の API があります。つまり、マップ全体を対象とした操作(特定範囲へのズームなど)については、各サービスの API を使ってコードを記述するのではなく、Web ADF のコンビニエンス クラスを使ってコードを記述することができます。

特定の種類のサービスで高度な機能を開発したい場合、ADF には .NET 環境でサービスの API にアクセスする方法があります。たとえば、.NET クラスを使って ArcIMS サービスを操作するには、ArcIMS API を使用することができます。開発者ヘルプには、数種類のサービスのプログラミングに関する情報と、それらの API にアクセスする方法が含まれています。

Web ADF は、上記のサービス タイプに加えて、マップにグラフィックスを追加する機能もサポートしています。.NET の標準のデータ テーブルを使用して、グラフィックスに属性を関連付けることができます。多くの場合、Web ADF のグラフィックス レイヤは、フィーチャクラスをプログラムから作成するといったデータを格納するためのより高度な手法に代わる、軽量で容易な選択肢として使用することができます。

Web ADF の拡張

Web ADF は柔軟に設計されているため、次のカスタマイズが可能です。

Web ADF に含まれている Toolbar コントロールは、マップのナビゲーションおよび検索のためのデフォルトのツールとコマンドで構成されています。カスタム ツールとカスタム コマンドのコードを記述して、それらをツールバーにツールとして追加することもできます。そのための一般的な方法は、Visual Studio プロジェクトにクラス ライブラリを追加して、カスタム コードを記述することです。その後、クラス ライブラリのコードを実行するように各ツールとコマンドを構成することができます。

Web ADF には、アプリケーションに追加できるタスクがいくつか用意されています。これには、検索、解析、編集のためのタスクが含まれています。これらのタスクはすべて、Web コントロール ライブラリの共通フレームワークで構築されたものです。同じフレームワークを使用して、カスタム タスクを開発することもできます。

タスクの操作の詳細

Web ADF では、ArcGIS Server サービス、ArcIMS サービス、WMS サービスなど数種類のサービスの表示と検索がサポートされています。Web ADF では、サービスはデータ ソースです。Web ADF には、これらのデータ ソースに加えて、カスタム データ ソースを開発するためのフレームワークが含まれています。

ヘルプの表示

Web ADF をインストールすると、開発者ヘルプが自動的にインストールされます。開発者ヘルプは、デスクトップから起動するか、Visual Studio 環境で起動することができます。

デスクトップから開発者ヘルプにアクセスする手順は次のとおりです。

  1. [スタート] > [すべてのプログラム] > [ArcGIS] > [Developer Help] > [Server Help for .NET] を選択します。
  2. [ArcGIS Server ソリューションの作成] をクリックします。

開発者ヘルプを Visual Studio 環境で起動する手順は次のとおりです。

  1. [ヘルプ] メニュー > [コンテンツ] をクリックします。
  2. ヘルプの目次が表示されている状態で、[Esri Developer Resources] をクリックします。
  3. [ArcGIS Server ソリューションの作成] をクリックします。

ライブラリ参照

ライブラリ リファレンスには、Web ADF の各クラスとメンバの簡単な説明が含まれています。クラスおよびメンバによっては、詳細な説明やコード サンプルが含まれているものもあります。さらに、アセンブリについてのオブジェクト モデル ダイアグラムが存在する場合は、それをライブラリ リファレンスで確認することもできます。

ライブラリ リファレンスを表示するには、開発者ヘルプを表示する手順に従います。目次の [ArcGIS Server ソリューションの作成] の下にある [アプリケーションの開発] をクリックすると、[Library reference] という項目が表示されます。


3/6/2012