The goal of XML web services is to provide communication interoperability for systems developed in different software environments. The Web Services standards family has several extensions, with which virtually any kind of web service can be implemented, although the complexity of these extensions makes the development cumbersome. Besides the stateful messages, that are sometimes used in web services considerably limit scalability.
To overcome these drawbacks, often lightweight HTTP based services are used. They usually follow the REST (REpresentational State Transfer) principles. They are typically stateless, which means that they are simpler and more scalable, although they better support creating simpler, finer‑grained, CRUD (Create, Read, Update, Delete) type operations. However RESTful web services do not have a widespread service description language, which means it is more difficult to discover operations supported by the service. Furthermore, implementing coarse‑grained operations can be more problematic.
My thesis aims to present RESTful technologies and the HATEOAS (Hypermedia as the Engine of Application State) principles. It also covers frameworks that help the development of these web services and shows their practical application by developing a demo application.