Nowadays enterprises need a massive technical background to manage their business processes efficiently. To set up and improve these business processes companies are required to have a professional expertise in their business field. To develop and maintain its supporting IT infrastructure also calls for highly qualified IT skills. It was observed that the majority of enterprises do not stimulate the collaboration between the above mention business processes and its IT support, even though it could be crucial for to maximise efficiency.
The author aims to present an IT solution for this complex problem that can minimize the gap between these two areas. The solution is the model-driven development whereby collaboration can be achieved at an abstract level between the divisions.
The thesis goes beyond the presentation of the created system; it critically evaluates the whole software development process from a more general business perspective. This aim is achieved by introducing the concept of enterprise, software models, and analyzing their connection. The theoretical background supporting the investigated framework facilitates the creation of a new working system that helps enterprises to deliver their software with high efficiency.
The main subject of the thesis is model-driven development. More precisely, it presents a framework developed by the author, to facilitate the creation of complex enterprise applications by a specific methodology that has been defined beforehand. The heart of the framework is to repeatedly define the model depending on its current IT role in the system. As a result, java code can be generated from the model.
For the deeper presentation of the system a sample application will be also introduced. The developed application will be able to document and manage different aspects and components of enterprise scale software systems.
The application will be created using of the presented framework. Hibernate will be used to access the database, EJB beans will provide the business logic, while the user interface will be written in Vaadin. The working application can be deployed to IBM WebSphere Application Servers.
The main object of the framework is not to substitute the programming completely, however to automate the routine tasks, reduce the possibilities of errors and design a system where the architectural principles defined by the enterprise possess simple and obligatory usage.