Upload
grupo-gesfor-idi
View
686
Download
0
Embed Size (px)
DESCRIPTION
Romulus project presentation.More info at:http://www.ict-romulus.eu/
Citation preview
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
Project presentation, 2009 2
Overview
ConsortiumROMULUS RationaleROMULUS ObjectivesResearch topicsROMULUS ResultsBusiness opportunityContact information
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
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
Project presentation, 2009 5
Romulus global objective
Researching on novel methods for increasing productivity and reliability of Java-based web
development
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
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)
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.
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)
Project presentation, 2009 10
Romulus Research Topics
III QUALITY
SOFT GOALS
II MASHUP
ORIENTED DEVELOPMENT
IV BALANCE CLIENT & SERVER
I METAFRAMEWORK + DDD + MDA
Project presentation, 2009 11
Romulus projects
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
Project presentation, 2009 13
Roma Framework
Project presentation, 2009 14
IDE 4 Romulus
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
Project presentation, 2009 16
MyCocktail
Project presentation, 2009 17
Romulus Mashup Editor
Project presentation, 2009 18
DERI Pipes
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
Project presentation, 2009 20
Wapiti
Project presentation, 2009 21
ATP4Romulus
Project presentation, 2009 22
Segovia
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
Project presentation, 2009 24
Liferay
Project presentation, 2009 25
Demonstrators
Real applications realized using Romulus' tools:
CorneliusScroogeUE Application
Project presentation, 2009 26
Cornelius
Project presentation, 2009 27
Scrooge
Project presentation, 2009 28
UE application
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
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
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
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!