Though we are talking more about SOAP (or RPC), but in last lecture Adomas mentioned REST architecture style. Well, this architecture is nothing new and you should not be terrified that this is another buzz-protocol with hardcore specification. You should think about REST as an architecture philosophy or set of principles which is the core concepts of World Wide Web. This term born in 2000, when one of the HTTP protocol specification fathers, Roy Fielding, wrote a doctoral disertation on network based software architectures. The main two principles are
- Functionality, state, information are seen as resources.
- Every resource has an unique address called URI. (URL is the subset of URI). It means that clients and servers can easily call other services, just by calling apropriate HTTP GET method on URI.
Though the architecture is trivial and widely used it is not suitable for some cases. For example some data, that needs to be secure, cannot be put into URI. Of cource we can use both SOAP and REST combined and they both perfectly coexist. Even SOAP allows exposing services through URI’s.
Here is a good example of differences between RPC (SOAP) and RESTful architecture.
Writing this short REST description I found another ’silver bullet’, which is called MEST (MESsage Transfer). Read it and judge by yourselves. And we should always remember TANSTAAFL – “There Is No Such Thing As A Free Lunch“.