サービスの基礎知識

本ページでは、SUISUI-ETLでサービスを開発するにあたって必要となる、基本的な概念や機能・用語、および簡単なスクリプトの作成手順について記述します。

サービスの基本要素

サービスの基本的な要素について説明します。

スクリプト

スクリプトとは、SUISUI-ETL Server上で公開・実行されるサービスを構成する一連の処理の流れを記述したものです。プログラミング言語で言い換えると、ソースコードにあたります。
スクリプトはデザイナで設計・開発します。また、スクリプトからスクリプトを呼び出すこともできます。この際に呼び出されたスクリプトのことを「子スクリプト」、呼び出したスクリプトを「親スクリプト」と呼びます。

プロジェクト

プロジェクトとは、関連するスクリプトをまとめたものです。SUISUI-ETLでは、プロジェクト単位で読み込み・保存を行います。
サーバに保存したプロジェクトはマイプロジェクトから参照することができます。また、サーバにサービスとして登録する際もプロジェクト単位で行います。

サービス

サービスとは、スクリプトがサーバに登録され、ほかのプロジェクトのスクリプトやトリガーScriptRunnerなどの実行ツールから呼び出せる状態になったものを表します。
マイサービスで管理します。

オペレーション

オペレーションは、データの読み取りや変換、書き込みなどの個々の処理を行う単位です。オペレーションはデザイナ上では1つのアイコン(コンポーネントアイコン)として表示されます。
オペレーション間で処理の流れやデータの流れ(フロー)を作成する場合には、流れを作りたい方向にコンポーネントアイコンをドラッグ&ドロップすることで関連付けられます。SUISUI-ETLでは、処理の流れとデータの流れを別々に定義することができます。つまり、複数のオペレーションで同一の読み取りオペレーションの結果データを再使用することができ、何度も読み取り処理を行う必要はありません。

コンポーネント

コンポーネントは、オペレーションの集合体です。
コンポーネントは、以下の要素で構成されています。

アダプタ

アダプタは、データの読み取り、書き込みを行うコンポーネントです。
SUISUI-ETLのアダプタは、デザイナのツールパレット上では以下のようなカテゴリに分類されます。

カテゴリ 説明
基本 妥当性検証やアサーションなどのアダプタが属するカテゴリです。
ファイル CSVやXMLなどの各種ファイルフォーマットに対応したアダプタが属するカテゴリです。

コンバータ

コンバータは、アダプタで読み取った結果データ変数を変換するためのコンポーネントです。
デザイナのツールパレット上では、主に「変換」カテゴリに属します。
SUISUI-ETLでは、以下の種類のコンバータが用意されています。また、Mapperでは変換処理をGUIで設定できる専用のエディタ(Mapperエディタ)を使用することができます。

コンバータ名 名前 処理名 カテゴリ
Mapper 変数Mapper 変数代入 基本/処理
ドキュメントMapper マッピング 変換/基本
マージMapper マージ 変換/基本
文字 Character Converter CP932からSJISに変換 変換/文字
SJISからCP932に変換 変換/文字
Ignore Invalid Char Filter 不正なXML文字削除 変換/文字
XSLT XSLT構造変換 変換/XSLT

スクリプトコンポーネント

スクリプトコンポーネントとは、フロー制御やメモなど、スクリプト作成に必要な機能をまとめたコンポーネントです。
デザイナのツールパレット上では「基本」カテゴリに属します。
SUISUI-ETLでは、主に以下のようなスクリプトコンポーネントがあります。

サブカテゴリ 説明
処理 外部アプリケーション起動処理や待機処理など
フロー 繰り返し処理や例外監視処理など
その他 グループ処理やメモなど

フロー

スクリプトには、処理の流れを表す「プロセスフロー」と、データの流れを表す「データフロー」があります。プロセスフローとデータフローを総称して「フロー」と呼びます。
SUISUI-ETLでは、フローをプロセスフローとデータフローを分離することにより、一度処理した処理結果を後続のコンポーネントで何度も使用することができます。

プロセスフロー

プロセスフローとは、処理の流れを表します。スクリプトはプロセスフローで結ばれた順番に処理されます。
プロセスフローは、「start」コンポーネントから開始され、「end」コンポーネントおよび「break」コンポーネントで終了します。

データフロー

データフローとは、データの流れを表します。
読み取り系アダプタやコンバータから書き込み系アダプタやコンバータにデータフローを引くことができます。

結果データ

コンポーネントの処理結果を「結果データ」と呼びます。
主に読み込み系アダプタとコンバータが結果データを生成します。また、書き込み系アダプタとコンバータは結果データを「入力データ」として扱います。

変数

SUISUI-ETLでは、「スクリプト変数」、「コンポーネント変数」、「環境変数」、「トリガー変数」の4種類の変数が用意されています。

名前 使用できるスコープ 説明 スクリプト内での値の変更 入力フィールドの記述方法 使用例 備考
スクリプト変数 スクリプト スクリプト内で使用できる変数です。
ユーザが自由に作成および追加を行うことができます。

(変数Mapperを使用します。)
${スクリプト変数名} ${var}
コンポーネント変数 スクリプト コンポーネント用としてあらかじめ用意されている変数です。
コンポーネントで発生したエラーや、処理したデータの数などを取得することができます。
不可
(コンポーネントの実行時に自動的に設定されます。)
${コンポーネント名.コンポーネント変数名} ${csv_read.count}
  • コンポーネントの実行時にデフォルト値で初期化されます。
  • 詳細については、各アダプタのオペレーションのページを参照してください。
環境変数 SUISUI-ETL Server SUISUI-ETL Server全体で使用できる変数です。
ユーザが自由に作成および追加を行うことができます。
不可 %{環境変数名} %{DB_HOST}

入出力

入出力とは、スクリプトの引数(スクリプト入力変数)と戻り値(スクリプト出力変数)のことです。入出力は、スクリプトで定義されたスクリプト変数に、入出力用の属性を付加することで実現されています。
SUISUI-ETLのスクリプトは複数の引数を取ることができ、複数の戻り値を返すことができます。入出力であるスクリプト入力変数、スクリプト出力変数を総称して「入出力インターフェース」と呼びます。

入出力の設定は、スクリプト変数の作成/編集画面およびスクリプトのプロパティの[入出力]タブで行います。

終了ステータス

終了ステータスは、スクリプトが終了した際にスクリプトを実行したツールに返される値です。
詳細については、「終了ステータス」を参照してください。

実行ID

スクリプトは、1スクリプトにつき1つの、SUISUI-ETL Server上で一意なIDを割り振られます。これを「実行ID」と呼びます。
実行IDは、ログタスクマネージャでスクリプトを識別する際に必要となります。

実行環境ID(VMID)

実行環境IDとは、SUISUI-ETL Server起動時にSUISUI-ETL Serverプロセスに対して内部的に割り振られる一意のIDです。
実行環境IDは、SUISUI-ETL Serverの設定Mapperロジック実行環境IDexecログでSUISUI-ETL Serverプロセスの識別のために使用されます。