Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[OutSystems] とりあえず Reactive なプロジェクトにはこれ導入しておくと良いって規約
Search
kata_junn
September 06, 2021
Technology
1
1.2k
[OutSystems] とりあえず Reactive なプロジェクトにはこれ導入しておくと良いって規約
OutSystems で Reactive なアプリを開発する際の規約の提言です
あつまれOutSystems Developer!開発者超会議
#6(2021/08/25) にて LT した内容です
kata_junn
September 06, 2021
Tweet
Share
More Decks by kata_junn
See All by kata_junn
ODC を乗りこなすために理解しておくと良いかもしれないいくつかのこと~Case:External Logic~
kata_junn
0
57
[OutSystems] シン・とりあえず Reactive なプロジェクトにはこれ導入しておくと良い規約
kata_junn
0
120
[OutSystems] Testing Framework がいい。とてもいい。
kata_junn
0
780
[OutSystems] OutSystems が誘う Null がない世界の罠
kata_junn
0
520
[OutSystems] CodeceptJS で快適な E2E ライフを送ろう!
kata_junn
0
240
[Agile][Scrum] 転リファ
kata_junn
3
7.4k
Other Decks in Technology
See All in Technology
DevIO2024_レガシー運用からの脱却 -クラウド活用の実践事例とベストプラクティス-
jun2882
0
210
MySQLのロックの種類とその競合
yoku0825
6
1.6k
dxd2024-生成AIに振り回された3か月間の成功と失敗/dxd2024-link-and-motivation
lmi
2
260
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
3
290
Scaling Technical Excellence at 104: Evolution in AWS and Developer Empowerment
scotthsieh825
1
150
技術負債による事業の失敗はなぜ起こるのか / Why do business failures due to technical debt occur?
i35_267
0
190
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
620
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
310
簡単に始めるSnowflakeの機械学習
nayuts
1
190
OSSコミットしてZennの課題を解決した話
dyoshikawa1993
0
150
ACRiルーム最新情報とAMD GPUサーバーのご紹介
anjn
0
150
エンジニアの生存戦略 〜クラウド潮流の経験から紐解く技術トレンドのメカニズムと乗りこなし方〜
shimy
9
1.9k
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
Adopting Sorbet at Scale
ufuk
71
8.8k
Designing for Performance
lara
604
67k
In The Pink: A Labor of Love
frogandcode
139
22k
Git: the NoSQL Database
bkeepers
PRO
423
64k
GitHub's CSS Performance
jonrohan
1026
450k
Happy Clients
brianwarren
94
6.5k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
Fireside Chat
paigeccino
25
2.8k
Why Our Code Smells
bkeepers
PRO
332
56k
Transcript
とりあえず Reactive なプロジェクトには これ導入しておくと良い、って規約 片野 潤一 伊藤忠テクノソリューションズ株式会社 アジャイル営業推進部 あつまれ OutSystems
Developer! 開発者超会議
Java Struts/Spring/MyBATIS 2005 2014 OutSystems Developer@3人(6か月) Developer && TL@約10人(24か月) OutSystems
推進 2019 2020 Scrum on AWS Role:Developer TypeScript Serverless Dynamo, Lambda, S3, SQS, Kinesis, Athena Angular 認定スクラムマスター(CSM) AWS Certified DevOps Engineer - Professional OutSystems Expert Traditional Web Developer OutSystems Architecture Specialist 好き:リアル脱出ゲーム、低温調理、スパイス、モブプロ、DQW、ゼルダ 20% OutSystems OutSystems 推進 Expert Service BootCamp 講師 PoC 提案+実施 now!! 2 片野 潤一(かたじゅん) Twitter:@kata_junn
3 Traditional だよ! Zoom の チャットで教えてください! 今やってるプロジェクトは… Reactive だよ! OutSystems
未導入だよ!
今日の話が響きそうな人 ⚫ Reactive なアプリケーションを実装している人 ⚫ これから Reactive なアプリケーションに関わりそうな人 ⚫ Traditional
はもう飽きたな、な人 ⚫ OutSystems の規約の雰囲気を味わいたい人 4
Façade Action
6 “Facade(ファサード)とは「建物の正面」を意味す る。異なるサブシステムを単純な操作だけを持った Facadeクラスで結び、サブシステム間の独立性を高め る事を目的とする。 Wikipedia https://ja.wikipedia.org/wiki/Facade_%E3%83%91%E3%82%BF%E3%8 3%BC%E3%83%B3
Screen Action Server Action
Screen Action Server Action
Screen Action Server Action
Screen Action Server Action Screen Action から Server Action 呼び出しは
1 回以下
None
Façade Action
13 “Facade(ファサード)とは「建物の正面」を意味す る。異なるサブシステムを単純な操作だけを持った Facadeクラスで結び、サブシステム間の独立性を高め る事を目的とする。 Wikipedia https://ja.wikipedia.org/wiki/Facade_%E3%83%91%E3%82%BF%E3%8 3%BC%E3%83%B3
14 “Facade(ファサード)とは「建物の正面」を意味す る。異なるサブシステムを単純な操作だけを持った Facadeクラスで結び、サブシステム間の独立性を高め る事を目的とする。 Wikipedia https://ja.wikipedia.org/wiki/Facade_%E3%83%91%E3%82%BF%E3%8 3%BC%E3%83%B3 いろんな処理を捌いてくれる執事
None
None
Façade Action
Façade Action Screen Action と 1:1 の Façade Action を作る
Façade Action の具体的な規約 ⚫ フォルダ/Action 名 ⁻ ServerActions -> [Screen
名] ⁻ [Screen 名]_[Screen Action 名]Facade ⁻ ex. HogeDetail_SaveFacade ⚫ 他細かいの ⁻ Façade Action → Façade Action 呼び出し禁止 ⁻ Server Action → Façade Action 呼び出し禁止
Façade Action を設ける利点 ⚫ Screen Action の品質一定化 ⁻ Screen Action
が呼び出す Server Action が明確になる ⁻ 規約に従うと Reactive 実装ベストプラクティスが遵守できる ⚫ 実装責務の明確化 ⁻ Screen Action、Façade Action、(非 Façade な)Server Action ⁻ 副次的に影響範囲の局所化
Façade Action の責務 ⚫ 画面機能に特化したサーバーサイドロジックの実装 ⁻ 共通ロジックに切り出す必要がないロジックを実装 ⚫ ビジネスロジックのオーケストレータ ⁻
共通ロジックへのパラメータ授受 ⁻ 呼び出し順序制御 ⁻ エラーハンドリング
まとめ ⚫ Façade Action を設けるといいこといっぱい! ⁻ Reactive 実装のベストプラクティスに則ることができる ⁻ Screen
Action/Façade Action/Server Action の責務を明確にできる ⚫ 具体的にどんな実装になるの?
ご清聴ありがとうございました ご質問があれば お願いします!