By the time this article is in your hands, Windows Server AppFabric should have been released in RTM form. This article will give you a foundational understanding of what AppFabric offers and ultimately convince you that you should be using it! If you are building services to run on the Windows Server platform, using AppFabric to host and manage your WCF Services is simple.
Overview of AppFabric
AppFabric is a platform designed to simplify and empower your middle tier, so its feature set can be somewhat overwhelming. When considering your middle tier, simply keep these five points in mind about AppFabric:
- It simplifies monitoring services in production and troubleshooting during development.
- It vastly reduces the amount of hand XML configuration you need to apply to web.config, giving you intelligent configuration UIs that minimize user error and save you time.
- The tooling it provides empowers both the developer and the IT pro roles.
- It is a robust, reliable, and scalable host for WCF Services.
- It is useful for all WCF Services, be they code-based services or workflow services.
This last point is important if you played around with the betas, since you may have thought AppFabric was only useful for managing workflow services. While it's true that it has a lot of functionality for workflow services, it has been enhanced to assist with the management and monitoring of all WCF Services hosted in AppFabric. With those five key points in mind, let’s examine AppFabric’s feature set from a high level.
Figure 1 shows a typical view of all the major features AppFabric provides, enhances, or otherwise pulls together to provide a complete middle-tier solution for your services.
AppFabric is built to run on Windows 7, Windows Server 2008 R2, and Server 2008. (While not shown in the diagram due to space constraints, it also supports Windows Vista SP1). It only works with these OSs because AppFabric utilizes IIS 7.x and WAS, plus the .NET Framework 4 as its foundation. Simply put, AppFabric is designed to manage and host your code-based WCF services as well as your WCF Workflow Services, and its architecture reflects this.