Download - Asakusa fwはじめの一歩 0.7.0
A s a k u s a F r a m e w o r k はじめの一歩( v e r 0 . 7 . 0) 1 3 %
ボリュームダウン!
前提
• Jinrikishaダウンロードページを参考に、Jinrikisha、Shahu、DmdlEditorX、ToadEditorをインストールしてください
http://asakusafw.s3.amazonaws.com/documents/jinrikisha/ja/html/index.html
• Mac OS X 10.9.5、Java 1.7.0_25
• Asakusa Framework 0.7.0
2
注意
• Gradleの問題でShafu(Gradle Tool API)が正しく動作しないという問題があります。
• 以下のパッチファイルを、
https://bugs.eclipse.org/bugs/attachment.cgi?id=247605Jinrikishaのインストールディレクトリ配下の
eclipse/dropins に配置することで回避します。Jinrikishaとしての解決状況は下記Issueを参照してください
https://github.com/asakusafw/asakusafw-starter/issues/3
3
注意
• Gradleの問題でShafu(Gradle Tool API)が正しく動作しないという問題があります。
• 以下のパッチファイルを、
https://bugs.eclipse.org/bugs/attachment.cgi?id=247605Jinrikishaのインストールディレクトリ配下の
eclipse/dropins に配置することで回避します。Jinrikishaとしての解決状況は下記Issueを参照してください
https://github.com/asakusafw/asakusafw-starter/issues/3
3
最新版S h a f uで 対応済み!
本件で作成するジョブ
4
5
H D F S
A s a k u s a A p p l i c a t i o n
5
H D F S
A s a k u s a A p p l i c a t i o n
M o d e l
5
H D F S
A s a k u s a A p p l i c a t i o n
Impo
rter
M o d e l
5
H D F S
A s a k u s a A p p l i c a t i o n
Impo
rter
Expo
rter
M o d e l
5
H D F S
A s a k u s a A p p l i c a t i o n
J o b F l o wIm
port
er
Expo
rter
M o d e l
5
H D F S
A s a k u s a A p p l i c a t i o n
J o b F l o w
O p e r a t o rIm
port
er
Expo
rter
M o d e l
5
H D F S
A s a k u s a A p p l i c a t i o n
J o b F l o w
O p e r a t o r
演算子
Impo
rter
Expo
rter
M o d e l
5
H D F S
A s a k u s a A p p l i c a t i o n
J o b F l o w
O p e r a t o r
演算子
Impo
rter
Expo
rter
M o d e l
5
H D F S
A s a k u s a A p p l i c a t i o n
B a t c h
J o b F l o w
O p e r a t o r
演算子
Impo
rter
Expo
rter
M o d e l
まずはプロジェクト作成です。
6
7
8
「選択」ボタンを押下
9
10
11
空のプロジェクトが作成されました
12
13
H D F S
A s a k u s a A p p l i c a t i o n
B a t c h
J o b F l o w
O p e r a t o r
演算子
Impo
rter
Expo
rter
M o d e l
次にデータモデルを定義します。 このヒシダマ印のアイコンを クリックしてください。
14
最初に商品マスタのモデルを定義します
15
プロパティを追加していくので、A D Dボタンを押下してください
16
まずは商品 I D
17
続いて同じように商品名
18
プロパティ追加後、p r e v i e wボタンを押下すると生成されるモデル定義を事前に確認することができます
19
F i n i s hボタンで
D M D L定義が生成されます
20
続いて売上明細の モデル定義を作ります
21
このように3つのプロパティを 登録します
22
D M D Lファイルに追記されました
23
J O I N結果用の モデル定義を作ります。
24
モデル種類として「 j o i n e d」 を選択します
C O P Yボタン押下で J O I N元のプロパティをそのまま取り込むことができます
25
N e x tでこのダイアログに進むと、結合キーを選択します。 i t e m _ m a s t e rと、 s a l e s _ d e t a i lのそれぞれから
i t e m _ i dを選択して c o p yを押下するとキーを選択できます
26
D M D Lファイルに 結合モデル定義が追加されました
27
モデル定義の最後に、出力用の売上明細モデルを作ります
28
結合用モデルのを選択して、 r e f e r e n c eボタンを押下します
29
そこに、 f l gプロパティを追加します
30
D M D Lファイルに出力用モデルの 定義が追加されました
31
各モデルの頭に 属性情報を付加します。 ※D M D L E d i t o r XにはG U Iで設定できる機能がありますが、現状正しく稼働しません i s s u e h t t p s : / / g i t h u b . c o m / h i s h i d a m a /x t e x t - d m d l - e d i t o r / i s s u e s / 4 2
32
D M D L定義から、 実際のモデル用 J AVAソースを生成します
33
ソース生成されました。
34
35
H D F S
A s a k u s a A p p l i c a t i o n
B a t c h
J o b F l o w
O p e r a t o r
演算子
Impo
rter
Expo
rter
M o d e l
各M o d e lの i m p o r t e r / e x p o r t e rを
作成します
36
まずは I m p o r t e rを作成します。 入力データ用のデータモデルを
選択してください。
37
どういう i m p o r t e rにするか選択します
38
入力ファイルのファイルパスと ファイル名を入力します。
ここではモデル名と同じファイル名のため、$ { m o d e l N a m e } . c s vとしています。
39
I m p o r t e rクラスが 作成されました
40
次に出力明細用のE x p o r t e rを作成します
41
e x p o r t e rの種類を 選択します
42
43
入力ファイルのファイルパスと ファイル名を入力します。
ここでもモデル名と同じファイル名のため、$ { m o d e l N a m e } . c s vとしています。
o u t p u t _ s a l e sのE x p o r t e rが 作成されました
44
45
H D F S
A s a k u s a A p p l i c a t i o n
B a t c h
J o b F l o w
O p e r a t o r
演算子
Impo
rter
Expo
rter
M o d e l
続いて J O B F L O Wを 作って行きます
46
47
48
インポータークラスを選択して…
このあたりにドラッグアンドドロップしてください
49
インポーターアイコンがセットされました
50
同様に売上明細のインポータクラスもドラッグアンドドロップします
51
同様に出力明細の エクスポータークラスも
ドラッグアンドドロップします
52
インポーターとエクスポーター の配置が完了しました
このアイコンを ダブルクリックしてください
53
i nの行を選択して…
e d i tを押下してください
54
この2カ所だけ値を入れます
55
a d dを押下します
56
57
この2カ所だけ値を入れます
58
o u tの行を選択して…
e d i tを押下してください
59
60
この2カ所だけ値を入れます
p o r tの登録が完了しました
61
p o r tの登録結果が 3つのアイコンに反映されました
62
コネクタを選択して…
63
赤矢印のようにアイコン間を ドラッグアンドドロップして
接続させます
64
65
H D F S
A s a k u s a A p p l i c a t i o n
B a t c h
J o b F l o w
O p e r a t o r
演算子
Impo
rter
Expo
rter
M o d e l
マスタ結合演算子を選択して…
この辺りをクリックして M a s t e r J o i nのアイコンを配置します
66
C o n n e c t i o nを選択して…
i n - p o r tとM a s t e r J o i nを結びつけます
67
まず停止演算子を配置し…
M a s t e r J o i nでマッチしなかった明細を無視するという登録をします
68
次にC o n n e c t i o nで…
M a s t e r J o i nアイコンを ダブルクリックします
69
M a s t e r J o i n処理を割り当てるO p e r a t o rクラスとメソッドを登録します
(直入力です)
70
拡張演算子を選択して…
この辺りに配置します
71
C o n n e c t i o nを選択して…
j o i n結果をe x t e n dに渡す 登録をします
72
73
更新演算子を選択して…
この辺りに配置します 配置後、ダブルクリックしてください
74
U p d a t e処理を割り当てる O p e r a t o rクラスとメソッドを登録します
(直入力です)
75
C o n n e c t i o nを選択して…
e x t e n d結果をU p d a t eに渡すところと、U p d a t e結果を出力につなげる登録をします
76
M a s t e r J o i nの出口を ダブルクリックしてください
77
出力の型を定義します (直入力です)
78
H D F S
A s a k u s a A p p l i c a t i o n
B a t c h
J o b F l o w
O p e r a t o r
演算子
Impo
rter
Expo
rter
M o d e l
79
M a s t e r J o i nアイコンを 右クリックして
G e n e r a t e D S Lを実行します
80
O p e r a t o rクラスが 生成されました
81
U p d a t eアイコンを 右クリックして
G e n e r a t e D S Lを実行します
82
O p e r a t o rクラスに メソッドが追加されました
83
処理を実装します
84
J o b F l o wアイコンを 右クリックして
G e n e r a t e D S Lを実行します
85
J o b F l o wクラスが 生成されました
86
H D F S
A s a k u s a A p p l i c a t i o n
B a t c h
J o b F l o w
O p e r a t o r
演算子
Impo
rter
Expo
rter
M o d e l
87
B a t c hの作成に入ります
88
89
90
J o b F l o wクラスを選択して、 中央にドラッグアンドドロップします
91
画面のどこかを 右クリックして
G e n e r a t e D S Lを実行します
92
ソース生成されました
93
J o b F l o wのテストに入ります
94
M o d e l定義を基に エクセルが生成されます
95
必要なファイルを s r c / t e s t / j a v a
配下にコピーします
96
各ファイルの i n p u tシート、 o u t p u tシートにテストデータを登録します
97
o u t p u tシートを登録したファイルは r u l eシートも登録します
98
テストクラスを実装します ※本当はD M D L E d i t o r Xで自動生成できるはず…
h t t p s : / / g i t h u b . c o m / h i s h i d a m a / x t e x t - d m d l - e d i t o r / i s s u e s / 4 3
98
テストクラスを実装します ※本当はD M D L E d i t o r Xで自動生成できるはず…
h t t p s : / / g i t h u b . c o m / h i s h i d a m a / x t e x t - d m d l - e d i t o r / i s s u e s / 4 3
最新版で 対応済み!
99
U n i tテストとして実装します
100
成功しました
バッチアプリケーションの実行方法
• cp asakusa-develop/workspace/DemoSample/build/DemoSample-batchapps.jar $ASAKUSA_HOME/batchapps/ 生成されたビルドファイルをコピー
• cd $ASAKUSA_HOME/batchapps/
• ll ~/target/testing/directio/sample/in/ 入力ファイルを確認
• $ASAKUSA_HOME/yaess/bin/yaess-batch.sh DemoBatch バッチを実行