DSPy a system for AI to Write Prompts and Do Fine Tuning
Romulus Project start version en
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
February, 2008
2. Overview
● Consortium
● ROMULUS Rationale
● ROMULUS Objectives
● Research topics
● ROMULUS Results
● Business opportunity
● Contact information
Project presentation, 2008 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, 2008 3
4. Rationale
PROBLEM
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 specifications
o Robust, scalable and proved technology
Not as productive
BUT…
o There are problems in its
as desirable
productivity
o Need of new methods such as
Ruby on Rails
Project presentation, 2008 4
5. Romulus global objective
Researching on novel methods for increasing
productivity and reliability of Java-based
web development
Project presentation, 2008 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, 2008 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, 2008 7
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.
Project presentation, 2008 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, 2008 9
10. Romulus Research Topics
I
METAFRAMEWORK + DDD + MDA
II III IV
MASHUP QUALITY BALANCE
ORIENTED SOFT CLIENT &
DEVELOPME GOALS SERVER
NT
Project presentation, 2008 10
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+ DDD + MDA
METAFRAMEWORK
● 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, 2008 11
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 II
MASHUP
services ORIENTED
DEVELOPMENT
• Enterprise mashup – Integration of enterprise systems
• Portal mashups – Integration of mashable portal
services such as rating, commentary, etc.
Project presentation, 2008 12
13. Goal III: Software Quality & Soft Goals
• Involve soft goals in the development phase (security,
III
traceability, performance reliability)
QUALITY
SOFT • Usage of Attribute Oriented Programming (A@P) for
GOALS annotating the domain and biasing MDA generation
Project presentation, 2008 13
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)
IV BALANCE
CLIENT & • Research on pure client side technologies and
SERVER
automatic configuration and composition of
applications by end users without programming skills
• Integrate server-side scripting languages in order to
increase productivity
Project presentation, 2008 14
15. Romulus expected results
Data
Security Scalability Testing
Mashups
Vertical Enterprise
Demostrators
Web Service
Portal
Methodology & IDEs Semantic Client Server
Best Practices Social Notifier Scripting
Project presentation, 2008 15
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
Project presentation, 2008 16
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
Project presentation, 2008 17
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
Project presentation, 2008 18
19. 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, 2008 19