SHOEISHA iD

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

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

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

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

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

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

IRISの環境設定

 では、いよいよIRISのセットアップをしましょう。前回でgit pullを行ったディレクトリ(本稿ではDriveDemo)に移動してください。そして、前回で実際に動かしてみた方は、コンテナの停止、もしくは削除から始めてください。

 コンテナを停止する場合:

>docker-compose -f docker-compose-demo.yml stop

 コンテナを削除する場合:

>docker-compose -f docker-compose-demo.yml down

 次に今回の実習用のコンテナを起動します。

>docker-compose up –-build -d

 このコマンドにより、IRISの実習用のイメージがビルドされ、iris-drive-playという名前のコンテナとして立ち上がります。このイメージは、InterSystemsがDocker Hubで提供しているInterSystems IRIS Data Platform, Community Editionをベースにして、実習に必要なOpenJDKの環境を組み込んだものです。

全体図

 今回はIRISでいくつかの設定を行います。まず全体図を示します。

全体図
全体図

 もし体験を進める途中で何をしているのか分かりにくくなった場合は、この図に戻って全体を確認してもらえればと思います。

管理ポータルへログイン

 前回紹介した管理ポータルにログインします。

http://localhost:52003/csp/sys/UtilHome.csp

 今回は、パスワードが初期状態になっているので、ユーザ名:「SuperUser」、パスワード:「SYS」でログインします。

 ログインすると、パスワードを変更する画面が表示されるので、パスワードを変更してください。本稿では、driveuserを使用することにします。

ネームスペースの作成

 管理ポータルにログインできたら、最初にネームスペースを作成します。IRISでは、ネームスペースという単位で、データベース、プログラム、インターオペラビリティ機能などを管理します。ここでは、今回の実習で使用するネームスペースを1つ作成します。以下の図のとおり、管理ポータルのメニューから、[システム管理]→[構成]→[システム構成]→[ネームスペース]の順に選択して[実行]を押してください。

ネームスペース作成メニュー
ネームスペース作成メニュー

 そうすると、存在するネームスペースの一覧が表示されます。画面の上部にある[新規ネームスペース作成]をクリックします(次図)。

ネームスペース作成ボタン
ネームスペース作成ボタン

 表示された画面で、ネームスペース名:「drive」と入力し、[グローバルのための既存のデータベースを選択]欄右側の[新規データベース作成]をクリックします(次図)。

新規データベース作成ボタン
新規データベース作成ボタン

 データベースの名前、ディレクトリの2か所にdriveと入力します(次図)。

データベース名入力
データベース名入力

 [完了]ボタンを押すと元の画面に戻ります。今度は[ルーチンのための既存のデータベースを選択]でドロップボックスをクリックし、今作成した「DRIVE」を選択して、最後に画面上部の[保存]を押します(次図)。

データベース作成
データベース作成

 以上の操作により、ネームスペースの環境構築が行われます(数秒)。最後に、画面最下部の[閉じる]を押してください。これでネームスペースの作成は完了です。

インターオペラビリティの設定

 ネームスペースが作成できたら、次にインターオペラビリティの設定に移ります。設定作業が続きますが、もう少しご辛抱ください。

 ネームスペース作成の画面から、左上の[システム]をクリックし、管理ポータルのメイン画面に戻ります。そこから、[Interoperability]をクリックし、「プロダクションに使用可能なネームスペース」に、先ほど作成した「DRIVE」を選択します(次図)。

Interoperabilityメニュー
Interoperabilityメニュー

 そこで[構成]→[認証情報]を選択します。この画面は、IRISが外部システムとやり取りする際に必要な認証情報を事前に定義するためのものです。今回は、後で紹介するJavaビジネスホストを設定するための認証情報をここで入力します。次図のように、ID:「SuperUser」、ユーザ名:「SuperUser」、パスワード:「driveuser(管理ポータルログイン時に設定したパスワード)」を入力し、保存ボタンを押します。

認証情報設定
認証情報設定

 保存が完了したら、左上メニューの[Interoperability]をクリックします。

 次は、今回MQTTプロトコルのペイロード(データの本体)で使用するXMLのスキーマ定義をIRISにセットアップします。次の図のように、[Interoperability]→[相互運用]→[XML]→[XMLスキーマ構造]の順にクリックします。

XMLスキーマ読み込み1
XMLスキーマ読み込み1

 そこで[インポート]ボタンを押すとファイル選択ダイアログが表示されるので、「/projects/pkg/mqtt_schema_driverecord.xsd」を選び[OK]を押します。すると次図のダイアログが出るので、赤で示したマークをクリックします。

XMLスキーマ読み込み2
XMLスキーマ読み込み2

 「message」をクリックすると、XMLスキーマが表示されます。スキーマが階層構造になっています。項目3の「DriveRecord」をクリックすると展開され、次の図のようなタグが表示されることが確認できます。

XMLスキーマ表示
XMLスキーマ表示

次のページ
プロダクションの作成

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

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

もっと読む

この記事の著者

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

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

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

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング