1 / 30

Development with Genova

Learn about Genova, a tool for modeling and generating data-intensive systems, and how it can improve application development and maintenance. Explore Genova's models, template language, and targets. Find out how to contribute as an architect and use model-driven development to create high-quality code.

tonib
Download Presentation

Development with Genova

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Development with Genova Model driven development of user interfaces and services with Genova

  2. Contents • Esito and I • A development model • Genova’s models • Showing a generated system • Genova’s template language and targets • Questions

  3. Who am I? • Knut Sagli, senior consultant in Esito • Contribute as an architect to Genova frameworks

  4. Esito shall give their customers better quality and lower cost during their applications life spans from development through maintenance to EOL Support model driven development Make the best code generators Esito

  5. Genova 6.1 Genova 7 Genova 8 Genova 8.1 Genova 8.3 Genova 8.5 Systemator 2.1 Systemator 4 Systemator 6.2 Esito history 2009: G 8.5 jVine/Jouteur 2009: Genova 8.3 XML 2006: G 8.1 Service designer 2005: Esito 2004: Genova 8 new IDE 2000: Genova 7 w/Sysdul 1998: Genova 6 1997: Genera 1996: Windows NT, SOV/SOL 1995: Systemator 5 1992: GUI 1989: Unix 80s: NSB, TAD 1980: Sysdeco 70s: Research

  6. Customers

  7. What Genova is • Genova is a tool for modeling and generating data intensive systems that plan to have a long life through maintenance • Genova adds value in all phases of the development life cycle Modeling Languages & Techniques Prototyping Modeling RationalRose Genova EnterpriseArchitect Generate Iterate Application database Application components

  8. Generated models Service Genova Data access Client Hooks Database View ORMapping Hooks Persistence Controller Services Actions Generated code Written code Domain model

  9. Systems made from models • Iteratively developed systems where models are the source of program execution • Models are great for communication and document the system at the same time • Generate all framework and plumbing code with high level of quality • Survive paradigm changes

  10. Data intensive systems • Data intensive systems operate on the domain data • Typically company expert systems • Presenting and storing data are the main jobs • Administers business rules

  11. Dialog Designer Service Designer Domain Designer Genova elements • Synchronizing with Enterprise Architect or Rational Rose • Domain Designer • Service Designer • Dialog Designer • Generators

  12. Domain classes Object-Relation-Mapping Genova’s models Genova Genova Genova UI Designer Service Designer Domain Designer UI template Object selection Domain model Database model UI model Database CRUD XML Jouteur

  13. Outlined development model Use case model Scenarios Navigation model Domain model Style guide Dialog model User interface prototype

  14. A short demo of Genova • Showing tools and interaction • Generating from an existing workspace • Making a dialog from scratch • Generating the newly created dialog • Running the application

  15. Application architecture - Java Generated by Genova Genova framework View Controller 3. party framework Logic/Actions/ Hooks Actions Hooks Domain model Written code ServiceProxy ServiceProxy Spring Service interface WS/EJB/Pojo Hooks Service Service Service Domain model Persistence Hibernate ORmapping Database

  16. Unit test architecture of Jouteur Generated by Genova Test view Hand-written code Controller Actions Hooks Test tools provided by Genova Test environment Domain model Service mock Unit tests Data source Test data files

  17. Making a dialog model

  18. Dialog style guide Template Style Layout Color Font Resources • High level resources encompass the lower level resources • The style guide is a template for dialog model generation • Changes to the template propagate throughout the dialog model

  19. Swing: Generated dialog code

  20. ICEfaces : Generated view code

  21. ICEfaces : Generated controller code

  22. Generated service code

  23. Java JFC/swing Java/EJB Java/EJB Hibernate xml Oracle.sql Oracle Hibernate Architechture Dialog Designer Dialog Model Styleguide Service Designer Object Selection Domain Designer Domain Model Database Model Genova Templates Generated code

  24. Many different targets • Dialog Designer • Dialog Report • Java/JFC (Swing) • Jasper Report • C++/MFC • Visual Basic • Web/Asp • Web/Jsp • Sysdul/ddf • Java/ICEfaces (JSF) • Jouteur • Service Designer • Java/EJB • Java2XML • Sysdul • Sysdul2XML • Jouteur • Domain Designer • Java • Jouteur • Data Access • Hibernate • Genova Data Objects • Div EJB2 versjoner • XmlSchema • Sysdul • Database • Oracle • Sybase • SQLserver • MySQL • Derby • Mimer • XMLSchema

  25. Generation Models Code Generator Template set

  26. Template example %FILE% data.txt %ITERATE:DialogModel% Dialog: %Name% %ENDITERATE% %ENDFILE% • Using the dialog generator • The template prints out the name of all dialogs in the application to the specified file, "data.txt“ • Directives: • %FILE%, %ENDFILE% • %ITERATE%, %ENDITERATE% • Substitutions: • %Name% • Text: • “Dialog: “

  27. Documentation • Genova menu: Help/Documentation • Template Parser – describes the language • Code generators – describes the iterations and substitution variables • Dialog Generator • Service Generator • Domain Generator • Database Generator • Installed in %GENOVA8_HOME%\doc

  28. The template language • Sections • Directives • Substitution variables and template parameters • Expressions/operators • Text functions • Macros • Generator setup

  29. Genova in Eclipse

  30. Questions • Everything clear? • Summer job? • Working on templates

More Related