webratio at code generation 2011

Post on 18-Nov-2014

1.605 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

You Think, You Get

Code Generation 2011 Conference, May 25-27

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

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

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

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

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

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

?

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

?

What is WebRatio

The fertile environment for building and maintainingyour custom enterprise applications

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

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)

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

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?

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

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

Live DemoInteractive Session

Thank You!

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

top related