What is it?
Windows Server AppFabric is application infrastructure for running and managing your services – infrastructure that you now don’t have to write. Windows Communication Foundation (WCF) provides a single programming model for creating services and communicating between them – it is the communications scaffolding around your service’s application logic. For long-running services and coordinated interactions across many services, AppFabric manages the lifetime and scaling of Windows Workflow Foundation (WF) workloads as well, since workflows in AppFabric are also services. But that’s just half the story.
The other half of the story is all about data caching. It’s fundamental to application design that you shouldn’t repeat a computation that always returns the same result; do it once, store it, and deliver the result repeatedly instead. This is true whether the result is a webpage, a query from your database, or a service call to an external component. The Windows Server AppFabric Cache stores .NET objects, scales seamlessly, and manages data location and redundancy by distributing the cache across a cluster of machines. The developer can simply put data in the cache and retrieve it when needed – AppFabric handles all the underlying complexity for you.
How does it look?
AppFabric does its job mostly in the background, invisible to the user. The visible face of AppFabric is the management and monitoring tools for your services that have been integrated into IIS Manager. These tools drive the UI management experience for service hosting. AppFabric services are integrated into the system management services such as perfmon and logging which can then be further integrated into a broader systems management infrastructure.
Workflow and WCF Code Services
AppFabric manages both WCF services and Workflow Services (which are also WCF Services). The difference lies in what’s inside the service. With WCF, it’s your code. With Workflow, you would typically have drawn your workflow using the Visual Studio Workflow Designer and a palette of re-usable workflow activities, including activities that allow you to make your workflow into a service and to call other services.
A workflow activity can also be thought of as a component and you can create new activities from existing ones – a composite activity. This is a very powerful model for composing applications out of components and very useful in the cloud journey as well as in applications today.
The Visual Studio WCF Workflow Service Application Template helps you get your workflow service up and running and see the results in AppFabric in just a few minutes. To start, create a new project using the template and set the Web Property on the project to use the local IIS Server. Build the project and run it. The built-in WCF test client will launch, allowing you to send data to your workflow and see the result. A similar template exists for WCF code based services, so you can immediately focus on your code based business logic and not have to write the WCF infrastructure or any of the related hosting and management capabilities that AppFabric now provides.
You can download AppFabric and learn more from the AppFabric page.