You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

A web service is a piece of computer code that is running somewhere in the world, and that you can talk to. Because you are communicating with a computer and not a human being, you have to document exactly on how to communicate. This is done by a protocol. There exists multiple types of protocols. You can think of a website as a web service. You ask for information using the URL, and you receive an answer following the html standard.

The following architecture is the foundation of web services:

A service provider is a company or person that builds a web service. They intend to create a service that is widely being adopted. Therefore, they publish their service at a service registry. A service registry is nothing else than a big library for looking up web services. You want to call an existing web service, and are therefore the service requestor. You look for a web service that matches your needs in the service registry. Once you find a matching service, you want to call its functions, using your own piece of software. To do that, you bind yourself to this service provider, by following the specific communication protocol.

A good example of such a service registry is programmable web (http://www.programmableweb.com/apis/directory/). Please go to this link and take a look around. There are more than 10.000 web services to explore.

Building and using web services give you certain benefits. There exists a strict separation of responsibility. A web service is build for one purpose only. This is the foundation of component Service Oriented Architecture (SOA). Multiple smaller components are easier to manage than 1 big component. Furthermore, because the communication happens over a protocol, it does not matter what programming language the other party is running. The only thing you know of a web service is how to communicate with it using the protocol. We will go into details on two of these protocols in the next two chapters.

  • No labels