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-Addressing – extra additions to SOAP headers which makes SOAP free from underlying transport protocol
- 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 !