Developers of Java EE (Java Enterprise Edition) applications, used mainly by enterprises, often have to deal with repetitive problems and tasks that have to be solved. Pretty common tasks are, for example, storing data persistently, supporting message-based communication with external systems or invoking web services. Java EE specification provides several proven and easy to use APIs for solving such integration tasks. However, developers have to write a lot of code while using these APIs, therefore they spend too much time solving repeating problems instead of coping with the real point and the business logic of the application.
There are a lot of software frameworks for Java EE and other software platforms as well, that are intended to help developers implementing applications and services easily. Using such a framework can make development somewhat easier and faster. However, developers still need to write quite a lot of code and need to have sound knowledge of Java EE for using these frameworks. Furthermore, even with using such a framework it’s pretty easy to develop non-reusable and difficult to maintain software components and applications.
Therefore, my main task while creating this thesis was to design and develop a framework, that can be used by developers to implement reusable components and services efficiently and fast. A framework had to be constructed that can be used to develop specific Java EE applications and components easily without deep knowledge of Java EE. It was also a goal while designing the framework to define separate developer roles with respect to the typical development tasks. Separating developer roles can lead to a more efficient and productive development process.
The diploma thesis describes the main requirements the framework has to meet and the important expectations towards the framework. It also presents the detailed plans that I created in the design phase and are needed to develop the framework. Based on the plans, I implemented a protoype of the framework that can be used to demonstrate that the plans can be realized. The thesis also describes the process of development. Using the prototype of the framework, I created a few services as examples, proving that the framework can be used to develop real services.