AppFabric Applications: Episode I– Programming Model

Damir Dobric Posts

Next talks:

 

    

Follow me on Twitter: #ddobric



 

 

Archives

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 Smile). 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.

image

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”.

image

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:

image

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.

image

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:

image

This will show the application model shown above (see first picture).

 

Supported Services

June CTP support currently following services (components):

image

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
Filed under:

Comments

Damir Dobric Posts wrote AppFabric Applications: Episode III–Stateful Services
on 07-17-2011 12:52

On of Services provided by AppFabric Application foundation is so called StateFul Service . This is is

DamirDobric wrote AppFabric Applications: Episode III–Stateful Services
on 07-17-2011 13:08

On of Services provided by AppFabric Application foundation is so called StateFul Service . This is is

Damir Dobric Posts wrote AppFabric Applications: Episode II–Service, Service Groups and Containers
on 07-20-2011 1:06

It is about five years ago as we started a small talk in Redmond about composing of modules and related

DamirDobric wrote AppFabric Applications: Episode II–Service, Service Groups and Containers
on 07-20-2011 1:37

It is about five years ago as we started a small talk in Redmond about composing of modules and related

Damir Dobric Posts wrote Introduction to AppFabric Applications
on 09-13-2011 23:25

Few weeks ago Microsoft has published the first public CTP related to Application Composition under the

developers.de is a .Net Community Blog powered by daenet GmbH.