SBI securiteis Co., Ltd.
System Develop Division
ΛTL
Public Edition
In other words
このドキュメントはフィクションであり、
実在の人物・団体とは一切関係ありません
The following story is fictional and does not depict any actual person or group.
Well, I can say anything else ;P
PL-FP
Large BL
PL-PC
※図にしようしたら時間がかかりすぎるのでやめました
フレームワーク変更するためには
全て作り直さなければならない
PC: Desktop PC
FP: Feature Phone
SP: Smart Phone
PL: Presentation Layer
BL: Business logic Layer
PL-SP
BL-Customer
BL-Products
BL-Order
各サービスが独立しているので違う言語でもOK
PL-FP
PL-PC
PL-SP
BL-SSO
BL-Crypto
BL-ATM
PC: Desktop PC
FP: Feature Phone
SP: Smart Phone
PL: Presentation Layer
BL: Business logic Layer
BL-Price
…
LB-PC
LB-FP
LB-SP
WEB-FP
WEB-FP
WEB-FP
WEB-PC
WEB-PC
WEB-PC
WEB-SP
WEB-SP
WEB-SP
LB-Customer
LB: LoadBalancer
AP: Application server
AP-Customer
AP-Customer
AP-Customer
LB-Product
AP-Product
AP-Product
AP-Product
LB-Order
AP-Order
AP-Order
AP-Order
LB-Other
AP-Other
AP-Other
AP-Other
AP層のサーバー群定義が増えすぎてつらい
…
各MicroServiceのプロジェクトを
serviceとwebに分割
BL-Web-Customer
BL-Service-Customer
BL-Web-Product
BL-Service-Product
…
serviceは他のプロジェクトに取り込める
BL-Web-ALL
BL-Service-Customer
BL-Service-Product
BL-Service-Order
BL-Service-Price
…
必要になったらサービスを独立させる
LB-PC
LB-FP
LB-SP
WEB-FP
WEB-FP
WEB-FP
WEB-PC
WEB-PC
WEB-PC
WEB-SP
WEB-SP
WEB-SP
LB-AP
AP-A
AP-All
AP-All
LB: LoadBalancer
AP: Application server
元のLarge BLとあまり変わらない
モジュール化を推進しただけ
「いろんな言語を適材適所で使う」
システムを陳腐化させず、FW等を適宜入替
可能にするにはデプロイ単位を小さくして疎結合にしておく事が最も重要
”選択は、ある時点で確定することはなく、時間の経過とともに、その都度、何度でも行う必要がある"
Scala: バイナリ互換どうにかならないと長期プロジェクトでは厳しい
Clojure: SIerの連れてくる一般的な技術者にS式は無理では
Kotlin: もっと人気がでて情報が出てくれないとトラぶった時大変
・みんな大好きなアレ
<<JVM言語>>
<<その他>>
Haskell: Webの最適解出てない感じ
Go: 冗談でしょ?
D言語: D言語君万歳!
Fin.