We began our journey discussing the tenets and core values behind enterprise architecture. We then spent ample time exploring the base coding patterns and methodologies that help to achieve these goals, including loose coupling, Test Driven Development, Dependency Injection, and Inversion of Control. It's now time to focus back on the practical. In this third section of the book, we are going to spend some time exploring some of the popular design patterns commonly found in different enterprise systems. In this chapter, we will:
Discuss the different conceptual tiers of design and their relevant roles in enterprise architecture
Explore the history of middleware and how it has evolved in the enterprise world
Review some of the popular design patterns implemented for enterprise middleware
Explore a code sample using Windows Communication Foundation services.
The term middleware means different things to different people. For some, middleware is the code that powers an application. It can contain the logic for driving screen behaviors, database queries, simple validation, and message exchange. For others, it is the code that runs a website, including the HTML-generating pages and the web server that hosts the site. Some even think that middleware includes business logic within a relational database, such as stored procedures, functions, and triggers that join data and deliver to other consumers of the data. In fact at the time of this ...