Magic xpi 4.13技術情報
2. Local Agentの使い方

1.1 Local Agentとは

  • Local Agentを使用するとVPN接続などは使用せず、異なるネットワーク間でデータ連携できます。

   例えば、あるLAN上のxpiサーバから、別のLAN上のリソースにアクセスすることができます。

Local Agentとは

 

1.2 Local Agent対応コネクタ

  • xpi 4.13リリース時点では「SAP ERP」コネクタのみ、Local Agentに対応しています。
  • コネクタビルダで「Local agent compatibility」をONにすると、Local Agentに対応したユーザ独自のコネクタを開発することができます。

Local Agent対応コネクタ

 

【コネクタビルダ】
xpiの標準コネクタ以外に、ユーザ独自のコネクタを開発することができる機能UIの開発は.NET、ランタイムの開発は.NET、Javaのいずれか(※)を選択可能※コネクタビルダにおけるランタイムの開発は、通常、.NET、Java、Magic xpaのいずれかの言語で可能ですが、
 Local Agent対応コネクタを作成する場合に限り、Magic xpaは使用することができません

1.3 Local Agent動作の仕組み

  • xpiサーバとLocal Agentは、Local Agent管理サーバを介してデータ連携を行います。
  • Local Agent管理サーバはGlobal IPを持ち、インターネット経由でアクセスできる必要があります。

Local Agent動作の仕組み

2.1 MQTTブローカー

  • Local Agentは、通信サービスのMQTTブローカーとしてMosquittoを使用します。
  • Local Agent管理サーバにMosquittoをインストールします。
  • Mosquittoをインストールする前に、以下のソフトウェアをインストールする必要があります。

    ・OpenSSL

    ・Microsoft Visual C++ 2017 Redistributable (x64)

2.1.1 OpenSSL

【インストール】

  • Mosquittoをインストールする前に、OpenSSLをインストールする必要があります。
  • OpenSSLは下記URLよりダウンロードできます。

   http://slproweb.com/products/Win32OpenSSL.html

OpenSSL

 

 

  • ダウンロードした「Win64OpenSSL_Light-1_1_1h.exe」をダブルクリックし、インストーラを起動します。
  • 利用規約に同意します。

利用規約に同意

 

  • インストール先フォルダを指定します。
  • デフォルト値「C:\Program Files\OpenSSL-Win64」で結構ですが、必要に応じて変更します。

インストール先フォルダを指定

 

  • スタートメニューフォルダを指定します。
  • デフォルト値「OpenSSL」で結構ですが、必要に応じて変更します。

スタートメニューフォルダを指定

 

  • OpenSSLのdllのコピー先を選択します。
  • 「The OpenSSL binaries(/bin) directory」を選択します。

OpenSSLのdllのコピー先

 

  • 設定内容を確認し、「Install」ボタンでインストールします。
  • 修正したい内容がある場合は、「< Back」ボタンで前画面に戻り修正します。

インストール

 

  • 完了画面が表示されます。
  • 寄付を行わない場合は全てのチェックをはずして「Finish」ボタンで完了します。

完了画面が表示

 

【環境変数の設定】

  • Mosquittoのインストールに必要なdllが、インストーラで指定したフォルダにコピーされます。
  • このフォルダのパスを、システム環境変数「Path」の値として追加します。

環境変数の設定

2.1.2 Microsoft Visual C++ 2017 Redistributable (x64)

【インストール】

  • Mosquittoをインストールする前に、Microsoft Visual C++ 2017 Redistributable (x64)をインストールする必要があります。
  • Microsoft Visual C++ 2017 Redistributable (x64)は下記URLよりダウンロードできます。

    https://my.visualstudio.com/Downloads?q=visual%20studio%202017&wt.mc_id=o~msft~vscom~older-downloads

Microsoft Visual C

 

  • ダウンロードした「VC_redist.x64.exe」をダブルクリックし、インストーラを起動します。
  • ライセンス条項および使用条件に同意し、「インストール」ボタンでインストールします。

VC_redist.x64

 

  • セットアップが完了します。

セットアップが完了

2.1.3 Mosquitto

【インストール】

  • OpenSSL、VC++ 再領布可能パッケージをインストールしたら、Mosquittoをインストールします。
  • Mosquittoは下記URLよりダウンロードできます。

    https://www.eclipse.org/downloads/download.php?file=/mosquitto/binary/win64/mosquitto-1.5.4-install-windows-x64.exe&mirror_id=1190

Mosquitto

 

  • ダウンロードした「mosquitto-1.5.4-install-windows-x64.exe」をダブルクリックし、インストーラを起動します。

インストーラを起動します

 

  • 必要となるOpenSSLのdllが表示されます。
  • 「2.1.1」章、および「2.1.2」章のソフトウェアがインストール済みであることを確認します。

OpenSSLのdll

 

  • コンポーネントの選択画面が表示されます。
  • デフォルト値のまま進めます(チェックボックスが非活性であるため変更できません)。

コンポーネントの選択画面

 

  • インストール先フォルダを指定します。
  • デフォルト値「C:\Program Files\mosquitto」で結構ですが、必要に応じて変更します。

インストール先フォルダを指定

 

  • 完了画面が表示されます。
  • 「Finish」ボタンで完了します。

「Finish」ボタンで完了

 

【ファイルのコピー】

  • <xpiインストーラフォルダ>\LocalAgent\Prerequisites\Mosquittoフォルダ配下のファイルをMosquittoのインストールフォルダにコピーします。

ファイルのコピー

 

【認証設定 - パスワードファイルの作成 -】

  • コマンドプロンプトでMosquittoのインストールフォルダに移動し、下記コマンドを実行します。

    .\mosquitto_passwd –c <パスワードファイル名> <ユーザ名>

  • パスワードを入力すると、暗号化されたパスワードを含むパスワードファイルが作成されます。

認証設定

 

【認証設定 – 設定ファイルの編集 -】

  • <Mosquittoインストールフォルダ>\mosquitto_localagent.conf を編集します。
  • 匿名モードをfalseに設定し、ユーザ名とパスワードファイルのパスを指定します。

設定ファイルの編集

 

設定項目 設定内容
allow_anonymous 匿名モードを許可するか否か
user ユーザ名
password_file パスワードファイルのパス

 

【Mosquittoの起動】

  • <Mosquittoインストールフォルダ>\broker.cmdをダブルクリックして起動します。

Mosquittoの起動

 

【Mosquittoの停止】

  • Mosquittoのコマンドプロンプトで「Ctrl+C」→「Y」→「Enter」と入力します。

Mosquittoの停止

2.2 オブジェクトストレージサーバ

  • Local Agentは、データ転送サービスのオブジェクトストレージサーバとしてMinioを使用します。
  • Local Agent管理サーバにMinioをインストールします。
  • Minioにはxpiのコネクタやログなどが格納されます。

2.2.1 Minio

【インストール】

  • Minioサーバ(minio.exe)とMinioクライアント(mc.exe)をダウンロードします。
  • Minioは下記URLよりダウンロードできます。

    https://min.io/download#/windows

minioインストール

 

  • ダウンロードしたexeを適当なフォルダに配置します。
  • ここでは「C:\Minio」フォルダを作成し、そこに配置しました。

ダウンロードしたexe

 

【ファイルのコピー】

  • <xpiインストーラフォルダ>\LocalAgent\Prerequisites\Minioフォルダ配下のファイルをMinioのインストールフォルダにコピーします。

minioファイルのコピー

 

【バケット作成】

  • コマンドプロンプトでMinioのインストールフォルダに移動し、バケット作成スクリプトを実行します。

バケット作成

 

  • バケット作成の過程で、別ウィンドウでMinioサーバが起動します。
  • 「Ctrl+C」で停止します。

Minioサーバ

 

【起動スクリプトの編集】

  • Minioの起動スクリプトを編集します。

    <Minioインストールフォルダ>\minio.cmd

起動スクリプトの編集

 

【Minioの起動】

  •  <Minioインストールフォルダ>\minio.cmdをダブルクリックして起動します。

Minioの起動

 

【Minioの停止】

  • Minioのコマンドプロンプトで「Ctrl+C」→「Y」→「Enter」と入力します。

Minioの停止

2.2.2 Minio管理コンソール

  • Minio管理サーバ上のブラウザから、下記URLでMinioの管理コンソールにアクセスできます。

    http://localhost:9000/minio/login

Minio管理コンソール

 

 

2.3 Local Agent管理コンソール

  • Local Agent管理コンソールは、WAR形式のWebアプリケーションです。
  • 使用するためにはApache Tomcat アプリケーションサーバが必要となります。
  • Local Agent管理サーバにTomcatをインストールします。

2.3.1 Apache Tomcat

【インストール】

  • Local Agent管理コンソールを使用するためにTomcatをインストールします。
  • Tomcatは下記URLよりダウンロードできます。

https://tomcat.apache.org/index.html

Apache Tomcatインストール

 

  • 「Archives」リンクをクリックします。

Archives

 

  • 「v8.5.55/」リンクをクリックします。

v8.5.55リンク

 

  • 「bin/」リンクをクリックします。

bin

 

  • 「apache-tomcat-8.5.55-windows-x64.zip」リンクをクリックします。

Apache Tomcat

 

  • ダウンロードしたzipファイルを解凍し、適当なフォルダに配置します。
  • ここでは「C:\」ドライブ直下に配置しました。

zipファイル

 

【設定ファイルの編集】

  • <Tomcatインストールフォルダ>\conf\logging.propertiesファイルを編集します。
  • 「java.util.logging.ConsoleHandler.encoding」の値を「UTF-8」から「SJIS」に変更します。

設定ファイルの編集

2.3.2 Local Agent管理コンソール

【ファイルのコピー】

  • <xpiインストーラフォルダ>\LocalAgent\Managementフォルダ配下のファイルを<Tomcatインストールフォルダ>\libにコピーします。

Local Agent管理コンソール

 

【WARファイルのコピー】

  • <xpiインストーラフォルダ>\LocalAgent\Managementフォルダ配下のwarファイルを<Tomcatインストールフォルダ>\webappsにコピーします。

WARファイルのコピー

 

【設定ファイルの編集】

  • <Tomcatインストールフォルダ>\lib\mgmt-console-api.propertiesファイルを編集します。
  • 下記の項目を設定します。
設定項目 設定内容 入力例
localAgent.managementId Local Agent管理サーバの管理ID installation1
mqtt.broker.url MosquittoのURL tcp://xxx.xxx.xxx.xxx:1883
mqtt.broker.username Mosquittoのユーザ名 localagent
mqtt.broker.password Mosquittoのパスワード 12345qwerty
minio.url MinioのURL http://xxx.xxx.xxx.xxx:9000

 

【Mosquittoの起動】

  • <Mosquittoインストールフォルダ>\broker.cmdをダブルクリックして起動します。

Mosquittoの起動

 

【Minioの起動】

  • <Minioインストールフォルダ>\minio.cmdをダブルクリックして起動します。

Minioの起動

 

【Tomcatの起動】

  • <Tomcatインストールフォルダ>\bin\startup.batをダブルクリックして起動します。

Tomcatの起動

 

 

【管理コンソール】

  • Local Agent管理サーバ上のブラウザで下記URLにアクセスし、管理コンソールを表示します。

http://localhost:8080/mgmt-console-api/

管理コンソール

 

【管理IDについて】

  • Local Agent管理サーバでは複数の管理IDを扱うことができます。
  • デフォルトでは「installation1」という管理IDのみ定義されています。
  • 管理IDの名前を変更したり、管理IDを追加したい場合は、下記ファイルを編集します。

<Tomcatインストールフォルダ>\lib\management-ids.xml

管理IDについて

 

 

2.4 ポートの開放

【ポートの開放】

  • Local Agent管理サーバはGlobal IPを持たせ、xpiサーバやLocal Agentからのインターネット経由でのアクセスを受け入れるため、ポートを開放する必要があります。
  • Mosquittoの使用する1883番、Minioの使用する9000番のポートを開放します。
  • Local Agent管理コンソールをxpiサーバやLocal Agent側のブラウザから使用したい場合は、Tomcatの使用する8080番のポートを開放します。

 

【Windowsファイアウォールの設定】

  • Windows ファイアウォールの「受信の規則」を作成し、ポートを開放します。

Windowsファイアウォールの設定

 

【クラウド環境の設定】

  • 下記は、Local Agent管理サーバをAWS EC2上に配置した場合のポートの設定例です。
  • セキュリティグループのインバウンドルールを設定します。

クラウド環境の設定

3.1 Local Agent

  • xpiサーバが、Local Agent管理サーバを介してデータ連携を行う相手側のマシンにLocal Agentをインストールします。
  • Local AgentはWindowsのサービスとしてインストールされます。
  • Local Agentをインストールするマシンには、Java 8(64bit)が必要です。

 

【インストール】

  • <xpiインストーラフォルダ>\LocalAgent\LAN\setupLA.exeを起動します。

Local Agentインストール

 

  • 「Next >」ボタンで進みます。

「Next 」ボタンで進みます

 

 

  • インストール先フォルダを指定します。
  • デフォルト値「C:\LocalAgent」で結構ですが、必要に応じて変更します。

Local Agentインストール先フォルダを指定

 

 

  • JRE8(x64)のパスを指定します。
  • JREがインストールされていない場合はいったんキャンセルし、JREをインストールしてください。

JRE

 

 

  • Local Agent名と、Local Agent管理サーバの管理IDを入力します。
  • Local Agent名は、ホストごとに重複しない名前を指定します。

Local Agent管理サーバ

 

 

  • Local Agent管理サーバのMQTTブローカー(Mosquitto)およびMinioのURLを入力します。
  • MQTTブローカーのURLは「tcp://xxxx:1883」、MinioのURLは「http://xxxx:9000」となります。

MQTTブローカー

 

 

  • 日本ではクラウド機能がサポートされていません。
  • Cloud Authenticationのチェックをはずし、空欄のまま次へ進みます。

Cloud Authentication

 

 

  • 設定内容を確認し、「Install」ボタンでインストールします。
  • 修正したい内容がある場合は、「< Back」ボタンで前画面に戻り修正します。

Local Agent設定内容

 

 

  • 完了画面が表示されます。
  • 「Finish」ボタンで完了します。

Local Agent_Finish

 

 

【設定ファイルの編集】

  • インストーラで指定した接続先のLocal Agent管理サーバの設定情報は、下記の設定ファイルを編集することで変更可能です。

    <Local Agentインストールフォルダ>\bin\AgentConnector\application.properties

    <Local Agentインストールフォルダ>\bin\AgentService\application.properties

 

設定項目 設定内容 入力例
localAgent.managementId Local Agent管理サーバの管理ID installation1
mqtt.broker.url MosquittoのURL tcp://xxx.xxx.xxx.xxx:1883
mqtt.broker.username Mosquittoのユーザ名 localagent
mqtt.broker.password Mosquittoのパスワード 12345qwerty
minio.url MinioのURL http://xxx.xxx.xxx.xxx:9000

 

 

【Local Agentの開始】

  • Windowsのサービス「Magic xpi 4.13 Local Agent」を右クリック>開始をクリックします。

Local Agentの開始

 

 

【Local Agentの停止】

  • Windowsのサービス「Magic xpi 4.13 Local Agent」を右クリック>停止をクリックします。

Local Agentの停止

4.1 magic.iniの編集

  • xpiサーバの接続先となるLocal Agent管理サーバの設定情報を、magic.iniファイルの[MAGICXPI_LA]セクションに記載します。
設定項目 設定内容 入力例
ManagementID Local Agent管理サーバの管理ID installation1
Broker MosquittoのURL tcp://xxx.xxx.xxx.xxx:1883
BrokerUsername Mosquittoのユーザ名 localagent
BrokerPassword Mosquittoのパスワード 12345qwerty
DataTransfer MinioのURL http://xxx.xxx.xxx.xxx:9000

※magic.iniファイルは<xpiインストールフォルダ>\Runtime\Magic xpaフォルダにあります

4.2 xpiプロジェクトの作成

  • Local Agentを使用するコネクタのリソースやサービスの設定画面において、Local Agent関連の設定を行います。

xpiプロジェクトの作成

Local Agent True
LA Name Local Agent名

5.1 事前準備

【Local Agent管理サーバ】

  • Local Agent管理サーバおよび管理コンソールを起動します(P.65~P.68参照)。

 

【Local Agent】

  • Local Agentサービスを開始します(P.87参照)。

 

【xpiサーバ】

  •  Local Agentを使用するコネクタを含む、xpiのプロジェクトを起動します。

5.2 コネクタのアップロード

  • Local Agentを使用するためには、xpiサーバ上にあるコネクタを、Local Agent管理サーバにアップロードする必要があります。
  • アップロードされたコネクタは、Local Agent管理サーバ内のMinioに格納されます。
  • Local Agent管理サーバがクラウド上にある場合などは、オンプレのxpiサーバ上のフォルダに直接アクセスできないので、あらかじめ何らかの方法でコネクタをコピーしておき、管理コンソールからアップロードします。

 

【コネクタのコピー】

  • 下記の例では、xpiサーバからリモートデスクトップ接続でクラウド上のLocal Agent管理サーバに接続しコネクタをコピーしています。

コネクタのコピー

 

【コネクタのアップロード】

  • Local Agent管理コンソールで管理IDを選択し、コネクタページを表示します。

コネクタのアップロード

 

  • 「Upload Connector」ボタンを押し、管理サーバ上にコピーしておいたコネクタを選択します。

Upload Connector

 

 

  • 一つ目の確認ダイアログで「アップロード」ボタンを押します。
  • 二つ目の確認ダイアログで「OK」ボタンを押します。

コネクタのアップロード

 

  • コネクタがアップロードされます。

アップロード済みのコネクタを削除

 

  • アップロードされたコネクタは、Minioの管理コンソールでも確認できます。

Minioの管理コンソール

5.3 コネクタのデプロイ

  • Local Agentを使用するためには、Local Agent管理サーバにアップロードされたコネクタをLocal Agentにデプロイする必要があります。

 

【コネクタのデプロイ】

  • Local Agent管理コンソールで管理IDを選択し、エージェントページを表示します。
  • 選択した管理IDに接続しているLocal Agentの一覧が表示されます。

コネクタのデプロイ

 

 

  • エージェント名横の「+」ボタンを押し展開します。

コネクタのデプロイ

 

  • Available Connectors横の「+」ボタンを押し、コネクタを選択してから「Deploy」ボタンを押します。
  • 確認画面で「OK」ボタンを押します。

Available Connectors

 

 

  • コネクタがデプロイされます。

コネクタのデプロイ

 

  • 管理コンソールからコネクタをデプロイすると、<Local Agentインストールフォルダ>\addonsフォルダにコネクタがコピーされます。

管理コンソールからコネクタをデプロイ

5.4 エージェントコネクタの起動

  • Local Agentにデプロイされたコネクタを、管理コンソールから起動します。

 

【エージェントコネクタの起動】

  • Local Agent管理コンソールで管理IDを選択し、エージェントコネクタページを表示します。
  • 「Start New Agent Connector」ボタンを押します。

エージェントコネクタの起動

 

 

  • 各種情報を入力し「OK」ボタンを押します。

エージェントコネクタの起動

 

設定項目 設定内容 入力例
Agent Name Local Agent名 agent1
Host Local Agentのホスト名 SuzukiLX6
Connector Name コネクタ名 SAP ERP
Connector Type コネクタタイプ STEP または TRIGGER
Project Name xpiプロジェクト名 SAP_ERPMobile
Heartbeat Period(ms) 死活監視の秒数(マイクロ秒) 10000

 

 

  • プロジェクトが起動していないという警告が出ますが、そのまま「OK」ボタンを押します。

プロジェクトが起動していないという警告

 

 

  • エージェントコネクタが起動します。

エージェントコネクタが起動

5.5 動作確認

  • xpiプロジェクトのトリガをキックし、フローを起動します。
  • ローカルエージェントを経由して、リモートのリソースとデータ連携ができることを確認します。

動作確認