Developing Services for Windows Server AppFabric

Developing Services for Windows Server AppFabric

AppFabric evolves the existing application server capabilities of Windows Server to make it easier to build, scale and manage Web and composite applications that run on Internet Information Services (IIS). For Web applications, AppFabric provides caching capabilities to provide high-speed access, scale, and high availability to application data These capabilities are based on the technology previously code named “Velocity.”

For composite applications, AppFabric makes it easier to build and manage services built using Windows Workflow Foundation (WF) and Windows Communication Foundation (WCF). These capabilities are based on the technology previously code named “Dublin.”

Introduction to AppFabric

The benefits of having service-based applications, often referred to as SOA, to create systems based on autonomous services have been articulated in several MSDN articles. WCF is the technology that enables this, and in turn has been integrated with other Microsoft developer technologies such as WCF Data Services, WCF rich Internet applications (RIA) services and WCF REST services. In .NET Framework 4, WCF has been deeply integrated with an improved WF runtime enabling you to build WCF services that are implemented with WF.

Whatever technology that you use to build and compose services together, you face challenges based on these questions: “When building server applications what features of the platform can I take advantage of that light up my application and enable me to focus more on the business?” “Having built this application, where is the best place to test this, to run this in production, and how do I manage it?”

This post focuses on how Windows Server AppFabric, combined with the .NET Framework 4, addresses these challenges, with particular emphasis on WF services.

Developing WF Services

Depending on the architecture of your application, typically you build services focused on the middle tier. For example, WCF Data Services are suited for the data access tier and can be composed together with other services in the middle tier. For an overview of WF services in .NET 4, read the Aaron’s overview of WCF in .NET 4 on MSDN. In the middle tier, WF services are an ideal technology, since they are strongly focused on using declarative approaches for composing services for your business. For additional reading on WCF Services, David Chappell’s ‘The Workflow Way’ provides an excellent introduction to the topic.

The key values that WF Services bring to service authoring are:

  • Long-running applications that wait for external input for activation such as messages, thereby using resources efficiently.
  • A single or sequential flow control programming model while handling the complexity of multiple async I/O calls. For example, by using a parallel activity in your WF Service you can coordinate multiple calls to other services allowing the WF runtime to take care of all the async message calls and marshaling the data back to your service.
  • Coordination of messages to workflow instances with the use of message correlation. WF Services in .NET Framework 4 provide content-based correlation that enables you to query the content of a message for unique information to identify the specific workflow instance the message relates to. This enables long-running scenarios being able to activate a specific workflow instance when clients send messages.
  • Consistent WCF and WF instrumentation integrated with Event Tracing for Windows (ETW). The WCF and WF runtimes now both emit ETW events for tracing and tracking to provide detailed monitoring and diagnostics. Using ETW provides greater performance, thereby having less impact on your applications.
  • An expressive set of workflow activities for authoring business process. Here the Flowchart activity is extremely powerful by enabling you to more closely match the typically graphical representation of a business process drawn using Visio, for example, with the implementation of the business in code using the Flowchart.
  • A simple extensibility model for workflow activities, enabling you to define your own library of business domain activities. These can be included into the Workflow Designer in Visual Studio 2010, enabling developers to more quickly build business WF services.


See Also


Other Languages

This article is also available in the following languages:

Deutsch (de-DE)

Leave a Comment
  • Please add 1 and 4 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
  • Carsten Siemens edited Revision 9. Comment: Added tag: has TOC

  • Horizon_Net edited Revision 5. Comment: updated link to german version

  • Horizon_Net edited Revision 4. Comment: added language tag

  • Horizon_Net edited Revision 3. Comment: added link to german version, updated language tags, changed heading formatting

  • Ed Price MSFT edited Revision 2. Comment: Added "See Also" section.

  • Glenn Gailey edited Original. Comment: Corrected the name of WCF Data Services

Page 1 of 1 (6 items)
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Carsten Siemens edited Revision 9. Comment: Added tag: has TOC

  • Horizon_Net edited Revision 5. Comment: updated link to german version

  • Horizon_Net edited Revision 4. Comment: added language tag

  • Horizon_Net edited Revision 3. Comment: added link to german version, updated language tags, changed heading formatting

  • thanks,

  • Rather short wiki, I expected a sample.

  • Ed Price MSFT edited Revision 2. Comment: Added "See Also" section.

  • Glenn Gailey edited Original. Comment: Corrected the name of WCF Data Services

Page 1 of 1 (8 items)