Help us understand the problem. What is going on with this article?

DataSpiderを使った連携処理開発の進め方

More than 3 years have passed since last update.

はじめに

DataSpiderを使うときこんな感じに作業を進めると割と簡単に処理を組み込むことができるんじゃないかと思うことをまとめてみました。

実現したいことを考える

最初はDataSpiderがどうとかそういったことは考える必要はありません。
まずは何を実現したいのか、まずはここからはじめます。
できれば実現したいことの

  • コンセプトをひとつ、
  • コンセプトを実現するための具体的な機能レベルを構成要素として箇条書きで。
  • それとこの機能を使ったユーザの利用シーン(ユーザシナリオというのかな?)
  • と、利用シーンがイメージしやすいイラストを、

という順序というか、こうした作業を行ったり来たりで要件を落とし込んでいく。
image

利用できそうなAPIを選定する

APIには色々な種類があるので上記コンセプト、構成要素の機能になりそうなAPIを探します。
ここはMashupAwardsのサイトから探すとまとまっているので便利です。

そして足りないところはもちろん自分で実装する。

起動タイミングと方向を考える

構成要素(API群)が決まったら、

  • その処理がどのタイミングで(ファイルが配置されたタイミング、定期実行、他のアプリケーションからのCall、etc...)
  • どのような形式でどのようなパラメータを渡して(JSON、XML、SOAP、csvなど)
  • どちらの方向で連携が行われるのか

を確認していきます。
image
ここでDataSpiderとしてはトリガーの種類(HTTP、スケジュール、etc...)I/F形式(JSON、XML、ファイル、etc...)の定義をしていきます。

疎通確認をする

起動タイミングとI/F形式が決まったら疎通確認に入ります。
1.個々のAPI毎にアダプタを使って接続検証
 - Studioのツールパレットからデータリソースに合わせたコンポーネントを選択します。
  image

2.連携元、先におけるデータ構造の違いはマッパーで解消
 - ツールパレットの変換カテゴリから基本マッピングを使います。
  image

2.各API群を単純データでつなぎ合わせ、シナリオの通りの動作をさせる。
 - まずは固定値で全体の流れを確認することが目的なので、変数ではなく固定値で。
 image

一連の流れが確認できたら完了です。

変化を与える

インプットパラメータによって処理に変化を与えるため、変数を利用して先程の処理を改良していきます。
例えばファイル名が都度異なる場合や、画面上で入力した値を利用したい場合などです。

1.スクリプト変数の作成
 - プロジェクトエクスプローラの対象スクリプトを右クリックして新規作成スクリプト変数へと進みます。
 image

 - 名前→変数名、変数型→複数の型から選択、入力、出力変数の種類を選択して、必要に応じて初期値を利用します。
 image

2.スクリプト変数の組み込み
 例えばファイル名称を変数として定義したい場合
 1. 固定のファイル名を削除し、imageをクリックします。
 image

 2. 先程作成したスクリプト変数を選択します。
 image
 ※その他環境変数コンポーネント変数も利用可能ですので必要に応じて利用します。

 3. ${}で囲まれている部分が変数となります。
 image

 4. テスト実行時の値を設定しますので、プロジェクトエクスプローラのスクリプトを右クリックしてプロパティを選択します。
 image

 5.テスト実行時の引数値を設定するにチェックを入れて、テスト実行時の値を入力して設定は完了です。
 image

さいごに

以上が大まかな流れになります。(一部細かい話もありましたが・・・)

 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした