Romulus project presentation


Published on

Romulus project presentation.
More info at:

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Romulus project presentation

  1. 1. JL-1 Domain Driven Design and Mashup Oriented Development based on Open Source Java Metaframework for Pragmatic, Reliable and Secure Web Development Project Presentation June, 2009
  2. 2. Overview Consortium ROMULUS Rationale ROMULUS Objectives Research topics ROMULUS Results Business opportunity Contact information Project presentation, 2009 2
  3. 3. Consortium Overview GESFOR ES Coordinator,J2EE, OWASP ASSET IT SME, Metaframework Product LIFERAY DE SME, Portal Product UPM ES R+D Soft. Engineering IMOLA IT SME, J2EE, JBI DERI IE R+D Semantic web ICI RO R+D Soft. Engineering Project presentation, 2009 3
  4. 4. Rationale PROBLEM Java web development is the leading trend in Europe with more than 1M qualified developers Java Enterprise Edition provides more than 900 industry driven specifications Not as productive Robust, scalable and proved technology BUT… as desirable There are problems in its productivity Need of new methods such as Ruby on Rails Project presentation, 2009 4
  5. 5. Romulus global objective Researching on novel methods for increasing productivity and reliability of Java-based web development Project presentation, 2009 5
  6. 6. Romulus objectives Improve Java web development productivity, reliability and security Provide methods and tools for Domain Driven Design based on a metaframework Integrate mashups in the development cycle, including data, enterprise, web services and portal mashups Extend domain description with soft goals and provide automatic generation of functional, load and security tests Provide bias for seamless balance of server, client and scripting technologies Project presentation, 2009 6
  7. 7. Domain Driven Design “For most software projects, primary focus should be on modelling the domain and domain logic” (Evans, 92) “The key to controlling complexity is a good domain model, a model that goes beyond a surface vision of a domain by introducing an underlying structure, which gives the software developers the leverage they need. A good domain model can be incredibly valuable, but it’s not something that’s easy to make” (Fowler, 03) Focus on the domain Extend domain descriptions with annotations (@OP) Use automatic code generation (80%) for developing the application Project presentation, 2009 7
  8. 8. What is a metaframework? Frameworks provide a design and implementation of a common and extensible functionality such as persistence, web flow or authentication. A metaframework provides abstract interfaces for 90% of main aspects considered in a framework Developers can annotate the domain and develop the domain logic with the metaframework, and adaptors are linked for a particular framework. Project presentation, 2009 8
  9. 9. Advantages of a metaframework Applications are portable across frameworks. Save investments Easier to upgrade to new technology Higher productivity thanks to automatic code generation and concentration on domain design Lower required skills for Java web development Ability to tune for a particular framework (although portability is lost) Project presentation, 2009 9
  11. 11. Romulus projects Project presentation, 2009 11
  12. 12. Goal I: Metaframework + DDD + MDA Increasing productivity of Java web development, focused on Java, by means of a metaframework, DDD and MDA Integrate key frameworks in the metaframework, reducing required skills Metaframework which I Allows to select the targeted framework and change it easily METAFRAMEWORK + DDD + MDA But allows to exploit the strengths of underlying frameworks Define an agile methodology for web apps based on the metaframework supported by common IDEs (Eclipse/Netbeans) Collect and consolidate information from wikis, forums and development tools about bugs and feature requests. Express such information using in W3C RDF language and using the appropriate ontologies (SIOC, BAETLE etc). Aggregate, process and deliver these informations as extra functionalities embedded in the tools themselves. Project presentation, 2009 12
  13. 13. Roma Framework Project presentation, 2009 13
  14. 14. IDE 4 Romulus Project presentation, 2009 14
  15. 15. Goal II: Mashup Oriented Development Higher productivity / reliability through mashups Integration of mashups in the standard development cycle Data-level mashups – Integration heterogeneous data II sources MASHUP ORIENTED DEVELOPMENT Mashup web services –integration of mashup web services Enterprise mashup – Integration of enterprise systems Portal mashups – Integration of mashable portal services such as rating, commentary, etc. Project presentation, 2009 15
  16. 16. MyCocktail Project presentation, 2009 16
  17. 17. Romulus Mashup Editor Project presentation, 2009 17
  18. 18. DERI Pipes Project presentation, 2009 18
  19. 19. Goal III: Software Quality & Soft Goals Involve soft goals in the development phase III (security, traceability, performance reliability) QUALITY SOFT Usage of Attribute Oriented Programming (A@P) for GOALS annotating the domain and biasing MDA generation Project presentation, 2009 19
  20. 20. Wapiti Project presentation, 2009 20
  21. 21. ATP4Romulus Project presentation, 2009 21
  22. 22. Segovia Project presentation, 2009 22
  23. 23. Goal IV: Balance client & server technologies Research on suitable balance between server technologies (J2EE / .NET), Server side scripting technologies (Ruby, …) and client technologies (RIC, Ajax, Flash) IV BALANCE CLIENT & SERVER Research on pure client side technologies and automatic configuration and composition of applications by end users without programming skills Integrate server-side scripting languages in order to increase productivity Project presentation, 2009 23
  24. 24. Liferay Project presentation, 2009 24
  25. 25. Demonstrators Real applications realized using Romulus' tools: Cornelius Scrooge UE Application Project presentation, 2009 25
  26. 26. Cornelius Project presentation, 2009 26
  27. 27. Scrooge Project presentation, 2009 27
  28. 28. UE application Project presentation, 2009 28
  29. 29. Business Opportunities Product companies. Asset and Liferay have improved their product functionalities, ROMULUS has been delivered itself as an open source project. Industrial partners provides consultancy, integration and training services ROMULUS provides vertical demonstrators for facilitating its exploitation Project presentation, 2009 29
  30. 30. Impact Shift on Java web development, with serious impact on efficiency, productivity and reliability Costs reduction Save the investment. Applications are portable across tools and frameworks Gain of productivity. Up to 90% of effort Increase of competitiveness, with European companies leading this shift Integration of two open source communities, such as Liferay and ROMA Project presentation, 2009 30
  31. 31. Standardisation Proposal of a JSR for metaframeworks Proposal for a JSR for portal mashups Participation in different committees: JDO 1.0 (JSR 12) / JDO 2.0 (JSR 243) – Asset Portlets (JSR-286) – Liferay JBI (JSR-208) – IMOLA OWASP – Gesfor W3C Semantic specifications - DERI Project presentation, 2009 31
  32. 32. For any contact information Coordinator: Dr. Carlos A. Iglesias Informática Gesfor Avda. Manoteras, 32 28040 Madrid (Spain) Email: WWW: Thanks for your attention! Project presentation, 2009 32