Asakusa fwはじめの一歩 0.7.0

Post on 02-Jul-2015

809 views 1 download

description

Asakusa Framework はじめの一歩( ver 0.7.0 )

Transcript of 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 バッチを実行