ASTERIA WARPチュートリアルガイド

チュートリアル
∼
はじめまして
ガイド
「ASTERIA WARP」
第7版
インフォテリア株式会社
∼
目次
●
はじめに ........................................................................................................................................1
1. ASTERIA WARPの起動と接続...........................................................................................................2
1.1 ASTERIA WARPについて ............................................................................................................2
1.2 サーバーを起動する .....................................................................................................................2
1.3 デザイナーを起動する .................................................................................................................3
1.4 デザイナーからサーバーへ接続する ............................................................................................3
1.5 デザイナーの画面.........................................................................................................................5
2.フローの実行(基本操作).................................................................................................................6
2.1 教材フローの処理を確認し、実行してみましょう.......................................................................6
2.2
新規にフローを作成して、実行してみましょう ......................................................................11
2.3
FSMCへログインし、実行ログの確認をしてみましょう ........................................................19
3.フローの作成と実行..........................................................................................................................21
3.1 RDBにアクセスするフローを作成して、実行してみましょう ..................................................21
3.2 RDBから取り出したデータをCSV形式に変換(マッピング)するフローを作成して、実行してみま
しょう .................................................................................................................................................34
3.3 Excel連携 教材フローと同じ処理のフローを作成して、実行してみましょう ........................42
3.4 RDBを更新するフローを作成して、実行してみましょう .........................................................70
„ 補足 1 データベース(Microsoft Access)との連携..........................................................................78
„ 補足 2 ASTERIA WARPからデータベースへの接続 .....................................................................81
„ 補足 3 ログビューアーについて ...................................................................................................87
„ 補足 4 Exception設定について .....................................................................................................95
z 改版履歴 ......................................................................................................................................97
● はじめに
本書は、初めて ASTERIA WARP を操作する方を対象にしたチュートリアル基本編です。
前提として ASTERIA WARP の概要を理解している必要があります。本書を読む前に、ASTERIA WARP
について説明を受けるか、弊社のホームページの ASTEIRA WARP 情報をご一読ください。
◇ 製品概要
http://www.infoteria.com/jp/asteria/pd_warp.php
◇ ソリューション
http://www.infoteria.com/jp/asteria/solution/use.php
◇ 導入事例
http://www.infoteria.com/jp/asteria/case/
ASTERIA WARP 無料体験版のご案内
ASTERIA WARP 無料体験版を利用出来ます。
https://www.infoteria.com/jp/product/asteria/trial/
・ASTERIA WARP の最新版をフルオプションで試用可能。
・試用期間は 30 日間。
是非お試しください。
1
1.ASTERIA WARP の起動と接続
1.
ASTERIA WARP の起動と接続
ここでは、ASTERIA WARP Server と Flow Designer の起動方法などを説明します。
1.1
ASTERIA WARP について
ASTERIA WARP は、次の4つの構成で各機能を提供します。
No
名称
内容
1 ASTERIA WARP Server
フローおよびパイプラインの実行環境となるプ
ラットフォーム
2 Flow Designer
フローを作成する GUI ベースの統合設計環境
3 Flow Service Management Console
ASTERIA WARP Server のフローサービス管理コン
(FSMC)
ソール
4 Pipeline Coordinator
パイプラインを作成する Web ベースの設計環境
および管理コンソール
実習では、実際に Flow Designer(以降、デザイナー)を使ってフローを作成して ASTERIA WARP
Server(以降、サーバー)上で実行する方法について解説していきます。Flow Service Management Console
(以降、FSMC)は、フローサービスの運用状況の監視、各種設定、メンテナンスなどが可能な Web
ベースの管理コンソールですが、実習でのフロー作成、実行時には必要がないため、説明を省略します。
尚、本実習では Pipeline Coordinator を使ってのパイプライン作成は行いません。
1.2
サーバーを起動する
ASTERIA WARP では、デザイナーからサーバーに接続してサーバー上にフローを作成していくため、
先にサーバーを起動します。
○Windows の[スタート]メニューから[プログラム]→[ASTERIA WARP]→[フローサービス開始]を選択し
ます。起動するとモニター画面が表示され、サービスの起動状況を確認することができます。
※画面の右上にある[X](閉じる)ボタンをクリックすると、強制終了してしまうため注意してください。
2
1.ASTERIA WARP の起動と接続
1.3
デザイナーを起動する
デスクトップに作成された[フローデザイナー]のショートカットをダブルクリックします。
1.4
デザイナーからサーバーへ接続する
デザイナーからサーバーへ接続するには、サーバー上で管理している ASTERIA アカウントでログイン
します。実習では、インストール時に自動的に作成される初期アカウントの1つ、guest ユーザーを使
います。各ユーザーはホームディレクトリを持ち、ホームディレクトリは作成したフローの保存先とな
ります。
①
ツールバーの一番左にある「サーバーを追加」をクリックして「ログイン」ウィンドウを開きます。
[メニューバー]
[ツールバー]
「サーバーを追加」をクリック
3
1.ASTERIA WARP の起動と接続
②
「ログイン」ウィンドウの各項目へ以下の内容を入力し、
「OK」ボタンをクリックします。
③
接続に成功すると、デザイナー画面の左側にサーバーの情報(サーバーリスト)が表示されます。
サーバーリスト
4
1.ASTERIA WARP の起動と接続
1.5
デザイナーの画面
ここで、デザイナーの画面構成について簡単に説明します。
デザイナーの画面はフローの構成要素ごとにペインが独立しています。
【1
【2
【3
【4
【5
【6
【7
【8
【9
パレット】
ツリーペイン】
ファイルペイン】
コネクションペイン】
インスペクタ】
変数ペイン】
ストリームペイン】
メッセージペイン】
ワークスペース】
︻5 インスペクタ︼
︻2 ツリーペイン︼
【1 パレット】
【9 ワークスペース】
︻6 変数ペイン︼
︻3 ファイルペイン︼
【4 コネクションペイン】
【7 ストリームペイン】
【8 メッセージペイン】
※レイアウトを好みに変更することができ、また、メニューからすぐに初期状態
きます。
5
に戻すことがで
2.1
教材フローの処理を確認し、実行してみましょう
2.フローの実行(基本操作)
ここでは、フローの基本概念と実行方法などを説明します。
2.1
教材フローの処理を確認し、実行してみましょう
教材にあるすでに作成されたフロー(Excel ファイルから CSV ファイルを作成する)を実行します。
¾ プロジェクトとフロー
1つの処理を行う単位で「フロー」を作成します。複数のフローをまとめて管理するものを「プロジェ
クト」といいます。ASTERIA WARP では、一つのプロジェクトを一つのファイルとして保存し、その
ファイルのことをプロジェクトファイル、または拡張子から xfp ファイルといいます。保存先はユーザ
ーのホームディレクトリです。
¾ ユーザー環境の確認
すでに guest ユーザーのホームディレクトリには、ここで使うための教材のフローとデータファイルが
置かれています。デザイナー画面の左側にあるツリーペインとファイルペインにて確認してください。
ツリーペイン
ファイルペイン
¾ フローの確認
○教材にある Work.xfp の「work1」フローをダブルクリックして開いてください。
6
2.1
教材フローの処理を確認し、実行してみましょう
このフローは、Excel で作成された注文書(order1.xls)から CSV データを生成し、ホームディレクトリの
output フォルダに order1003_yyyy-MM-dd.csv というフローの実行日を含んだ名前でファイルを作成し
ています。
¾
①
②
フローの実行
左側のツリーから「Work.xfp」プロジェクトの「work1」フローをダブルクリックして開きます。
ツールバーの「フローの実行」をクリックして「フローの実行」ウィンドウを開きます。
フローの実行
③
デザイナー下部のメッセージペインにコンパイルの結果が表示されます。
コンパイルとは、デザイナーで作成したフローの記述に間違いがないかどうか確認することをいい
ます。デザイナーの初期状態の環境設定では、フローの保存時にコンパイルするようになっている
ため、この実習時には特に意識する必要はありません。また、デザイナーからのフローの実行時に
は、保存してコンパイルするようになっています。
7
2.1
教材フローの処理を確認し、実行してみましょう
フローの実行ウィンドウ
コンパイルの結果
④
「フローの実行」ウィンドウ下部の「実行」ボタンをクリックし、フローを実行します。
ステータスが「正常終了」になります。出力ストリームの欄では、ファイルに出力された内容を確
認することができます。
出力された内容
実行結果
⑤
メッセージペイン
実行ボタン
確認後、「閉じる」ボタンをクリックします。
8
2.1
教材フローの処理を確認し、実行してみましょう
フローは、以下のようなイメージで呼び出され、実行されています。
¾ 実行結果の確認
フローで生成したファイルを確認します。
① 左側のファイルペインの上段にある「最新の状態に更新」ボタンをクリックします。
最新の情報に更新
9
2.1
②
教材フローの処理を確認し、実行してみましょう
ツリーから output フォルダをダブルクリックして、出力されたファイルを表示します。
ダブルクリック
③
「order1003_yyyy-MM-dd.csv」(yyyy-MM-dd は今日の日付)をダブルクリックして、CSV ファイル
を開きます。
(CSV ファイルの場合、Excel が起動します)
ダブルクリック
④
実行結果の CSV データの内容を確認することができます。
10
2.2
新規にフローを作成して、実行してみましょう
2.2 新規にフローを作成して、実行してみましょう
ここでは、フローの作成手順と基本的な操作方法などを説明します。
先ほど実行した「work1」フローが出力したファイルを読み込むフローを作成、実行します。
¾ 新規プロジェクト、新規フローの作成
フローを作成するには、まずプロジェクトを作成します。
① ツリーペインのサーバーを選択し、右クリックで表示されるメニューから「プロジェクトの作成」
を選択して、
「プロジェクトの作成」ウィンドウを開きます。
選択
②
ここでは初期値のままプロジェクトを作成します。「OK」ボタンをクリックします。
11
2.2
③
新規にフローを作成して、実行してみましょう
左側のツリーペインに、新規プロジェクトとフローが追加されます。ワークスペースには新規フロ
ーが表示されます。
¾ コンポーネント
ファイルの読み書きや、データベースとの入出力など、さまざまな機能を持ったアイコンをつなぎ合わ
せていくことで、フローの処理を作成していきます。そのアイコンのことを「サービスコンポーネント」
といい、通常「コンポーネント」と呼んでいます。各コンポーネントはデザイナーの上部にあるパレッ
トに機能ごとのタブにまとめられています。(コンポーネントによっては、別途ライセンスを必要とする
場合があります。
コンポーネントの使い方を参照するには:
メニューバーにある「ヘルプ」を選択し、表示されたメニュー内の「ヘルプ」を選択すると、Web ブラ
ウザで「フローサービスマニュアル」が表示されます。「コンポーネント」タブを選択すると、各種コ
ンポーネントの詳細が表示されます。
また、コンポーネントがパレットにある状態、またはフローに配置した状態で右クリックして表示され
るメニューから「ヘルプ」を選択すると Web ブラウザでヘルプが表示されます。
¾ ストリーム
フロー、コンポーネントが入出力するデータを ASTERIA WARP では「ストリーム」といいます。
12
2.2
新規にフローを作成して、実行してみましょう
¾ 処理の作成
新規フローの初期状態には、Start コンポーネントが配置されています。
① Start に続けて、ファイルを読み込むコンポーネント(「ファイル」タブの「FileGet」)を、ワークス
ペースにドラッグ&ドロップして配置します。
※コンポーネント間は配置された段階で自動的に連結されます。
ドラッグ&ドロップ
②
フローを終了するコンポーネント(パレット内の「お気に入り」にある「EndResponse」)を配置し
ます。
ドラッグ&ドロップ
13
2.2
新規にフローを作成して、実行してみましょう
コンポーネントや連結を削除するには:
コンポーネントまたは連結線をクリックして選択し、Delete キーを押すか、右クリックして表示された
メニューから「削除」を選択します。
コンポーネントとコンポーネントを連結するには:
コンポーネントの下部にある丸印(コネクタ)にマウスカーソルを合わせます。アイコンの形状が下記
になります。
その状態でドラックし、連結したいコンポーネントにドロップして連結を行います。
自動的に連結させないようにするには:
パレットからワークスペースに、Ctrl キーを押しながら配置すると、自動的に連結されません。また、
メニューバーの「ツール」 >> 「環境設定」にある「表示/編集」タブの「フロー」欄 >> 「コンポー
ネントドロップ時に直近のコンポーネントに自動リンクする」を解除すれば、自動的に連結されません。
解除
14
2.2
新規にフローを作成して、実行してみましょう
¾ 処理内容の設定
コンポーネント毎に、必要となるプロパティを設定します。
このフローでは、
「FileGet」コンポーネントで読み出すファイル名([ファイルパス]プロパティ)のみの
設定で、フローの作成は完了です。
① 「FileGet」コンポーネントをクリックして、右上のインスペクタにプロパティを表示します。
選択したコンポーネント
(FileGet)のプロパティ
②
[ファイルパス]プロパティの右側の入力欄をクリックし、さらに右端に表示される「...」をクリ
ックして、ファイルパスの入力ウィンドウを表示します。
15
2.2
新規にフローを作成して、実行してみましょう
③
ホームディレクトリが表示されるので、ここでは「output」を選択します。
④
「output」ディレクトリが表示されるので、ここでは「order1003_yyyy-MM-dd.csv」(yyyy-MM-dd
は今日の日付)を選択し、「開く」ボタンをクリックします。
⑤
右下のストリームペインにあるプロパティ名のストリーム型の左側に表示される「+」をクリック
します。
16
2.2
⑥
新規にフローを作成して、実行してみましょう
切り替わった下部の内容を以下のように設定します。
これで、フローの作成が完了しました。
¾ フローの実行
フローを保存し、コンパイル処理が OK になりフローが実行可能であるか確認します。
① ツールバーの「プロジェクトを保存」ボタンをクリックします。
下部のメッセージペインのコンパイル結果が OK であるか確認します。
コンパイルの結果に Error が表示された場合は、フローの内容を確認してください。
②
ツールバーの「実行」をクリックして「フローの実行」ウィンドウを開きます。
フローの実行
17
2.2
新規にフローを作成して、実行してみましょう
③
ウィンドウ下部の「実行」ボタンをクリックし、フローを実行します。
ステータスが「正常終了」になります。出力ストリームの欄では、読み込んだファイルの内容を確
認することができます。
④
確認後、「閉じる」ボタンをクリックします。
18
2.3
FSMC へログインし、実行ログの確認をしてみましょう
2.3 FSMC へログインし、実行ログの確認をしてみましょう
ここでは、FSMC(Flow Service Management Consol)よりフローの実行ログを閲覧し、上記フローの実
行確認をします。
FSMC へのアクセス
[スタート]メニューから[プログラム]→[ASTERIA WARP]→[フローサービス管理コンソール]を実行し、
FSMC ログイン画面を表示します。
① FSMC へのログイン
ログイン画面右上の「ユーザー名」と「パスワード」を入力し、
「ログイン」ボタンをクリックします。
[ユーザー名:asu パスワード: (ブランク)]
19
2.3
FSMC へログインし、実行ログの確認をしてみましょう
② ログ情報の閲覧
[状態]メニューの[ログ] >> [システム] 画面(FSMC ログイン直後の遷移画面)でログ表示設定をデフォ
ルトの状態で「表示」ボタンをクリックします。
表示されたログ情報一覧よりフローの実行を確認することができます。
※(補足)ユーザ・ドメインの追加/変更/削除
FSMC より[ツール]メニューの[アカウント]画面で設定/確認することができます。
実習では ASTERIA WARP Server をインストールした初期状態で作成されているアカウント[guest]を使
用しますのでユーザ・ドメインの作成は省略します。
20
3.1
RDB にアクセスするフローを作成して、実行してみましょう
3.フローの作成と実行
„
フローの作成と実行(RDB アクセス)
ここでは、ASTERIA WARP でよく使われるデータベースからデータを取り出すコンポーネントの使い
方などを説明します。
3.1
RDB にアクセスするフローを作成して、実行してみましょう
教材のデータベースからデータを取り出し、HTML 形式に変換して出力するフローを作成、実行します。
¾ RDB
「RDBGet」コンポーネントを使って、教材として用意した Microsoft Access(下図参照)から注文データ
を取り出します。
「RDBGet」コンポーネントは「SQL ビルダー」という SQL 文を生成する GUI ツール
を持っています。ASTERIA WARP から Access に接続するためには、事前に Windows システムに ODBC
の設定や Flow Service 管理ツールで RDB 接続情報(コネクション)を定義しておくことが必要ですが、
実習時には定義済みになっています。
¾ HTML
「Velocity」コンポーネントと、教材として用意したテンプレートファイルを使って、HTML を出力し
ます。テンプレートファイルの中身では、Velocity というテンプレート言語を用いて HTML の中にデー
タの差込み処理を記述しています。フローを実行すると、
「Velocity」コンポーネントは、データベース
から取り出したデータを入力として処理し、HTML データを出力します。
¾ 実行
ASTERIA WARP には、フローと URL を関連づけ、Web ブラウザから URL を入力するとフローが実行
されてフローの実行結果が Web ブラウザに表示されるという実行方法(URL 実行)があります。ここで
は、URL 実行してフローの実行結果(HTML)を Web ブラウザで表示してみます。
21
3.1
RDB にアクセスするフローを作成して、実行してみましょう
¾ フローの作成
ツリーペインのプロジェクトを選択し、右クリックで表示されるメニューから「フローの作成」を選択
して、「フローの作成」ウィンドウを開きます。
ここでは初期値のままフローを作成します。「OK」ボタンをクリックします。
22
3.1
RDB にアクセスするフローを作成して、実行してみましょう
ワークスペースに、新しいフロー「Flow2」が表示されます。
¾
「RDBGet」コンポーネントの配置
「データベース」タブの「RDBGet」コンポーネントを、ワークスペースにドラッグ&ドロップし
て配置します。
ドラッグ&ドロップ
「Velocity」コンポーネントの便利な配置方法
左側のファイルペインからテンプレートファイル「order.vm」をドラッグして、ワークスペース上でド
ラッグを終了します。すると、使用可能なコンポーネント(一部)の一覧が表示されますので、ここで
は「Velocity」コンポーネントを選択します。
23
3.1
RDB にアクセスするフローを作成して、実行してみましょう
ドラッグ&ドロップ
ワークスペースに「Velocity」コンポーネントが配置され、[ファイルパス]プロパティに「order.vm」
が設定された状態になります。ここでは[ファイルのエンコーディング]プロパティを「Windows-31J」
に変更します。
通常のように、下部のパレットの「ツール」タブから「Velocity」コンポーネントを配置してプロパテ
ィを設定する方法でもできます。
ワークスペース上にある「Velocity」コンポーネントの下側(“TXT”という文字列)をクリックすると、ス
トリーム型を変更することができますので、ここでは「HTML」を選択します。
24
3.1
¾
RDB にアクセスするフローを作成して、実行してみましょう
「EndResponse」コンポーネントの配置
「お気に入り」にある「EndResponse」コンポーネントを、ワークスペースにドラッグ&ドロップ
して配置します。
ドラッグ&ドロップ
25
3.1
RDB にアクセスするフローを作成して、実行してみましょう
¾
①
「RDBGet」コンポーネントの設定 (SQL ビルダーによる設定)
「RDBGet」コンポーネントをクリックして、右上のインスペクタにプロパティを表示します。
②
「基本」タブで[コネクション名]プロパティをクリックして、リストから「work_order」を選択
します。これは、RDB 接続情報に任意の名前(ここでは「work_order」)をつけた定義を参照してい
ます。(接続情報は、デザイナーのコネクションペイン、または、フローサービス管理コンソール
(FSMC)で設定・変更することができますが、実習では省略しています。)
選択
※上記画面キャプチャでは「フィルターを指定」を選択しているように見えますが、実際は「コネ
クション名」のリストから選択しています。
26
3.1
③
RDB にアクセスするフローを作成して、実行してみましょう
「RDBGet」コンポーネントを選択して、右クリックで表示されるメニューから「SQL ビルダー」
を選択します。
選択
④
「SQL ビルダー」ウィンドウが表示されますので、左側に表示されているテーブル一覧から「注文」
テーブルを選択し、中央の白いキャンバスにドラッグ&ドロップして配置します。すると、
「注文」
テーブルのフィールド一覧が表示されます。
ドラッグ&ドロップ
27
3.1
⑤
RDB にアクセスするフローを作成して、実行してみましょう
白いキャンバス上の「注文」テーブルを選択し、右クリックして表示されたメニューから「全選択」
を選択します。
選択
⑥
フィールド一覧のチェックボックスが全てチェックされ、下段には自動生成された SQL 文が表示
されます。
28
3.1
RDB にアクセスするフローを作成して、実行してみましょう
⑦
次に、フィールド「注文 ID」で昇順に取り出すために、右側中段の「ソート」タブを選択し、「フ
ィールド名」で「注文 ID」を選択します。
⑧
「Java データ型」と「ソート順」
(デフォルトでは 昇順 )が表示されます。ここでは「ソート順」
は変更せずに、そのままの設定とします。下段に表示された SQL 文に ORDER BY が追加され
ていることを確認してください。
・「ソート」タブ欄
・自動生成された SQL 文(下段)
29
3.1
RDB にアクセスするフローを作成して、実行してみましょう
⑨
次に、自動生成された SQL 文で取得可能かテストします。右下にある「SELECT テスト」ボタン
をクリックしてください。
⑩
「SELECT テスト」ウィンドウが表示され、テスト結果が表示されます。内容確認後、「閉じる」
ボタンをクリックして閉じてください。
⑪
このテスト結果で問題がなければ、最下段にある「OK」ボタンをクリックします。すると、以下
の確認ダイアログが表示されますので、「はい」ボタンをクリックしてください。
30
3.1
⑫
RDB にアクセスするフローを作成して、実行してみましょう
この操作で、テーブルのすべてのカラムが読み込むフィールドとして定義されました。右下のスト
リームペインに表示されています。
これで、フローの作成が完了しました。
¾ フローの実行
フローを保存し、コンパイル処理が OK になりフローが実行可能であるか確認します。
① ツールバーの「プロジェクトを保存」ボタンをクリックします。
下部のメッセージペインのコンパイル結果が OK であるか確認します。
コンパイルの結果に Error が表示された場合は、フローの内容を確認してください。
②
ツールバーの「実行設定一覧」をクリックして、実行設定の一覧を表示し、
「URL」を選択します。
一覧
クリック
31
3.1
RDB にアクセスするフローを作成して、実行してみましょう
③
「実行設定」ウィンドウが表示されますので、下段にある「登録」ボタンをクリックします。
④
中段に表示された「URL の設定」「公開するプロトコル」の「ブラウザから実行」ボタンが押下可
能となるので、このボタンをクリックしてフローを実行します。
32
3.1
⑤
RDB にアクセスするフローを作成して、実行してみましょう
自動的に Web ブラウザが表示され、ブラウザ内に実行結果が表示されます。
33
3.2
„
RDB から取り出したデータを CSV 形式に変換(マッピング)するフローを作成して、
実行してみましょう
フローの作成と実行(マッピング)
ここでは、ASTERIA WARP の重要な機能のひとつであるデータのマッピングなどを説明します。
3.2
RDB から取り出したデータを CSV 形式に変換(マッピング)するフローを作成して、
実行してみましょう
先ほどのフローを更新して、教材のデータベースからデータを取り出し、CSV 形式のファイルを出力す
るフローを作成、実行します。
¾ パラレル
あるコンポーネントが出力するストリームに対して異なる複数の処理を行いたい場合、そのコンポーネ
ントから複数のコンポーネントに直接連結することができます。このようなストリームの分岐を「パラ
レル」といいます。ここでは、パラレルを使って先ほどのフローから複数の処理をするフローを作成し
ます。
フローの実行結果(レスポンス)は1つであるため、実行結果を出力する EndResponse コンポーネント
はフローの中で1つにし、他の処理の終了は End コンポーネントを使います。
¾ データのマッピング
データのマッピングとは、データ形式の変換(たとえば、CSV→RDB、RDB→XML など)や、データ項目
間のマッピングを行う処理のことで、Mapper コンポーネントを使います。この実習では、RDB→CSV
の変換を行います。
マッピングウィンドウでは、左側に入力データ項目、右側に出力データ項目がツリー形式で表示されま
す。左から右へ矢印をつなぐことで、データのマッピングを定義します。中央のキャンバスでは、「マ
ッパー関数」という変換処理を示すアイコンを配置してデータを加工することができます。
34
3.2
RDB から取り出したデータを CSV 形式に変換(マッピング)するフローを作成して、
実行してみましょう
¾ フローの作成(複製)
① 左側のツリーペインから先ほど作成したフロー「Flow2」を選択して、右クリックして表示される
メニューから「複製」を選択します。
選択
② 入力ウィンドウが表示されますので、フロー名に「Flow3」を入力し、「OK」ボタンをクリックし
ます。
③
ツリーペインに「Flow3」フローが追加されます。ワークスペースには「Flow3」フローが表示され
ます。
35
3.2
RDB から取り出したデータを CSV 形式に変換(マッピング)するフローを作成して、
実行してみましょう
¾ コンポーネントの配置、連結
Mapper、FilePut、End コンポーネントを下図のように配置して連結します。
・フロー
・Mapper
・FilePut
・End
36
3.2
¾
①
RDB から取り出したデータを CSV 形式に変換(マッピング)するフローを作成して、
実行してみましょう
Mapper コンポーネントの設定
「Mapper」コンポーネントをクリックして、右下のストリームペインにある[ストリーム型]の右
側のリストボックスを選択し、「CSV」を選択します。
選択
②
[出力エンコーディング]プロパティを選択しリストボックスから「Windows-31J」を選択します。
選択
③
「Mapper」コンポーネントをダブルクリックして、マッピングウィンドウを表示します。
37
3.2
④
RDB から取り出したデータを CSV 形式に変換(マッピング)するフローを作成して、
実行してみましょう
左側の「注文 ID」からドラッグして、右側の「field1」でドラッグを終了します。フィールドがマ
ッピングされます。
同様に、「型番」を「field2」へ、「数量」を「field3」へマッピングします。
⑤
ファイルパスとして、今日の日付が含まれた名前を作成します。
それぞれのタブから以下のようにマッパー関数を配置し、右側の[ファイルパス]プロパティに連
結します。
38
3.2
(1) Now 関数
RDB から取り出したデータを CSV 形式に変換(マッピング)するフローを作成して、
実行してみましょう
(現在の日時を返します)
(2) Embed 関数
(文字列中に入力値を埋め込んで出力します)
⑥
Now 関数をクリックして、右上のインスペクタにプロパティを表示します。[日付フォーマット]
プロパティに「yyyyMMdd」を入力します。(y は西暦年、M は月、d は日とそれぞれの桁数を指し
ます。)
⑦
Embed 関数をクリックして、右上のインスペクタにプロパティを表示します。
[データ]プロパテ
ィの右側にある「…」をクリックして、「データプロパティの編集」ウィンドウを表示させます。
⑧
入力欄に「output/order${input1}.csv」と入力し、
「OK」ボタンをクリックします。これは、${input1}
の部分を Embed 関数への(一番目の)入力値に置き換えて動的な文字列を生成し、それをファイルパ
ス名に設定しています。これにより、次の FilePut コンポーネントのプロパティで[ファイルパス]
への設定は不要になります。(設定されていた場合、マッピングした値に置き換えられます。)
39
3.2
⑨
RDB から取り出したデータを CSV 形式に変換(マッピング)するフローを作成して、
実行してみましょう
「Mapper」タブの右側の「×」ボタンをクリックして、ウィンドウを閉じます。
¾ フローの実行
先ほど HTML データの内容を Web ブラウザで確認したので、ここでは簡単に「ASTERIA Designer か
ら実行」で結果を確認します。
フローを保存し、コンパイル処理が OK になりフローが実行可能であるか確認します。
①
ツールバーの「プロジェクトを保存」ボタンをクリックして、下部のメッセージペインのコンパイ
ル結果が OK であるか確認します。
コンパイルの結果に Error が表示された場合は、フローの内容を確認してください。
②
ツールバーの「実行」をクリックして「フローの実行」ウィンドウを開きます。
フローの実行
③
ウィンドウ下部の「実行」ボタンをクリックし、フローを実行します。
ステータスが「正常終了」になります。出力ストリームの欄では、EndResponse コンポーネント
からの出力である HTML データの内容を確認することができます。
40
3.2
④
RDB から取り出したデータを CSV 形式に変換(マッピング)するフローを作成して、
実行してみましょう
確認後、「閉じる」ボタンをクリックします。
¾ 出力ファイルの確認
フローで生成したファイルを確認します。
① 左側のファイルペインの上段にある「最新の情報を更新」ボタンをクリックします。
②
ファイルペインから output フォルダをダブルクリックして、output フォルダを展開します。
ダブルクリック
③
output フォルダにある「orderyyyyMMdd.csv」(yyyyMMdd は今日の日付)をダブルクリックして、
CSV ファイルを開きます。(CSV ファイルの場合、Excel が起動します)
ダブルクリック
④
実行結果の CSV データの内容を確認することができます。
41
3.3
„
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
フローの作成と実行(Excel 連携)
ASTERIA WARP でよく使われる Excel からデータを取り出すコンポーネントの使い方を説明します。
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
教材にあるすでに作成されたフローと同じ、Excel ファイルから CSV ファイルを作成するフローを作成、
実行します。
¾ フローの確認
○教材にある Work.xfp の「work1」フローをクリックして開いてください。
このフローは、Excel で作成された注文書から CSV データを生成し、ホームディレクトリの output フ
ォルダに order1003_yyyy-MM-dd.csv というフローの実行日を含んだ名前でファイルを作成しています。
42
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
¾ Excel
「ExcelInput」コンポーネントを使って教材として用意した order1.xls から注文データを取り出します。
「ExcelInput」コンポーネントは、
「Excel ビルダー」という取り出すワークシートを定義する GUI ツー
ルを持っています。
「Excel ビルダー」は、Excel97 以上で動作するアドオンソフトウェアです。デザイ
ナーをインストールするより前に、Microsoft Excel があらかじめインストールされている必要がありま
す。また、「Excel ビルダー」はマクロを使用するため、Excel でマクロの実行権限(Excel の[ツール]メ
ニューの[マクロ]→[セキュリティ]または[オプション]→[マクロ]→[セキュリティ]での設定)を「中」以下
に設定します。
「ExcelInput」コンポーネントは、Excel ファイルではなく Excel データを入力ストリームとしてデータ
を取り出す処理を行います。つまり、教材フローのように Excel ファイルを処理する場合は、
「FileGet」
コンポーネントでファイルを読み込んだデータを入力とします。
※「ExcelInput」コンポーネントは、オプションのライセンスが必要です。
43
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
¾ 新規プロジェクト、新規フローの作成
フローを作成するには、まずプロジェクトを作成します。
①
ツリーペインのサーバーを選択し、右クリックで表示されるメニューから「プロジェクトの作成」
を選択して、
「プロジェクトの作成」ウィンドウを開きます。
選択
②
ここでは初期値のままプロジェクトを作成します。「OK」ボタンをクリックします。
③
左側のツリーペインに、新規プロジェクトとフローが追加されます。
44
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
¾ コンポーネントの配置、連結
各コンポーネントを下図のように配置します。
・フロー
・①FileGet、④FilePut
・②ExcelInput
・③Mapper、⑤EndResponse
※ 「FileGet」コンポーネントと「ExcelInput」コンポーネントを接続すると、
「FileGet」コンポー
ネントのアイコンの右下に表示される出力ストリームの型が自動的に「BIN」(Binary)に変わり
ます。
45
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
¾ 「FileGet」コンポーネントの[ファイルパス]プロパティの特殊な設定方法
左側のファイルペインからテンプレートファイル「order1.xls」をドラッグして、ワークスペースの
「FileGet」コンポーネント上でドラッグを終了します。すると、
「FileGet」コンポーネントの[ファイ
ルパス]プロパティに「order1.xls」が設定された状態になります。通常のように、[ファイルパス]プ
ロパティのフィールドをクリックし、入力して設定する方法でもできます。
ドラッグ&ドロップ
¾
①
「ExcelInput」コンポーネントの設定
「ExcelInput」コンポーネントをダブルクリックすると、Excel が起動されます。
マクロのセキュリティの設定によって以下のダイアログが表示された場合、マクロを使用するため、
「マクロを有効にする」ボタンをクリックします。
(*Excel2007)
②
起動された Excel のツールバーに「Excel ビルダー」アイコンがあるかどうか確認します。
(*Excel2007)
46
3.3
③
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
[ファイル]メニューの[開く]から、
「C:¥asteriahome¥flow¥home¥guest¥order1.xls」を選択して開き
ます。
ここでは、以下のワークシートから名前と注文内容を取り出します。
※ 「Excel ビルダー」での定義時に使用する Excel ファイルは、フォーマットが同じで値の設定が
ないテンプレートとなるファイルやここでのように実際のファイルなどを参照します。(定義時
のワークシート名とフロー実行時に参照するワークシート名は同じである必要があります。)
④
ツールバーの「Excel ビルダー」のアイコンをクリックします。
(*Excel2007)
47
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
⑤
「Excel ビルダー」ウィンドウが表示されます。
「Excel ビルダー」を使って取り出す単一セル、レ
コードを定義します。
⑥
まず、レコードの取り出しを定義します。「レコード」タブで「■レコード」欄の「追加」ボタン
をクリックします。
※ ここから Excel 上のデータ領域を、マウスを使って選択するので、データ領域と「Excel ビルダ
ー」ウィンドウが重なっている場合は位置をずらしておきます。
48
3.3
⑦
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
Excel のワークシート上でマウスをドラッグして、I 列 34 行から B 列 25 行まで選択します。
※ 矩形領域を選択する場合、下から上へドラッグして選択するほうが操作しやすくなります。
⑧
「範囲指定」ウィンドウに範囲が設定されたことを確認して、「OK」ボタンをクリックします。
⑨
「レコード名入力」ウィンドウでは、「注文」と入力して「OK」ボタンをクリックします。
49
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
⑩
「レコード行数入力」ウィンドウでは、「1」と入力して「OK」ボタンをクリックします。
⑪
レコードのフィールド(列)の名前を変更します。(名前を付けると、マッピング時にわかりやすくな
ります。)
「■レコード」欄で追加されたレコードを選択します。下部の「■レコードフィールド」欄が表示
されます。
50
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
⑫
「■レコードフィールド」欄で「B」フィールドを選択し、
「変更」ボタンをクリックします。
⑬
表示された「名前入力」ウィンドウで「商品」と入力して「OK」ボタンをクリックします。
「レコ
ード終了条件を指定しますか?」のメッセージボックスでは「いいえ」をクリックします。
51
3.3
⑭
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
同様に、「E」フィールドを「型番/メーカー」、
「H」フィールドを「数量」に名前を変更します。
52
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
※「フィールド名取得」ボタンからの操作でも設定することが出来ます。
「フィールド名取得」ボタンをクリック
「範囲指定」ウィンドウにフィールド名を取得する範囲を設定して、
「OK」ボタンをクリック。
53
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
⑮
次に、セルの取り出しを定義します。ここでは名前を取り出します。
「Excel ビルダー」の「単一セル」タブで「■単一セル」欄の「追加」ボタンをクリックします。
⑯
Excel のワークシート上で、マウスで C 列 8 行を選択します。
「範囲指定」ウィンドウに範囲が設定されたことを確認して、「OK」ボタンをクリックします。
⑰
「項目入力」ウィンドウでは、「名前」と入力して「OK」ボタンをクリックします。
54
3.3
⑱
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
すべての設定が終了したら「登録」ボタンをクリックします。「登録しました」というメッセージ
の確認ダイアログが表示されるので「OK」ボタンをクリックします。
※ 「閉じる」ボタンで終了すると、設定内容は保存されないので注意してください。
⑲ Excel を終了して、デザイナーに戻ります。
⑳ 右上のインスペクタにある「単一セル」タブで、「単一セル」として定義したフィールドが設定さ
れているか確認します。
また、右下のストリームペインにあるストリーム情報で、「レコード」として定義したフィールド
が設定されているか確認します。
これで、「Excel ビルダー」での定義が完了しました。
55
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
¾ 「Mapper」コンポーネントでの CSV 形式の定義(インポートによるフィールド定義)
以下の形式の CSV ファイルを出力するようにマッパーを使って Excel データから変換します。
“注文 ID”,”顧客 ID”,”申込日”,”商品名”,”型番”,”メーカー”,”数量”
注文 ID
次の顧客 ID にレコード番号を付加したもの
顧客 ID
order.mdb の顧客テーブルにある名前に対応する顧客 ID
申込日
フロー実行日
商品名
Excel の注文書での「商品名」欄のデータ
型番
Excel の注文書での「型番/メーカー」欄の”/”の左の文字列
メーカー
Excel の注文書での「型番/メーカー」欄の”/”の右の文字列
数量
Excel の注文書での「数量」欄のデータ
①
「Mapper」コンポーネントをクリックして、右下のストリームペインにあるプロパティ名のストリ
ーム型を選択します。そして、ストリーム型の値で表示されるリストボックスから「CSV」を選択
します。
選択
②
切り替わった下部の内容を以下のように設定します。
設定済み
56
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
③
マッピング時に作成する CSV 形式のフィールドをわかりやすくするためにフィールド名を変更し
ます。
フィールドの定義ファイルを用意しておいて、それをインポートすることで一括定義することがで
きます。ここでは、field_name.csv として以下の定義ファイルを参照します。
④
右下のストリームペインにあるプロパティ名のストリーム型の左側に表示される「−」をクリック
して、CSV ファイルのフィールドを表示します。
クリック
⑤
表示されたフィールド欄上で右クリックして表示されるメニューから「インポート…」を選択しま
す。
選択
57
3.3
⑥
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
「フィールド定義のインポート」ウィンドウで、ファイルタイプ、エンコーディングを以下のよう
に選択し、参照で「C:¥asteriahome¥flow¥home¥guest¥field_name.csv」を選択して「開く」ボタ
ンをクリックします。
以下のように、フィールドの名前が変更されます。
※表示されたフィールドをダブルクリックして名前を変更することもできます。
58
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
¾
①
マッピング
「Mapper」コンポーネントをダブルクリックして、マッピングウィンドウを表示します。
②
左側の「商品」からドラッグして、右側の「商品名」でドラッグを終了します。フィールドがマッ
ピングされます。同様に、左側の「数量」を右側の「数量」へマッピングします。
③
Excel のメーカー欄の値から、型番とメーカーの値を生成します。 たとえば、Excel のメーカー欄
の値「xxxx-yyyyy-ppppp/ロジ」を型番「xxxx-yyyyy-ppppp」とメーカー「ロジ」にします。
以下のように左側の「型番/メーカー」からマッパー関数を使って右側の「型番」と「メーカー」に
マッピングします。
59
3.3
・Split 関数
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
(入力文字列を指定した区切り文字で分割します)
プロパティを以下のようにします。
(「/」は半角文字)
(1)”/”で文字列を分割
④
データベースにある「顧客」テーブル(下図参照)から、Excel の名前欄の値(顧客名)に対応する顧客
ID を取得し、注文 ID を生成します。
60
3.3
⑤
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
以下のように左側の「名前」からマッパー関数(TableDB)を使って右側の「顧客 ID」にマッピン
グし、(1)のマッパー関数(TableDB)の出力と「レコード番号」から、(2)のマッパー関数
(Concatenate)を使って右側の「注文 ID」にマッピングします。
(1)TableDB 関数
(データベースのテーブルから検索を行い、その結果を値として返します)
(2)Concatenate 関数
(複数の文字列を結合して一つの連結文字列につなげます)
⑥
TableDB 関数をクリックして、右上のインスペクタにプロパティを表示します。
[コネクション名]プロパティをクリックして表示されるリストから「work_order」選択します。
⑦
[SQL 文]プロパティの右端にある「…」をクリックして、
「SQL 文プロパティの編集」ウィンド
ウを表示させます。
61
3.3
⑧
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
「OK」ボタンをクリックし
入力欄に「select△顧客 ID△from△顧客△where△顧客名=?」と入力し、
ます。※「△」は半角スペースです。
62
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
※TableDB 関数の SQLBuilder を使用して同様の設定をすることが出来ます。
「TableDB」関数を選択して、右クリックで表示されるメニューから「SQL ビルダー」を選択。
「SQL ビルダー」ウィンドウの左側に表示されているテーブル一覧から「顧客」テーブルを選択し、中
央の白いキャンバスに配置後、顧客テーブルのフィールド一覧から「顧客 ID」を選択
顧客テーブルのフィールド一覧から「顧客名」を選択し、右クリックメニューより「条件の追加」を
選択
63
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
条件の編集ウィンドウで「パラメータとの比較」を選択し、パラメータリストから「input1」を選択し、
OK ボタンをクリック
条件が設定され、下段に表示された SQL 文に WHERE 句が追加されていることを確認後、
「OK」ボ
タンをクリック
TableDB 関数の「SQL 文」プロパティは以下の内容で設定されます。
64
3.3
⑨
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
Concatenate 関数のプロパティはそのまま使用します。Concatenate 関数では、関数に連結した順
番に文字列をつなげます。Concatenate 関数を右クリックして表示されるメニューから「入力順序
の並べ替え」を選択して、マッピングウィンドウに表示されるリンクが以下のようになっているか
確認します。
※ 順番が逆になっている場合、
「入力順序の並び替え」ウィンドウの右側にある矢印にて、順番を
入れ替えます。
⑩
以下のようにマッパー関数を使って右側の「申込日」プロパティにマッピングします。
65
3.3
(1) Now 関数
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
(現在の日時を返します)
⑪
Now 関数をクリックして、右上のインスペクタにプロパティを表示します。[日付フォーマット]
プロパティに「yyyy-MM-dd」を入力します。(y は西暦年、M は月、d は日とそれぞれの桁数を指
します。)
⑫
「Mapper」タブの右側の「×」ボタンをクリックして、ウィンドウを閉じます。
¾ 「FilePut」コンポーネントの[ファイルパス]プロパティの設定方法(プロパティ式の使用)
ここでは、「FilePut」コンポーネントの「ファイルパス」プロパティにプロパティ式を設定します。
プロパティ式とは、フロー変数、外部変数や現在日付、UUID などの値を直接コンポーネントのプロパ
ティに設定できる機能です。但し、プロパティ式では値を加工することはできませんので、値の加工が
必要な場合は Mapper コンポーネントを使用します。
① プロパティ式の編集ダイアログを表示します。
「FilePut」コンポーネント - 「インスペクタ」タブ -「ファイルパス」プロパティの
値フィールドにある歯車マークをクリックし、プロパティ式の編集ダイアログを表示します。
66
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
② 現在日付を選択します。
ダイアログの左側のプロパティ式から[datetime.toString(“yyyyMMdd”)]をダブルクリックします。
(編集テキストボックスにドラッグすることもできます。
)
③ 編集テキストボックスに固定文字を入力します。
[output/order_${datetime.toString("yyyyMMdd")}.csv]
④ 編集ダイアログの「OK」ボタンをクリックして、ウィンドウを閉じます。
「FilePut」コンポーネントの「ファイルパス」プロパティにプロパティ式が反映されます。
これで、フローの作成が完了しました。
67
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
¾ フローの実行
フローを保存し、コンパイル処理が OK になりフローが実行可能であるか確認します。
① ツールバーの「プロジェクトを保存」ボタンをクリックして、下部のメッセージペインのコンパイ
ル結果が OK であるか確認します。
コンパイルの結果に Error が表示された場合は、フローの内容を確認してください。
②
ツールバーの「実行」をクリックして「フローの実行」ウィンドウを開きます。
フローの実行
③
ウィンドウ下部の「実行」ボタンをクリックし、フローを実行します。
ステータスが「正常終了」になります。出力ストリームの欄では、EndResponse コンポーネント
からの出力である CSV データの内容を確認することができます。
④
確認後、「閉じる」ボタンをクリックします。
68
3.3
Excel 連携
教材フローと同じ処理のフローを作成して、実行してみましょう
¾ 出力ファイルの確認
フローで生成したファイルを確認します。
① 左側のファイルペインの上段にある「最新の情報を更新」ボタンをクリックします。
②
ファイルペインから output フォルダをダブルクリックして、output フォルダを展開します。
ダブルクリック
③
output フォルダにある「order_yyyyMMdd.csv」(yyyyMMdd は今日の日付)をダブルクリックして、
CSV ファイルを開きます。(CSV ファイルの場合、Excel が起動します)
ダブルクリック
④
実行結果の CSV データの内容を確認することができます。
69
3.4
„
RDB を更新するフローを作成して、実行してみましょう
フローの作成と実行(RDB 更新)
ここでは、データベースを更新するコンポーネントの使い方を説明します。
3.4
RDB を更新するフローを作成して、実行してみましょう
先ほどのフローを元に、データベースへ格納するフローを追加して、実行します。
¾
①
フローの作成
左側のツリーペインから先ほど作成したフロー「Flow1」を選択して、右クリックして表示される
メニューから「複製」を選択します。
選択
70
3.4
RDB を更新するフローを作成して、実行してみましょう
②
入力ウィンドウが表示されますので、フロー名に「Flow2」を入力し、「OK」ボタンをクリックし
ます。
③
ツリーペインに「Flow2」フローが追加されます。ワークスペースには「Flow2」フローが表示され
ます。
④
Mapper、RDBPut コンポーネントを追加するので、EndResponse コンポーネントを削除します。
EndResponse コンポーネントを削除
71
3.4
RDB を更新するフローを作成して、実行してみましょう
¾ コンポーネントの配置、連結
Mapper、RDBPut、EndResponse コンポーネントを下図のように配置して連結します。
・フロー
・Mapper
・RDBPut
・EndResponse
※RDBPut コンポーネントを配置した際に、以下の確認ダイアログが表示されますので、
「はい」ボタン
をクリックしてください。
72
3.4
RDB を更新するフローを作成して、実行してみましょう
¾
①
「RDBPut」コンポーネントの設定
「RDBPut」コンポーネントをクリックして、右上のインスペクタにプロパティを表示します。
[コ
ネクション名]プロパティをクリックして、リストから「work_order」を選択します。
②
「RDBPut」コンポーネントを選択して、右クリックで表示されるメニューから「テーブルの選択」
を選択します。
選択
③
「テーブルの選択」ウィンドウが表示されます。左側には[コネクション名]プロパティで設定し
たデータベースから取得できるテーブルの一覧が表示されるので、リストから「注文」テーブルを
選択して「OK」ボタンをクリックします。
73
3.4
④
RDB を更新するフローを作成して、実行してみましょう
この操作で、テーブルのすべてのカラムが読み込むフィールドとして定義されました。右上のプロ
パティにある[入力]タブには、選択されたフィールドが表示されます。ここでは、「注文 ID」の
「キーにする」を「はい」に修正します。
¾ 追加した「Mapper」コンポーネント(Mapper2)の設定
「RDBPut」コンポーネントと連結したときに出力が CSV から Record に自動的に変更されます。
①
「Mapper2」コンポーネントをダブルクリックして、マッピングウィンドウを表示します。
74
3.4
②
RDB を更新するフローを作成して、実行してみましょう
左側の「注文 ID」からドラッグして、右側の「注文 ID」でドラッグを終了します。
同様に、「顧客 ID」、「申込日」、「商品名」、「型番」、「メーカー」、「数量」をマッピングします。
複数フィールドの連結機能を使用すると簡単にマッピングを行うことが出来ます。
マッピングウィンドウの中央キャンバス上で右クリックして表示されるメニューから「複数フィー
ルドの連結方法」を選択します。
「選択したフィールド」から「フィールドの順序」、または「フィ
ールドの間隔」に変更します。
左側の「注文 ID」をクリックし Shift キーを押しながら「数量」をクリックします。Shift キーを押
したまま、カーソルを右側に移動すると、全フィールドの矢印が移動しますので、同じフィールド
名につなぎます。
入力データ項目を複数選択する方法は、入力データ項目を Ctrl キーで複数選択する方法もあります。
③
「Mapper2」タブの右側の「×」ボタンをクリックして、ウィンドウを閉じます。
これで、フローの作成が完了しました。
75
3.4
RDB を更新するフローを作成して、実行してみましょう
¾ フローの実行
フローを保存し、コンパイル処理が OK になりフローが実行可能であるか確認します。
① ツールバーの「プロジェクトを保存」ボタンをクリックして、下部のメッセージペインのコンパイ
ル結果が OK であるか確認します。
コンパイルの結果に Error が表示された場合は、フローの内容を確認してください。
②
ツールバーの「フローの実行」をクリックして「フローの実行」ウィンドウを開きます。
フローの実行
③
ウィンドウ下部の「実行」ボタンをクリックし、フローを実行します。
ステータスが「正常終了」になります。出力ストリームの欄では、EndResponse コンポーネント
からの出力である Record を ASTEIRA WARP の XML 形式で出力した内容を確認することができま
す。
④
確認後、「閉じる」ボタンをクリックします。
76
3.4
RDB を更新するフローを作成して、実行してみましょう
¾ データベースへの登録の確認
「チュートリアルガイド∼はじめまして ASTERIA WARP∼」の実習で作成した「Project1.xfp」の
「Flow2」では、教材のデータベースの内容を HTML で表示します。これをブラウザから実行し、デー
タベースへの登録結果を確認することができます。
○「Project1.xfp」の「Flow2」
○実行結果
以上で、すべての実習は終了です。
77
補足1
„ 補足 1
データベース(Microsoft Access)との連携
データベース(Microsoft Access)との連携
ここでは、Microsoft Access へ接続するための定義について説明します。
ASTERIA WARP から RDB へ接続を行う場合は、JDBC ドライバを用います。どのタイプの JDBC ドラ
イバが供給されているかは RDB によって異なります。
RDB 接続手順の概略は、以下のとおりです。
1.JDBC ドライバのインストールまたは ODBC の設定を行う。
2.デザイナーで新規に接続情報(コネクション)を追加する。
3.コネクションをテストする。
4.デザイナーによるフロー作成時に、作成したコネクションを使用する。
※FSMC で作成可能なコネクションは「システムコネクション」と「ユーザーコネクション」です。
※FSMC では「システムコネクション」を作成できますが、ここでは省略します。
¾ Windows システムでの設定
ここでは、Microsoft Access の設定手順を説明します。
1.
Windows の[コントロールパネル]→[管理ツール]→[データソース(ODBC)]をダブルクリックし、
「ODBC データソースアドミニストレータ」ウィンドウを開きます。
2.
「システム DSN」タブを選択し、「追加」ボタンをクリックします。
78
補足1
データベース(Microsoft Access)との連携
3.
「Microsoft Access Driver (*.mdb)」を選択し、「完了」ボタンをクリックします。
4.
「データソース名」に「work_order」を入力し、「選択」ボタンをクリックします。
5.
ホームディレクトリの下の data フォルダ内の「order.mdb」ファイルを選択します。
79
補足1
データベース(Microsoft Access)との連携
6.
「OK」ボタンをクリックし、「work_order」データソースが追加されたことを確認します。
7.
「OK」ボタンをクリックし、「ODBC データソースアドミニストレータ」ウィンドウを閉じます。
80
補足2
„ 補足 2
ASTERIA WARP からデータベースへの接続
ASTERIA WARP からデータベースへの接続
¾ ASTERIA WARP での設定
ここでは、デザイナーでの設定手順を説明します。
デザイナーの左下にあるコネクションペインを選択します。
選択
1.
コネクションペイン上で右クリックをし、表示されたメニューから「コネクションの作成」を選択
します。
81
補足2
ASTERIA WARP からデータベースへの接続
2.
「コネクションの作成」ウィンドウが表示されますので、接続種別から「RDB」を選択し、名前に
「work_order」と入力してください。入力後、「OK」ボタンをクリックします。
3.
コネクションペインに、作成した「work_order」が表示されます。
4.
右上のインスペクタには、コネクションの設定情報が表示されます。
5.
プロパティ名「データベースタイプ」を選択し、表示されたリストから「MSAccess(ODBC)」を
選択します。
選択
82
補足2
6.
ASTERIA WARP からデータベースへの接続
以下のように接続設定を行います。
変更しない
「DNS 名」を削除して work_order と入力
いいえに設定
※Access への接続の場合、ロックファイル(*.ldb)によりデータベースがロックされた状態が継
続されることがありますので、「コネクションをプール」の設定を「いいえ」にすることを推奨し
ています。
7.
コネクションペイン上で右クリックをし、表示されたメニューから「保存」を選択します。
8.
接続情報が保存され、「work_order(更新)」から (更新) が削除されます。
83
補足2
9.
ASTERIA WARP からデータベースへの接続
接続を確認するために、接続テストを行います。
コネクションペイン上で右クリックをし、表示されたメニューから「接続テスト」を選択します。
「テスト結果」ダイアログが表示され、接続に成功すると、以下の内容になります。確認後は「閉じ
る」ボタンをクリックしてください。
接続に失敗すると、以下のようにエラーメッセージ画面になります。
84
補足2
ASTERIA WARP からデータベースへの接続
「詳細」ボタンをクリックすると、エラー内容の詳細が表示されます。
確認後は、「閉じる」ボタンをクリックしてください。
エラーが表示された場合は、ODBC の設定や作成したコネクションを確認してください。
※作成したコネクションを修正する場合は、コネクションペインで該当の接続名を選択し、右上のイン
スペクタで修正します。
選択
該当項目を修正
※作成したコネクションを削除する場合は、コネクションペイン上で右クリックをし、表示されたメニ
ューから「削除」を選択します。
85
補足2
ASTERIA WARP からデータベースへの接続
¾ フローでの使用例
「ASTERIA チュートリアルガイド∼はじめまして ASTERIA WARP∼」の RDB アクセスのフロー
「Flow2」を参照してください。
○RDBGet コンポーネントをクリックして、右上のインスペクタにプロパティを表示します。
インスペクタにある「基本」タブの[コネクション名]プロパティをクリックして表示されるリス
トで、FSMC で定義した接続名一覧が表示されるので、「work_order」を選択することにより、コ
ンポーネントから使用することができます。
86
補足3
„ 補足 3
ログビューアーについて
ログビューアーについて
ここでは、ログビューアーについて説明します。
ログビューアーとは、運用時にサーバーに接続して、フローサービスで出力されるログを表示する機能
をもつフローデザイナーに同梱されているツールです。タブ形式で複数のログを並べて表示したり、ロ
グにフィルターをかけて条件に一致した行だけを表示させたりすることができます。また
FlowService.logを解析して、1 日のフローの実行状況をレポートすることができます。さらに、
FlowService.logの解析結果は、フローのパフォーマンスチューニングを行う際に利用します。
ログビューアーで閲覧できるログは、以下のとおりです。
ログファイル
asteria.log
FlowService.log
FlowAccess.log
FlowCompile.log
FTPService.log
アプリケーションログ
説明
フローサービス全体での(各サービス、起動時のメッセージに
出る複数のデーモンを管理する上での)ログ
FlowService の起動・実行に関するログ
FlowService に対する HTTP レベルのアクセスログ
Flow のコンパイル結果ログ
FtpService の実行に関するログ
フローの各コンポーネントに記述した内容を出力したログ
87
補足3
¾
ログビューアーについて
ログビューアーの起動・終了
① ログビューアーの起動
[スタート]メニューから[プログラム]→[ASTERIA WARP – Flow Designer]→[ログビューアー]
を選択してください。
または、フローデザイナーの[ツール(T)]メニューの[ログビューアー]を選択します。
② ログビューアーの終了
ログビューアーの画面で、[ファイル]メニューから[終了(X)]を選択してください。または、ロ
グビューアーの画面の右上にある[×](閉じる)ボタンをクリックします。
¾
サーバーへの接続
サーバーへ接続する手順は次のようになります。
① 新規にサーバーを追加するには、[ファイル]メニューの「サーバーを追加」を選択します。
そしてサーバーに接続するにはサーバーのアイコンをダブルクリックするか、サーバーのアイコ
ンを選択し、右クリックメニューの「接続」を選択します。
② 「ログイン」ダイアログが表示されますので、参照するログのサーバー名、ユーザー名、
パスワード、ドメインを入力し、「OK」ボタンをクリックします。
③ ツリーペインのサーバーのアイコンをダブルクリックすると、ログビューアーで参照でき
るログが表示されます。
88
補足3
ログビューアーについて
④ ログを最新の情報に更新するには、ツリーペイン上で右クリックし、メニューより「最新
を表示」を選択します。
¾
サーバーとの切断
サーバーとの接続を切断するには、次の手順で行います。
ツリーペインのサーバーのアイコンを選択し、右クリックメニューの「切断」を選択します。
¾
サーバーの削除
ツリーペインからサーバーを削除するには、削除対象となるサーバーのアイコンを選択し、右
クリックメニューの「削除」を選択します。
89
補足3
¾
ログビューアーについて
ログの表示
表示するログのアイコンをダブルクリックするか、アイコンの前にある「+」をクリックし、内
容を展開します。さらに、日付ごとのログのアイコンが表示されますので、対象となる日付の
ログアイコンをダブルクリックするか、右クリックメニューの「開く」を選択します。
ログの表示列を変更するには、[表示(V)]メニューの[表示列]を選択して表示される左側にあるチ
ェックを外すことで、表示されなくなり、チェックすることで、表示されるようになります。
¾
メッセージ内容の検索
メニューの下にある検索ツールメニューに、検索対象の文字列を入力し、
「次を検索」をクリッ
ク、または、Enter キーを押すと、「メッセージ」列の内容を検索します。
ログファイル内に検索対象の文字列があった場合、その文字列が赤くハイライトされます。
また、「カテゴリー」列、「スレッド」列に対して、フィルターをかけて、そこから「メッセー
ジ」列内を検索することもできます。
90
補足3
¾
ログビューアーについて
フィルター機能
「カテゴリー」列、
「スレッド」列に対して、フィルターをかけるには、[表示(V)]メニューの[フ
ィルター]を選択し、フィルターペインを表示します。
フィルターペインでは、「カテゴリー」列、「スレッド」列にドロップダウンリストより値を選
択します。フィルターペインの「フィルター行のみ表示」が選択されていれば、フィルターで
該当した行のみが表示されます。また、
「大文字小文字を区別」や「正規表現を使う」
、
「and or を
使う」、「全フィールド対象」をチェックすることができ、検索ツールバーから検索を行うより
も、詳細な検索条件を指定することができます。
検索やフィルター機能を使用して、表示したログを元の表示に戻すには、検索ツールバーの検
索文字列やフィルターペインで設定した情報をクリアするか、対象となるログのタブを閉じ、
再度、開いてください。
¾
FlowService.logの解析
FlowService.log の解析を行うには、次の手順で行います。
① 解析対象となる FlowService.log を開き、[ツール(T)]メニューの[FlowService ログを解析]
を選択します。
② 「FlowService ログの解析」ダイアログが表示されますので、解析の時間間隔を設定し、
「実
行」ボタンをクリックします。
91
補足3
ログビューアーについて
③ FlowService.log を指定された時間間隔で解析し、その結果が表示されます。
時間帯ごとに実行されたフローの実行回数や最大処理時間、平均処理時間などを知ることがで
きます。
FlowService.log の解析結果をファイルに出力するには、
「FlowService ログの解析」ダイアログ
の右下にある「ファイル出力」ボタンをクリックします。解析結果が CSV 形式で出力されます。
また、レポートの種類も時間間隔で出力される「日時集計レポート」
、フローごとの解析結果を
出力する「フロー集計レポート」、実行されたフロー全ての解析結果を出力する「全フロー実行
レポート」を出力することができます。さらに「ヘッダをつける」チェックボックスをチェッ
クすることで、出力結果に項目名を付加することができます。
92
補足3
ログビューアーについて
日時集計レポートの出力項目
項目
時間
{時間}
実行回数
{実行回数}
最大処理時間
{時間(ms),フロー名}
最大同時起動数
{最大同時起動数}
ログレベル
{警告回数,エラー回数}
実行設定
{URL,SOAP,スケジュー
ル,メール,FTP}
プロジェクトキャッシュ
オーバーフロー
{プロジェクトキャッシ
ュオーバーフロー}
説明
一日の時間が間隔で指定した単位で分割されて表示されま
す。
例えば、間隔を「1 時間」とした場合は「00:00:00 - 01:00:00」
のように 1 時間ごとの行が 24 行表示されます。
その時間帯でフローが実行された回数です。
その時間帯で最も実行に時間のかかったフローの名前と時間
です。
その時間帯で最も多く同時に複数のフローが実行された時の
同時起動数です。
その時間帯で警告またはエラーレベルのログが出力された回
数です。
その時間帯で各種実行設定が実行された回数です。
その時間帯でプロジェクトがキャッシュから削除された回数
です。
「日時集計レポート」で時間帯の行をクリックすると、ダイアログ下部(フロー集計レポート
欄)にフローごとの実行状況である「フロー集計レポート」が表示されます。
フロー集計レポートの出力項目
項目
フロー名
{フロー名}
実行回数
{実行回数}
最大処理時間
{最大処理時間(ms)}
最小処理時間
{最小処理時間(ms)}
平均処理時間
{平均処理時間(ms)}
説明
「アカウント名.プロジェクト名.フロー名」の形式でフロー名
が表示されます。
その時間帯でそのフローが実行された回数です。
その時間帯のそのフローの実行の中で最も実行に時間がかか
った時の処理時間です。
その時間帯のそのフローの実行の中で最も実行に時間が短か
った時の処理時間です。
その時間帯のそのフローの実行時間の平均です。
93
補足3
ログビューアーについて
全フロー実行レポートの出力内容
項目
フロー名
{フロー名}
スレッド名
{スレッド名}
開始時間
{開始時間}
終了時間
{終了時間}
実行時間(ms)
{実行時間(ms)}
説明
「アカウント名.プロジェクト名.フロー名」の形式でフロー名
が表示されます。
フローが実行されたスレッド名です。
フローの実行が開始された時刻です。
フローの実行が終了した時刻です。
4 .
フローの実行にかかった時間です。
「FlowService ログの解析」ダイアログを終了するには、「キャンセル」ボタンをクリックしま
す。
※ログビューアーの詳細については、フローサービスマニュアルの
「フローデザイナー」→「ログビューアー」を参照してください。
94
補足 4
„ 補足 4
Exception 設定について
Exception 設定について
フローの実行中に発生するエラーを例外(Exception)と呼びます。
フロー実行中に例外が発生した場合、例外処理の設定を何もしていないと例外が起きた時点ですぐにフ
ローが終了(異常終了)してしまいます。業務で使うフローなど、それでは困る場合は「例外フロー
(Exception フロー)」を使ってエラーに対処する処理をあらかじめ書いておくことができます。
「例外フロー(Exception フロー)」を使ってエラー内容をログに書き出したり、エラー内容をメールで
担当者に通知したりする使用例などがあります。
¾
例外フローの呼び出し方
Exception.xfp に入っている、「main」フローがあります。
このフローは、テキストファイルを読み込んでレスポンスするようになっています。しかし、実はこの
フローを実行すると例外が発生します。それは、FileGet コンポーネントのファイルパスプロパティに
何も設定が入っていないからです。
「main」フローで例外が発生したときには、
「exception」フローが例外フローとして呼び出されるよう
に設定されています(設定方法 は後述)。この「exception」フローは、いくつかのシステム変数から例
外処理中にだけ設定されるデータを取得し、実行日時とともに CSV ファイルに出力しています。
95
補足 4
Exception 設定について
設定方法を見る前に、
「main」フローをフローデザイナーから実行してみましょう。
「ファイルが見つか
りません」という例外が 発生し、その内容がログファイル([HOME]/outputdata.txt)に書き出されます。
では、
「main」フローと「exception」フローは、どこの設定で関連付けられているのでしょうか。それ
は、「main」フローの、「エラー処理」プロパティです。
このプロパティは、次のようにして表示し、入力することができます。
1.「main」のフローを開きます。
2.つづいて、左側のサーバリストで、「main」の前にあるアイコンをクリックします。
3.すると、プロパティウインドウが次のようになります。
96
補足 4
Exception 設定について
4.「汎用エラー処理」プロパティをクリックすると、フロー一覧ウィンドウが開きます。
5.一覧から、「exception」を選択します。
なお、この手順で設定するプロパティはフロー全体に対するプロパティ設定ですので、そのフローに含
まれるどのコンポーネントで例外が発生した場合でも、ここで設定された Exception フローが起動され
ます。
¾ 参考:もし例外処理がなかったら
「main」フローは、
「exception」フローから、例外フローの設定をはずしたものです。このフローをフ
ローデザイナーから実行すると、下図のようにエラーメッセージが直接画面に表示されます。
----------------------------------------------------------------------------------------------------------------------------------------
z 改版履歴
版数
第1版
第2版
第3版
第4版
第5版
第6版
第7版
日付
2006/05/26
2006/08/02
2007/05/11
2007/07/11
2008/07/14
2009/03/30
2009/11/27
内容
新規作成
誤植の修正、補足説明の追加
ASTERIA WARP 対応
ASTERIAWARP 4.1 対応、フロー変更、補足説明の追加
ASTERIAWARP4.2 対応 誤植の修正
ASTERIAWARP4.3 対応 誤植の修正
ASTERIAWARP4.4 対応 誤植の修正
※本書で使用している ASTERIA WARP のバージョンは、「ASTERIA WARP 4.4.0.4295」です
※本チュートリアルガイドの内容を許可無しに無断転載・転用・複製することを禁じます
97