Monolitikus alkalmazás
a szoftverfejlesztésben a monolitikus alkalmazás egyszintű szoftveralkalmazást ír le, amelyben a felhasználói felület és az adathozzáférési kód egyetlen programba van egyesítve egyetlen platformról.
a monolitikus alkalmazás önálló és független más számítástechnikai alkalmazásoktól. A tervezési filozófia az, hogy az alkalmazás nem csak egy adott feladatért felelős, hanem minden olyan lépést elvégezhet, amely egy adott funkció elvégzéséhez szükséges. Manapság néhány személyes pénzügyi alkalmazás monolitikus abban az értelemben, hogy segítenek a felhasználónak egy teljes feladat elvégzésében, végponttól végpontig, és privát adat silók, nem pedig egy nagyobb alkalmazásrendszer részei, amelyek együtt működnek. Egyes szövegszerkesztők monolitikus alkalmazások. Ezeket az alkalmazásokat néha nagyszámítógépekhez társítják.
a szoftverfejlesztésben a monolitikus alkalmazás olyan szoftveralkalmazást ír le, amelyet modularitás nélkül terveztek. A modularitás általában kívánatos, mivel támogatja az alkalmazási logika egyes részeinek újrafelhasználását, valamint megkönnyíti a karbantartást azáltal, hogy lehetővé teszi az alkalmazás egyes részeinek javítását vagy cseréjét anélkül, hogy nagykereskedelmi cserét igényelne.
a modularitást különböző mértékben érik el különböző modularizációs megközelítésekkel. A kódalapú modularitás lehetővé teszi a fejlesztők számára, hogy újra felhasználják és javítsák az alkalmazás egyes részeit, de fejlesztőeszközökre van szükség ezeknek a karbantartási funkcióknak a végrehajtásához (pl. az alkalmazást újra kell fordítani). Az objektum-alapú modularitás az alkalmazást különálló futtatható fájlok gyűjteményeként biztosítja, amelyek függetlenül karbantarthatók és kicserélhetők a teljes alkalmazás újratelepítése nélkül (pl. Microsoft “dll” fájlok; Sun/UNIX “shared object” fájlok). Egyes objektum-üzenetküldési képességek lehetővé teszik az objektum – alapú alkalmazások elosztását több számítógépen (például Microsoft COM+). A szolgáltatásorientált architektúrák speciális kommunikációs szabványokat/protokollokat használnak a modulok közötti kommunikációhoz.
eredeti használatában a “monolit” kifejezés hatalmas mainframe alkalmazásokat írt le, amelyek nem használhatók modularitással. Ez a számítási teljesítmény gyors növekedésével, és ezáltal a szoftverrel kezelhető problémák összetettségének gyors növekedésével együtt fenntarthatatlan rendszereket és “szoftverválságot”eredményezett.