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」を選択します(次図)。
そこで[構成]→[認証情報]を選択します。この画面は、IRISが外部システムとやり取りする際に必要な認証情報を事前に定義するためのものです。今回は、後で紹介するJavaビジネスホストを設定するための認証情報をここで入力します。次図のように、ID:「SuperUser」、ユーザ名:「SuperUser」、パスワード:「driveuser(管理ポータルログイン時に設定したパスワード)」を入力し、保存ボタンを押します。
保存が完了したら、左上メニューの[Interoperability]をクリックします。
次は、今回MQTTプロトコルのペイロード(データの本体)で使用するXMLのスキーマ定義をIRISにセットアップします。次の図のように、[Interoperability]→[相互運用]→[XML]→[XMLスキーマ構造]の順にクリックします。
そこで[インポート]ボタンを押すとファイル選択ダイアログが表示されるので、「/projects/pkg/mqtt_schema_driverecord.xsd」を選び[OK]を押します。すると次図のダイアログが出るので、赤で示したマークをクリックします。
「message」をクリックすると、XMLスキーマが表示されます。スキーマが階層構造になっています。項目3の「DriveRecord」をクリックすると展開され、次の図のようなタグが表示されることが確認できます。