SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPuppet
 
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 VMKumaran Balachandran
 
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 JavaJadson Santos
 
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 conferenceohadlevy
 
Using Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresUsing Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresRachel Andrew
 
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 workersFlumes
 
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)bridgetkromhout
 
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 technologiesBethmi Gunasekara
 
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...Puppet
 
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 2013Puppet
 
CONTINUOUS INTEGRATION && DOCKER
CONTINUOUS INTEGRATION && DOCKERCONTINUOUS INTEGRATION && DOCKER
CONTINUOUS INTEGRATION && DOCKERStfalcon Meetups
 
Deliver Python Apps with Docker
Deliver Python Apps with DockerDeliver Python Apps with Docker
Deliver Python Apps with DockerAnton Egorov
 
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)Soshi Nemoto
 
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 usePascal Rapicault
 
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 sanityJoshua May
 

Tendances (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
 

Similaire à Open World Forum 2009 Migration With Telosys

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 IkhwanOpenNebula Project
 
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 ComputingBukhary Ikhwan Ismail
 
High Volume Payments using Mule
High Volume Payments using MuleHigh Volume Payments using Mule
High Volume Payments using MuleAdhish Pendharkar
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java binOlve Hansen
 
E g innovations overview
E g innovations overviewE g innovations overview
E g innovations overviewNuno Alves
 
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 Impactsthirion
 
Heroku for-team-collaboration
Heroku for-team-collaborationHeroku for-team-collaboration
Heroku for-team-collaborationJohn Stevenson
 
Heroku for team collaboration
Heroku for team collaborationHeroku for team collaboration
Heroku for team collaborationJohn Stevenson
 
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 CloudMongoDB
 
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 KubernetesJosef Adersberger
 
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 KubernetesQAware GmbH
 
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-migrationDidier Durand
 
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.5sthirion
 
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 NormanRyo Jin
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java3Pillar Global
 
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 sproutcoreDavid Saitta
 
Running High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclioRunning High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclioiguazio
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"Volker Linz
 

Similaire à 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?"
 

Plus de Laurent Guérin

Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Laurent Guérin
 
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...Laurent Guérin
 
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 2019Laurent Guérin
 
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 2018Laurent Guérin
 
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.0Laurent Guérin
 
Sogeti labs developer-today-v1.1
Sogeti labs developer-today-v1.1Sogeti labs developer-today-v1.1
Sogeti labs developer-today-v1.1Laurent Guérin
 
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.2Laurent Guérin
 
Bean Validation - Cours v 1.1
Bean Validation - Cours v 1.1Bean Validation - Cours v 1.1
Bean Validation - Cours v 1.1Laurent Guérin
 
Genie logiciel eseo-v1.1-1spp
Genie logiciel eseo-v1.1-1sppGenie logiciel eseo-v1.1-1spp
Genie logiciel eseo-v1.1-1sppLaurent Guérin
 
Devoxx 2011 - Scaffolding with Telosys
Devoxx 2011 - Scaffolding with TelosysDevoxx 2011 - Scaffolding with Telosys
Devoxx 2011 - Scaffolding with TelosysLaurent Guérin
 
Solutions Linux Développement Rapide Java
Solutions Linux Développement Rapide JavaSolutions Linux Développement Rapide Java
Solutions Linux Développement Rapide JavaLaurent Guérin
 

Plus 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
 

Dernier

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 

Dernier (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 

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