KEMBAR78
Ow2 Open World Forum09 Migration With Telosys | PDF
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
The context



Laurent Guérin - 2 octobre 2009   2
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
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
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
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
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
The migration



Laurent Guérin - 2 octobre 2009   8
Project based on Open Source software


• Infrastructure & middleware
   Linux
   Apache
   Tomcat
                                                      100 %
   MySQL
                                                      free
• Java framework
                                                      100 %
   Telosys
   framework
                                                      simple
                                              LGPL
• IDE                                                Cost
   Eclipse
   Telosys tools (plugins)
                                                     Efficiency

            Laurent Guérin - 2 octobre 2009                       9
Why Telosys ?




Laurent Guérin - 2 octobre 2009   10
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
Telosys framework : the "only" framework




Laurent Guérin - 2 octobre 2009            12
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
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
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
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
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
Questions
                                                  ?


  Reliable          Efficient
framework             tools
             Laurent Guérin - 2 octobre 2009               18
Web links




• OW2 :
    http://www.ow2.org

• Telosys :
      http://telosys.ow2.org

• Telosys LinkedIN group :
      http://www.linkedin.com/groups?gid=1340197




              Laurent Guérin - 2 octobre 2009      19

Ow2 Open World Forum09 Migration With Telosys

  • 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
  • 2.
    The context Laurent Guérin- 2 octobre 2009 2
  • 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 • Technicalmigration ( + 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
  • 8.
  • 9.
    Project based onOpen Source software • Infrastructure & middleware Linux Apache Tomcat 100 % MySQL free • Java framework 100 % Telosys framework simple LGPL • IDE Cost Eclipse Telosys tools (plugins) Efficiency Laurent Guérin - 2 octobre 2009 9
  • 10.
    Why Telosys ? LaurentGuérin - 2 octobre 2009 10
  • 11.
    Telosys framework • Telosysis 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
  • 12.
    Telosys framework :the "only" framework Laurent Guérin - 2 octobre 2009 12
  • 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 • Highproductivity 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 Allclient/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
  • 18.
    Questions ? Reliable Efficient framework tools Laurent Guérin - 2 octobre 2009 18
  • 19.
    Web links • OW2: http://www.ow2.org • Telosys : http://telosys.ow2.org • Telosys LinkedIN group : http://www.linkedin.com/groups?gid=1340197 Laurent Guérin - 2 octobre 2009 19