Last year at PDC Microsoft ha announced the platform on the AppFabric which should simplify development of composite applications. After lot of discussions about so called “Comp Apps” the final name has been changed to avoid confusion with the term Composite Services and Co. So, we have now AppFabric Applications. To me this is a great experiment which show how some very complex things in the live of one software developer can be simplified.
You will probably notice that we have now following major programming models in the world of Microsoft:
1. .NET on premise
2 Windows Azure .NET programming model
3. Windows Azure AppFabric model called “AppFabric Applications”
I do not want to discuss now which one should win. It is for now important that Windows Azure programming model introduce nice things, but it does not solve many important problems. This is why AppFabric Applications model is required. One service in this context exposes an endpoint that other services can access by adding a service reference to a second service. In general, AppFabric Applications consist of services that communicate using endpoints and service references.
AppFabric Applications Model is based on the Service Groups concept. By definition Service Groups can contain one or more services. The relationships between services shared in groups defines the AppFabric Applications model. Additionally this model introduces a number of services (components). Every service is in fact the project type in visual studio which implements some service. For example ASP.NET service (component) is a typical ASP.NET project.
Depending on the service group only appropriate services can be added to the group. For example in Web Service group you can add WCF Web Service and ASP.NET service. And so on. (I know naming is a bit confusing ). Finally Services and Service Groups are primary building blocks of a AppFabric Application. To simplify this story,thing about Service Groups as set of configuration properties which apply to all services in the group. For example they define how scalable or how available the group will be at runtime.
Following picture shows the model of one AppFabric Application.
This model (application) contains one ASP.NET service and two WCF services. This can be build and deployed in Windows Azure.
In general AppFabric application can be created by simply choosing “AppFabric Application”.
Interestingly, you might ask yourself what Business Application with Orchestration could be? It creates an application with Workflow (replacement for BizTalk orchestration) SQL Azure, Cache, WCF service and ASP.NET web application.
After AppFabric Application project template is chosen, following project is automatically created:
This is some kind of project container (like solution) which holds the model and relations between all other services in this application. When you double-click the App.cs the diagram like next one will appear.
In this diagram you can select between deployment view (sorts by service groups – picture above) or design view.
Additionally you can select the model (diagram) view:
This will show the application model shown above (see first picture).
Supported Services
June CTP support currently following services (components):
Supported Service Groups
In general there are currently following service groups:
- Web
Used for: WCF-Service, ASP NET application
- State less (AppFabric Container)
Used for: WCF-, WF- and Code-Services
- State full
Used for: State full services
- Referenced
Used for: Externally referenced endpoints like SQL, Cache, Queue etc.
To be continued…
Posted
Jul 14 2011, 12:38 AM
by
Damir Dobric