In the previous posts in this series we covered the challenges that Windows Azure AppFabric is trying to solve, and started discussing the Middleware Services in this post regarding Service Bus and Access Control, and this post regarding Caching. In the current post we will discuss how AppFabric addresses the challenges developers and IT Pros face when Building Composite Applications and how the Composite App service plays a key role in that.
As noted in the first blog post, multi-tier applications, and applications that consist of multiple components and services which also integrate with other external systems, are difficult to deploy, manage and monitor. You are required to deploy, configure, manage and monitor each part of the application individually, and you lack the ability to treat your application a single logical entity.
Here is how Windows Azure AppFabric addresses these challenges.
The Composition Model
To get the ability to automatically deploy and configure your composite applications, and later get the ability to manage and monitor your application as a single logical entity, you first need to define which components and services make up your composite application, and what the relationships between them are. This is done using the Composition Model, which is a set of extensions to the .NET Framework.
You can choose to define your application model in code, but when using Visual Studio to develop your application, you also get visual design time capabilities. In Visual Studio you can drag-and-drop the different components that make up your application, define the relationships between the components, and configure the components as well as the relationships between them.
The image below shows an example of what the design time experience of defining your application model within Visual Studio looks like:
In addition to the development tools experience, you also get runtime tooling support through the AppFabric Portal. Through the portal you get capabilities to make runtime configuration changes, as well as get monitoring capabilities and reporting, which are discussed in the Composite App service section below.
Composite App service
By defining your application model, you are now able to get a lot of added value capabilities when deploying and running your application.
You can automatically deploy your end-to-end application to Windows Azure AppFabric from within Visual Studio, or you can create an application package that can be uploaded to the Windows Azure AppFabric Portal.
No matter how you choose to deploy your application, the Composite App service takes care of automatically provisioning, deploying and configuring all of the different components, so you can just start running your application. This reduces a lot of complexity and manual steps required from developers and IT Pros today.
In addition, the service enables you to define component level as well as the end-to-end application level performance requirements, monitoring, and reports. You are also able to more easily troubleshoot and optimize the application as a whole.
Another important capability of the Composite App service is to enable you to run Windows Communication Foundation (WCF) as well as Windows Workflow Foundation (WF) services on Windows Azure AppFabric.
These are two very important technologies that you should use when building service oriented and composite applications. The Composite App service enables you to use these technologies as part of your cloud application, and to use them as components that are part of your composite application.
So, as we showed in this post, Windows Azure AppFabric makes it a lot easier for you to develop, deploy, run, manage, and monitor your composite applications. The image below illustrates how you are able to include the different AppFabric Middleware Services, as well as data stores and other applications, including applications that reside on-premises, as part of you composite application:
A first Community Technology Preview (CTP) of the features discussed in this post will be released in a few months, so you will be able to start testing them soon.
To learn more about the capabilities of AppFabric that enable Building Composite Applications, please watch the following video: Composing Applications with AppFabric Services | Speaker: Karandeep Anand.
Also make sure to familiarize yourself with Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF), these technologies already provide great capabilities for building service oriented and composite applications on-premises today, and will be available soon on Windows Azure AppFabric in the cloud.
As a reminder, you can start using our CTP services in our LABS/Preview environment at: https://portal.appfabriclabs.com/. Just sign up and get started.
Other places to learn more on Windows Azure AppFabric are:
Be sure to start enjoying the benefits of Windows Azure AppFabric with our free trial offer. Just click on the image below and start using it today!
Finally, please leave your comments and questions in the comments section below.
Itai Raz, Product Manager