19
JL-1 Domain Driven Design and Mashup Oriented Development based on Open Source Java Metaframework for Pragmatic, Reliable and Secure Web Development Project Presentation February, 2008

Romulus Project start version en

Embed Size (px)

DESCRIPTION

FP7 Romulus project presentation: http://www.ict-romulus.eu/

Citation preview

Page 1: Romulus Project start version en

JL-1

Domain Driven Design and Mashup Oriented Development based on

Open Source Java Metaframework for Pragmatic, Reliable and Secure Web

Development

Project Presentation

February, 2008

Page 2: Romulus Project start version en

Project presentation, 2008 2

Overview

● Consortium● ROMULUS Rationale● ROMULUS Objectives● Research topics● ROMULUS Results● Business opportunity● Contact information

Page 3: Romulus Project start version en

Project presentation, 2008 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 start version en

Project presentation, 2008 4

Rationale

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

o There are problems in its productivityo Need of new methods such as Ruby on Rails

PROBLEM

Not as productive as desirable

Page 5: Romulus Project start version en

Project presentation, 2008 5

Romulus global objective

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

web development

Page 6: Romulus Project start version en

Project presentation, 2008 6

Romulus objectives

● Improve Java web development productivity, reliability and security

● Provide methods and tools for Domain Driven Designbased 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

Page 7: Romulus Project start version en

Project presentation, 2008 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 domain• Extend 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 start version en

Project presentation, 2008 8

What is a metaframework?

● Frameworks provides 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.

Page 9: Romulus Project start version en

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

Page 10: Romulus Project start version en

Project presentation, 2008 10

Romulus Research Topics

III QUALITY

SOFT GOALS

II MASHUP

ORIENTED DEVELOPME

NT

IV BALANCE CLIENT & SERVER

I METAFRAMEWORK + DDD + MDA

Page 11: Romulus Project start version en

Project presentation, 2008 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

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

I METAFRAMEWORK + DDD + MDA

Page 12: Romulus Project start version en

Project presentation, 2008 12

Goal II: Mashup Oriented Development

• Higher productivity / reliability through mashups

• Integration of mashups in the standard development cycle

• Data-level mashups – Integration heterogeneous data sources

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

II MASHUP

ORIENTED DEVELOPMENT

Page 13: Romulus Project start version en

Project presentation, 2008 13

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 14: Romulus Project start version en

Project presentation, 2008 14

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 15: Romulus Project start version en

Project presentation, 2008 15

Romulus expected results

Security Scalability Testing

Mas

hu

ps

Data

Enterprise

Web Service

Portal

IDEsMethodology & Best Practices

Semantic Social Notifier

Client Server Scripting

Vertical Demostrators

Page 16: Romulus Project start version en

Project presentation, 2008 16

Business Opportunities

• Product companies. Asset and Liferay improve their product functionalities,

• ROMULUS is delivered itself as an open source project.

• Industrial partners will provide consultancy, integration and training services

• ROMULUS will provide vertical demonstrators for facilitating its exploitation

Page 17: Romulus Project start version en

Project presentation, 2008 17

Expected 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

Page 18: Romulus Project start version en

Project presentation, 2008 18

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

Page 19: Romulus Project start version en

Project presentation, 2008 19

For any contact information

Coordinator: – Dr. Carlos A. Iglesias

– Informática Gesfor

– Avda. Manoteras, 32 28040 Madrid (Spain)

– Email: [email protected]

– WWW: http://www.ict-romulus.eu

Thanks for your attention!