SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
Puppet
 
A Presentation about Puppet that I've made at the OSSPAC conference
A Presentation about Puppet that I've made at the OSSPAC conferenceA Presentation about Puppet that I've made at the OSSPAC conference
A Presentation about Puppet that I've made at the OSSPAC conference
ohadlevy
 

La actualidad más candente (20)

Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
 
Learn Puppet : Quest Guide for the Learning VM
Learn Puppet : Quest Guide for the Learning VMLearn Puppet : Quest Guide for the Learning VM
Learn Puppet : Quest Guide for the Learning VM
 
Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJS
 
Containerizing a Web Application with Vue.js and Java
Containerizing a Web Application with Vue.js and JavaContainerizing a Web Application with Vue.js and Java
Containerizing a Web Application with Vue.js and Java
 
Nodejs intro
Nodejs introNodejs intro
Nodejs intro
 
Web workers
Web workersWeb workers
Web workers
 
Maven
MavenMaven
Maven
 
A Presentation about Puppet that I've made at the OSSPAC conference
A Presentation about Puppet that I've made at the OSSPAC conferenceA Presentation about Puppet that I've made at the OSSPAC conference
A Presentation about Puppet that I've made at the OSSPAC conference
 
Using Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresUsing Puppet in Small Infrastructures
Using Puppet in Small Infrastructures
 
Getting Started with HTML 5 Web workers
Getting Started with HTML 5 Web workersGetting Started with HTML 5 Web workers
Getting Started with HTML 5 Web workers
 
Docker in production: reality, not hype (OSCON 2015)
Docker in production: reality, not hype (OSCON 2015)Docker in production: reality, not hype (OSCON 2015)
Docker in production: reality, not hype (OSCON 2015)
 
Electron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologiesElectron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologies
 
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
 
Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013
Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013
Using Puppet for Deploying Hyper-V OpenStack Compute Nodes - PuppetConf 2013
 
pio_present
pio_presentpio_present
pio_present
 
CONTINUOUS INTEGRATION && DOCKER
CONTINUOUS INTEGRATION && DOCKERCONTINUOUS INTEGRATION && DOCKER
CONTINUOUS INTEGRATION && DOCKER
 
Deliver Python Apps with Docker
Deliver Python Apps with DockerDeliver Python Apps with Docker
Deliver Python Apps with Docker
 
CI : the first_step: Auto Testing with CircleCI - (MOSG)
CI : the first_step: Auto Testing with CircleCI - (MOSG)CI : the first_step: Auto Testing with CircleCI - (MOSG)
CI : the first_step: Auto Testing with CircleCI - (MOSG)
 
Automating the consumption of Eclipse for internal use
Automating the consumption of Eclipse for internal useAutomating the consumption of Eclipse for internal use
Automating the consumption of Eclipse for internal use
 
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanityUsing symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
 

Similar a Open World Forum 2009 Migration With Telosys

CEC XenApp 6.5 New Features Impact
CEC XenApp 6.5 New Features ImpactCEC XenApp 6.5 New Features Impact
CEC XenApp 6.5 New Features Impact
sthirion
 
Heroku for-team-collaboration
Heroku for-team-collaborationHeroku for-team-collaboration
Heroku for-team-collaboration
John Stevenson
 
E2E What\'s New In XenApp 6.5
E2E What\'s New In XenApp 6.5E2E What\'s New In XenApp 6.5
E2E What\'s New In XenApp 6.5
sthirion
 
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Ryo Jin
 
Cloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcoreCloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcore
David Saitta
 

Similar a Open World Forum 2009 Migration With Telosys (20)

Application Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary IkhwanApplication Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary Ikhwan
 
Docker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingDocker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge Computing
 
High Volume Payments using Mule
High Volume Payments using MuleHigh Volume Payments using Mule
High Volume Payments using Mule
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
 
Discover Great Reasons to move to ConfigMgr 2012 SP1
Discover Great Reasons to move to ConfigMgr 2012 SP1Discover Great Reasons to move to ConfigMgr 2012 SP1
Discover Great Reasons to move to ConfigMgr 2012 SP1
 
OpenStack Murano
OpenStack MuranoOpenStack Murano
OpenStack Murano
 
E g innovations overview
E g innovations overviewE g innovations overview
E g innovations overview
 
CEC XenApp 6.5 New Features Impact
CEC XenApp 6.5 New Features ImpactCEC XenApp 6.5 New Features Impact
CEC XenApp 6.5 New Features Impact
 
Heroku for team collaboration
Heroku for team collaborationHeroku for team collaboration
Heroku for team collaboration
 
Heroku for-team-collaboration
Heroku for-team-collaborationHeroku for-team-collaboration
Heroku for-team-collaboration
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the Cloud
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
2012 06-15-jazoon12-sub138-eranea-large-apps-migration
2012 06-15-jazoon12-sub138-eranea-large-apps-migration2012 06-15-jazoon12-sub138-eranea-large-apps-migration
2012 06-15-jazoon12-sub138-eranea-large-apps-migration
 
E2E What\'s New In XenApp 6.5
E2E What\'s New In XenApp 6.5E2E What\'s New In XenApp 6.5
E2E What\'s New In XenApp 6.5
 
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java
 
Cloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcoreCloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcore
 
Running High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclioRunning High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclio
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 

Más de Laurent Guérin

Más de Laurent Guérin (11)

Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022
 
Telosys tutorial - Code generation for a Python web application based on Bott...
Telosys tutorial - Code generation for a Python web application based on Bott...Telosys tutorial - Code generation for a Python web application based on Bott...
Telosys tutorial - Code generation for a Python web application based on Bott...
 
MQTT avec Mosquitto et Paho - DevFest Brest 2019
MQTT avec Mosquitto et Paho - DevFest Brest 2019MQTT avec Mosquitto et Paho - DevFest Brest 2019
MQTT avec Mosquitto et Paho - DevFest Brest 2019
 
MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018
MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018
MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018
 
Meetup python-bottle-telosys-2018-lgu-v1.0
Meetup python-bottle-telosys-2018-lgu-v1.0Meetup python-bottle-telosys-2018-lgu-v1.0
Meetup python-bottle-telosys-2018-lgu-v1.0
 
Sogeti labs developer-today-v1.1
Sogeti labs developer-today-v1.1Sogeti labs developer-today-v1.1
Sogeti labs developer-today-v1.1
 
Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2
 
Bean Validation - Cours v 1.1
Bean Validation - Cours v 1.1Bean Validation - Cours v 1.1
Bean Validation - Cours v 1.1
 
Genie logiciel eseo-v1.1-1spp
Genie logiciel eseo-v1.1-1sppGenie logiciel eseo-v1.1-1spp
Genie logiciel eseo-v1.1-1spp
 
Devoxx 2011 - Scaffolding with Telosys
Devoxx 2011 - Scaffolding with TelosysDevoxx 2011 - Scaffolding with Telosys
Devoxx 2011 - Scaffolding with Telosys
 
Solutions Linux Développement Rapide Java
Solutions Linux Développement Rapide JavaSolutions Linux Développement Rapide Java
Solutions Linux Développement Rapide Java
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Open World Forum 2009 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 • 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
  • 8. The migration Laurent Guérin - 2 octobre 2009 8
  • 9. 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
  • 10. Why Telosys ? Laurent Guérin - 2 octobre 2009 10
  • 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
  • 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 • 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
  • 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