With the latest version of the .Net Framework 4.0,the developer can choose between several technologies for the implementation of a service layer.
Some are more or less recent, others are completely obsolete. Others, although old, are still relevant. Thus we find, in no particular order, solutions using WCF, ASMX, Enterprise Services, .Net Remoting, WSE, RIA Services, Data Services and Workflow Services.
Each solution is adapted to specific needs, and sometimes linked to the technological evolutions of a time. In this article, we will review the different solutions that can be used in .Net, from the oldest to the most recent. We will see the advantages and disadvantages of each one, then we will establish in which situations, they would be the most appropriate.
First of all, let’s lay the foundations of the architecture principle that will support the analysis. We will focus on an N-Tier architecture, in which a client communicates with a server through a middleware exposing a number of services. The aim is to understand the technical elements allowing to choose the way to expose these services.