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

Scalaが支える4RAPの認証認可基盤

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 Scalaが支える4RAPの認証認可基盤

FOLIO Meetup #1 リアルワールドScala - 金融を支えるシステムの実装ノウハウ
https://folio.connpass.com/event/382106/presentation/

Avatar for Ishikawa Ryuto

Ishikawa Ryuto

February 27, 2026
Tweet

More Decks by Ishikawa Ryuto

Other Decks in Programming

Transcript

  1. 12 システム概観 契約管理 営業窓口 管理 口座・売買 管理 ユーザー権限 管理 Web

    API 疎結合なシステム構成により柔軟な機能追加が実現 その他
  2. 18 セキュアなシークレット管理 前提として… • AWS Systems Manager Parameter Storeへシークレットを格納 •

    システムはParameter Storeからシークレットを取得する 開発者が直接シークレットを確認できない仕組みの開発 • Parameter Storeの値とOAuthクライアントのマッピング定義 • 変更内容のレビューを経て、環境への反映 スケールに耐えうる管理・運用基盤を実現 • シークレットの露出リスクの低減 • ヒューマンエラーの低減 • 変更の透明性と追跡性の向上
  3. 20 要件定義 要件定義 設計 チケット起票 実装・テスト QA リリース ビジネス要件とシステム要件の整理 •

    どんな機能が必要か • 外部システムとの連携とデータの流れ • 影響範囲 • 性能・可用性・セキュリティ・運用 関係者との合意 • 前提条件 • インターフェース仕様 • スケジュール・マイルストーン
  4. 21 設計 要件定義 設計 チケット起票 実装・テスト QA リリース イベントストーミングの実施 仕様のヌケモレ、認識の齟齬を減らす

    • 何が起きるか? • ユーザーやシステムが何をするのか? アーキテクチャや技術的な方針の策定 ADR (Architecture Decision Record)の作成 • 背景と選択肢 • 採用した/しなかった選択肢とその理由 • その後の懸念 インタフェースの仕様決定 • OpenAPI Specification • 既存金融機関システムのデータ形式
  5. 22 チケット起票 要件定義 設計 チケット起票 実装・テスト QA リリース 機能単位での達成するべきタスクの定義 •

    API・バッチ・ジョブ • 画面 • PoC チケットのテンプレート • 背景・目的 • 作業内容の概要と完了条件 • 参考リンク プランニング • 見積もり・優先度 • 担当者のアサイン
  6. 23 実装・テスト 要件定義 設計 チケット起票 実装・テスト QA リリース 実装 •

    コーディング規約の策定 • アーキテクチャの統一 • 将来の拡張性 テスト • 単体・結合テスト • フォーマット・Lintのチェック レビュー • 設計意図 • セキュリティ・パフォーマンス上の懸念 • 可読性と保守性
  7. 24 QA 要件定義 設計 チケット起票 実装・テスト QA リリース システム全体の確認 •

    シナリオテスト • 既存機能への影響 他チームとの連携 • 外部システムとの結合テスト • 性能・負荷・セキュリティ観点 リリース可否の判断材料を固める
  8. 25 リリース 要件定義 設計 チケット起票 実装・テスト QA リリース リリース計画 •

    作業手順 • ロールバック手順 • 関係者への共有 リリース方式 • フィーチャーフラグの切り替え • 段階的リリース • 一括の切り替え エラー増加やレスポンスの傾向など ログ・メトリクスを定常的に注視
  9. 27 主な技術スタック • Scala 2 および Scala 3 • Play

    Framework 3 • ScalikeJDBC • sttp3 • Circe など Scala 2のプロジェクトについてはScala 3へ移行中
  10. 55 もっとお話したことはあるけれど… ロギング • トレースID • 構造化ロギング • 機微情報の露出防止のプラクティス スレッドプールの分離について

    • PlayFrameworkにおける fork-join / thread-pool-executor の使い分け その他 • 「暗号化されている状態」を表現する型 • Controller / Handler / UseCase 雛形の自動生成