失敗しないアプリケーション モダナイゼーションの考え方€¦ · マイクロサービスの場合、計測はチャレンジが必要 – リクエストが来ていないマイクロサービスはダウンしているか?
[AC05]...
-
Upload
decode-2017 -
Category
Technology
-
view
1.383 -
download
0
Transcript of [AC05]...
![Page 1: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/1.jpg)
![Page 2: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/2.jpg)
というと聞こえはいいですが、まあ調整役です
![Page 3: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/3.jpg)
![Page 4: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/4.jpg)
※本資料および講演内容は、講演者個人の見解であり、所属する組織の戦略ないし見解を必ずしも反映するものではありません。
![Page 5: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/5.jpg)
https://www.flickr.com/photos/celesteh/5947099533
![Page 6: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/6.jpg)
UIServer-
Side DB
参考:martinfowler.com
![Page 7: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/7.jpg)
参考:martinfowler.com
![Page 8: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/8.jpg)
参考:martinfowler.com
![Page 9: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/9.jpg)
そこでマイクロサービスですよ
![Page 10: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/10.jpg)
参考:martinfowler.com
![Page 11: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/11.jpg)
Logic
Logic
![Page 12: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/12.jpg)
![Page 13: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/13.jpg)
![Page 14: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/14.jpg)
過ぎたるは及ばざるがごとしpublic class FizzStrategy implements IsEvenlyDivisibleStrategy {
public boolean isEvenlyDivisible(final int theInteger) {
if
(NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,
FizzStrategyConstants.FIZZ_INTEGER_CONSTANT_VALUE)) {
return true;
} else {
return false;
}
}
}
FizzStrategy.java - https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
![Page 15: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/15.jpg)
参考:martinfowler.com
![Page 16: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/16.jpg)
![Page 17: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/17.jpg)
![Page 18: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/18.jpg)
・レイヤ化アーキテクチャによるドメイン層の確保・オブジェクト指向を駆使したモデルの実装
・「境界づけられたコンテキスト」同士の関係性・「コンテキストマップ」による表現
![Page 19: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/19.jpg)
出典:http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html by Trygve M. H. Reenskaug
ユーザーの世界観
![Page 20: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/20.jpg)
オブジェクト
オブジェクト
Search
Small Pop-Up
Pop-Up Menu
Small Combo
Combo BoxBits
BobsThings
Stuff
OKCancel
Label
Ends
Odds
Help Tag
Explanotext
A Very Nice Window Indeed
SIDEBAR
Search
Odds
Ends
UIデータベース
リポジトリクライアント
オブジェクト
ドメイン層
モデルの表現
![Page 21: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/21.jpg)
<script
var a=
var xl
if(xls
SQL
SQLテンプレート
パラメタ
結果セット
Search
Small Pop-Up
Pop-Up Menu
Small Combo
Combo BoxBits
BobsThings
Stuff
OKCancel
Label
Ends
Odds
Help Tag
Explanotext
A Very Nice Window Indeed
SIDEBAR
Search
Odds
Ends
UI
<script
var a=
var xl
if(xls
入力チェック
<script
var a=
var xl
if(xls
編集ロジック
データベース
DBアクセス
手続き
![Page 22: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/22.jpg)
『エリックエヴァンスのドメイン駆動設計』 p.336
大規模なシステムについては...
![Page 23: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/23.jpg)
経路選択サービス
ネットワーク走査サービス
予約-運送ネットワーク変換サービス
“経路”
“ノード”と
“アーク”
![Page 24: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/24.jpg)
![Page 25: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/25.jpg)
マスタ
データマートBI
マスタ
![Page 26: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/26.jpg)
意思決定支援
業務
潜在能力
経路選択サービス
経路仕様 輸送日程
顧客 運送工程
![Page 27: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/27.jpg)
参考:Enterprise Integration Patterns
同期 or 非同期?
データ量?
連携頻度?
![Page 28: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/28.jpg)
![Page 29: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/29.jpg)
![Page 30: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/30.jpg)
受発注在庫管理
会計
WMS
マスタ
レポーティング
業務
潜在能力/ポリシー
意思決定支援
Before After
package
scratch
package
![Page 31: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/31.jpg)
受発注在庫管理
WMS
ヒト モノ
![Page 32: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/32.jpg)
![Page 33: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/33.jpg)
受発注在庫管理
WMS
吸収層
![Page 34: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/34.jpg)
![Page 35: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/35.jpg)
• 分割/統合方針重要• ヒトの動きと責務のレイヤを考慮しよう
• 特性を考えた統合方式を選択しよう
• なにより業務重要• システムの動きだけでは解決できないことを忘れずに
• ビジネスにとって大切なエンドツーエンドを考えよう
• ご利用は計画的に• アップフロントに精緻な計画を立てておこう
まとめ
技術より業務
![Page 36: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/36.jpg)
![Page 37: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/37.jpg)
![Page 38: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/38.jpg)
セッションアンケートにご協力ください
➢ 専用アプリからご回答いただけます。
decode 2017
➢ スケジュールビルダーで受講セッションを登録後、アンケート画面からご回答ください。
➢ アンケートの回答時間はたったの 15 秒です!
![Page 39: [AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計](https://reader033.fdocuments.net/reader033/viewer/2022052117/5a64785c7f8b9a40568b458b/html5/thumbnails/39.jpg)
Ask the Speaker のご案内
本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにて
ご説明させていただきます。是非、お立ち寄りください。