サーバ オブジェクト エクステンションのコーディング プラクティス

マップ サービスまたはイメージ サービスのサーバ オブジェクト エクステンション(SOE)を作成するには、一般に、必要なインタフェースを実装し、ビジネス ロジックを実行するコードを記述します。Java を使用している場合は、Eclipse プラグインのウィザードを使用して SOE の作成を開始できます。.NET を使用している場合は、Visual Studio のテンプレート プロジェクトを使用して作成を開始します。ウィザードとテンプレートを使用することで、SOE に必要なインタフェースが実装され、REST または SOAP Web サービスの呼び出しに SOESupport のクラスを使用して応答できることが保証されます。

ArcObjects SDK で SOE をコーディングする詳細な手順については、下記をご参照ください。

Windows 上で C++ を使用して SOE を作成することもできます。また、サンプルが .NET ArcObjects SDK for C++ に収録されています。

マップ サービスの操作

SOE は、マップ サービスとイメージ サービスの拡張でのみサポートされています。マップ サービスとイメージ サービスは、サービス定義ファイルを使用し、マップ ドキュメント(MXD)に直接アクセスしないため、SOE を記述するときに避ける必要があったり、使用を推奨される特定のクラスがあります。

MXD で使用するように特に設計されている Carto ライブラリの ArcObjects の使用を避けてください。これには、IMap、ILayer、およびデータ フレームやページ レイアウトに関連するアイテムがあります。代わりに、MapServer、MapLayerInfos、および MapDescription など、マップ サービスの操作用に設計されている ArcObjects を使用します。マップの各レイヤの基盤となるデータセットにアクセスするには、インタフェース IMapServerDataAccess を使用します。

マップ ドキュメントに直接関連しない .NET 用の ESRI.ArcGIS.Geometry および ESRI.ArcGIS.Geodatabase、Java 用の com.esri.arcgis.geometry および com.esri.arcgis.geodatabase などのライブラリは SOE で常に使用できます。

.soe ファイルの作成

ArcGIS 10.1 for Server 以降、SOE は *.soe ファイルにカプセル化されます。.NET を使用している場合、.soe ファイルは SOE テンプレートからプロジェクトを構築したときに作成されます。Java を使用している場合、.soe ファイルは Eclipse に組み込まれているウィザードを使用して作成します。.soe ファイルには、SOE を ArcGIS Server に登録するために必要なすべての情報が含まれています。

5/20/2014