Use of software and computer systems architectural principles to integrate a set of enterprise computer applications