Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[OutSystems] とりあえず Reactive なプロジェクトにはこれ導入しておくと良いって規約

96ae3b7224ad653bdcc80059fa10fd8a?s=47 kata_junn
September 06, 2021

[OutSystems] とりあえず Reactive なプロジェクトにはこれ導入しておくと良いって規約

OutSystems で Reactive なアプリを開発する際の規約の提言です

あつまれOutSystems Developer!開発者超会議#6(2021/08/25) にて LT した内容です

96ae3b7224ad653bdcc80059fa10fd8a?s=128

kata_junn

September 06, 2021
Tweet

Transcript

  1. とりあえず Reactive なプロジェクトには これ導入しておくと良い、って規約 片野 潤一 伊藤忠テクノソリューションズ株式会社 アジャイル営業推進部 あつまれ OutSystems

    Developer! 開発者超会議
  2. 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. 3 Traditional だよ! Zoom の チャットで教えてください! 今やってるプロジェクトは… Reactive だよ! OutSystems

    未導入だよ!
  4. 今日の話が響きそうな人 ⚫ Reactive なアプリケーションを実装している人 ⚫ これから Reactive なアプリケーションに関わりそうな人 ⚫ Traditional

    はもう飽きたな、な人 ⚫ OutSystems の規約の雰囲気を味わいたい人 4
  5. Façade Action

  6. 6 “Facade(ファサード)とは「建物の正面」を意味す る。異なるサブシステムを単純な操作だけを持った Facadeクラスで結び、サブシステム間の独立性を高め る事を目的とする。 Wikipedia https://ja.wikipedia.org/wiki/Facade_%E3%83%91%E3%82%BF%E3%8 3%BC%E3%83%B3

  7. Screen Action Server Action

  8. Screen Action Server Action

  9. Screen Action Server Action

  10. Screen Action Server Action Screen Action から Server Action 呼び出しは

    1 回以下
  11. None
  12. Façade Action

  13. 13 “Facade(ファサード)とは「建物の正面」を意味す る。異なるサブシステムを単純な操作だけを持った Facadeクラスで結び、サブシステム間の独立性を高め る事を目的とする。 Wikipedia https://ja.wikipedia.org/wiki/Facade_%E3%83%91%E3%82%BF%E3%8 3%BC%E3%83%B3

  14. 14 “Facade(ファサード)とは「建物の正面」を意味す る。異なるサブシステムを単純な操作だけを持った Facadeクラスで結び、サブシステム間の独立性を高め る事を目的とする。 Wikipedia https://ja.wikipedia.org/wiki/Facade_%E3%83%91%E3%82%BF%E3%8 3%BC%E3%83%B3 いろんな処理を捌いてくれる執事

  15. None
  16. None
  17. Façade Action

  18. Façade Action Screen Action と 1:1 の Façade Action を作る

  19. Façade Action の具体的な規約 ⚫ フォルダ/Action 名 ⁻ ServerActions -> [Screen

    名] ⁻ [Screen 名]_[Screen Action 名]Facade ⁻ ex. HogeDetail_SaveFacade ⚫ 他細かいの ⁻ Façade Action → Façade Action 呼び出し禁止 ⁻ Server Action → Façade Action 呼び出し禁止
  20. Façade Action を設ける利点 ⚫ Screen Action の品質一定化 ⁻ Screen Action

    が呼び出す Server Action が明確になる ⁻ 規約に従うと Reactive 実装ベストプラクティスが遵守できる ⚫ 実装責務の明確化 ⁻ Screen Action、Façade Action、(非 Façade な)Server Action ⁻ 副次的に影響範囲の局所化
  21. Façade Action の責務 ⚫ 画面機能に特化したサーバーサイドロジックの実装 ⁻ 共通ロジックに切り出す必要がないロジックを実装 ⚫ ビジネスロジックのオーケストレータ ⁻

    共通ロジックへのパラメータ授受 ⁻ 呼び出し順序制御 ⁻ エラーハンドリング
  22. まとめ ⚫ Façade Action を設けるといいこといっぱい! ⁻ Reactive 実装のベストプラクティスに則ることができる ⁻ Screen

    Action/Façade Action/Server Action の責務を明確にできる ⚫ 具体的にどんな実装になるの?
  23. ご清聴ありがとうございました ご質問があれば お願いします!