ArcGIS Server による開発:概要
ArcGIS Server について学習し、使用する過程で、おそらく ArcGIS Server Manager 以外の環境でアプリケーションを構築またはカスタマイズする機会が訪れるでしょう。ArcGIS Server は、アプリケーションやサービスを作成するために使用できるさまざまなプログラミング フレームワーク(API)を提供します。どの API を選択するかは、アプリケーションの要件と、経験や技術レベルによります。
このヘルプ セクションでは、ArcGIS Server を使ったさまざまな開発方法について説明します。利用可能な各種 API を取り上げたうえで、開発者ヘルプの各セクションの概要を示します。
Web マッピング用 API
Esri は ArcGIS Server をリリースして以来、.NET に対応した Web アプリケーション開発者フレームワーク(ADF)を提供してきました。2008 年に Esri は JavaScript、Flex、および Silverlight に対応した Web マッピング用 API をリリースしました。これにより、Web アプリケーション開発者の選択肢がさらに広がりました。下のリンクには API の要約が表示されます。ここから Resource Center の Web サイトにアクセスし、完全なドキュメントを閲覧できます。
API の選択
API 同士は機能的にきわめて類似しています。API を選ぶうえで最も重要な点は、「実行する処理内容」ではなく「開発者に快適なプラットフォーム」を選定基準にすることです。Microsoft スタックを使って作業している場合、開発者がその方向に傾注しているなら、選択肢として望ましいのは .NET と Silverlight でしょう。同様に考えると、過去に ArcIMS アプリケーション用カスタム スクリプトの作成経験が十分にあるなら、おそらく JavaScript API が使いやすいでしょう。
初級開発者の多くは、JavaScript、Flex および Silverlight API のほうがアーキテクチャが基本的なため Web ADF よりも習得しやすいことに気づくでしょう。そのような API のオンライン Resource Center では、入門者向けに制作されたビデオの視聴、チュートリアルの閲覧、実用的なサンプルの試用が可能になっています。Esri は、API を使って演習できるようにサンプル ArcGIS Server も公開しています。メモ帳とインターネット接続だけで、実際に JavaScript マッピング アプリケーションをコンピュータ上で実行できます。
対照的に、開発者によっては難しい機能を追求し、.NET ADF のコーディング パターンに習熟している人もいます。これまでに .NET、または ArcObjects をすでに多数習得してきた開発者は特にそうです。
GIS サーバの操作
ArcGIS 製品は、ArcObjects と呼ばれる一連のソフトウェア オブジェクトに基づいています。JavaScript API と Web ADF は、ArcObjects レベルで何が行われているかに関知せずに GIS サーバを利用できる、高度なフレームワークを提供します。ただし、ArcObjects を直接操作する必要がある場合は、Web ADF と ArcGIS Engine に含まれている Connection ライブラリを使って GIS サーバに直接接続し、ArcObjects API を操作することができます。デスクトップ クライアント アプリケーションや GIS サーバを操作する Web サービス アプリケーションは、このようにして構築することができます。
ArcObjects を操作するもう 1 つの方法は、SOAP API を使用することです。この選択肢は、Web アクセスが有効なサービスを操作するときに適しています(すべての ArcGIS Server サービスでは、Web アクセスがデフォルトで有効になっています)。SOAP API は、ArcObjects の機能のほとんどを提供します。Web ADF、または .NET SOAP Toolkit といった Esri 以外のソリューションを使用して、SOAP API を操作することができます。
Web アクセスが可能なサービスを使って開発を行う手段としては、上記以外に REST API が挙げられます。すべての ArcGIS Server インスタンスは、REST(Representational State Transfer)テクノロジを使用して Services Directory を公開し、サーバ上のサービスおよび関数の閲覧を可能にしています。Services Directory をガイドとして REST を使用することにより、マップの描画、クエリの実行、ジオプロセシング タスクの実行、アドレスの検索など、GIS サービス上で多くの一般的な操作を実行することができます。
Web ブラウザで、http://<サーバ名>/<インスタンス名>/rest/services を使用することにより、Services Directory にアクセスできます。Services Directory の隅に、API リファレンスへのリンクが現れ、REST API 機能の詳細が表示されます。JavaScript、Flex、および Silverlight に対応した ArcGIS API はすべて内部的に REST API を使用するため、それらの API を利用する場合は Services Directory を利用することが多くなります。
GIS サーバの拡張
サーバ オブジェクト エクステンション、またはより汎用的なカスタム ArcObjects クラスを構築することにより、コア サービス(マップ、ジオコード、ジオプロセシング、その他)の機能を強化できます。これらは強力である可能性がある反面、ArcObjects を包括的に使用する必要があります。サーバ オブジェクト エクステンションの例としては、ArcGIS Server のマップ サービスで利用できるネットワーク解析ケーパビリティや WMS ケーパビリティが挙げられます。
サーバ オブジェクト エクステンションを構築する方法については、開発者ヘルプの「サーバ オブジェクト エクステンション」をご参照ください。
モバイル アプリケーションの構築
ArcGIS Mobile および ArcGIS for iPhone は、ArcGIS Server を使用してモバイル アプリケーションを構築するオプションです。事前構築済みアプリケーションを基盤に構築を開始することも、あるいは独自のアプリケーションを開発することもできます。詳細については、ArcGIS Resource Center の「Mobile GIS」ページをご参照ください。
ヘルプの使用
ArcGIS Server 開発者ヘルプには、概念的な情報、サンプル アプリケーション、詳細な手順を示すシナリオが含まれています。ライブラリ リファレンスには、各クラスとメンバーの詳細なヘルプに加えて、オブジェクト モデル ダイアグラムが含まれています。最新のヘルプは、EDN(Esri Developer Network)の Web サイトに掲載されています。
ArcGIS Server 開発者ヘルプ
Web ADF をインストールすると、開発者ヘルプが自動的にインストールされます。開発者ヘルプは、デスクトップから起動するか、Visual Studio 環境で起動することができます。
デスクトップから開発者ヘルプにアクセスする手順は次のとおりです。
- [スタート] → [すべてのプログラム] → [ArcGIS] → [Developer Help] → [Server Help for .NET.] をクリックします。
- [ArcGIS Server ソリューションの作成] をクリックします。
開発者ヘルプを Visual Studio 環境で起動する手順は次のとおりです。
- [ヘルプ] メニューで [目次] をクリックします。
- ヘルプの目次が表示されている状態で、[Esri Developer Resources] をクリックします。
- [ArcGIS Server ソリューションの作成] をクリックします。
ライブラリ リファレンス(コンポーネント ヘルプ)
ライブラリ リファレンスには、Web ADF の各クラスとメンバの簡単な説明が含まれています。一部のクラスとメンバには、詳細な説明とサンプル コードが含まれています。さらに、アセンブリについてのオブジェクト モデル ダイアグラムが存在する場合は、それをライブラリ リファレンスで確認することもできます。
ライブラリ リファレンスを表示するには、開発者ヘルプを表示する手順に従います。目次の [ArcGIS Server ソリューションの作成] の下にある [アプリケーションの開発] をクリックすると、[ライブラリ リファレンス] という項目が表示されます。
ArcGIS Server Resource Center
ArcGIS Resource Center の「ArcGIS Server」ページには、最新バージョンの開発者ヘルプとライブラリ リファンレスが含まれています。
ArcGIS Server ブログ
ArcGIS Server チームのブログでは、このヘルプ システムに記載されていないヒントやサンプルを紹介しています。Web ADF 開発、パフォーマンスとキャッシュ、サービス パック、今後予定されているカンファレンスやセミナーなどに関するトピックが含まれています。
Code Gallery と ArcScripts
ArcGIS Server Code Gallery と ArcScripts は、他の開発者コードから学び、ユーザ独自のプロジェクトを共有するためのオンライン リソースです。
Code Gallery は ArcGIS Server Resource Centers から利用できます。下のリンクから、各 Web ADF および Web API のコード ギャラリーにすばやくアクセスできます。
- .NET Web ADF
- Java Web ADF
- ArcGIS JavaScript API
- ArcGIS API for Flex
- ArcGIS API for Microsoft Silverlight/WPF
上記と同じようなサイトに ArcScripts があります。このサイトでは、Esri 製品に関連するツール、サンプル、ユーティリティを開発者同士で交換できます。
必要なツールが他の開発者によってすでに作成されていることがあるため、Code Gallery や ArcScripts に習熟すれば多くの時間と作業を節約することができます。また、独自に開発した便利なツールを他の開発者がダウンロードできるように公開することもできます。