Software Architecture - Everything You Always Wanted to Know, and Were not Even Afraid to Ask - But You had No One To.