Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Micro services as architectural concept
Search
Aimeos
May 09, 2016
Programming
700
0
Share
Micro services as architectural concept
What are micro services, some history and how we use it in Aimeos
Aimeos
May 09, 2016
More Decks by Aimeos
See All by Aimeos
PHP Map
aimeos
1
160
GraphQL vs. JSON:API
aimeos
1
240
Responsive E-Mails
aimeos
0
680
gigacommerce
aimeos
0
3.2k
High performance e-commerce in Laravel
aimeos
0
930
E-Commerce in TYPO3 mit Aimeos (Deutsch)
aimeos
0
460
Aimeos - high performance e-commerce in TYPO3
aimeos
0
320
Aimeos e-commerce components
aimeos
1
210
E-Commerce in TYPO3 - Reloaded
aimeos
0
310
Other Decks in Programming
See All in Programming
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
360
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
610
How Swift's Type System Guides AI Agents
koher
0
190
20260320登壇資料
pharct
0
170
ファインチューニングせずメインコンペを解く方法
pokutuna
0
280
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
190
おれのAgentic Coding 2026/03
tsukasagr
1
140
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
130
存在論的プログラミング: 時間と存在を記述する
koriym
5
840
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
160
PHPで TLSのプロトコルを実装してみる
higaki_program
0
740
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
3
360
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
330
The Spectacular Lies of Maps
axbom
PRO
1
680
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
120
The Curious Case for Waylosing
cassininazir
0
290
First, design no harm
axbom
PRO
2
1.2k
The Language of Interfaces
destraynor
162
26k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
A Soul's Torment
seathinner
6
2.6k
WENDY [Excerpt]
tessaabrams
9
37k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
480
Joys of Absence: A Defence of Solitary Play
codingconduct
1
340
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
97
Transcript
Micro services as architectural concept
Previous applications architectures
“Spaghetti”
Function 2 Function 3 Function ... Application Function 5 Function
4 Function 1
Objekt oriented
Object 1 - Data - Methods Object 1 - Data
- Methods Object ... - Data - Methods Application
Layer model
Layer 1.3 Layer 1.2 Layer 1.1 Layer 2.2 Layer 2.1
Application
Similarity: Deployment monoliths
Micro services
Single, independent applications
Layer 2.2 Layer 2.1 Layer 1.3 Layer 1.2 Layer 1.1
Application 1 Application 2
Requirement: Domain driven design
Layer 1.3 Layer 1.2 Layer 1.1 Layer 2.2 Layer 2.1
Layer 3.4 Layer 3.4 Layer 3.1 Layer 3.2 Domain 1 Domain 3 Domain 3
Micro services in “real life”
Domäne 3 Domain 1 Domain 2 Domain 5 Domain 4
Domain 3 Bounded contexts
Interfaces and data exchange
Domain 1 Domain 5 Format? Versioning? Compatibility? Fault tolerance? Number
of calls? Common data model?
Shared kernel
Domain 1 Data model Domain 3
Best case • Work independently from each other • Extendable
by different teams • Exchangeable • Scalable
Worst case • Erros are even harder to find •
Increased total complexity • Performance suffers • Cascading outages
Aimeos
E-Commerce components for integration into applications
None
Layer model
Config Data access JQAdm JQuery Frontend client List ... Basket
Admin controller Frontend controller PHP I18n Config Database View Logger Session Bandend application Frontend application ExtAdm JsonAdm ExtJS JSON API
Data domains
Product Catalog Index Order ... 16 Datendomänen Data access
Separation into stacks for micro services
Config List Client ... Client Cntl ... Cntl Product ...
Order ... Basket By domain
Frontend client List ... Basket Frontend controller Data access By
use case Config JQuery JQAdm ExtAdm JsonAdm Cntl Cntl Cntl Data Data Data ExtJS JSON API
Frontend client List ... Basket Frontend controller Data access With
shared kernel JQuery JQAdm ExtAdm JsonAdm Admin Controller ExtJS JSON API
As Composer packages • Aimeos core (shared kernel) • HTML
client (frontend) • JQAdm (JQuery admin) • ExtAdm (ExtJS admin) • JsonAdm (JSON admin API) • Jobs (cronjob controller)
Open questions
Further separation? Frontend? Shared admin controller?
Best size for micro services?
Aimeos aimeos.org Twitter: @aimeos facebook.com/Aimeos