[WCF] Service Oriented

Services are designed for the communications among many different systems. To communicate with different types of systems (such as Windows and Linux), there require standardized protocols and message formats.


1. Connected Systems

The “connected system” is an application that is distributed across multiple computer nodes such as computers in a domain. MS provides many communication frameworks for connected systems.

  • COM+/DCOM : component-oriented
  • .NET Remoting¬† : component-oriented
  • MSMQ : message-oriented

Each technology requires the same key infrastructure (such as Windows or .NET) for all participating nodes. Even more each comes with a unique programming model.


2. Services

Recently, the industry demands more interoperable architecture. Services expose units of functionality via messages. They are much more flexible (not necessarily powerful though).

The two most popular types of services are SOAP and REST.

  • SOAP : XML-based; works with any transport protocol; can be enhanced with WS-* protocols
  • REST : based on identity and operate resources; works with HTTP

The RESTful services tend to use public web scenarios that requires high scalability.



SOAP uses XML as a main message format and make use of more advanced WS-* features.





  • Each service is modeled as a “resource
  • A resource is identified with unique ids such as URIs
  • HTTP verbs (GET, POST, PUT, DELETE) are used as a service contract for the specified resource


5. SOA (Service Oriented Architecture)

Service Oriented is very abstract term. It does not represents specific technologies. Rather, it is a design paradigm of how information can be communicated within distributed networks.

  • Separation of concerns
  • Autonomy
  • Contracts

In the Microsoft world, there have been a couple of technologies:

  • ASMX (ASP.NET Web Services) : SOAP over HTTP
  • WSE (Web Services Enhancements): ASMX + WS-Security + Simple TCP Services
  • WCF : Unified Model of various service types (SOAP ..), transport protocols (HTTP, TCP …), and message formats (XML, MTOM …)
  • ASP.NET Web API : Restful-based


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s