Contents
Esito and I A development model Genova’s models Showing a generated system Genova’s template language and targets Questions
2
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
4
Systemator 2.1
Esito history
Genova 6.1
Genova 7
2009: G 8.5 jVine/Jouteur
2009: Genova 8.3 XML2006: G 8.1
Service designer
2005: Esito2004: Genova 8 new
IDE2000: Genova 7
w/Sysdul1998: Genova 61997: Genera1996: Windows NT, SOV/SOL1995: Systemator 51992: GUI1989: Unix80s: NSB, TAD1980: Sysdeco70s: Research
Systemator 4Systemator 6.2
Genova 8Genova 8.1
Genova 8.3
Genova 8.5
5
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
Applicationcomponents
Prototyping
Generate
ModelingLanguages & Techniques
Applicationdatabase
RationalRose
IterateEnterpriseArchitect
Genova
7
Generated models
act Reservasjon
Ønske om reservasjon
Finn hotell
Velg romkategori
Opprett kunde
Opprettreservasjon
Reservert romMislykket reservasjon
[Ingen tilgjengelige rom]
[Fullt hotell]
[Fullt i romkategori]
[Tilgjengelig rom]
[Eksisterende kunde]
[Ny kunde]
Client
Contr
olle
r
Hooks
Actions Services
Hooks
Service
OR
Mappin
g
Pers
iste
nce
Data access
Domain model
View
Data
base
uc Hotellvedlikehold
dialog::VisRomoversikt
dialog::VisHotell
dialog::FinnRomkategoriAnsatt
(from Aktører)
Finn romkategori
Vis alle hoteller i kjede
Vis romoversikt
for hotell
class Reservasjon
«Class»Reservasjon
«Attribute»- fradato: Date- id: int- tildato: Date
«Class»hotell::Hotell
«Attribute»- id: int- logo: String- navn: String- sted: String
«Class»hotell::Romkategori
«Attribute»- antallSoveplasser: int- id: int- romkvalitet: ERomkvalitet- sengtype: ESengtype- storkunderabatt: int- utgangspris: int
«Group»- RomKatMain
«Class»kunde::Kunde
«Attribute»- epost: String- kundenr: int- navn: String- telefonnr: String
-kunde 1
-reservasjoner 0..* 0..*-romkategori
1
0..*
-hotell
1
Genova
Written code
Generated code8
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
9
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
10
Genova elements
Synchronizing with Enterprise Architect or Rational Rose
Domain Designer Service Designer Dialog Designer Generators
Dialog Designer
Domain DesignerService Designer
11
Genova’s models
UI Designer
Object selection
Service Designer Domain Designer
UI template
UI model
Domain model
Database model
Domain classes
Object-Relation-Mapping
CRUD
Database
Genova Genova Genova
XML
Jouteur
12
Outlined development model
Use case model
Scenarios
Domain model
Dialog model
User interface prototype
Style guideNavigation model
13
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
14
Application architecture - Java
Generated by Genova
Genova framework
3. party framework
Written code
View
Controller
Spring
ServiceProxy
HooksActions
ServiceProxy
Logic/Actions/
Hooks
WS/EJB/PojoD
om
ain
model
Service interface
Hibernate
Database
ORmapping
Persistence
Serv
ice
Serv
ice
Serv
ice
Hooks
Dom
ain
model
15
Unit test architecture of Jouteur
Test view
Controller
Dom
ain
model
Data source
Service mock
HooksActions
Test
envir
onm
ent
Test datafiles
Unit tests Generated by Genova
Hand-written code
Test tools provided by Genova
16
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
FontColor
LayoutStyle
Template
Dialog style guide
18
ICEfaces : Generated view code
class Generated v iew code
<DialogName>Const
«interface»DialogView
<DialogName>DefaultView
<DialogName>View
«interface»ViewModel
FacesDialogBean
<DialogName>DefaultBean
<DialogName>Bean
«interface»ApplicationView
FacesApplicationBean
JSF managed property
AbstractDialogView
FacesDialogView
ListRow
<ListblockName>ListRow
*
20
ICEfaces : Generated controller code
class Generated controller code
ApplicationController
<ObjectSelectionName>Const
DialogController
<DialogName>DefaultController
<DialogName>Controller
«interface»OSRole
<RoleName>Role
*
*
21
Architechture
Dialog Designer
Service Designer
Domain Designer
JFC/swing
Java/EJB
Hibernate
Hibernatexml
Java
Java/EJB
Templates Generated code
Dialog ModelStyleguide
Object Selection
Domain ModelDatabase Model Oracle.sql
Oracle
Genova
23
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
24
Template example
%FILE% data.txt %ITERATE:DialogM
odel% 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
Top Related