Wednesday, January 25, 2012


Service Modeling Realization

When we enable a platform / a set of capabilities for consumption through the enablement of custom development, some of the points to be considered for wider reach .

Wider reach means to provide flexibility such as facilitating development on heterogeneous platform through supporting interoperability, various communication protocols and data encoding formats.

  • Data encoding format – XML, JSON
  • Protocol – Http , Tcp-ip
  • Type of communication - Synchronous / Asynchronous communication
  • Consumption  type – Proxy objects, RESTful communication

In addition to this, other key infrastructure & administration related factors to be considered are:

  • Reliability – Data submitted is not lost. The infrastructure behind the service model should be reliable without losing any submitted messages that is submitted

  • Security  - Integration with the consumer’s security infrastructure

  • Performance – Of course, first & fire most requirement of any exposed services and will be governed by SLAs

  • Service Metering – very important especially in the “pay per use” model

  • Centralized Dashboard – for the consumers to have insight into logs & exceptions


Frist point in consideration in realizing a service model is to select a platform that has the potential to offer various required capabilities. For example, Windows Communication Foundation from Microsoft provides lots of options to provide flexibility such as :

  • Encoding – Plain text for interoperability, Binary to optimize performance, MTOM for large payloads
  • Channels – one way, Duplex , Request-Response, Streaming
  • WS-*
      • WS-Addressing – extra additions to SOAP headers which makes SOAP free from underlying transport protocol
      • WS-Security,WS-Trust,WS-SecureConversation
      • WS-ReliableMessaging
      • WS-Coordination , WS-AtomicTransaction
      • WS-Policy (for more dynamic features of a service), WS-Metadataexchange

So, for a successful realization of a Service Model, choosing a capable platform is very much important !