SOA MicroServices
Architecture ServiceOriented
SOAと同じですが、新しいアーキテクチャと⾔うより、デ
ザインパターン
Design Focus Reuse(サービスの再利⽤すること) Autonomy(業務的なバリューを表すこと)
Cohesion Logical Cohesion(ロジカル的な粘着度、集約度) Functional Cohesion(業務機能的な粘着度、集約度)
Coupling Tight Coupling(密結合化と依存性)
Loose Coupling(疎結合化と独⽴性、他のサービスに依
存せず、独⾃で該当の業務機能を処理できる)
Implementation
Examples
UI Layer
Messaging Service
Data Access Service
Order Service
Shipment Service
MICROSERVICES VS SOA
Browse Products UI
PresentationLayerも疎結合化
Product Info Service
Recommendation Service
Review Service
Order Service
Checkout UI
Order Management UI
Account Management UI
密結合アプリケーションの疎結合化③
20.
サービスとデータをスーケル・アウト(X,Z軸)
Browse Products UIBrowseProducts UI
Checkout UICheckout UI
Order Management UIOrder Management UI
Account Management UIAccount Management UI
Review ServiceReview Service
Recommendation ServiceRecommendation Service
Product Info ServiceProduct Info Service
Order ServiceOrder Service
密結合アプリケーションの疎結合化④
MicroServicesアプリ
Data Access
Layer DAMS
REST API
SESSION
REST API
IMDG MS
REST API
MSG MS
AMQP API
Presentation
Layer
Web App Web App Mobile App
Business Logic
Layer BL MS
REST API
BL MS
REST API
BL MS
REST API
密結合アプリ
Presentation
DAO
Business Logic
JavaEE /EJB
データ / メッセージ
IMDG
REST API JAVA API .Net API C++ API
AMQP Message Service Bus
JSON-RPC JAVA/JMS API AMQP
MSG Broker
API
SQL/NoSQL/Hadoop
REST API Native API
BIMODAL IT:⼆種類DESIGN PATTERNの共存
• Martin Fowler(2016)Microservices Resource Guide
http://martinfowler.com/microservices/
• Martin L. Abbott & Michael T. Fisher(2015) The Art of Scalability(Book)
http://theartofscalability.com/
• Sam NewMan(2015) Building Microservices(Book)
http://samnewman.io/books/building_microservices/
REFERENCES