Een Application Object Server (AOS) is een component aan de serverzijde in bepaalde applicatiearchitecturen, met name die welke objectgeoriënteerd ontwerp gebruiken. Het is verantwoordelijk voor het beheren en uitvoeren van bedrijfslogica met betrekking tot applicatieobjecten. Zie het als een centrale hub waar alle ‘slimme’ delen van een applicatie zich bevinden.
Hier is een overzicht van de belangrijkste functies:
* Objectbeheer: De AOS is verantwoordelijk voor het maken, opslaan, ophalen en verwijderen van applicatieobjecten. Deze objecten omvatten gegevens en gerelateerde bedrijfslogica.
* Uitvoering van bedrijfslogica: In plaats van dat clientapplicaties rechtstreeks complexe berekeningen of bewerkingen uitvoeren, delegeren ze deze taken aan de AOS. Hierdoor worden de bedrijfsregels gecentraliseerd en wordt consistentie in de hele applicatie gegarandeerd.
* Gegevenstoegang: De AOS verwerkt doorgaans interacties met databases of andere gegevensbronnen. Hierdoor worden de onderliggende mechanismen voor gegevenstoegang weggenomen van de clienttoepassingen.
* Beveiliging: De AOS kan beveiligingsbeleid afdwingen door de toegang tot objecten en gegevens te controleren.
* Gelijktijdigheidscontrole: Het beheert gelijktijdige toegang tot objecten en gegevens om conflicten te voorkomen en de gegevensintegriteit te waarborgen.
* Transactiebeheer: De AOS zorgt ervoor dat bewerkingen betrouwbaar worden verwerkt, hetzij als geheel met succes voltooid, hetzij teruggedraaid in geval van een mislukking.
Belangrijkste verschillen en vergelijkingen:
* Vergeleken met een typische applicatieserver: Hoewel een applicatieserver sommige van deze functies kan verwerken, is een AOS specifiek gericht op *objecten* en de bijbehorende bedrijfslogica. Een generieke applicatieserver kan diensten voor meer algemene doeleinden leveren, zoals webserving of berichtenuitwisseling.
* Vergeleken met een databaseserver: Een databaseserver richt zich op het opslaan en ophalen van gegevens. Een AOS zorgt voor de *applicatielogica* die *op* die gegevens werkt.
Voorbeeld:
Stel je een e-commercetoepassing voor. De AOS kan objecten als 'Product', 'Bestelling' en 'Klant' beheren. Wanneer een clienttoepassing de totale prijs van een bestelling moet berekenen, verzendt deze het bestelobject naar de AOS. De AOS voert vervolgens de berekening uit met behulp van de bedrijfslogica die is ingebed in het object 'Bestelling' (bijvoorbeeld het toepassen van kortingen, belastingen, enz.) en retourneert het resultaat.
In wezen bevordert een AOS modulariteit, onderhoudbaarheid en schaalbaarheid door applicatieobjecten en de bijbehorende logica te centraliseren en te beheren. Het is echter een architectonisch patroon dat tegenwoordig niet zo universeel wordt gebruikt als meer algemene applicatieservers of op microservices gebaseerde architecturen. De term komt minder vaak voor in de huidige discussies over software-architectuur in vergelijking met modernere concepten. |