One of the greatest challenges facing IT departments is that of quantifying and measuring improvements in software design and implementation. As a result, there has been continual disagreement among experts within the software industry about how to tackle this task, and unending pontifications and complexity measurements have been published in various journals and texts.
We start by looking at the features of modern enterprise applications, and issues that should be considered. Then we recommend ten principles that help developers create and deliver successful applications.
We move on to discuss designing large-scale, distributed, enterprise applications and the need to reduce their complexity. We recommend managing this enterprise application complexity through abstraction, which involves grouping similar requirements together into a small number of abstract categories. We suggest that organizations use the several perspectives represented by Microsoft's Enterprise Application Model, and discuss the application architecture framework provided by the separate MSF Application Model for Development.
The principles and guidelines we provide in this chapter are based on our own experience with the creation of application architectures and the implementation of enterprise applications, together with the following sources:
Upon completion, you will be able to: