ArcGIS GeoEvent Server は、開発者がトランスポート、アダプター、プロセッサなどの GeoEvent Server 用カスタム コンポーネントを作成できる SDK (ソフトウェア開発キット) を提供します。
注意: トランスポートおよびアダプターは、コネクタの基本的なコンポーネントです。アダプターは、トランスポートが指定された通信プロトコルでイベント データを送受信する際、イベント データのデータ形式を解釈します。
コネクタの詳細については、「コネクタの管理」をご参照ください。
プロセッサの詳細については、「プロセッサ」をご参照ください。
GeoEvent Server SDK には、GeoEvent Server REST API を通じて公開されているパッケージとクラスに関するドキュメントが含まれています。カスタム コンポーネントを開発する前に、GeoEvent Server で使用できる既存コンポーネントが目的の機能を提供できるかどうかを判断します。
GeoEvent Server SDK とは何ですか?
GeoEvent Server SDK には、Java SE 開発キットのセットアップに関するドキュメントや、Apache Maven などの開発ツールが含まれています。GeoEvent Server のアーキテクチャやカスタム コンポーネントの開発方法に関する情報、および開発作業の開始点として使用できるサンプル コンポーネントを提供します。
GeoEvent Server SDK およびドキュメントは、ArcGIS Server のインストール ディレクトリにあります。デフォルトのインストール ディレクトリは、以下のとおりです。
- Windows: <ArcGIS Server installation directory>\GeoEvent\sdk (たとえば、C:\Program Files\ArcGIS\Server\GeoEvent\sdk)。
- Linux: <ArcGIS Server installation directory>/GeoEvent/sdk (たとえば、~/arcgis/server/GeoEvent/sdk)。
カスタムのトランスポートが必要な場合
GeoEvent Server には、通常の REST 要求および応答メッセージをサポートする HTTP トランスポートなどのトランスポートが含まれています。HTTP 基本認証もサポートされています。TCP、UDP、SMS、SMTP、XMPP、WebSocket、および Esri フィーチャ サービスを介した通信をサポートする追加のトランスポートも含まれています。
GeoEvent Server で利用できるこれらのトランスポートがニーズに合っていない場合、GeoEvent Server SDK を使用してカスタムのトランスポートを開発する必要があります。たとえば、TCP ソケット接続を介した認証情報の交換といった独自の認証メカニズムを使用したサービスにアクセスする場合、TCP ソケット プロトコルと認証に使用されているメカニズムの両方を理解するカスタムのトランスポートを開発する必要があります。
カスタムのアダプターが必要な場合
GeoEvent Server には、汎用 JSON、GeoJSON、Esri フィーチャ JSON、および geoRSS、XML、区切りテキスト形式のコンテンツを解析できるアダプターが含まれています。
GeoEvent Server で利用できるこれらのアダプターがニーズに合っていない場合、GeoEvent Server SDK を使用してカスタムのアダプターを開発する必要があります。たとえば、データ プロバイダーがソケット接続を介して 16 進バイトのストリームとしてイベント データを送信していた場合、未処理のバイト ストリームを整数や文字列などの通常のデータ タイプに変換する方法を取り込んだカスタムのアダプターを開発する必要があります。
カスタムのプロセッサが必要な場合
GeoEvent Server には、リアルタイム解析の実行に使用できる多くのプロセッサを搭載しています。たとえば、フィールド演算プロセッサを構成して導関数値を計算するか、フィールド エンリッチャー プロセッサを構成して外部ソースからの情報をイベント レコードに取り込むことができます。これらは、GeoEvent Server で使用できるプロセッサの例です。
GeoEvent Server で利用できるプロセッサがニーズに合っていない場合、GeoEvent Server SDK を使用してカスタムのプロセッサを開発する必要があります。たとえば、一般的にイベント レコードを受信するプロセッサは、直近処理された、または処理される予定のイベント レコードに含まれる属性値に関する情報を持っていません。過去に受信したイベント レコードから属性値のキャッシュを保持し、一定期間の属性値の最小、最大、および平均を統計情報として定期的に報告するプロセッサが必要な場合は、イベントの集計と統計情報計算を実行するカスタム プロセッサを開発する必要があります。