В центъра на тази архитектура стои общо хранилище за данни. Отделните компоненти на системата взаимодействат помежду си непряко – през данните в хранилището.
Архитектура с разпределяне на товара (Load Balancing)
Когато софтуерната система трябва да осигурява висока производителност и/или надеждност е възможно да се използват повече от едно звена, изпълняващи еднакви функции, като заявките към тях се разпределят от специално звено (load balancer), така че натоварването на всяко звено да е съизмеримо и производителността на системата да бъде оптимална. В допълнение, при проблем в работата на едно от дублираните взена е възможно останалите да поемат неговата част от операциите без нарушаване работата на цялата система.
Архитектура, ориентирана към услуги (Service-Oriented Architecture, SOA)
При тази архитектура системата предоставя предварително описан набор от услуги за употреба от външни системи. Най-често тези услуги се предоставят през HTTP, с помощта на обменяне на XML или JSON съобщения. Много популярен е SOAP протокола за обмяна на съобщения. Заедно с WSDL протокола за описване на предоставяните от уеб услуга действия и UDDI протокола за откриване на уеб услуги, те формират най-широко използваната платформа за предоставяне и използване на уеб услуги в Интернет.
В началото на изпълнението на всеки софтуерен проект е важно да се състави план на процеса – дейностите, които ще бъдат извършени, и резултатите, които ще бъдат получени от тях. Има няколко често разпространени модела на софтуерни процеси, всеки със своите предимства и недостатъци.
Ad-hoc модел
При ad-hoc разработката не се прави специфичен план на дейностите. Решенията, свързани с проектирането, разработката и тестването се вземат на място. Този модел работи за непрофесионални или малки проекти, но в крайна сметка създава големи рискове пред изпълнението на проекта и не се препоръчва.