Hello and welcome to my talk on Windows Server AppFabric, I must say I am super excited to be here in front of you and hosting this talk on a local PDC event. Today we are going to discuss what is Windows Server AppFabric and how it is relevant to enterprise development that we do here, day in and day out.
So, coming back to ‘the real discussion’ and that’s what I believe we are all here for (well apart from us Xbox diggers right ;) )
Here is a quick look at the agenda :-
A high level overview of Windows Server AppFabric A look at its architecture, sort of a peek under the hood A detailed discussion on Distributed Caching followed by some code deomonstrations Last but not the least QnA
Here we go...
So, we are talking about Windows Server app Fabric and not the Windows Azure AppFabric... Windows Azure AppFabric is for the Cloud where as Windows Server AppFabric is for on-premise use i.e. It runs on Windows Server Although some of the concepts and API are similar to that of cloud offering but we will still focus on the Windows Server based sibling of AppFabric!
Windows Server AppFabric extends Windows Server to provide enhanced hosting, management, and caching capabilities for Web applications and middle-tier services. The AppFabric hosting features add service management extensions to Internet Information Services (IIS), Windows Process Activation Service (WAS), and the .NET Framework 4. This includes Hosting Services and Hosting Administration tools that make it easier to deploy, configure, and manage Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) based services. The AppFabric caching features add a distributed, in-memory object cache to Windows Server that makes it easier to scale out high-performance .NET applications, especially ASP.NET applications. Services and service-oriented architectures are being built into many types of applications today, from simply exposing some functionality as a service for others to use to an application itself being a complex coordination across many services. The need to construct applications that can easily participate and perform in this services world has never been greater. Modern applications typically have at their heart a data-driven transactional component (such as taking orders on a web site) together with highly distributed business logic that manages these transactions across a middle tier.
One of the great truths of building software is this: Application developers shouldn’t spend their time creating infrastructure. Even though every application needs some supporting services, the people who write those applications ought to focus solely on creating value for their users. Whatever infrastructure is required should be provided by the platform they’re building on.
Windows Server AppFabric aims to provide a set of extensions to Windows Server, such that windows developers can create faster, more scalable, and more manageable applications.
Highlight building blocks..
Hosting Persistance Monitoring Messaging Power Shell Cmdlet APIs Visual Studio and IIS
Custom Session Provider included with Cache Just a configuration change enables session state to be cached across a cluster You may want to enable HA on the cache used
AppFabric Caching Services stores all cached data in memory—it’s not written to disk. By default, each cached object is stored on only one machine in a cache cluster. To improve resilience if a cache server goes down, AppFabric Caching Services has a high-availability option that creates a secondary copy of each cached data item on another machine in the cluster. If the cache server holding the primary copy of this data fails, the secondary remains available.
This example shows a read, but updates also work when the cache server holding a primary copy goes down. Once AppFabric Caching Services detects that the primary is unavailable, it promotes the existing secondary copy to a primary, then creates a new secondary copy. None of this is visible to the cache client—everything works just as if no failure had occurred. Whether or not the high-availability option is used, AppFabric Caching Services speeds up access to frequently accessed data. This is a good thing—it’s a useful addition to the application infrastructure provided by Windows Server. Providing better support for an application’s logic is also useful, however. How Windows Server AppFabric does this is described next.
VP, GRCT @ BAML
Microsoft MVP for Connected Systems
Member of Business Technology
I do: Blog + Twitter + PodCast
• Windows Azure
• Windows Server
IIS Worker Process
AppFabric Caching Services
.NET 4 WCF & WF Frameworks
Management APIs (PowerShell 2.0 cmdlets)
WF & WCF Management
Runtime DatabasesPersistence schema Monitoring schema
WF & WCF
Windows 7, Windows Server 2008 & 2008 R2