サーバ オブジェクト エクステンションのコーディング プラクティス
マップ サービスまたはイメージ サービスのサーバ オブジェクト エクステンション(SOE)を作成するには、一般に、必要なインタフェースを実装し、ビジネス ロジックを実行するコードを記述します。Java を使用している場合は、Eclipse プラグインのウィザードを使用して SOE の作成を開始できます。ウィザードを使用することで、SOE に必要なインタフェースが実装され、REST または SOAP Web サービスの呼び出しに SOESupport のクラスを使用して応答できることが保証されます。
ArcObjects SDK で SOE をコーディングする詳細な手順については、下記をご参照ください。
マップ サービスの操作
SOE は、マップ サービスとイメージ サービスの拡張でのみサポートされています。マップ サービスとイメージ サービスは、サービス定義ファイルを使用し、マップ ドキュメント(MXD)に直接アクセスしないため、SOE を記述するときに避ける必要があったり、使用を推奨される特定のクラスがあります。
MXD で使用するように特に設計されている Carto ライブラリの ArcObjects の使用を避けてください。これには、IMap、ILayer、およびデータ フレームやページ レイアウトに関連するアイテムがあります。代わりに、MapServer、MapLayerInfos、および MapDescription など、マップ サービスの操作用に設計されている ArcObjects を使用します。マップの各レイヤの基盤となるデータセットにアクセスするには、インタフェース IMapServerDataAccess を使用します。
マップ ドキュメントに直接関連しない 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 に登録するために必要なすべての情報が含まれています。