イントロダクション

Cepheus-CEP は、FIWARE Data Handling GE のための NGSI 9/10インターフェイスを備えたゲートウェイレベルの複合イベントプロセッサ(CEP)を提供します。

Cepheus-CEP は、センサによって提供されるデータからの基本的なイベントをローカルで処理し、より高いレベルの集約されたイベントを生成することを可能にします。イベントの入出力はすべて、NGSI 情報モデルに準拠した HTTP リクエストを介して行われます。

CEPについて

CEP の目的は、リアルタイムでデータを処理することです。しばしば実装される機能には、さまざまなソースからのリアルタイムデータのフィルタリング、集約およびマージが含まれます。

CEP のおかげで、アプリケーションはそれらに関連する付加価値データだけをサブスクライブすることが容易になります。CEP 技術は、イベントストリーム分析、またはリアルタイムイベント相関とも呼ばれます。

Cepheus-CEP で使用される CEP エンジンである Esper の詳細については、そのプレゼンテーションドキュメントを参照してください。

API の概要

Cepheus-cep には2つの HTTP APIs があります :

  • 管理 REST エンドポイントは現在の構成へのアクセスを提供し、それを更新することを意味します
  • NGSI エンドポイントは、他の NGSI コンポーネント(コンテキスト・プロバイダおよびコンテキスト・ブローカ)との通信手段を提供します

管理エンドポイント

管理エンドポイントは、構成全体が使用可能な単一の REST エンドポイントを定義します。エンドポイントのパスは /v1/admin/config です。エンドポイントは、GETPOST の2つのHTTP動詞を受け入れます。

GET v1/admin/config

このエンドポイントは、実際の設定を 200 Ok ステータスコード付きの JSON オブジェクトとして返します。

また、設定が利用できない場合は、404 Not found コードを返すこともできます。

例:

curl -H 'Accept: application/json' http://localhost:8080/v1/admin/config

POST v1/admin/config

このエンドポイントは、JSON として本体に与えられた新しい設定を適用します。

エンドポイントは正常な操作で、200 Ok を返します。新しい構成を適用できない場合に、400 Bad Requestを返します。

新しい設定が CEP に正常に適用されると、設定はディスクに保存されます。Cepheus-cep を後で再起動すると、起動時に自動的に最後の設定がロードされます。

例:

cat config.json | curl -H 'Accept: application/json' -H 'Content-Type: application/json' -d @- http://localhost:8080/v1/admin/config

JSON 設定の内容については、JSON 設定セクションを参照してください。

DELETE v1/admin/config

このエンドポイントは、現在の構成を削除します。削除が成功すると 200 Okを返します。

例:

curl -X DELETE http://localhost:8080/v1/admin/config

GET v1/admin/statements

このエンドポイントは、ステートメントのリストを 200 Ok ステータスコード付きの JSON オブジェクトとして返します。

リストが空の場合は、404 Not found コードを返します。

例:

curl -H 'Accept: application/json' http://localhost:8080/v1/admin/statements

NGSI エンドポイント

Cepheus-CEP は、CEP が他の NGSI コンポーネントと通信する必要がある NGSI 標準オペレーションのサブセットのみをサポートします。

2つの排他的ではないメソッドによって、着信イベントとしてマップされたコンテキスト要素の更新を受け取ることができます :

  • ngsi10/updateContext または v1/updateContext オペレーションを介して直接更新を受信することによって
  • ngsi10/subscribeContext を使用してコンテキスト・ブローカに登録した後、ngsi10/notifyContext または v1/notifyContext を受信することよってサブスクライバとして機能

Cepheus-CEP は、ブローカへの ngsi10/updateContext リクエストを使用して、発信イベントの場合、コンテキスト・エンティティへの更新をパブリッシュします。