Nowadays the so-called NoSQL databases are getting more and more popular. They depart from traditions of the relational databases. The main point of these NoSQL databases is to address the deficiencies of relational databases, not to replace them. MongoDB is one of the most widely known NoSQL databases, which is an open source, document-oriented and schema-free database software. Its popularity and the number of its users are increasing.
The objective of my thesis is to familiarize myself with the MongoDB NoSQL database, especially with its advantages and limitations, compared to relational databases. I will demonstrate the features of MongoDB with a Java-based webshop application.
Recently, the web technologies have evolved significantly. More and more frameworks have emerged that help the development of web user interfaces. I have chosen the JavaServer Faces technology, which is a Java-based MVC framework. So, another goal of my thesis is to learn this framework and use it in the above-mentioned web application.
A webshop is an adequate application to demonstrate the usage of the mentioned technologies. I use the MongoDB database software to store the data of the application and the JavaServer Faces framework to implement the user interface. In a modified version the data are stored in a relational database. The two different versions of the application are compared from the point of view of design, complexity of the implementation, flexibility and testability. I end my thesis with a conclusion on my experiences, which I got during using the technologies and implementing the application.