• No results found

Romulus, Java Web Development made productive.

N/A
N/A
Protected

Academic year: 2021

Share "Romulus, Java Web Development made productive."

Copied!
42
0
0

Loading.... (view fulltext now)

Full text

(1)

Romulus,

Java Web Development made productive

Carlos A. Iglesias

Luca Garulli

(2)

Agenda

Romulus project

First release

JavaTeam

Wapiti

MyCocktail

Janiculum - Roma JSPView

(3)

Joe’s story: The lead

I have a new lead. A web for managing online product information, just listing and seeing details

(4)

Carlos A: Iglesias - [email protected]> – , Luca Garulli - [email protected]

Javaday Roma III Edizione – 24 gennaio 2009

Joe’s story - Estimation

There is a new possible project, a web for managing an online catalog, could you please estimate the project size?

Well, it seems too easy but this is not the case

Why not ? Come on guys, this is an important project

We will need hibernate for caching, and it requires lots of expertise we do not have

And there is a new version of it, maybe we find some bugs or no documentation

(5)

Joe’s story - Estimation (II)

So?

We could find problems with this new technology...

Hey guys, have you thought that the solution should be scalable?

Ok I’m getting scared now
(6)

Carlos A: Iglesias - [email protected]> – , Luca Garulli - [email protected]

Javaday Roma III Edizione – 24 gennaio 2009

Joe’s Story - Estimation

(III)

Quit my suffering, how much effort?

Well, we could make an effort... 5 people and 3 months, but not less

6 people 3 months

Come on, this a simple application we are talking about, isn’t that way too much?

Overtimed again… always the same with management Can’t wait to be boss Oh God… always the same with this people! I wish I were a programmer again

(7)

Joe’s Story – Preparing the proposal

(8)

The baring of a child takes nine months, no matter how many women you use…

Joe’s Story – Possible ending 1

The customer has accepted only 75.000€, so be efficient

Err.. ok,

we will do our best We are doomed

We cannot bend iron with our bare hands…

Software is like bananas, they ripe at the customer site…

(9)

Joe’s Story – Possible ending 2

We blew it. The customer has accepted another proposal. Joe, can you explain to me how can we be so expensive?

(10)

Web Java Development problems

New trends and issues appear all the time (rich clients, web 2.0, application composition, …)

Too many tools and frameworks

Too much hand-coding

Too many layers

(11)
(12)

Lessons learnt from RoR

Life can be easier for programmers

RoR is thought by programmers, not companies fighting in the definition of JSRs

PROBLEM SOLVED

The magic of Scaffold

Automatically generates skeleton for CRUD apps

Convention over configuration

Instant feedback

DRY principle

(13)

RoR Problems

Huge number of Java developers and production ready Java components installed

Focus on web applications; false sense of productivity

Hides what happens inside

Support: community, personnel, tools

(14)
(15)

Romulus project

Domain Driven Design and Mashup Oriented Development based on Open Source Java Metaframework for Pragmatic, Reliable and Secure Web Development”

Joint project of Gesfor (ES),

Asset Data (IT), DERI (IE),

UPM (ES), Liferay (DE),

IMOLA (IT) and ICI (RO).

Seventh Framework Programme for Research

and Technological Development: 2007-2013

(16)

Romulus goals

Increasing productivity of web software development, focused on Java, based on a metaframework, Domain Driven Development and Model Design Architecture.

Increasing software productivity by using mashup oriented development.

Enhancing the quality of SW development by involving soft goals such as reliability, traceability, security and performance, as well as other quality attributes from the conception of the software.

Balance between client technologies, server technologies and scripting languages

(17)

Romulus overview

Security Scalability Testing

M ash u p s Data Enterprise Web Service Portal IDEs

Methodology & Best Practices Semantic

Social Notifier Client Server Scripting Vertical Demostrators

(18)

Let’s get real

Success indicators

Reducing time to market Reducing costs

Improving quality

(19)

Metaframework +DDD + MDA

Metaframework: ROMA Integrates key frameworks

Uses a set of behaviour interfaces instead of framework APIs directly

Allows to select the targeted framework and change it without touching code But allows to exploit the strengths of underlying frameworks

The aim is to cover the 80-90% of most common functionalities (the most used). The other 10-20% uncovered can be used using the framework implementation Define an agile methodology for web apps based on the metaframework

(20)

Mashup Oriented Development

Library of mashable elements ready to use!

IDE plugin for the mashup creation

Data-level mashups – Integration heterogeneous data sources

Mashup web services – compose and provide services such as Google Maps / Yahoo Pipes Portal mashups: services for portlets (comments / ratings, attachments, CMS, ...)

Enterprise mashups: ESB/JBI integration

II

MASHUP ORIENTED DEVELOPMENT

M ash u p s Data Enterprise Web Service

(21)

Romulus projects

Java

developers

Producti vity needs Security needs Mashup Community needs Enterpris Reliabilit y needs EndUser Application s
(22)

MyCocktail

Tool for creating mashups based on Afrous

Similar to Yahoo Pipes.

Full client technology (JavaScript / Ext)

Provides:

Ability to build (and save) mashups from Amazon,

Flickr, Google, …

Operators to manage JSON

Soon: Mashup Editor.

(23)
(24)
(25)
(26)
(27)

MyCocktail

Case study

Extend Java App functionalities... without

programming

(28)

Test scenario: savings

Huge saving compared to custom

development

CRM integration

Amazon product info

Blog, comments on products

(29)

Wapiti

Wapiti. Web Application Security Scanner

Project created in 2006 by Nicolas Surribas

Written in Python

More than 18,700 downloads in sourceforge.net

Gesfor joins the project in 2008 within Romulus

Refactoring of code, release Wapiti 2.0

Extensibility of attacks; check it with WebGoat

Web interface and portal

(30)

Wapiti

Black-box approach

Method: fuzz testing

Vulnerabilities that it can detect:

XSS

SQL Injection

CRLF Injection

(31)
(32)

Test scenario: savings

Solves security issues often unknown for developers

(SQL injection, XSS, …)

No users access or other security concerns

No costly white box / Black box tests

Application expertly secured

(33)

IDE Integration

IDEs

Current console functionalities

Plug-in

Automatic generation of configuration files

Navigation for related resources

(34)

Test scenario: savings

No need to learn new IDEs for each framework

Improved efficiency

(35)

Roma Janiculum View

Roma – well known “POJO” based Java Web

Metaframework

Default view: Echo2

From Romulus, new modules for Roma:

Janiculum, JSPView module of Roma

Alpha Liferay Enterprise Portal Server integration

Jasper Reporting

(36)

Roma Janiculum JSPView

Automatic generation of JSPs

Default main-screen.jsp + css

Full interface can be configured

Modifying main-screen.jsp

Modifying default.jsp for one POJO

Modifying css

Integrated templating mechanism with FreeMaker

(37)

JavaTeam

JavaTeam is a forge portal based on Liferay

that integrates Romulus tools:

MyCocktail (Romulus' mashup builder)

Wapiti security test

Blog Demo generated by Roma

And it works as a collaborative platform:

focused on developers (it includes SVN or JIRA portlets)

with a social network approach.

Developers below to different projects.

(38)
(39)

Try it!

http://www.ict-romulus.eu

(40)

Summary. Romulus advantages

Much less code to write, test, maintain and

learn

100% POJO based: easy to understand and

maintain

Much less tools to learn…

…but total freedom if you want to

Secured applications

Portlet development faster

Mashable elements easily integrable

(including portlets)

(41)

Is Romulus the solution?

Romulus is not the only effort in

this direction (Grails, Dyango,

RoR)

There are other alternatives for

each of the core components

Sponsoring by big players (Sun)

could change the picture

This is a R&D project!

(42)

Per informazioni

Grazie per l'attenzione!

Coordinatore:

Carlos A. Iglesias

Informática Gesfor

Avda. Manoteras, 32 28040 Madrid (Spain)

Email:

[email protected]

References

Related documents

REVIEW AND DOWNLOAD THIS ENTIRE USER GUIDE OR TROUBLESHOOTING SECTION SEWAGE TREATMENT PLANT DESIGN MANUAL, TO SUPPLIES THE ANSWER AS WELL AS ANY

PFD SIF3: To ballast/deballast between starbord and portside ballast tank system in response to operator command Ballast control logic + I/O Valves SB 1oo5 CCF Valves SB Pump room

32 Another content analysis titled “The Effect of Thin Ideal Media Images on Women’s Self- Objectification, Mood, and Body Image” found that women who viewed thin-idealized

Protections to new search warrant statute reflect the rule, florida justifies a trained police officer may arrest a telephone or information.. Second of new search statute as

advancing achievement 9 mths 3 yrs % improving rate of learning 10% 45% r variable & achievement .10 .45 % of students with treatment exceeding those?. not treated

If the service finds an address in it’s dataset which on several of the parameters matches to the input data it will return the corrected address as part of the

Virtual worlds like Second Life offer players opportunities to earn real-world income through their activities in the game. It will not be long before governments begin to