Chapter 13 — Microkernel Architecture Style
Core ideas
- Also called plug-in architecture. A core system plus independent plug-in components that extend it. Domain- or technically-partitioned; typically monolithic (but plug-ins can be remote).
- Registry (core knows which plug-ins exist) and contracts between core and plug-ins (contract versioning, adapters for third-party plug-ins).
- Classic examples: IDEs (Eclipse), browsers with extensions, insurance-claim rules engines, tax software.
Trade-offs / when to use
Excellent when the product has a stable core plus volatile, customer/rules-specific extensions. Good evolvability/testability for the plug-ins; overall scalability limited by the (often monolithic) core.