1. Telosys use case
How to migrate
from client/server
to Java/Web ?
Laurent Guérin
. SOGETI : National Practice Leader "Open Solutions"
. OW2 : Telosys project leader laurent.guerin@sogeti.com
3. The company
• Activities & key figures ( year 2008 ) :
Activities :
- Security 80 %
( workplaces protection )
- Technology
- Logistics
- Mobile security
- Other …
Size : 6400 employees
Turnover : 214 million €
Location : France & Belgium
Laurent Guérin - 2 octobre 2009 3
4. The software ( the "old" application )
• Classical "client/server" application
(Visual Basic) with a relational database
• Used by security officers to
manage a workplace supervision
Events
Team
Equipments
Logging
etc...
• Multilingual (French, English, Dutch)
• Installed on each site
Laurent Guérin - 2 octobre 2009 4
5. The initial situation ( Client / Server )
Relational Database
Installation required
on each site !
Application
+ runtime
Installation
Application & update
+ runtime IT Resources
management !
Runtimes !
Application Application
+ runtime
+ runtime The number of sites
is growing quickly
Application 2007 =
+ runtime
Not accessible
out of the VPN
3x nb of sites
in 2006
Laurent Guérin - 2 octobre 2009 5
6. The target ( new Web application )
Application Database
"Online application" Server Server
accessible via a
browser
Nothing to install
Standard
http environment :
. http
. HTML
. XML
. Java
Open architecture . etc …
( extranet ? )
Lightweight
client
Potential
new
peripherals
Potential R.O.I.
Laurent Guérin - 2 octobre 2009 6
7. The problematic
• Technical migration ( + few evolutions )
No real functional value added
Main goal : reduce the cost of the IT resources
management
• => The R.O.I. depends on the project
efficiency : productivity required !
• The user experience must be preserved
=> good user interface
=> list of events must be up to AJAX
date on the screen needed
etc …
Laurent Guérin - 2 octobre 2009 7
11. Telosys framework
• Telosys is a "global framework"
( "full-stack" / "multi-aspects" framework )
Only one ".jar" file "Keep it simple
( telosys.jar ) and pragmatic"
Laurent Guérin - 2 octobre 2009 11
13. Telosys framework : the screens
Based on
No HTML
<%@ taglib uri="/telosys/widgets" prefix="t" %>
<t:screenbody data="employe" >
JSP + taglib "widgets"
<t:label x="40" y="60" txt="Code : " cl="PK_field_label" />
<t:label x="40" y="100" txt="Name : " /> Very close to
<t:field x="200" y="60" id="code" data="#" size="6" maxlength="6" />
Client/Server
<t:field x="200" y="100" id="name" data="#" size="30" maxlength="30" /> screens
definitions
<t:button x="460" y="100" id="b1" txt=“My button" onclick="…" />
</t:screenbody > Example :
V.B. ".frm"
ScreenManager
XML / http ScreenData DAO
<employe . code
code="" "employe" . name mapping EMPLOYE
name="" /> "societe" . Code
ScreenMap "xxxx"
. Name
Client/Server dialog
based on AJAX Generated Generated
=> Well suited for JavaBean DAO
( POJO )
C/S migration
Laurent Guérin - 2 octobre 2009 13
14. Telosys tools : code generation
Generation Reliable
Reposi- (always
Database tory up to date)
(XML)
plugins
Generation Telosys
Templates Templates Wizards
The
existing
C/S
database
The code generation
improve dramatically
the productivity Full Full Java
CRUD Java Classes
Screens Classes Skeletons
Laurent Guérin - 2 octobre 2009 1414
15. Telosys tools : a short demo ...
How to …
1 – generate the
lightweight repository
2 – generate all the
"Data Access Layer"
Laurent Guérin - 2 octobre 2009 15
16. The benefits
• High productivity
Global simple & efficient workload gain :
Code generation from 20%
to 40%
• Screens behavior
Very close to original C/S screens
Good user experience
Natively based on AJAX
Client/server dialog
• High performances
Scalability
• Natively multilingual
Laurent Guérin - 2 octobre 2009 16
17. Generalization & extensions
All client/server applications based
on a relational database can be
migrated in the same way
• Visual Basic
• Power Builder New tools : Same
• NSDK / NatStar automatic DB
screens
• Delphi transfor-
mation
• WinDev
• Oracle Forms
• etc …
Laurent Guérin - 2 octobre 2009 17