Aplicație monolitică

în ingineria software, O aplicație monolitică descrie o aplicație software cu un singur nivel în care interfața cu utilizatorul și Codul de acces la date sunt combinate într-un singur program dintr-o singură platformă.

o aplicație monolitică este autonomă și independentă de alte aplicații de calcul. Filozofia de proiectare este că aplicația este responsabilă nu doar pentru o anumită sarcină, ci poate efectua fiecare pas necesar pentru a finaliza o anumită funcție. Astăzi, unele aplicații de finanțare personală sunt monolitice în sensul că ajută utilizatorul să îndeplinească o sarcină completă, de la capăt la capăt și sunt silozuri de date private, mai degrabă decât părți ale unui sistem mai mare de aplicații care funcționează împreună. Unele procesoare de text sunt aplicații monolitice. Aceste aplicații sunt uneori asociate cu computerele mainframe.

în ingineria software, O aplicație monolitică descrie o aplicație software care este proiectată fără modularitate. Modularitatea este de dorit, în general, deoarece susține reutilizarea părților din logica aplicației și facilitează, de asemenea, întreținerea, permițând repararea sau înlocuirea părților aplicației fără a necesita înlocuirea cu ridicata.

modularitatea este realizată în diferite grade prin diferite abordări de modularizare. Modularitatea bazată pe cod permite dezvoltatorilor să reutilizeze și să repare părți ale aplicației, dar sunt necesare instrumente de dezvoltare pentru a îndeplini aceste funcții de întreținere (de exemplu, este posibil ca aplicația să fie recompilată). Modularitatea bazată pe obiecte oferă aplicația ca o colecție de fișiere executabile separate care pot fi întreținute și înlocuite în mod independent fără a redistribui întreaga aplicație (de exemplu, fișiere Microsoft „dll”; fișiere Sun/Unix „obiect partajat”). Unele capabilități de mesagerie obiect permit aplicațiilor bazate pe obiecte să fie distribuite pe mai multe computere (de exemplu, Microsoft COM+). Arhitecturile orientate spre servicii utilizează standarde/protocoale de comunicare specifice pentru a comunica între module.

în utilizarea sa inițială, termenul „monolitic” a descris aplicații mainframe enorme fără modularitate utilizabilă. Acest lucru, în combinație cu creșterea rapidă a puterii de calcul și, prin urmare, creșterea rapidă a complexității problemelor care ar putea fi abordate de software, a dus la sisteme care nu pot fi întreținute și la „criza software”.