SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

InterSystems IRISでシンプルに開発するIoTアプリケーション(PR)

データプラットフォーム「IRIS」からMQTTプロトコルを利用してみる

InterSystems IRISでシンプルに開発するIoTアプリケーション 第3回

  • このエントリーをはてなブックマークに追加

ビジネス・サービスをプロダクションに追加

 設定もようやく最終段階になります。先ほど作成したビジネス・サービスをプロダクションに追加します。

 管理ポータルのホーム画面から、[Interoperability]→[構成]→[プロダクション]と選択し、プロダクションの管理画面に移動します。そこで、先ほどと同様、「サービス」と書かれた横の+マークをクリックします。

 ダイアログで、次の図のように、サービスクラスに 「JBH.Com.Intersystems.Drivedemo.MqttBS」を選択、サービス名に「MQTTIn」と入力、「有効にする」にチェックを入れ[OK]を押します。

MQTTIn追加
MQTTIn追加

 また、同様に「プロセス」と書かれた横の+マークをクリックし、次の図のとおり、ビジネス・プロセス・クラスに「EnsLib.MsgRouter.VDoc.RoutingEngine」を選択し、ビジネス・プロセス名に「RoutingEngine」と入力して、「ルールの自動作成」にチェック。新規ルールパッケージに「DriveDemo」と入力し、「有効にする」にチェックを入れて[OK]を押します。警告が出ますが、ここではOKを押してください。ビジネス・プロセスについては次回以降で解説します。

ビジネス・プロセス追加
ビジネス・プロセス追加

 最後にMQTTInの設定を行います。ターゲット構成名に「RoutingProcess」を選択して、Docスキーマ・カテゴリに「mqtt_schema_driverecord」を選択し、MQTTBrokerに「tcp://mqttbroker:1883」と入力。MQTTClientNameに「IRISClient」と入力し、MQTTTopicRootに「DriveDemo/#」と入力して、[適用]をクリックします(次図)。

MQTTIn設定
MQTTIn設定

 ここで、MQTTBroker、MQTTClientName、MQTTTopicRootは、Javaのプログラムに渡される項目であることに注意してください。

 そして、設定を有効にするために、画面上部中程の[停止する]を押してから[開始する]を押して、プロダクションを再起動してください(次図)。

プロダクション再起動
プロダクション再起動

 以上で、MQTTプロトコルでデータを受信するプロダクションの設定が完了しました。

実行

 ここまで設定・作成したアプリケーションを実行してみましょう。

 前回と同様、DataGeneratorディレクトリに移動し、車載器データを生成するプログラムを動かします。

>cd DataGenerator

Linux, Mac OSの場合
>./run.sh

Windowsの場合
>run.bat

 管理ポータルのホームから[Interoperatility]→[表示]→[メッセージ]とクリックすると、メッセージの一覧が表示されます。そのうちの一つを確認してみてください。次の図のようなメッセージが流れていることが分かります。

ビジュアルトレース
ビジュアルトレース

 今回作成したのは、MQTTプロトコルで受信したデータをXMLのメッセージとしてJavaビジネス・サービスがメッセージに変換し、それを仮に作成したRoutingProcess(ビジネス・プロセス)に送信するところまでですが、その様子が表示されています。

まとめ

 今回は、IoTで利用されるMQTTプロトコルをIRISから利用する手順をご紹介しました。IRISのインターオペラビリティ機能を使用するために、プロダクションと呼ばれる実行環境を作成し、そこにビジネス・サービスやビジネス・プロセスといったコンポーネントを追加することで、機能を実装していく流れを説明しました。

 また、MQTT Brokerとの接続のためにJavaのプログラムを書き、それをビジネス・サービスに組み込む方法をご紹介しました。

 次回は、Visual Studio Codeを使ってIRISにクラスを定義する方法を紹介する予定です。

参考

 インターシステムズでは、開発者の皆様にIRISを知っていただくために、いろいろな機能を紹介する短い動画を作成しています(日本語字幕付き)。

 インターオペラビリティ機能は以下のページで説明されています。ぜひご覧ください。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
InterSystems IRISでシンプルに開発するIoTアプリケーション連載記事一覧

もっと読む

この記事の著者

堀田 稔(インターシステムズジャパン)(ホリタ ミノル)

SEマネージャー。1992年大阪大学基礎工学部情報工学科卒。同年日本ディジタルイクイップメント(株)入社。電気通信など様々な業界向けプロジェクトにシステムエンジニアとして携わる。1996年InterSystems Data Platform製品の日本語版開発プロジェクトに従事し、同製品の販売・サポー...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11836 2019/12/06 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング