Architecting a Commercial Application