Home

applicatiearchitectuur

Applicatiearchitectuur is een onderdeel van softwarearchitectuur dat de structuur van een softwaretoepassing beschrijft en hoe onderdelen zoals componenten, modules, services en databronnen met elkaar samenwerken om functionaliteit te leveren. Zij houdt rekening met functionele vereisten en niet-functionele kwaliteitsattributen zoals prestaties, schaalbaarheid, betrouwbaarheid, veiligheid en onderhoudbaarheid.

Een gangbare indeling is gericht op lagen of domeinen: presentatie, applicatielaag/bedrijfslogica, en data-access of opslag. Componenten

Veelvoorkomende ontwerpprincipes en patronen zijn een gelaagde architectuur, clean/hexagonale (ports-and-adapters) en varianten zoals microservices of een

Belangrijke beslissingen betreffen onder meer schaalbaarheids- en beschikbaarheidsmodellen, beveiliging (authenticatie, autorisatie en data-beveiliging), data-consistentie en migratiebeleid,

Architectuurwerk wordt vastgelegd en onderhouden in documenten en modellen (views, component- en interface-diagrammen) en bewaakt via

leveren
services
via
goed
gedefinieerde
interfaces
en
API's.
Architectuurkeuzes
bepalen
hoe
data
wordt
opgeslagen,
welke
technologieën
worden
toegepast
en
hoe
deployment
en
uitvoering
plaatsvinden.
modulair
monolithische
aanpak.
In
event-driven
omgevingen
worden
berichten
uitgewisseld
via
berichtenkanalen.
API-first
en
contractgestuurd
ontwerp
is
gebruikelijk,
evenals
inzet
van
duidelijke
integration-
en
data-consistentiepatronen.
en
de
keuze
voor
cloud,
on-premises
of
hybride
omgevingen.
Kwaliteitsattributen
worden
gewaardeerd
door
middel
van
architectuurkeuzes,
architectuurprincipes
en
standaarden
die
de
ontwikkeling
sturen.
governance
en
regelgeving.
In
grotere
organisaties
vormt
applicatiearchitectuur
een
stuk
van
de
bredere
enterprise-
of
solution-architectuur
en
stemt
het
af
met
data-
en
infrastructuurarchitectuur.
De
rol
van
de
applicatiearchitect
is
het
afstemmen
van
flexibiliteit,
kosten
en
risico's
met
belanghebbenden
gedurende
de
levenscyclus
van
de
toepassing.