このプロジェクトについて

Wowは、Apache 2.0ライセンスのオープンソースフレームワークで、「Domain Model as a Service」という概念を中心に、マイクロサービス開発向けのリアクティブCQRSおよびイベントソーシングパターンをサポートするために構築されています。各書き込み操作を、HTTPコマンド → 集約の意思決定 → ドメインイベント → ソースされた状態 → プロジェクションまたはサガ処理という、観測可能なエンドツーエンドのドメインフローとして構造化します。このフレームワークは、リアクティブコマンドパイプライン、イベント永続化、状態スナップショット、待機ステージ、読み取りモデルプロジェクション、サガ、生成されたメタデータ、WebFlux HTTPルート、Given → When → ExpectドメインテストDSLなどのすぐに使えるコンポーネントを提供します。ビジネスルールの複雑さ、状態履歴の監査要件、複数の読み取りモデルニーズ、または集約をまたぐワークフローがイベントソーシングのオーバーヘッドを正当化するシステムに最も適しており、単一のデータベーストランザクションで問題領域を完全に捉えられる単純なCRUDユースケースには推奨されません。オンボーディングのために、プロジェクトは専用のプロジェクトテンプレートを提供し、開発者が目標とする30分のセットアップで最初の機能スライスを構築できるように支援します。手順には、テンプレートのクローン、ドメインチェックの実行、文書化されたインメモリ設定でのサーバー起動、エンドツーエンドのコマンド処理、イベントソーシング、スナップショット処理、バージョン付き状態読み取りフローの検証が含まれます。リポジトリには、Kotlinの注文とカートのドメイン例、Javaの銀行振込例といった具体的な実装例に加え、コアコマンドディスパッチ、イベント永続化、プロジェクション、サガ、ドメインテスト、WebFluxルート生成、およびオプションのストレージ、メッセージング、セキュリティ、テレメトリ機能向けのSpring Bootスターター統合の専用モジュールが含まれています。また、イベント処理ワークフロー向けの組み込みの補償および復旧ツールも含まれています。現在のメインブランチのベースラインはバージョン9.1.5で、Java 17+が必要であり、Spring Boot 4.1.1、Kotlin 2.4.20、KSP 2.3.11向けに構築されています。古いフレームワークライン向けに個別のリリースタグが維持されており、例えばv6.20.16はSpring Boot 3.5.11を対象としています。このフレームワークはMaven Centralに公開され、英語と中国語のバイリンガルドキュメントを維持しており、そのモジュール設計、レビュー規律、テスト実践、静的解析、ドキュメント品質によりKaiCode'26 Excellent Awardを受賞しました。