Velké softwarové aplikace se běžně vyvíjejí pomocí softwarových komponent. Na komponenty je pohlíženo jako na "černé krabičky", které se skládají dohromady pomocí poskytovaných a požadovaných služeb.
Ve srovnání s dalšími vývojářskými technikami komponenty poskytují rychlejší vývoj, čisté a explicitní architektury aplikací a snadnou znovupoužitelnost komponent. V současné době existuje několik systémů, které umožňují vývoj pomocí komponent.
Dva známé systémy z nich jsou "Service Component Architecture" a "Fractal Component Model". Na první pohled oba poskytují stejné možnosti pro vývojáře.
V tomto článku krátce popíšeme oba systémy a poté oba důkladně analyzujeme a tuto analýzu vyhodnotíme.