SlideShare a Scribd company logo
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

More Related Content

PDF
Romulus Project start version en
DOC
Resume - Kedar Deo (Oct 2016)
DOC
Amit Kumar Architect with Web and Angular JS
DOCX
Richard Simmons
PPTX
PPT
Acceleo Day - Orange
DOCX
Bayapa_Tibco_Mule_Resume
PDF
Cv horacio vallejo-201302 - en
Romulus Project start version en
Resume - Kedar Deo (Oct 2016)
Amit Kumar Architect with Web and Angular JS
Richard Simmons
Acceleo Day - Orange
Bayapa_Tibco_Mule_Resume
Cv horacio vallejo-201302 - en

What's hot (20)

DOCX
Morne Maritz CV
DOC
DOCX
JONATHAN RYAN V - DETAILED
PDF
Mobiloitte ! Enterprise Mobility Corporate Overview
PDF
Philipe Riand - Building Social Applications using the Social Business Toolki...
PPTX
Transforming to Microservices
PPTX
Accelerating Business Agility with Open Source Drupal
PPTX
When applications mean business
PDF
MQLight for WebSphere Integration user group June 2014
PDF
How Bankwest delivers business value through modern RESTful APIs with Java in...
DOCX
Clifford nelson resume_16-06
PPSX
Introduction inbox v2.0
PDF
ITCamp 2012 - Lorant Domokos - Building single page, modular HTML5 applications
DOC
George Jordanov CV
PPTX
Mq light For Guide Share Europe 2014
DOCX
Resume_20160508
PDF
Flex Introduction
DOC
SSE_5Yrs_Shivangi-1
DOC
arm_resume
Morne Maritz CV
JONATHAN RYAN V - DETAILED
Mobiloitte ! Enterprise Mobility Corporate Overview
Philipe Riand - Building Social Applications using the Social Business Toolki...
Transforming to Microservices
Accelerating Business Agility with Open Source Drupal
When applications mean business
MQLight for WebSphere Integration user group June 2014
How Bankwest delivers business value through modern RESTful APIs with Java in...
Clifford nelson resume_16-06
Introduction inbox v2.0
ITCamp 2012 - Lorant Domokos - Building single page, modular HTML5 applications
George Jordanov CV
Mq light For Guide Share Europe 2014
Resume_20160508
Flex Introduction
SSE_5Yrs_Shivangi-1
arm_resume
Ad

Viewers also liked (7)

PPT
EduWAI: Disabilities & ict's 4 learning
PDF
MyMobileWeb educamadrid.mobi
PPT
Power point presentation
PPTX
ガラパゴス携帯について
PPTX
Jolly Mon Catering
PPTX
Health services
PPTX
Police department
EduWAI: Disabilities & ict's 4 learning
MyMobileWeb educamadrid.mobi
Power point presentation
ガラパゴス携帯について
Jolly Mon Catering
Health services
Police department
Ad

Similar to Romulus project presentation (20)

PPT
Report From JavaOne 2009 - part 3
PPT
ICWE 2010 Demonstration and Poster elevator pitch session
PPT
Enterprise Software Architecture
PDF
Technologies Skills
PDF
Technologies Skills
PDF
Rapid cloudapplicationdevelopmentwithlimeds
PPTX
Rich Internet Applications (RIA)
PPTX
Gwt 2,3 Deep dive
PPT
Web 2 0 Tools
PDF
A Quick Survey of Open Source Software for PH Organizations, a paper by Massi...
PDF
Top front end website development tools and frameworks
PDF
ITI005En-SOA (II)
PPTX
Gwt Deep Dive
PDF
WDSOA'05 Whitepaper: SOA and the Future of Application Development
PDF
www.webre24h.com - An ajax tool for online modeling
PDF
Java in web 2 0 presentation
PDF
Java in web 2 0 presentation
PDF
Java™ in Web 2.0
PDF
JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
PPT
Web 2 0 Fullfeatures
Report From JavaOne 2009 - part 3
ICWE 2010 Demonstration and Poster elevator pitch session
Enterprise Software Architecture
Technologies Skills
Technologies Skills
Rapid cloudapplicationdevelopmentwithlimeds
Rich Internet Applications (RIA)
Gwt 2,3 Deep dive
Web 2 0 Tools
A Quick Survey of Open Source Software for PH Organizations, a paper by Massi...
Top front end website development tools and frameworks
ITI005En-SOA (II)
Gwt Deep Dive
WDSOA'05 Whitepaper: SOA and the Future of Application Development
www.webre24h.com - An ajax tool for online modeling
Java in web 2 0 presentation
Java in web 2 0 presentation
Java™ in Web 2.0
JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
Web 2 0 Fullfeatures

More from Grupo Gesfor I+D+i (20)

PDF
Propuesta demostrador Cardinea
PDF
THOFU- Gigaconectividad jornadas de presentación del cluster Habitat en Catal...
PDF
Triptico Redes Hibridas 2010
PPT
THOFU Presentacion General corta
PDF
Omelette Project Overview
ODP
Presentación contenidos a la carta en jornada lankibide
PDF
Brochure Cisvi
ODP
Alta alumnos admiTI2
PDF
Presentación proyecto 3D Tour
PPT
InnovaEDU
PPT
eduWAI presentacion proyecto
PDF
Cantiga Tríptico
PDF
Conecta Tríptico
PDF
Museos2.0 Tríptico
PDF
Redes Híbridas Tríptico
PDF
3DTour Brochure
PDF
Cardea brochure
PDF
Contenidos a la Carta Brochure
PDF
Museos2.0 Brochure
PDF
MyMobileWeb Póster
Propuesta demostrador Cardinea
THOFU- Gigaconectividad jornadas de presentación del cluster Habitat en Catal...
Triptico Redes Hibridas 2010
THOFU Presentacion General corta
Omelette Project Overview
Presentación contenidos a la carta en jornada lankibide
Brochure Cisvi
Alta alumnos admiTI2
Presentación proyecto 3D Tour
InnovaEDU
eduWAI presentacion proyecto
Cantiga Tríptico
Conecta Tríptico
Museos2.0 Tríptico
Redes Híbridas Tríptico
3DTour Brochure
Cardea brochure
Contenidos a la Carta Brochure
Museos2.0 Brochure
MyMobileWeb Póster

Recently uploaded (20)

PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPT
What is a Computer? Input Devices /output devices
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
The various Industrial Revolutions .pptx
PDF
STKI Israel Market Study 2025 version august
PPTX
Benefits of Physical activity for teenagers.pptx
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
August Patch Tuesday
PDF
Unlock new opportunities with location data.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Architecture types and enterprise applications.pdf
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
Group 1 Presentation -Planning and Decision Making .pptx
What is a Computer? Input Devices /output devices
1 - Historical Antecedents, Social Consideration.pdf
The various Industrial Revolutions .pptx
STKI Israel Market Study 2025 version august
Benefits of Physical activity for teenagers.pptx
Final SEM Unit 1 for mit wpu at pune .pptx
August Patch Tuesday
Unlock new opportunities with location data.pdf
DP Operators-handbook-extract for the Mautical Institute
A review of recent deep learning applications in wood surface defect identifi...
Hindi spoken digit analysis for native and non-native speakers
Getting started with AI Agents and Multi-Agent Systems
O2C Customer Invoices to Receipt V15A.pptx
Taming the Chaos: How to Turn Unstructured Data into Decisions
Zenith AI: Advanced Artificial Intelligence
Architecture types and enterprise applications.pdf
observCloud-Native Containerability and monitoring.pptx
Developing a website for English-speaking practice to English as a foreign la...

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 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