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
Overview
 Consortium
 ROMULUS Rationale
 ROMULUS Objectives
 Research topics
 ROMULUS Results
 Business opportunity
 Contact information




   Project presentation, 2009   2
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
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
Romulus global objective
 Researching on novel methods for increasing
productivity and reliability of Java-based web
                development




   Project presentation, 2009   5
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
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
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
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
Romulus Research Topics
                          I
               METAFRAMEWORK + DDD + MDA




      II                             III    IV BALANCE
   MASHUP                         QUALITY     CLIENT &
  ORIENTED                          SOFT      SERVER
DEVELOPMENT                        GOALS




     Project presentation, 2009     10
Romulus projects




  Project presentation, 2009   11
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
Roma Framework




  Project presentation, 2009   13
IDE 4 Romulus




  Project presentation, 2009   14
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
MyCocktail




  Project presentation, 2009   16
Romulus Mashup Editor




  Project presentation, 2009   17
DERI Pipes




  Project presentation, 2009   18
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
Wapiti




   Project presentation, 2009   20
ATP4Romulus




  Project presentation, 2009   21
Segovia




  Project presentation, 2009   22
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
Liferay




   Project presentation, 2009   24
Demonstrators
  Real applications realized using Romulus'
  tools:
Cornelius
Scrooge
UE Application




    Project presentation, 2009   25
Cornelius




  Project presentation, 2009   26
Scrooge




  Project presentation, 2009   27
UE application




   Project presentation, 2009   28
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
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
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
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

Romulus project presentation

  • 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 ROMULUSRationale 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 ametaframework? 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 ametaframework 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: MashupOriented 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 Projectpresentation, 2009 16
  • 17.
    Romulus Mashup Editor Project presentation, 2009 17
  • 18.
    DERI Pipes Project presentation, 2009 18
  • 19.
    Goal III: SoftwareQuality & 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 Projectpresentation, 2009 21
  • 22.
    Segovia Projectpresentation, 2009 22
  • 23.
    Goal IV: Balanceclient & 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 Realapplications realized using Romulus' tools: Cornelius Scrooge UE Application Project presentation, 2009 25
  • 26.
    Cornelius Projectpresentation, 2009 26
  • 27.
    Scrooge Projectpresentation, 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 Shifton 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 Proposalof 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 contactinformation 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