Arhitektura aplikacije je organizacijska zasnova celotne programske aplikacije, vključno z vsemi podkomponentami in izmenjavami zunanjih aplikacij. Obstaja več oblikovnih vzorcev, ki se uporabljajo za opredelitev te vrste arhitekture in ti vzorci pomagajo sporočiti, kako bo aplikacija dokončala potrebne poslovne procese, kot so opredeljeni v sistemskih zahtevah.
Programska aplikacija je sistem, zasnovan za avtomatizacijo določenih nalog na logičen način, da izpolni niz zahtev. Za shranjevanje in izvajanje nalog znotraj aplikacije se opira na osnovne operacijske sisteme in baze podatkov. Arhitektura aplikacije je načrt, ki določa, kako bo program sodeloval s strežniki in komponentami znotraj domen aplikacijskih plasti.
S širitvijo interoperabilnosti znotraj programske opreme so nastale modularne komponente, ki so specializirane za specifična področja poslovnih procesov znotraj aplikacije. Arhitektura opredeljuje vse komponente znotraj zasnove in kako bodo komunicirale v aplikaciji. Ta definicija vključuje vse plasti aplikacije.
V vseh aplikacijah obstajajo tri glavna področja nadzora: predstavitvena plast, poslovna plast in plast dostopa do podatkov. Vsaka domena znotraj aplikacije ima posebno odgovornost, ki, ko je združena z drugimi plastmi, izpolnjuje osnovne poslovne zahteve aplikacije.
Arhitektura aplikacije se uporablja kot načrt za zagotovitev, da bodo osnovni moduli aplikacije podpirali prihodnjo rast. Rast se lahko pojavi na področjih prihodnje interoperabilnosti, povečanega povpraševanja po virih ali povečanih zahtev glede zanesljivosti. Z dokončano arhitekturo zainteresirane strani razumejo zapletenost osnovnih komponent, če bodo v prihodnosti potrebne spremembe.
Z ustvarjanjem naprednega objektno usmerjenega programiranja je organizacijska zasnova postala ključna komponenta pri določanju delovanja aplikacije. To je posledica široke uporabe aplikacij N-Tier v večini podjetij. Aplikacije N-Tier omogočajo uvajanje podkomponent ali modulov na več strežnikih znotraj podjetja.
Pri definiranju arhitekture aplikacije je pomembno definirati tudi arhitekturo aplikacijskega strežnika. Ta strežniška arhitektura prekriva zasnovo strojne opreme, ki bo olajšala namestitev komponent programske opreme. Dobre arhitekture aplikacijskega strežnika bi morale podpirati tako horizontalno kot vertikalno paradigmo rasti.
Arhitektura aplikacijske storitve opredeljuje, kako bo aplikacija dala ključne poslovne komponente na voljo drugim modulom znotraj aplikacije. Z opredelitvijo vmesnikov, ki so na voljo, zainteresirane strani znotraj organizacije bolje razumejo interoperabilnost med plastmi aplikacij.