CData Software Blog

クラウド連携のCData Software の技術ブログです。

ローコードツールでロジレスの商品マスタを Salesforce に連携:CData Driver & ArcESB

f:id:sugimomoto:20200729125847p:plain

こんにちは。CData リードエンジニアの杉本です。

今回はローコーディングのデータ統合ツール「ArcESB」を使ってロジレスの商品マスタデータを Salesforce に連携する方法を紹介します。

ロジレス とは?

ロジレスは受注業務・出荷業務・在庫管理を自動化するクラウドサービスです。

https://www.logiless.com/

f:id:sugimomoto:20200727092424p:plain

標準で多くのモール・カートサービスに連携しており、在庫情報を自動で更新できるようになっているのが特徴です。

f:id:sugimomoto:20200727092900p:plain

またロジレス では開発者向けAPIが提供されており、API経由で商品や仕入先などの各種マスタデータや受注伝票・出荷伝票などのトランザクションデータを取得・更新できるようになっています。

https://app2.logiless.com/developer/

f:id:sugimomoto:20200727092431p:plain

ArcESB とは?

ArcESB はローコードでETL/EAIなどのデータ連携やEDIなどの企業間での各種取引情報連携を実現できるWebアプリケーションです。

www.arcesb.com

f:id:sugimomoto:20191111155027p:plain

以下のようなフローデザイナーを提供しており、非開発者でも手軽にデータ連携が実現できます。

f:id:sugimomoto:20200729130458p:plain

今回はこのArcESBと CData Driver を組み合わせて、ロジレスの商品マスタデータをSalesforceに連携するための方法を解説します。

f:id:sugimomoto:20200729125847p:plain

必要なもの

以下の製品のインストールが必要になります。すべて30日間のトライアルが提供されていますので、是非試してみてください。

事前準備

まず使用する製品をそれぞれインストールします。以下のページから、ArcESBの本体を入手できます。必要に応じて、WindowsJava/Linux、Cloud Hostedのバージョンから選択してください。なお、本記事ではWindowsベースで進めます。

https://www.arcesb.com/download/

f:id:sugimomoto:20200108105906p:plain

インストールはそのままダイアログに従って進めれば大丈夫です。難しいところは特にありませんが、ログインする際のパスワード入力を求められる場所がありますので、忘れてしまわないように注意しましょう。

f:id:sugimomoto:20200108105913p:plain

ロジレス API 用のアプリの作成

続いて以下のページに移動して、ロジレスのAPIを使うためのOAuthアプリの登録を行います。(登録にはログインが必要です)

https://app2.logiless.com/developer/console/clients

f:id:sugimomoto:20200727092458p:plain

任意のアプリケーション名を入力し、リダイレクトURLに「htto://localhost:33333」を指定します。

f:id:sugimomoto:20200727092503p:plain

作成後、対象のアプリケーションをクリックすると

f:id:sugimomoto:20200727092510p:plain

クライアントIDとクライアントシークレットが入手できます。この情報を後ほど使用します。

f:id:sugimomoto:20200727092515p:plain

REST データ処理用 RSDファイルの作成

次に、ロジレス API を CData 各種 REST DeiverがSQLとして解釈できるように設定ファイルを作成します。

以下のGitHubから保存してください。

https://github.com/sugimomoto/CData.REST.Logiless

保存先フォルダは後ほど使用するので「C:\CData_REST\Logiless」といった書き込み可能な任意のフォルダに配置してください。

CData REST ODBC Driverのインストール

ArcESB と ロジレス APISalesforce APIを繋ぐために必要となる各CData Driverをインストールします。

以下のURLからCData REST・Salesforce ODBC Driverの30日間の評価版をダウンロードします。ダウンロードの際には、Emailの登録が必要となります。

https://www.cdata.com/jp/drivers/rest/download/odbc/

https://www.cdata.com/jp/drivers/salesforce/download/odbc/

f:id:sugimomoto:20200115120319p:plain

ダウンロードしたsetup.exeファイルをBIツールがインストールされているマシンにインストールします。インストールウィザードに従い、EULAを確認した上でインストールを完了します。

f:id:sugimomoto:20200115120325p:plain

※途中、ライセンスサーバーへのオンラインアクティベーションが行われるためネットワーク環境に接続されている必要があります。

インストールが完了すると、ODBCのDSN設定のウィンドウが立ち上がります。

以下の項目をセットし、保存します。OAuthClientIdとOAuthClientSecretには事前に取得したロジレスOAuthアプリの各値を設定してください。また、Otherには接続先となるマーチャントIDを指定します。

f:id:sugimomoto:20200727092523p:plain

入力後「接続テスト」をクリックするとブラウザが立ち上がり、以下のようにログインを求められます。

f:id:sugimomoto:20200727092529p:plain

ログイン後、アプリケーションのアクセス許可確認画面が表示されるので「承認」をクリックします。

f:id:sugimomoto:20200727092535p:plain

ODBC DSNの画面に戻り、以下のようにメッセージが表示されればOKです。

f:id:sugimomoto:20200727092541p:plain

以上で、CData REST Driverの準備は完了です。

同様の手順で CData Salesforce Driverも設定します。セキュリティトークンなどの詳しい取得方法はこちら

  • User=Salesforceのログインユーザーを指定;
  • Passowrd=Salesforceのログインユーザーパスワードを指定;
  • Security Token=APIアクセス用のセキュリティトークンを指定;

f:id:sugimomoto:20200729125950p:plain

ArcESB にログイン

それでは、実際にArcESBを使って連携処理を開発していきます。

ArcESBが起動すると、以下のようにログイン画面が表示されるので、UserName:adminとインストール時に入力したパスワードを使って、ログインします。

f:id:sugimomoto:20200729125955p:plain

ログイン後、「情報」タブへ移動し、トライアルライセンスをアクティベーションしましょう。

ArcESBは「フロー」からデータ連携のデザイナー画面へ移動できます。

f:id:sugimomoto:20200729130003p:plain

REST Connector を構成

デザイナー画面に移動したら、それぞれのデータ処理コネクターを配置していきます。

まずは、ロジレスの接続を構成しましょう。左側のConnection一覧から「Database」を選択し、キャンパスに配置します。

f:id:sugimomoto:20200729130009p:plain

任意のConnector Id を入力し「+コネクタを作成」をクリックします。

f:id:sugimomoto:20200729130014p:plain

Connector作成後、設定画面が出てくるので、接続の種類で「ODBC」を選択し、予め定義したロジレスへ接続できるREST の DSN を指定して保存します。

f:id:sugimomoto:20200729130019p:plain

次に取得したいテーブルを選択するために、マッピングのアウトプットタブから「+」ボタンの「テーブルまたはビュー」をクリックします。

f:id:sugimomoto:20200729130025p:plain

ロジレスで使用できるテーブル一覧が出てくるので商品マスタデータを取得できる「Articles」を選択します。

f:id:sugimomoto:20200729130029p:plain

次の画面に移動すると、取得する項目や諸条件を指定することができるMapping Editorに移ります。

今回は細かな設定は行いませんが、ここから特定の商品データ、最新の商品データだけ取得するといった条件を指定することが可能です。

f:id:sugimomoto:20200729130035p:plain

Salesforce Connectorの構成

続いて先程と同様に Salesforce Connector も構成していきます。同じように「Database」を配置して構成します。

f:id:sugimomoto:20200729130054p:plain

接続の種類から「ODBC」を選択し、今度はSalesforceのDSNを選びます。また接続先となるSalesforce 環境の「User」「Password」を入力し、「変更を保存」をクリックします。

f:id:sugimomoto:20200729130103p:plain

Salesforce にはデータ登録を行うため、マッピングから「インプット」を選択し「+」ボタンから「テーブルまたはビュー」をクリックします。

f:id:sugimomoto:20200729130112p:plain

対象のエンティティ(テーブル)一覧がリストアップされるので、「Product2」 を選択します。

f:id:sugimomoto:20200729130119p:plain

次のマッピングエディタで項目の設定などを行います。今回はデフォルトの設定のまま進めますが、Upsertなどの設定をここで行うことも可能です。

f:id:sugimomoto:20200729130128p:plain

マッピングの作成

続いて、ロジレス と Salesforce の項目を紐付けるための マッピング用 Connectorを配置します。

左の一覧から「XML Map」を選択し、キャンパスに配置します。

f:id:sugimomoto:20200729130133p:plain

任意のConnector Idを入力し「+コネクタを作成」をクリックします。

f:id:sugimomoto:20200729130138p:plain

Connector構成後、まずそれぞれのInputとOutputを紐付けます。以下のようにドラッグアンドドロップで、事前に作成した ロジレス / Salesforce Connectorと紐付けて、画面右下にある保存ボタンをクリックすればそのままOKです。

f:id:sugimomoto:20200729130144p:plain

次に、Mapの設定画面を開きます。接続が正常に構成されていれば、Source FileとDestination Fileが以下の様に入力されているはずです。

f:id:sugimomoto:20200729130149p:plain

画面下で各項目のマッピングを行う領域が表示されているので、ここで項目をドラッグ・アンド・ドロップして、ロジレスと Salesforceのアプリ項目一覧を紐付けていきます。

f:id:sugimomoto:20200729130157p:plain

紐付け後、保存をすれば、設定完了です。

実行設定

最後にデータ連携の実行間隔を設定します。実行間隔の設定は、データ取得元である ロジレス Connector の詳細画面から「オートメーション」タブで設定します。

「受信」のチェックボックスにチェックを入れて、実行間隔を指定しましょう。以下の画面では、毎日に12時に起動する設定にしています。

f:id:sugimomoto:20200729130206p:plain

実行方法

それでは構成したフローを実行してみます。

タイマー起動ではない、手動での実行は「アウトプット」の「受信」ボタンをクリックすることで可能です。

f:id:sugimomoto:20200729130218p:plain

「受信」ボタンをクリックすると、ロジレスから商品データが取得され、以下のようにArcESBにロードされたことがわかります。

f:id:sugimomoto:20200729130223p:plain

最終的な処理結果は Salesforce Connector のインプットタブから確認できます。ここで処理結果がSentになっていれば、Salesforce側に正常に処理が行われたことになります。

f:id:sugimomoto:20200729130228p:plain

実際にロジレス・Salesforceのそれぞれの画面を見てみると、以下のように商品データが登録されていることが確認できます。

f:id:sugimomoto:20200729130234p:plain

おわりに

このように、ArcESBとロジレス/Salesforce Driver を活用することで、各データの連携処理を簡単に構築することができました。

CDataでは Salesforce 以外にも、Kintone や Dynamics 365といった様々な Driver を提供しています。是非任意のツール・サービスに接続するために試してもらえればと思います。

https://www.cdata.com/jp/odbc/

f:id:sugimomoto:20200108110242p:plain