LoginSignup
1
0

More than 1 year has passed since last update.

DataSpiderでAgileWorksにつないでみた(2/2)(DataSpider設定編)

Last updated at Posted at 2022-12-02

はじめに

こんにちは!すぎもんです:grinning:

DataSpiderでAgileWorksにつないでみた、の第二弾になります。
前回の記事で、AgileWorksのAPIを使う準備はできましたので、今回はDataSpider設定を進めていきます。

前回の記事↓↓↓↓↓
DataSpiderでAgileWorksにつないでみた(1/2)(アドオン開発編)の続きになります。
引き続き本記事も、最後まで読んでいただけたら嬉しいです!

DataSpiderの設定(POST実行処理)

新規でプロジェクトとスクリプトを作成します。
また、スクリプト内のロジックで使える「スクリプト変数」も作成します。
デザイナの上部メニューから[スクリプト変数新規作成]のメニューアイコンを押下します。
image.png
スクリプト変数は下記の通りで2つ作成します。

  変数名 : docId
  変数型 : 文字列
  値   : 20(書類ID) ※前記事のAgileWorks設定参照

  変数名 : formCode
  変数型 : 文字列
  値   : keiyaku_form(フォームコード) ※前記事のAgileWorks設定参照

次にDataSpiderのデザイナ右側にあるツールパレットから「ネットワーク」-「REST」-「post実行」のアイコンを、デザイナ上にドラッグ&ドロップして設定画面を開きます。
image.png

まず「必須設定」タブの設定です。接続先のテキストボックスを選択して、追加を選択します。この「接続先」は、RESTで接続する先のURLを設定することになります。「パス」の値は、「接続先」で設定したURLの後ろに付加され、最終的なendpointになります。

今回は以下のように設定しました。

  名前 : AgileWorks接続用
  URL  : http://{AgileWorksServieBusサーバ}:7501/dss-test
  パス : /testGetDocInfo/

接続先の設定内の「接続テスト」を押下すると、入力されているURLがDataSpiderと通信ができるか、を確認することができます。OKであれば「接続先」が正しく設定されています。
image.png
下記のように設定しました。
image.png

「パス」の値は、APIの最終的なendpointの内、「接続先」に設定したURL値の後ろ(残り)の部分です。AgileWorksServiceBus(以降、ASB)設定で作成したサービスルートのコードになります。

次に、「リクエスト設定」タブの設定は下記の通りです。

ここでは、クエリパラメータ以外のリクエストデータをどのように扱うか指定します。
ASBを介したリクエストは、クエリパラメータを使用せず、body部にJSONデータをセットします。
image.png
最後に、「レスポンス設定」タブです。
ここでは、レスポンスをどのように扱うかの設定を行います。

今回は、レスポンスの内容を閲覧するだけなので、データ出力形式を「ファイル」にして、ファイルパスには、簡易的に「/data/agileworks_response.json」と設定します。
image.png

ファイルパスは、Dataspiderのdataディレクトリからの相対パスです。

以上で、POST実行処理の設定は完了です。

DataSpiderの設定(マッピング設定)

引き続き、マッピングの設定を行います。

DataSpiderのデザイナ右側にあるツールパレットから「変換」-「基本」-「マッピング」のアイコンを、デザイナ上にドラッグ&ドロップします。下記のウィンドウが表示されますので、「プロセスフローとデータフローを引く」を選んでOKを押下します。
image.png
マッピング設定画面を開き、作成したスクリプト変数「docId」と「formCode」を、Json形式でリクエストデータとしてマッピングします。

マッピング項目は、前回記事でAsbCallRequestModelの引数bodyからの取得対象「docId(書類ID)」と「formCode(フォームコード)」です。

出力先のマッピング対象は、「execute_http_post」を右クリックして「ルート要素の追加」から属性及び子要素を追加して作成しました。スキーマファイルを別途用意して読み込んで設定も可能です。

マッピングは、スクリプト変数の「docId」を出力先の「execute_http_post」の「docId」にドラッグ&ドロップします。スクリプト変数「formCode」も、同様です。
スクリプト変数「docId」と、「execute_http_postのdocId」
スクリプト変数「formCode」と、「execute_http_postのformCode」

最後に、「文字列定数」を使って、type属性へのマッピングをします。
ツールパレットから「文字列」-「基本」-「単一行文字列定数」をMapper内にドラッグ&ドロップして、文字列定数「object」と「string」を作成します。

下記の通り、それぞれを線でつなぎます。
文字列定数「object」と、「rootのtype属性」
文字列定数「string」と、「docIdのtype属性」
文字列定数「string」と、「formCodeのtype属性」
image.png
これでマッピング完了です。

デバック実行

完成スクリプトはこちらです。
image.png

デバック実行してみます。
image.png

実行後に、DataSpider内のエクスプローラを開き、dataディレクトリを確認します。
「agileworks_response.json」が作成されていることが確認できます。
image.png

中身に書類の情報が入っていれば成功です。
image.png

最後に

今回は、「DataSpiderでAgileWorksにつないでみた(DataSpider設定編)」でした。
前回記事DataSpiderでAgileWorksにつないでみた(1/2)(アドオン開発編)の続きでしたが、皆さん、いかがでしたでしょうか?

今回は、REST接続をして書類IDなどの「条件を固定値」にして「書類情報を取得」しました。この条件をWebAPI側で「条件を変数値」にすることで、より汎用性のある連携が可能になりそうですね。
DataSpider設定編となる本記事の内容は、他サービスとのREST API連携でも参考になる内容だと思います!是非、皆さんの何かのご参考になれば幸いです。

今回やってみたPOST実行による「情報取得」は、まずは第一歩です。ワークフローの中には、ユーザー情報や処理の日時情報など、業務改善に使えそうな情報がたくさんあります。今回取得した情報以外の情報もDataSpiderのPOST実行で取得できます。
日々の業務の中に埋もれた情報を拾い上げ、その情報をどう「活用」していくかが重要であり、難しくもあり、一番の考えどころですよね。DataSpiderと繋いだその先の「データ活用」をどうするのか、是非ご自身の業務の中でもDataSpiderを試してみて体感してみてください。

関連して、DataSpiderの処理アイコンをどう使えばいいのか、そんなことがわかるTips記事も今後書いていきたいと思います!日々の業務で学んだり思いついた開発Tipsなどを今後も投稿していきます!

お読みいただきありがとうございました。それでは、また!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0