32
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

Romulus project presentation

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Romulus project presentation

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

Page 2: Romulus project presentation

Project presentation, 2009 2

Overview

ConsortiumROMULUS RationaleROMULUS ObjectivesResearch topicsROMULUS ResultsBusiness opportunityContact information

Page 3: Romulus project presentation

Project presentation, 2009 3

Consortium Overview

R+D Soft. EngineeringROICI

R+D Semantic webIEDERI

SME, J2EE, JBIITIMOLA

R+D Soft. EngineeringESUPM

SME, Portal ProductDELIFERAY

SME, Metaframework ProductITASSET

Coordinator,J2EE, OWASPESGESFOR

Page 4: Romulus project presentation

Project presentation, 2009 4

Rationale

Java web development is the leading trend in Europe with more than 1M qualified developers Java Enterprise Edition provides more than 900 industry driven specificationsRobust, scalable and proved technology BUT…

There are problems in its productivityNeed of new methods such as Ruby on Rails

PROBLEM

Not as productive as desirable

Page 5: Romulus project presentation

Project presentation, 2009 5

Romulus global objective

Researching on novel methods for increasing productivity and reliability of Java-based web

development

Page 6: Romulus project presentation

Project presentation, 2009 6

Romulus objectives

Improve Java web development productivity, reliability and securityProvide methods and tools for Domain Driven Design based on a metaframeworkIntegrate mashups in the development cycle, including data, enterprise, web services and portal mashupsExtend domain description with soft goals and provide automatic generation of functional, load and security testsProvide bias for seamless balance of server, client and scripting technologies

Page 7: Romulus project presentation

Project presentation, 2009 7

Domain Driven Design

“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 domainExtend domain descriptions with annotations (@OP)Use automatic code generation (80%) for developing the application

“For most software projects, primary focus should be on modelling the domain and domain logic” (Evans, 92)

Page 8: Romulus project presentation

Project presentation, 2009 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 frameworkDevelopers can annotate the domain and develop the domain logic with the metaframework, and adaptors are linked for a particular framework.

Page 9: Romulus project presentation

Project presentation, 2009 9

Advantages of a metaframework Applications are portable across frameworks.

Save investmentsEasier to upgrade to new technology

Higher productivity thanks to automatic code generation and concentration on domain designLower required skills for Java web developmentAbility to tune for a particular framework (although portability is lost)

Page 10: Romulus project presentation

Project presentation, 2009 10

Romulus Research Topics

III QUALITY

SOFT GOALS

II MASHUP

ORIENTED DEVELOPMENT

IV BALANCE CLIENT & SERVER

I METAFRAMEWORK + DDD + MDA

Page 11: Romulus project presentation

Project presentation, 2009 11

Romulus projects

Page 12: Romulus project presentation

Project presentation, 2009 12

Goal I: Metaframework + DDD + MDA

Increasing productivity of Java web development, focused on Java, by means of a metaframework, DDD and MDAIntegrate key frameworks in the metaframework, reducing required skillsMetaframework which

Allows to select the targeted framework and change it easilyBut 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.

I METAFRAMEWORK + DDD + MDA

Page 13: Romulus project presentation

Project presentation, 2009 13

Roma Framework

Page 14: Romulus project presentation

Project presentation, 2009 14

IDE 4 Romulus

Page 15: Romulus project presentation

Project presentation, 2009 15

Goal II: Mashup Oriented Development

Higher productivity / reliability through mashupsIntegration of mashups in the standard development cycleData-level mashups – Integration heterogeneous data sourcesMashup web services –integration of mashup web servicesEnterprise mashup – Integration of enterprise systemsPortal mashups – Integration of mashable portal services such as rating, commentary, etc.

II MASHUP ORIENTED

DEVELOPMENT

Page 16: Romulus project presentation

Project presentation, 2009 16

MyCocktail

Page 17: Romulus project presentation

Project presentation, 2009 17

Romulus Mashup Editor

Page 18: Romulus project presentation

Project presentation, 2009 18

DERI Pipes

Page 19: Romulus project presentation

Project presentation, 2009 19

Goal III: Software Quality & Soft Goals

Involve soft goals in the development phase (security, traceability, performance reliability)Usage of Attribute Oriented Programming (A@P) for annotating the domain and biasing MDA generation

III QUALITY

SOFT GOALS

Page 20: Romulus project presentation

Project presentation, 2009 20

Wapiti

Page 21: Romulus project presentation

Project presentation, 2009 21

ATP4Romulus

Page 22: Romulus project presentation

Project presentation, 2009 22

Segovia

Page 23: Romulus project presentation

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

IV BALANCE CLIENT & SERVER

Page 24: Romulus project presentation

Project presentation, 2009 24

Liferay

Page 25: Romulus project presentation

Project presentation, 2009 25

Demonstrators

Real applications realized using Romulus' tools:

CorneliusScroogeUE Application

Page 26: Romulus project presentation

Project presentation, 2009 26

Cornelius

Page 27: Romulus project presentation

Project presentation, 2009 27

Scrooge

Page 28: Romulus project presentation

Project presentation, 2009 28

UE application

Page 29: Romulus project presentation

Project presentation, 2009 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 servicesROMULUS provides vertical demonstrators for facilitating its exploitation

Page 30: Romulus project presentation

Project presentation, 2009 30

Impact

Shift on Java web development, with serious impact on efficiency, productivity and reliabilityCosts reductionSave the investment. Applications are portable across tools and frameworksGain of productivity. Up to 90% of effortIncrease of competitiveness, with European companies leading this shiftIntegration of two open source communities, such as Liferay and ROMA

Page 31: Romulus project presentation

Project presentation, 2009 31

Standardisation

Proposal of a JSR for metaframeworksProposal for a JSR for portal mashupsParticipation in different committees:

JDO 1.0 (JSR 12) / JDO 2.0 (JSR 243) – AssetPortlets (JSR-286) – LiferayJBI (JSR-208) – IMOLAOWASP – GesforW3C Semantic specifications - DERI

Page 32: Romulus project presentation

Project presentation, 2009 32

For any contact information

Coordinator: Dr. Carlos A. IglesiasInformática GesforAvda. Manoteras, 32 28040 Madrid (Spain)Email: [email protected]: http://www.ict-romulus.eu

Thanks for your attention!