WebRatio - Code Generation 2012

triangledriprockInternet και Εφαρμογές Web

7 Αυγ 2012 (πριν από 4 χρόνια και 8 μήνες)

386 εμφανίσεις

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

Generation

Rules

Interpreter

Model

Generated

Application

Generation

Engine

Immediately available

Generation and deploy

Model Interpretation

Code Generation

Tool user

(
Modeler
)

Tool user

(
Modeler
)

Tool user

(Programmer)

Application

User

Application

User

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

Generation

Rules

Development

Prototype

Generation

Engine

Tool user

(
Modeler
)

Tool user

(Programmer)

Application

Test User

Zero
-
cost, 1
-
click,
prototype
generation

Final

Generated

Application

Final

Application User

Development / Testing environment

Final execution environment

Different deployment
configurations

Iterative, agile
development

?

How we

get to 100% Code Generation

Do you want to touch the code? Touch

the generator instead!

Model

Generation

Rules

Generated

Application

Generation

Engine

Tool user

(
Modeler
)

Tool user

(Programmer)

Application

User

?

What is WebRatio

The fertile environment for building and maintaining

your 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

Process

Analyst

Application Analyst /

WebRatio Modeler

Web

Designer

Java

Programmer

Standard Java

Web 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

Customer

Relationship

Management

Enterprise
Resource
Planning

Supply Chain
Management

Knowledge
Support

Sales and Lead

Management

Marketing
Resources Mgt

Web Customer

Services

B2C/B2B

E
-
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

14

Some relevant experiences

worldwide web site +
CMS and product
catalogue

www.acer.com

www.packardbell.com

Web
-
based, multi country,

End
-
to
-
end Front
-
Office
Process Mgt platform


Unsold items mgt system


Warehouse mgt system

Web
-
based, IT budget
monitoring system


Web
-
based security law
compliance system


Green energy department
internal knowledge base system

Fashion & Furniture

Finance

Energy & Utilities

Public Sector

Electronic invoice mgt system


Web
-
based cash control system


Internal training system

Mobile public portal

IT industry

Ecuador cooperative network
cash flow compensation system

Web site + CMS + online
customer services

Public transport pass e
-
ticketing system

C&SI Companies

Summary

WebRatio is

now at its 6
th

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 Demo

Interactive Session

Thank You!

www.webratio.com

blog.webratio.com

stefano.butti@webratio.com

02.3671.4280