Computing the Services – Part 1: Introduction

In my team we were talking about services and then the web services, and when I was talking to a friend of mine about the services stuff, he posted a blank question. "What is a service? and how different is that from a method”. His question is correct, I feel that most of the people who design services in this complex computing world are not still clear what is a service and not sure of how different is a programming language methods from the service and what it is intent to do?

What is a service?

Lets start exploring the service. Let me take you to the understanding of what does a service means in the real world and how is that transformed into the computing world. Consider a simple banking situation, where the customer is willing to get some service to fulfil his / her needs. interaction between a customer and the service provider A person needs to deposit some money into the account of the person. Hence , deposit is a service provided by the bank to make customer safe guard the money into the bank’s vault. Similarly, withdrawal, money transfers etc., are some of the service provided by a service provider i.e bank.

In layman's term , A service is "an act of assistance".

But some service oriented company, does exactly same job as this.



source: dealer refresh

So, you place computers in the place of humans. But still, how do you make sure that the computers perform the same task as of humans ( of-course, not the one like above ) and deliver the expected service as good as a human ( is it?? ). Hence this will lead to define some of the characteristics of good service.

Characteristics of a good service.

This table give you an complete idea on how a delivered service should be. Just gathering together.

What do the customer expect

What does it mean in the computer world

Provide a well defined mode / way to receive the data to start the service Interface
Information collected to process the request should be minimal Granular
Ability to process information without asking too much questions Mostly stateful & sometimes stateless
Ability to finish the process as quick as possible and respond back to customer Speed
Should finish the requested transaction flawless Correct
Should finish the requested transaction without any interruption Robust
Should finish the transaction successfully and completely Complete

I will detail out the each of the characteristics in the next article.

[ Updated: Updated the description of the “State” of the service ]