Development of multi-tier, distributed software has gone through a great amount of change in he last few decades. High-level, managed programming languages and runtime frameworks, database-accessing ORM-technologies, or the patterns and frameworks for unit testing all played a significant role in making the development process more efficient, and providing a clean architecture, wich is a key aspect in making our applications extensible and maintainable.
The task was to design and implement the core infrastructure of such a software, specifically a theater prop register application. The goal of the software is to register and file the props of a theater, and make it possible to browse, search and loan theater props by the workers of the theater.
During the design process it was an important goal to achieve a clean architecture, in order to make the development and maintanence efficient. The software was implemented with the techologies and services provided by the .NET Framework, which have been thoroughly analysed, in order to utilize their benefits and minimize their drawbacks.
The thesis introduces the server side components of the completed register system, particularly addressing the applied technologies, design pattern and architectural decisions. The second part of the thesis presents the cloud-based central register system implemented with Windows Azure, which joins the local registers and aggregates their databases.
The implemented system is able to efficiently store the data describing the theater props, and makes it possible to search amongst them, and retrieve different sets of metadata or statistics. The design patterns and third party technologies applied during development assured the loose coupling between the different layers of the system, thus providing the possibility to conveniently unit test individual modules of the software. Additionally, the central register joins the isolated local applications, while utilizing the benefits of the cloud based environment, such as scalability and easy maintenance.