Domain Driven Design and Mashup Oriented Development based on Open Source Java Metaframework for Pragmatic, Reliable and Secure Web Development
The main concept of ROMULUS is researching on novel methods for increasing productivity and reliability of web software development, in particularly, focused on Java web development.
ROMULUS proposal is based on recognising some of the deficiencies of standard Java Enterprise Edition, and proposing a new paradigm for developing web applications taking advantage of new trends in software engineering, such as domain driven design combined with agile development methodologies, and some of the principles from Ruby on Rails.
In order to have a serious impact, the project does not start from scratch, it is based on two mature open source projects, Roma and LIFERAY, which will be extended according to this proposal needs and following an open source project development methodology, in order to disseminate and exploit the results of the project. The idea of using these projects is to solve the former problems, with Roma will get to make Java application development easy, integrate frameworks and tools using a metaframework and decreasing the implementation time. While with LIFERAY, we are integrating the leading enterprise open source portal framework, with relevant industrial references.
- Defining an innovative development framework for Java Web development based on a combination of Domain Driven Design (DDD) and the application of Model Driven Architecture (MDA) techniques to a metaframework of Web Applications, derived from previous mature experiences. In addition, the project will provide integration with standard development tool, and semi-automated semantic annotation of relevant software assets, such as bugs and feature requests.
- Integrating a “Mash-up oriented development” in the process. The integration of mashup web services based on REST APIs is showing its agility for increasing productivity and promoting reusability. ROMULUS will go a step further and will research on:
- Web Services Mashups, such as Google Maps or Yahoo Pipes. The project will research on how these mashups can be integrated in the software development life cycle.
- Data-level mashup for integrating heterogeneous data systems based on semantic technologies.
- Portal-level mashups, or ‘micro-portal-mashups’, a novel extension of current portal frameworks for providing common services to the web components reducing itsdevelopment effort.
- Enterprise mashups, modelling of enterprise systems as mashup services to speed up their integration
- Integrating soft goals, such as reliability, scalability and security in the domain description, and integrating automatic generation of tests.
- Researching on the balance between client and server technologies, and on providing an active role to the end-users for its customisation.
Impact / Exploitation objectives
- Promote development of an open source user community
- Develop vertical solutions
- Evaluate the project results and assess on their progress
- Disseminate results in industrial and academic forums