Choosing the most suitable technologies and architecture has a high importance.
Efficiency of communication, data sharing and remote procedure calls is a crucial part
of the system from scalability and maintainablity viewpoints. Many solutions were
created for cooperation of components and invoking services in other components, but
the number of users often increases to the order of millions, and new tools and solutions
have to be independent of technology and programming language.
REST (Representational State Transfer) is an architectural style gaining
in popularity that was introduced and defined at the time when the HTTP protocol was
specified. The technique uses several well-defined architectural constraints for
designing distributed systems. It focuses on the interaction and roles of components and
ignores their inner structure. Applications conforming to the REST constraints are
RESTful web applications can be developed in a technology-independent
way, using any programming language that supports HTTP protocol-based development
and RESTful principles. Such framework was created by Spring and its components,
providing a platform for the development of enterprise applications using web GUIs,
security, backend functionalities and many other facets of a web application
development can be implemented easily using Java.
The aim of this thesis is to reveal the possibilities of RESTful principles,
Java and Spring through the process of application development.