16
You Think, You Get Code Generation 2011 Conference, May 25-27 How to get to 100% code generation and infinite virtuous cycles

WebRatio at Code Generation 2011

Embed Size (px)

DESCRIPTION

This is the presentation I showed at Code Generation 2011 conference in Cambridge http://www.codegeneration.net/cg2011

Citation preview

Page 1: WebRatio at Code Generation 2011

You Think, You Get

Code Generation 2011 Conference, May 25-27

How to get to 100% code generation and infinite virtuous cycles

Page 2: WebRatio at Code Generation 2011

2

Summary

Model-Driven Development introduction

Code Generation vs Model Interpretation

How we can make infinite virtuous cycles

How we get to 100% Code Generation

What is WebRatio

Who can use WebRatio

Benefits of WebRatio

Some references

Page 3: WebRatio at Code Generation 2011

3

Model-Driven Development

a range of development approaches that are based on the use of software modeling as a primary form of expression

... yield higher levels of abstraction in software development

… Combined with executable semantics this elevates the total level of automation possible

http://en.wikipedia.org/wiki/Model-driven_engineering

Page 4: WebRatio at Code Generation 2011

Code Generation vs Model Interpretation

Design-time Run-time

Model

Model

GenerationRules

Interpreter

Model

GeneratedApplication

GenerationEngine

Immediately available

Generation and deploy

Model Interpretation

Code Generation

Tool user(Modeler)

Tool user(Modeler)

Tool user(Programmer)

ApplicationUser

ApplicationUser

Vendor-dependent code

Page 5: WebRatio at Code Generation 2011

5

3 reasons why we chose Code Generation (of Java Web applications)

execution environment is as standard as possible: standard architecture, standard libraries

customer can choose its preferred execution environment: an open source application server: tomcat, jboss, glassfish a commercial application server: ibm websphere, oracle as a cloud JEE service: amazon ec2

two degrees of freedom instead of one managing the Visual Identity

Same model with different generation rules (e.g. for addressing different companies) Different models with the same generation rule (write presentation rules only once inside a

single company)

no vendor lock-in: standard Java Web applications can be easily maintained without the tool

Code Generation vs Model Interpretation

Page 6: WebRatio at Code Generation 2011

How we can make infinite cycles

Model

GenerationRules

DevelopmentPrototype

GenerationEngine

Tool user(Modeler)

Tool user(Programmer)

ApplicationTest User

Zero-cost, 1-click, prototype generation

FinalGeneratedApplication

FinalApplication User

Development / Testing environment

Final execution environmentDifferent deployment

configurations

Iterative, agile development

?

Page 7: WebRatio at Code Generation 2011

How we get to 100% Code Generation

Do you want to touch the code? Touch the generator instead!

Model

GenerationRules

GeneratedApplication

GenerationEngine

Tool user(Modeler)

Tool user(Programmer)

ApplicationUser

?

Page 8: WebRatio at Code Generation 2011

What is WebRatio

The fertile environment for building and maintainingyour custom enterprise applications

Page 9: WebRatio at Code Generation 2011

9

What is WebRatio

An Eclipse-based development environment allowing:

Modeling: ER + WebML + BPMN

100% code generation of standard JEE applications Clear separation between design time and run time No proprietary runtime

Quick and agile development cycles

Extending the generation rules Defining new presentation styles Defining new components

Versioning, teamwork, full lifecycle mgt

Page 10: WebRatio at Code Generation 2011

10

Who are the target users of WebRatio

Application Model(ER + WebML)

Custom Model Components (Java, API ,…)

Layout Templates(HTML, CSS, JavaScript, ...)

Business ProcessAnalyst

Application Analyst /WebRatio Modeler

WebDesigner

JavaProgrammer

Standard JavaWeb application

Generation rules

Model editor

Process Model (BPMN)

Page 11: WebRatio at Code Generation 2011

WebML, the DSL for the Web

Horizontal vs Vertical DSLs

Vertical DSL: a language targeting the problem domain and usually a specific market, industry or field

Examples are configuration languages for home automation systems, modelling languages for biological experiments, analysis languages for financial applications and so on…

Horizontal DSL: a language targeting the solution (technology) domain and hence with a broader application field.

Examples are SQL, Flex, Pixel bender, and so on...

WebML

a “horizontal” DSL, targeting the Web domain

standardization proposal started within the OMG

11

Page 12: WebRatio at Code Generation 2011

12

Business Agility: keep your IT applications always aligned to Business needs

Development Speed: boost up your development productivity, up to 3 times (FP metrics measured, productivity index > 110 FP/staff month)

Reuse: build up a fertile environment, with your own custom components

Your visual identity

The connections to your information systems

Your custom business logic

You are the homeowner: generated applications are compliant with Java standards

No proprietary runtime servers

No additional runtime costs

WebRatio: which benefits?

Page 13: WebRatio at Code Generation 2011

13

Kinds of application

Corporate Operations

Human Capital Management

Product Life Cycle Management

CustomerRelationshipManagement

Enterprise Resource Planning

Supply Chain Management

Knowledge Support

Sales and LeadManagement

Marketing Resources Mgt

Web CustomerServices

B2C/B2BE-Commerce

Learning Management

Document Management

Project Management

Customer Information Mgt

Partner Relationship Mgt

Recruitment

Training

Workforce Management

Supplier Relationship Mgt

Business Intelligence

Web Content Management

Knowledge Management

Risk and Compliance

Enterprise Governance

Order Mgt

Payment Services Orchestration

Web Front-End of accounting sys.

Front-Office Process Mgt

Financial Services

Page 14: WebRatio at Code Generation 2011

Summary

WebRatio is

now at its 6th major release

in the market since 2001

WebRatio customers

100+ companies and 500+ users

in Italy, Europe and South America

WebRatio partners

40+ software houses and system integrators

300+ universities worldwide, 12.000+ students

Page 15: WebRatio at Code Generation 2011

Live DemoInteractive Session

Page 16: WebRatio at Code Generation 2011

Thank You!

www.webratio.comblog.webratio.comstefano.butti@webratio.com02.3671.4280