Cele trei tipuri de arhitectura software sunt arhitectura bazata pe servicii (SOA), arhitectura orientata pe evenimente (EOA) si arhitectura bazata pe flux (SFA). Arhitectura SOA implica utilizarea serviciilor individuale pentru a construi aplicatii integrate. Arhitectura EOA se concentreaza pe evenimente si mesaje, fiind ideala pentru aplicatiile care se bazeaza pe comunicarea intre componente. Arhitectura SFA se concentreaza pe fluxul de date, folosind instrumente precum fluxurile de date si transformarile de date pentru a proiecta aplicatii.