Japan
サイト内の現在位置を表示しています。
ブログ
OSS貢献活動FIWAREの基本と、使い方を学ぼう
こんにちは、NECソリューションイノベータ 米丸 浩一郎です。
2023年7月21日(金)に開催された 日本OSS推進フォーラム 第4回 定例テック&ビジネス勉強会において、「FIWAREの基本と、使い方を学ぼう」と題した発表を行いました。本記事では、この発表内容を基に、FIWARE の基本と FIWARE でのデータ登録・参照について紹介します。
FIWAREの基本を知る
FIWARE は、EU の官民連携プログラムで開発された基盤ソフトウェアです。既存のさまざまなシステムを繋ぎながら、業種を超えたデータを様々なサービスで掛け合わせながら新たな価値を提供できることが特徴です。
これまでのシステムは分野ごとに個別バラバラに作られており、例えば交通分野であれば交通向けのサービスが、防災であれば防災サービスが作られるなど、それぞれ閉じられたシステムの中でデータが活用され、システム間でのデータ利活用が困難な状況にありました。このため、分野や組織を超えてデータを連携することで、新しいサービスやビジネスを生み出そうという機運が高まり、グローバルでさまざまな取り組みが行われています。このような状況に対し、FIWARE では、データ形式を揃えながら、異なるシステム間のデータ連携をサポートしていくことで、分野や組織を越えたデータ利活用を可能にしています。
次に、FIWARE を活用する利点を紹介します。FIWARE では、オープンな技術活用とイノベーションを推進し、持続可能なビジネスエコシステムを構築するための、ソフトウェアモジュール群を提供しています。FIWARE の技術的な特徴は以下の5つがあります。
- ・NGSI と呼ばれる標準化されたオープン API で、多様な主体によるデータ活用が可能
- ・標準データモデルで、皆が統一されたデータ形式を使うことで、相互運用性の確保が可能
- ・データ仲介機能と分散管理で、他システムや他の都市OS(データ連携基盤)とのデータを仲介し、データの共有が可能
- ・複数 OSS の集合体で、用途に合わせて、自由に組み合わせて実装でき、ビルディングブロック方式による段階的な機能拡張が可能
- ・中立性を保ったプラットフォームでオープンイノベーションを加速するための OSS を採用
特に今回は、FIWARE のコア機能であるコンテキストブローカーと呼ばれる、データ仲介機能について説明します。データ仲介機能とは、データそのものを保持・管理するデータ蓄積方式と、データそのものは保持せずデータの所在を管理することで、分散されたデータを必要なときに連携する分散方式とがあります。
さらに、この分散方式には、2つの異なるデータ連携方法があります。それは、必要なときにデータを取得する「同期方式 (Pull 型)」、そして、設定した条件に一致するとデータを自動的に送信する「非同期方式 (Push 型)」です。これらの方法を使用することで、用途に応じたスムーズなデータ連携が可能となります。
具体的に例えると、同期方式 (Pull 型) は、バスの位置情報サービスでの使用が考えられます。ユーザーがバスに乗る前に、近くにバスがあるかどうかを知りたいと思っている場合、リアルタイムの情報を同期型の通信方式で取得することができます。非同期方式 (Push 型) は、バスに乗る直前のシーンで、あらかじめバス路線を登録しておき、そのバスが近づいたときに通知されるようにすることができます。この通信方式は、設定した条件が一致した場合に、データを自動的に送ることができます。
このように、多様なデータ仲介機能を活用することで、他システムや他の都市 OS ともデータ連携が可能となり、地域や分野を横断したデータ利活用が促進されることにつながります。
また、国内では、分野や組織を横断し、相互運用性を確保するため、必要最低限の機能を定め、それに合致する実装が推奨モジュールとして指定されており、コンテキストブローカーの実装にあたる FIWARE Orion もその一つです。推奨モジュールの普及促進をデータ社会推進協議会 (Data Society Alliance) が行っています。
FIWAREでデータ登録・参照を試す
ここでは、FIWARE でのデータおよび履歴データの登録・参照方法を紹介します。
データの登録
FIWARE Orion にデータを登録するために、最初にデータモデルを決めます。FIWARE が公開する Smart Data Models(Website, GitHub)を使う方法もありますが、国内では、政府相互運用性フレームワーク (GIF)を使う方法もあります。NGSI では、データモデルをエンティティ・属性・付加情報として構造化し、その一体をコンテキストとして扱うことで、様々なモノを表現します。図は、建物データモデル (GIF) を NGSI で表現した例です。
データモデルが決まったら、NGSI の API を使って、Orion にデータを登録します。登録は、データ登録の URL にデータを POST することで可能です。リクエスト情報とレスポンス情報の詳細は図に示したようなものです。
データの参照
次にデータの参照です。この場合も、NGSI の API を使って、Orion のデータを参照します。データ参照の URL に、ID や Type などエンティティ (データ) を指定して、GET することで可能です。リクエスト情報の詳細は図に示したようなものです。このように、NGSI は Restful な API であり、JSON 形式でデータを取り扱うことが可能です。
履歴データの蓄積
FIWARE では、コンテキストブローカーの Orion と分析データストレージの QuantumLeap をつなぐことで、履歴データについても蓄積できます。これには Orion に登録されたデータを QuantumLeap に通知する必要がありますが、非同期通知方式 (PUSH 型) ※サブスクリプションを用いて、Orion に登録されたデータを自動的に QuantumLeap に通知、QuantumLeap がストレージにデータを蓄積することで可能です。操作の詳細を図に示します。
サブスクリプションは、NGSI の API を使って登録します。
データの変更
データの変更には、NGSI の API を使用します。データ更新用URLに変更データを PATCH リクエストとして、Orion に送信することで可能です。リクエスト情報とレスポンス情報の詳細は図に示したようなものです。
履歴データの参照
履歴データの参照には、QuantumLeap の API を使用します。リクエスト情報とレスポンス情報の詳細は図に示したようなものです。
これらのデータ操作を応用することで、FIWARE データを地図アプリ上に表示したり、グラフとして表示したりすることができます。また、FIWARE の各モジュール間だけでなく、他システムともつながることで、ビルディングブロック方式による段階的なシステム拡張も可能となります。
最後に、FIWARE を活用すれば、複数データを組み合わせたデータ利活用を促進できます。誰でも自由に OSS やオープンデータを使い、地域に関わる全ての人が地域に寄り添ったサービスを開発でき、分野や組織を横断した新たなサービスを創出できます。
執筆者
米丸 浩一郎 (Koichiro Yonemaru)
NECソリューションイノベータ スマートシティ事業推進室
自治体 スマートシティ向け 都市OS/データ連携基盤 (FIWARE準拠) 構築基盤。内閣府 SIP サイバー/スマートシティアーキテクチャ設計と関係実証研究の推進 (スマートシティリファレンスアーキテクチャ/都市OS検討)。内閣府 データ連携基盤に関する調査業務 など。(2023年9月時点の情報)