FIWARE Orion-LD は FIWARE Generic Enabler のひとつで、2020年1月リリースの FIWARE 7.8.1 において、Incubated GE としてリリースされました。ここでは、Orion-LD のロードマップを紹介します。FIWARE の全体的なロードマップについて知りたい場合は、FIWARE Catalogue の “Roadmap” セクションをご覧ください。
イントロダクション
近い将来、Orion-LD に追加される予定の新しい機能またはタスクの提案について詳しく説明します。特定の日付または指定された順序でこれらの機能を提供するというコミットメントではありません。開発チームは、提案された日付と優先順位に従うために最善を尽くしますが、特定の機能またはタスクで作業する計画が修正される可能性があることに留意してください。すべての情報は一般的なガイドラインとしてのみ提供されており、いつでも新しい情報を提供するために改訂される可能性があります。
短期 (Short term)
次の機能リストは短期的に対処する予定であり、Orion-LD のアルファリリース2に組み込まれています :
- Issue #302 (PATCH /ngsi-ld/v1/entities/{entityId}/attrs)
- 任意のフィールドの null 値について受信ペイロードをチェックし、見つかった場合はエラーを返す。または、null が許可されている仕様の状態を実行 (たとえば、属性を削除)
- DB に保存されるコンテキスト
- サポートされていない URI パラメーターにエラーを出すか?
- ペイロードがない場合 (エラーなしの場合) @context は返さない
- サポートされているディストリビューションのリストに Ubuntu 19.10 を追加
- サポートされているディストリビューションのリストに Ubuntu 19.10 Server を追加
- PATCH/entities/* を実装 – “POST/entities/*/attrs w/o options=noOverwrite” に実装されているものを使用
- PATCH/entities/*/attrs を実装
- PATCH/ngsi-ld/v1/entities/{entityId}/attrs/{attrName} を実装
- POST/ngsi-ld/v1/entityOperations/create を実装
- POST/ngsi-ld/v1/entityOperations/update を実装
- PATCH/ngsi-ld/v1/subscriptions/{sub-id} を実装
- DELETE/ngsi-ld/v1/cSourceRegistrations/{reg-id} を実装
- GET/ngsi-ld/v1/types の実装 – エンティティ・タイプのリストを返す (レジストレーションにタイプを含める)
- JMeter パフォーマンス・テスト
- options=expanded => 拡張形式でレスポンス返す – すべてのリクエストに対して?
- 必要な場合 : PUT /ngsi-ld/ex/v1/mode?etsi|orionld
- ‘standard’ がデフォルト – 100%etsi 仕様に従う
- ‘orionld’ の場合、GET /ngsi-ld/v1/entities?id=XXX が許可される
- 任意のプロパティのジオクエリ (現在は ‘location’ という名前にする必要がある)
- サブスクリプション用の NGSI-LD Q フィルター
- Ubuntu 20.04 LTS のサポート – 新しいデフォルトのディストリビューションを作成
- コンテキスト・リストのリクエストは、Link ヘッダのコンテキスト (またはペイロードの “現在の” コンテキスト) を返すべきではない
中期 (Medium term)
以下は、2020年の終わりに予定されている最初の実際のリリース(1.0.0)用の機能リストです :
- 属性ドメイン (Attribute Domains)
- POST /ngsi-ld/v1/cSourceSubscriptions
- PATCH /ngsi-ld/v1/cSourceSubscriptions/{csub-id}
- GET /ngsi-ld/v1/cSourceSubscriptions
- GET /ngsi-ld/v1/cSourceSubscriptions/{csub-id}
- DELETE /ngsi-ld/v1/cSourceSubscriptions/{csub-id}
- NGSI-LD ジオ・クエリ
- datasetId
長期 (Long term)
次の機能のリストは、将来の考えられるアイデアです。
-
- これらすべてが実装されるかどうかはまだわかりません
- orionld ブランチを最新の orion リリースブランチに更新
- Orion のサービス・セット
- Orion のプラグイン
実装を次のように変更 :- Orion のプラグインとして機能
- スタンドアロンで動作
- フォワードもノーティフィケーションも意味しないすべての REST サービスは、mongoBackend を使用せずに安全に実装できる
- 式の右側に “データベース変数” を含む Q フィルター
- 高度なノーティフィケーション – 1つのエンティティの属性が別のエンティティ (エンティティ) のノーティフィケーションをトリガーできるようにする
- “カスタム・ノーティフィケーション” がここの方法のよう
- エンティティの一時的な表現 (Temporal Representation of Entities)
- データベース・モデルの完全な変更が必要な場合があり、その場合、非常にコストがかかる
- サブスクリプション・キャッシュの書き換え (現在のサブキャッシュは TEF フェデレーション・スキームに依存)
- サブ・キャッシュの更新なし、代わりに、バイナリで通信するクラスタ
- Broker クラスタ – クラスタ内の各 Broker の mongo に格納 (Issue を分離するためこれをすべて移動)
- エンティティ・キャッシュ (”小規模な” broker に最適)
- レジストレーション・キャッシュ
- レジストレーション-サブスクリプション・キャッシュ
- 詳細な実装ドキュメント(ソースコードの完全な説明)
- NGSI-LD フォワーディング
- ノーティフィケーションをゼロから実装 – どこでも使用
- スマート・フェデレーション (実際に相互接続されたクラスタ)
- mongo C ドライバを C ++ レガシー・ドライバと連携させる
- すべての NGSI-LD Ops を新しい mongo C ドライバで実装 – mongoBackend なし
- mongoBackend の使用を完全に停止
- クリーンな DB インターフェース
- RTSP
- Websocket
- 他の接続方法 – ソケットとの直接接続?
- mongoBackend なしで、すべての APIv2 (24サービス) を書き換えます – 新しい mongo C ドライバを使用