Romulus project presentation

  • 348 views
Uploaded on

Romulus project presentation. …

Romulus project presentation.
More info at:
http://www.ict-romulus.eu/

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
348
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. Overview Consortium ROMULUS Rationale ROMULUS Objectives Research topics ROMULUS Results Business opportunity Contact information Project presentation, 2009 2
  • 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. 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. Romulus global objective Researching on novel methods for increasing productivity and reliability of Java-based web development Project presentation, 2009 5
  • 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. 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. 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. 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
  • 10. Romulus Research Topics I METAFRAMEWORK + DDD + MDA II III IV BALANCE MASHUP QUALITY CLIENT & ORIENTED SOFT SERVER DEVELOPMENT GOALS Project presentation, 2009 10
  • 11. Romulus projects Project presentation, 2009 11
  • 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. Roma Framework Project presentation, 2009 13
  • 14. IDE 4 Romulus Project presentation, 2009 14
  • 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. MyCocktail Project presentation, 2009 16
  • 17. Romulus Mashup Editor Project presentation, 2009 17
  • 18. DERI Pipes Project presentation, 2009 18
  • 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. Wapiti Project presentation, 2009 20
  • 21. ATP4Romulus Project presentation, 2009 21
  • 22. Segovia Project presentation, 2009 22
  • 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. Liferay Project presentation, 2009 24
  • 25. Demonstrators Real applications realized using Romulus' tools: Cornelius Scrooge UE Application Project presentation, 2009 25
  • 26. Cornelius Project presentation, 2009 26
  • 27. Scrooge Project presentation, 2009 27
  • 28. UE application Project presentation, 2009 28
  • 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. 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. 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. For any contact information Coordinator: Dr. Carlos A. Iglesias Informática Gesfor Avda. Manoteras, 32 28040 Madrid (Spain) Email: cif@germinus.com WWW: http://www.ict-romulus.eu Thanks for your attention! Project presentation, 2009 32