SlideShare a Scribd company logo

Asakusaの今後の方向性

Next Step of Asakusa

Asakusaの今後の方向性

1 of 9
Download to read offline
Asakusaの今後の方向性,[object Object]
まずはAsakusaの構成要素,[object Object],AsakusaDSL,[object Object],開発手法と表裏一体,[object Object],Ashigelcompiler,[object Object],最適化,[object Object],中間表現,[object Object],ThunderGate,[object Object],パフォーマンス,[object Object]
AsakusaDSL,[object Object],AsakusaDSL,[object Object],開発手法と表裏一体,[object Object],現状の問題点,[object Object],メタフロー記述ができない,[object Object],例)伝票処理,[object Object],各伝票処理で基本的なフローは同じだが微妙に違うことがある,[object Object],仕入伝票、返品伝票、在庫移動伝票、廃棄伝票,[object Object],すべての伝票で例えば商品マスターチェックを行っている・・・,[object Object],が、現状では似たようなコードが各所で書かれている。実際にコピペで実装というケースもある,[object Object],同じような処理は可能限り一箇所で記述した方がよい,[object Object]
メタフロー化,[object Object],汎化するフローレベルの問題,[object Object],処理単位での汎化とPart単位での汎化が競合した場合,[object Object],基本的に再帰的に考えれば良い,[object Object],インターフェイスが合っていれば、特に問題はないはず,[object Object],FlowpartA,[object Object],処理A,[object Object],処理B,[object Object],Flowpart単位での汎化,[object Object],Flow単位での汎化,[object Object],FlowpartA1,[object Object],処理A1,[object Object]
メタフロー化,[object Object],そもそもフローの汎用化とかどう考えるか?,[object Object],というかそもそもデータフローをどう考えるのか?,[object Object],まずデータフローのカテゴライズ,[object Object],TX->TX,[object Object],例)確定前請求データ->確定後請求データ,[object Object],結構ある,[object Object],Ms->TX,[object Object],例)取引先M->請求データ,[object Object],結構ある,[object Object],TX->Ms,[object Object],例)納品データ->商品M登録データ作成,[object Object],割と特殊,[object Object],Ms,[object Object],Process,[object Object],TX,[object Object],TX,[object Object]
制限はあるか?,[object Object],引数の型paramは上限にしてほしいかも,[object Object],戻り値がバラバラは無理かも,[object Object],	@Update,[object Object],public <P extends PModel> void updateProjection(P model) {,[object Object],model.setProjectiveMember(100); },[object Object],@MasterJoinUpdate,[object Object],     public <P extends PKey & PValue>,[object Object],     void branchProjection(,[object Object],               @Key(group = "key") P mst,,[object Object],               @Key(group = "key") TxDatatx) {,[object Object],tx.setValue(mst.getValue());,[object Object],},[object Object],データを変形するタイプ,[object Object],Update~Join・Sort,[object Object],データを生成するタイプ,[object Object],Convert,[object Object],イメージ的にはこんな感じか,[object Object],Ms,[object Object],Process,[object Object],TX,[object Object],TX,[object Object],但し、出力が一意に決まればいけるかも,[object Object]
Ad

Recommended

Asakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopAsakusa Enterprise Batch Processing Framework for Hadoop
Asakusa Enterprise Batch Processing Framework for HadoopTakashi Kambayashi
 
ざっくり DDD 入門!!
ざっくり DDD 入門!!ざっくり DDD 入門!!
ざっくり DDD 入門!!Yukei Wachi
 
集合演算を真っ向から否定するアレの話
集合演算を真っ向から否定するアレの話集合演算を真っ向から否定するアレの話
集合演算を真っ向から否定するアレの話Kouhei Aoyagi
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる増田 亨
 
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐO/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐkwatch
 
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan Koichi Fujikawa
 

More Related Content

What's hot

よろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだよろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだNarami Kiyokura
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門増田 亨
 
Amazon Redshift ことはじめ
Amazon Redshift ことはじめAmazon Redshift ことはじめ
Amazon Redshift ことはじめShiro Miyazaki
 
How to modularize Pyramid/Cornice/Colander codes -- PyCon JP 2016 LT
How to modularize Pyramid/Cornice/Colander codes -- PyCon JP 2016 LTHow to modularize Pyramid/Cornice/Colander codes -- PyCon JP 2016 LT
How to modularize Pyramid/Cornice/Colander codes -- PyCon JP 2016 LTTomohiro NAKAMURA
 
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性Yamamoto Reki
 
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~Sotaro Kimura
 

What's hot (6)

よろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだよろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだ
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
Amazon Redshift ことはじめ
Amazon Redshift ことはじめAmazon Redshift ことはじめ
Amazon Redshift ことはじめ
 
How to modularize Pyramid/Cornice/Colander codes -- PyCon JP 2016 LT
How to modularize Pyramid/Cornice/Colander codes -- PyCon JP 2016 LTHow to modularize Pyramid/Cornice/Colander codes -- PyCon JP 2016 LT
How to modularize Pyramid/Cornice/Colander codes -- PyCon JP 2016 LT
 
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
 
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
 

Asakusaの今後の方向性

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.