Based on the mas­ter the­sis from Andre­as Mar­tens super­vi­sed be me, we defi­ned an abs­tract 7‑Layer-Software-Architecture. The idea behind this is to under­stand the map­ping of pos­si­ble com­pon­ents and libra­ries onto the land­s­cape of soft­ware archi­tec­tu­re. The 7‑Layer-Software-Architecture is also a kind of check­list for none-functional issu­es like sta­te pro­pa­ga­ti­on and data trans­for­ma­ti­on. Each enter­pri­se app­li­ca­ti­on (and so its com­pon­ents) can be divi­ded logi­cal­ly into this 7 lay­ers. Onto or bet­ween the­se lay­ers you can find libra­ries like Hiber­na­te (OR-Mapper bet­ween Domain Data model and Abs­tract Data model). Depen­ding on the IT archi­tec­tu­re the­se lay­ers get­ting map­ped into one or more tiers.