本ワークショップでは、数回のセッションで、モデルドリブン開発に従って、マイクロサービスを設計します。
本ワークショップは、新規でマイクロサービスを開発する場合でも、基幹システムを仮想マイクロサービス化する場合でも対応することができます。
ワークショップの内容は次のようになります。

  1. 基本技術について理解する
  2. ジョブ(職務)を確認する
  3. ドメインモデル(概念モデル)を設計する
  4. 集約のライフサイクルを分析する
  5. マイクロサービスの業務ユースケースを分析する
  6. ドメインモデルの妥当性を検証する
  7. ドメインモデル(論理モデル)を設計する
  8. アプリケーション連携モデルを設計する
  9. マイクロサービスのAPIを設計する
  10. ドメインロジックを定義する
  11. アプリケーションロジックを定義する

基本技術について理解する

ここでは、ドメイン駆動設計でマイクロサービスを開発するために必要な次の技術について理解します。

ジョブ(職務)を確認する

詳細は、「ジョブ(職務)の確認」を参照してください。

ドメインモデル(概念モデル)を設計する

次の図は、UMLのクラス図で描いた法人顧客のドメインモデル(概念モデル)の例です。




詳細は、「ドメインモデル(概念モデル)の設計」を参照してください。

集約のライフサイクルを分析する

次の図は、UMLのステートマシン図で描いた法人顧客のライフサイクルの例です。




詳細は、「集約のライフサイクル分析」を参照してください。

マイクロサービスの業務ユースケースを分析する

次の図は、UMLのユースケース図で描いた顧客管理の業務ユースケースの例です。




詳細は、「業務ユースケースの分析」を参照してください。

ドメインモデルの妥当性を検証する

詳細は、「ドメインモデルの妥当性検証」を参照してください。

ドメインモデル(論理モデル)を設計する

次の図は、UMLのクラス図で描いた法人顧客のドメインモデル(論理モデル)の例です。



詳細は、「ドメインモデル(論理モデル)の設計」を参照してください。

アプリケーション連携モデルを設計する

次の図は、顧客管理のアプリケーション連携モデルの例です。




詳細は、「アプリケーション連携モデルの設計」を参照してください。

マイクロサービスAPIを設計する

詳細は、「ユースケースの実現性検証」を参照してください。

ドメインロジックを定義する

詳細は、
「ドメインオブジェクトの不変条件の定義」
「ドメインオブジェクトのメソッド(事前条件・事後条件の定義」
を参照してください。

アプリケーションロジックを定義する

詳細は、
「アプリケーションサービスの不変条件の定義」
「アプリケーションサービスのメソッド(事前条件・事後条件の定義」
を参照してください。