Chapter 6. Getting to the Middle of Things

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.

On Middleware

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 ...

Get Professional Enterprise .NET now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.