ArcGIS Enterprise SDK には、統合ワークフローやパターンをサポートする GIS サービスのカスタマイズに役立ついくつかの追加技術が含まれています。 これらのパターンを利用することで、Java や .NET ソフトウェア開発者は ArcGIS Enterprise SDK を使ってコードを記述し、既存のサービスを拡張したり、新しいパターンを作成したり、既存のサービスの動作に影響を与えたりできます。
SOE (サーバー オブジェクト エクステンション) は、既存のサービスに新しいメソッドや機能 (REST エンドポイント) を追加するために使用されます。 これらのエクステンションは、サービスの既存のエンドポイントやメソッドには影響を与えないため、通常はそのエンドポイントを認識し、直接呼び出せるカスタム アプリケーションやワークフローでのみ利用されます。 SOE の詳細については、「REST SOE とは」をご参照ください。
SOI (サーバー オブジェクト インターセプター) は、特定のサポート対象サービスの既存のエンドポイント機能に影響を与えたり、制御したり、調整するために使用されます。 これは、SOI コードがサービスへの各リクエスト時に呼び出され、開発者は /query や /identify リクエストなどの既存の論理パスを選択的に上書きすることを意味します。 SOI コードは、受信リクエストに対してパラメーターや入力を調整したり、既存のサーバー バックエンドからの応答に対して属性を削除したり、情報を追加したり、その他の操作を行えます。 SOI に関する詳細情報 (サンプルやコーディングのガイダンスを含む) については、「SOI とは」をご参照ください。
サービス インターセプターは、特定のサービス パターンやタイプをグローバルに制御できる新しい開発パターンであり、個々のサービスではなくサイトレベルの REST 層で動作します。 インターセプターを使用すると、各サービスに個別に SOI を適用するのではなく、一連のサービスの動作を制御できます。 サービス インターセプターに関する詳細や、既存の SOI 概念との比較については、「サービス インターセプターの概要」をご参照ください。
これらの拡張パターンは、統合の目的において、他の ArcGIS ワークフローやパターンに統合できる形で、既存のアプリケーション サーバー (ArcGIS Server) に統合をデプロイする方法を提供します。
SOE は既存のサービスの上に構築されているため、ArcGIS Enterprise のデプロイメントにおけるフェデレート サービスの認証モデルを引き継ぎます。 .NET や Java の開発パターンには、リモート データセットやシステムと連携するための確立されたライブラリーやツールが存在する場合があります。そのため、スタンドアロンのサービスをホストして構築するよりも、SOE を使って新しい Web サービス エンドポイントを作成する方が、統合に向けた簡単な方法かもしれません。
SOI は /query リクエストなどの既存のエンドポイントに対応します。 これによりクエリーをインターセプトして、既存システムからデータを結合したり、別のエンドポイントへのクエリーに基づいて結果をフィルターするなどの任意の操作を、クエリー入力や結果セットに対して行うことが可能になります。 これらのステップは各リクエストに遅延を引き起こすため、パフォーマンスの著しい低下を避けるために慎重に設計する必要があります。
ArcGIS Enterprise サービスと連携する ArcGIS Online アプリやサービスは、それらのレイヤーを Web マッピング エクスペリエンスに取り込むことで、SOI やサービス インターセプターのユーザーとなることができます。 これは ArcGIS Pro にも該当します。ArcGIS Pro はこれらのサービス タイプに対応するクライアントで、すべての SOI やサービス インターセプターのロジックを保持したまま、可視化やカートグラフィック用途、ジオプロセシング ツールのソース、印刷に使用できます。 SOE は一般的に、これらの新しいユース ケース固有のエンドポイントと連携するよう設計されたカスタム アプリケーションによって利用されています。
| 機能 | ArcGIS Online | ArcGIS Enterprise | ArcGIS Location Platform | ArcGIS Pro |
|---|---|---|---|---|
| SOE と SOI | N/A |
フルサポート 一部サポート
SOE、SOI、サービス インターセプターの開発に着手する前に、ArcGIS Enterprise SDK のドキュメント、特に「ArcGIS Enterprise SDK の設計哲学」をご参照ください。ここには、これらの開発パターンに関する有益なガイダンスと背景情報が記載されています。 SOE 開発のベスト プラクティスや推奨事項については、ドキュメントのトピック「REST SOE の構築戦略」をご参照ください。