Successfully reported this slideshow.

WebRatio at Code Generation 2011

1,750 views

Published on

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

Published in: Technology

WebRatio at Code Generation 2011

  1. 1. You Think, You Get<br />Code Generation 2011 Conference, May 25-27<br />How to get to 100% code generation and infinite virtuous cycles<br />
  2. 2. 2<br />Summary<br />Model-Driven Development introduction<br />Code Generation vs Model Interpretation<br />How we can make infinite virtuous cycles<br />How we get to 100% Code Generation<br />What is WebRatio<br />Who can use WebRatio<br />Benefits of WebRatio<br />Some references<br />
  3. 3. 3<br />Model-Driven Development<br />a range of development approaches that are based on the use of software modeling as a primary form of expression<br />... yield higher levels of abstraction in software development<br />… Combined with executable semantics this elevates the total level of automation possible<br />http://en.wikipedia.org/wiki/Model-driven_engineering<br />
  4. 4. Code Generation vs Model Interpretation<br />Design-time<br />Run-time<br />Model Interpretation<br />Interpreter<br />Immediately available<br />Model<br />Model<br />Tool user(Modeler)<br />ApplicationUser<br />Vendor-dependent code<br />Code Generation<br />GeneratedApplication<br />GenerationEngine<br />Generation and deploy<br />Model<br />ApplicationUser<br />Tool user(Modeler)<br />GenerationRules<br />Tool user(Programmer)<br />
  5. 5. 5<br />3 reasons why we chose Code Generation (of Java Web applications)<br />execution environment is as standard as possible: standard architecture, standard libraries<br />customer can choose its preferred execution environment:<br />an open source application server: tomcat, jboss, glassfish<br />a commercial application server: ibmwebsphere, oracle as<br />a cloud JEE service: amazon ec2<br />two degrees of freedom instead of one<br />managing the Visual Identity<br />Same model with different generation rules (e.g. for addressing different companies)<br />Different models with the same generation rule (write presentation rules only once inside a single company)<br />no vendor lock-in: standard Java Web applications can be easily maintained without the tool<br />Code Generation vs Model Interpretation<br />
  6. 6. How we can make infinite cycles<br />Iterative, agile development<br />?<br />Development / Testing environment<br />Zero-cost, 1-click, prototype generation<br />DevelopmentPrototype<br />GenerationEngine<br />ApplicationTest User<br />Model<br />FinalApplication User<br />GenerationRules<br />Tool user(Modeler)<br />FinalGeneratedApplication<br />Tool user(Programmer)<br />Final execution environment<br />Different deployment configurations<br />
  7. 7. How we get to 100% Code Generation<br />Do you want to touch the code? Touch the generator instead!<br />?<br />GeneratedApplication<br />GenerationEngine<br />Model<br />ApplicationUser<br />GenerationRules<br />Tool user(Modeler)<br />Tool user(Programmer)<br />
  8. 8. What is WebRatio<br />The fertile environment for building and maintainingyour custom enterprise applications<br />
  9. 9. 9<br />What is WebRatio<br />An Eclipse-based development environment allowing:<br />Modeling: ER + WebML + BPMN<br />100% code generation of standard JEE applications<br />Clear separation between design time and run time<br />No proprietary runtime<br />Quick and agile development cycles<br />Extending the generation rules<br />Defining new presentation styles<br />Defining new components<br />Versioning, teamwork, full lifecycle mgt<br />
  10. 10. 10<br />Who are the target users of WebRatio<br />Business Process<br />Analyst <br />Application Analyst /WebRatio Modeler<br />Model editor<br />Application Model(ER + WebML)<br />Process Model <br />(BPMN)<br />Standard Java<br />Web application<br />Generation rules<br />Custom Model Components <br />(Java, API ,…)<br />Layout Templates(HTML, CSS, JavaScript, ...)<br />Web<br />Designer<br />Java<br />Programmer<br />
  11. 11. WebML, the DSL for the Web<br />Horizontalvs Vertical DSLs<br />Vertical DSL: a language targeting the problem domain and usually a specific market, industry or field<br />Examples are configuration languages for home automation systems, modelling languages for biological experiments, analysis languages for financial applications and so on…<br />Horizontal DSL: a language targeting the solution (technology) domain and hence with a broader application field.<br />Examples are SQL, Flex, Pixel bender, and so on...<br />WebML<br />a “horizontal” DSL, targeting the Web domain<br />standardization proposal started within the OMG<br />11<br />
  12. 12. 12<br />Business Agility: keep your IT applications always aligned to Business needs<br />Development Speed: boost up your development productivity, up to 3 times (FP metrics measured, productivity index > 110 FP/staff month)<br />Reuse: build up a fertile environment, with your own custom components<br />Your visual identity<br />The connections to your information systems<br />Your custom business logic<br />You are the homeowner: generated applications are compliant with Java standards<br />No proprietary runtime servers<br />No additional runtime costs<br />WebRatio: which benefits?<br />
  13. 13. 13<br />Kinds of application<br />Document Management<br />Customer Information Mgt<br />Sales and LeadManagement<br />Web Content Management<br />Knowledge Management<br />CustomerRelationshipManagement<br />Learning Management<br />Partner Relationship Mgt<br />Knowledge Support<br />Marketing Resources Mgt<br />Project Management<br />Web Customer<br />Services<br />Business Intelligence<br />Supply Chain Management<br />B2C/B2B<br />E-Commerce<br />Enterprise Resource Planning<br />Financial Services<br />Web Front-End of accounting sys.<br />Supplier Relationship Mgt<br />Payment Services Orchestration<br />Corporate Operations<br />Human Capital Management<br />Product Life Cycle Management<br />Front-Office Process Mgt<br />Recruitment<br />Enterprise Governance<br />Training<br />Risk and Compliance<br />Workforce Management<br />Order Mgt<br />
  14. 14. Summary<br />WebRatio is<br />now at its 6th major release<br />in the market since 2001<br />WebRatio customers<br />100+ companies and 500+ users<br />in Italy, Europe and South America<br />WebRatio partners<br />40+ software houses and system integrators<br />300+ universities worldwide, 12.000+ students<br />
  15. 15. Live Demo<br />Interactive Session<br />
  16. 16. Thank You!<br />www.webratio.com<br />blog.webratio.com<br />stefano.butti@webratio.com<br />02.3671.4280<br />

×