Monolityczna aplikacja
w inżynierii oprogramowania monolityczna aplikacja opisuje jednopoziomową aplikację, w której interfejs użytkownika i Kod dostępu do danych są połączone w JEDEN program z jednej platformy.
aplikacja monolityczna jest samodzielna i niezależna od innych aplikacji komputerowych. Filozofia projektowania polega na tym, że aplikacja jest odpowiedzialna nie tylko za konkretne zadanie, ale może wykonać każdy krok potrzebny do wykonania określonej funkcji. Obecnie niektóre aplikacje finansów osobistych są monolityczne w tym sensie, że pomagają użytkownikowi wykonać kompletne zadanie, od końca do końca i są prywatnymi silosami danych, a nie częściami większego systemu aplikacji, które współpracują ze sobą. Niektóre edytory tekstu są aplikacjami monolitycznymi. Aplikacje te są czasami związane z komputerami typu mainframe.
w inżynierii oprogramowania monolityczna aplikacja opisuje aplikację, która jest zaprojektowana bez modułowości. Modułowość jest ogólnie pożądana, ponieważ wspiera ponowne wykorzystanie części logiki aplikacji, a także ułatwia konserwację, umożliwiając naprawę lub wymianę części aplikacji bez konieczności wymiany hurtowej.
modułowość osiąga się w różnym stopniu dzięki różnym podejściom modularyzacyjnym. Modułowość oparta na kodzie pozwala programistom na ponowne użycie i naprawę części aplikacji, ale narzędzia programistyczne są wymagane do wykonywania tych funkcji konserwacyjnych (np. aplikacja może wymagać rekompilacji). Modułowość obiektowa zapewnia aplikację jako zbiór oddzielnych plików wykonywalnych, które mogą być niezależnie utrzymywane i zastępowane bez ponownego obciążania całej aplikacji (np. pliki „dll” Microsoft; pliki „shared object” Sun/UNIX). Niektóre funkcje przesyłania wiadomości obiektowych umożliwiają dystrybucję aplikacji obiektowych na wielu komputerach (np. Architektury zorientowane na usługi wykorzystują określone standardy/protokoły komunikacyjne do komunikacji między modułami.
w swoim pierwotnym użyciu termin „monolityczny” opisywał ogromne aplikacje typu mainframe bez użytecznej modułowości. To, w połączeniu z gwałtownym wzrostem mocy obliczeniowej, a tym samym gwałtownym wzrostem złożoności problemów, które mogą być rozwiązywane przez oprogramowanie, doprowadziło do nieosiągalnych systemów i”kryzysu oprogramowania”.