Monolithische toepassing

in software engineering, een monolithische toepassing beschrijft een single-tiered software applicatie waarin de gebruikersinterface en data access code worden gecombineerd in een enkel programma van een enkel platform.

een monolithische toepassing is op zichzelf staand en onafhankelijk van andere computertoepassingen. De ontwerpfilosofie is dat de toepassing niet alleen verantwoordelijk is voor een bepaalde taak, maar elke stap kan uitvoeren die nodig is om een bepaalde functie te voltooien. Tegenwoordig zijn sommige personal finance-toepassingen monolithisch in de zin dat ze de gebruiker helpen een volledige taak uit te voeren, end-to-end, en zijn private data silo ‘ s in plaats van onderdelen van een groter systeem van applicaties die samenwerken. Sommige tekstverwerkers zijn monolithische toepassingen. Deze toepassingen worden soms geassocieerd met mainframe computers.

in software engineering, een monolithische toepassing beschrijft een software applicatie die is ontworpen zonder modulariteit. Modulariteit is wenselijk, in het algemeen, omdat het hergebruik van delen van de toepassing logica ondersteunt en ook het onderhoud vergemakkelijkt door reparatie of vervanging van onderdelen van de toepassing toe te staan zonder dat groothandel vervanging.

modulariteit wordt in verschillende mate bereikt door verschillende modularisatiebenaderingen. Op Code gebaseerde modulariteit stelt ontwikkelaars in staat om delen van de applicatie te hergebruiken en te repareren, maar ontwikkeltools zijn vereist om deze onderhoudsfuncties uit te voeren (bijvoorbeeld de applicatie moet mogelijk opnieuw gecompileerd worden). Objectgebaseerde modulariteit biedt de toepassing als een verzameling van afzonderlijke uitvoerbare bestanden die onafhankelijk kunnen worden onderhouden en vervangen zonder de hele toepassing opnieuw te plaatsen (bijvoorbeeld Microsoft “dll” – bestanden; Sun/UNIX “shared object” – bestanden). Sommige object messaging mogelijkheden kunnen object-gebaseerde applicaties worden gedistribueerd over meerdere computers (bijvoorbeeld Microsoft COM+). Servicegerichte architecturen maken gebruik van specifieke communicatiestandaarden/protocollen om te communiceren tussen modules.

in zijn oorspronkelijke gebruik beschreef de term “monolithisch” enorme mainframe-toepassingen zonder bruikbare modulariteit. Dit, in combinatie met de snelle toename van de rekenkracht en dus de snelle toename van de complexiteit van de problemen die met software konden worden aangepakt, resulteerde in onverkoopbare systemen en de “softwarecrisis”.