Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
2013 © TrivadisBASLE BERN LAUSANNE ZURICH DÜSSELDORF FRANKFURT FREIBURG I.BR. HAMBURG MUNICH STUTTGART VIENNA
2013 © TrivadisWho is Trivadis?
2013 © TrivadisTrivadis is leading in IT consulting, system integration and the provision ofIT services focusing on and te...
2013 © TrivadisWith over 600 specialists and IT experts in your region411 Trivadis branches and more than600 employees200 ...
2013 © TrivadisTrivadis – the company
2013 © TrivadisBÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNEWELCO...
2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. Conc...
2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. Conc...
2013 © TrivadisThe presenterJulien Eperon – Consultant @ TrivadisMaster in Computer Science from EPFL7 years of developmen...
2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. Conc...
2013 © TrivadisDefinition (1): The software development processHow to make software today?Software Factory and standardiza...
2013 © TrivadisDefinition (2): Software FactoryThe Software Factory addresses problems mainly at development timeSoftware ...
2013 © TrivadisDefinition (3): Development phaseSoftware Factory and standardization13From the developer point of viewUnde...
2013 © TrivadisDefinition (4): Software Factory definitionThe Software Factory definition: Ticketing system Version repo...
2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. Conc...
2013 © TrivadisSoftware Factory at Trivadis (1): Ticketing and versioningJira and Subversion share common attributes: Sta...
2013 © TrivadisSoftware Factory at Trivadis (2): Dependency managementDependency management Why Maven and Nexus? Keep tr...
2013 © TrivadisSoftware Factory at Trivadis (3): Continuous integrationContinuous integration Why Hudson? Automatic buil...
2013 © TrivadisSoftware Factory at Trivadis (4): HudsonSoftware Factory and standardization19
2013 © TrivadisSoftware Factory at Trivadis (5): Software quality monitoringSoftware quality monitoring Why Sonar? Open ...
2013 © TrivadisSoftware Factory at Trivadis (6): SonarSoftware Factory and standardization21
2013 © TrivadisSoftware Factory at Trivadis (7): SonarSoftware Factory and standardization22
2013 © TrivadisSoftware Factory at Trivadis (8): Continuous integrationSome components of the software factory are package...
2013 © TrivadisSoftware Factory at Trivadis (9)The Software Factory architectureSoftware Factory and standardization24Tick...
2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. Conc...
2013 © TrivadisStandardization (1): Development toolsWhy a new version of Eclipse? List of plugins is maintained by Triva...
2013 © TrivadisStandardization (2): Development toolsRepackaged version of Spring Tool Suite includes: PMD Findbugs Ecl...
2013 © TrivadisStandardization (3): Spring Tool SuiteSoftware Factory and standardization28
2013 © TrivadisStandardization (5): tvd-commonThe Trivadis standard library, name tvd-common, contains: Type conversions...
2013 © TrivadisStandardization (6): tvd-commonBenefits of tvd-common: Avoid re-inventing the wheel Based on open sources...
2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. Conc...
2013 © TrivadisConclusionBenefits of standardization Enhanced quality Enhanced re-usability Faster introduction of new ...
2013 © TrivadisBÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNETHANK...
2013 © TrivadisBÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNETVD-R...
2013 © TrivadisAgenda1. About me2. A starting point3. What is Vaadin?4. Discovering TVD-REN5. Demonstration6. ConclusionTV...
2013 © TrivadisAgenda1. About me2. A starting point3. What is Vaadin?4. Discovering TVD-REN5. Demonstration6. ConclusionTV...
2013 © TrivadisBenjamin Roynette36 y.o.Telecom & Network Engineer14 years in Java DevelopementInc. 8 years in R&D, tools a...
2013 © TrivadisAgenda1. About me2. A starting point3. What is Vaadin?4. Discovering TVD-REN5. Demonstration6. ConclusionTV...
2013 © TrivadisA starting point (1/2) : Our findings Perimeter is management applications Starting from scratch is usele...
2013 © TrivadisA starting point (2/2) : Our goal Don’t lose any time on tasks without added value Solve technical proble...
2013 © TrivadisAgenda1. About me2. A starting point3. What is Vaadin?4. Discovering TVD-REN5. Demonstration6. ConclusionTV...
2013 © TrivadisWeb 1.0TVD-REN42
2013 © TrivadisWeb 2.0 : Client Side RIATVD-REN43
2013 © TrivadisClient Side RIA : a good approach? Huge work load on the browser side An important technology stack HTML...
2013 © TrivadisGoogle Web ToolkitTVD-REN45
2013 © TrivadisWhat is Vaadin?Vaadin is a UI framework for rich web applications GWT made easy + 100 UI widgets Open sou...
2013 © TrivadisAgenda1. About me2. Why a framework?3. What is Vaadin?4. Discovering TVD-REN5. Demonstration6. ConclusionTV...
2013 © TrivadisTVD-REN is solely based on open source java projectsTVD-REN49VaadinGWTOpen source projectsincludingSpring, ...
2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN51UIArchitecture
2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN52UIArchitectureModules ManagementApplicationActions NavigationViews...
2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN53UIArchitectureCommonoperations Form validation Change detection...
2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN54UIArchitectureCommonoperationsUIComponents Extended Vaadin compon...
2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN55UIArchitectureCommonoperationsUIComponentsHelpers andBuilders Hel...
2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN56UIArchitectureCommonoperationsUIComponentsHelpers andBuildersDefau...
2013 © TrivadisDemonstrationTVD-REN57
2013 © TrivadisConclusion Saving substantial costs and delays Better overall project quality / uniformity Higher mainta...
2013 © TrivadisBÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNETHANK...
Upcoming SlideShare
Loading in …5
×

Software Factory & TVD-REN the Vaadin framework of Trivadis

953 views

Published on

This presentation focus on components of an open source software factory. We present also a custom framework implemented on the top of Vaadin

Published in: Technology
  • Be the first to comment

Software Factory & TVD-REN the Vaadin framework of Trivadis

  1. 1. 2013 © TrivadisBASLE BERN LAUSANNE ZURICH DÜSSELDORF FRANKFURT FREIBURG I.BR. HAMBURG MUNICH STUTTGART VIENNA
  2. 2. 2013 © TrivadisWho is Trivadis?
  3. 3. 2013 © TrivadisTrivadis is leading in IT consulting, system integration and the provision ofIT services focusing on and technologies inSwitzerland, Germany and Austria.We offer our services in the following strategic business fields:Trivadis Services takes over the interacting operation of your IT systems.Our companyO P E R A T I O N
  4. 4. 2013 © TrivadisWith over 600 specialists and IT experts in your region411 Trivadis branches and more than600 employees200 Service Level AgreementsOver 4,000 training participantsResearch and development budget:CHF 5.0 / EUR 4 millionFinancially self-supporting andsustainably profitableExperience from more than 1,900projects per year at over 800customersHamburgDüsseldorfFrankfurtFreiburgMunichViennaBasleZurichBernLausanne4StuttgartTrivadis – the company
  5. 5. 2013 © TrivadisTrivadis – the company
  6. 6. 2013 © TrivadisBÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNEWELCOME Software Factory andstandardizationJulien EperonApril 24th, 2013Software Factory and standardization6
  7. 7. 2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. ConclusionSoftware Factory and standardization7
  8. 8. 2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. ConclusionSoftware Factory and standardization8
  9. 9. 2013 © TrivadisThe presenterJulien Eperon – Consultant @ TrivadisMaster in Computer Science from EPFL7 years of development and architectureFocus on: Java Open SourceClients :Etat de Vaud – Pictet – Société Vaudoise de Médecine – Merck-Serono –Swisscom Hospitality Services – La Mutuelle – PGA ToursSoftware Factory and standardization9
  10. 10. 2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. ConclusionSoftware Factory and standardization10
  11. 11. 2013 © TrivadisDefinition (1): The software development processHow to make software today?Software Factory and standardization11FeaturerequestFeatureEvaluationDevelopment Tests andacceptanceDeploymentThe life cycle of a feature
  12. 12. 2013 © TrivadisDefinition (2): Software FactoryThe Software Factory addresses problems mainly at development timeSoftware Factory and standardization12FeaturerequestFeatureEvaluationDevelopment Tests andacceptanceDeployment inproduction
  13. 13. 2013 © TrivadisDefinition (3): Development phaseSoftware Factory and standardization13From the developer point of viewUnderstandCodeUnittestBuild andfollow up
  14. 14. 2013 © TrivadisDefinition (4): Software Factory definitionThe Software Factory definition: Ticketing system Version repository Dependency management system Continuous build Automatic testing Software quality monitorSoftware Factory and standardization14
  15. 15. 2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. ConclusionSoftware Factory and standardization15
  16. 16. 2013 © TrivadisSoftware Factory at Trivadis (1): Ticketing and versioningJira and Subversion share common attributes: Standard and widely used Can be integrated with other tools Can be accessed by the development team as well asclientsSoftware Factory and standardization16
  17. 17. 2013 © TrivadisSoftware Factory at Trivadis (2): Dependency managementDependency management Why Maven and Nexus? Keep track of every library of the application Re-use libraries within the project or share with other projects Automate builds Automate unit tests Automate deployment in testing/integration environmentSoftware Factory and standardization17
  18. 18. 2013 © TrivadisSoftware Factory at Trivadis (3): Continuous integrationContinuous integration Why Hudson? Automatic build Also runs unit tests Integrates well with Sonar Ease of use and maintenanceSoftware Factory and standardization18
  19. 19. 2013 © TrivadisSoftware Factory at Trivadis (4): HudsonSoftware Factory and standardization19
  20. 20. 2013 © TrivadisSoftware Factory at Trivadis (5): Software quality monitoringSoftware quality monitoring Why Sonar? Open source and re-using well endured components Ability to assign reviews and follow-up See the evolution of different metric throughout every new version Additional validation rules created and maintained by TrivadisSoftware Factory and standardization20
  21. 21. 2013 © TrivadisSoftware Factory at Trivadis (6): SonarSoftware Factory and standardization21
  22. 22. 2013 © TrivadisSoftware Factory at Trivadis (7): SonarSoftware Factory and standardization22
  23. 23. 2013 © TrivadisSoftware Factory at Trivadis (8): Continuous integrationSome components of the software factory are packagedtogether in one virtual machine per project: Dependency management system: Nexus Continuous build and testing: Hudson Software quality monitor: SonarBenefits: The projects leverage the infrastructure of Trivadis PrivateCloud Central maintenance of virtual machines ready to be usedfor every new projectsSoftware Factory and standardization23
  24. 24. 2013 © TrivadisSoftware Factory at Trivadis (9)The Software Factory architectureSoftware Factory and standardization24Ticketing system and version repositoryContinous integration inTrivadis Private Cloud
  25. 25. 2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. ConclusionSoftware Factory and standardization25
  26. 26. 2013 © TrivadisStandardization (1): Development toolsWhy a new version of Eclipse? List of plugins is maintained by Trivadis experts Avoid bugs related to environment Faster setup time Tools that complement themselvesSoftware Factory and standardization26
  27. 27. 2013 © TrivadisStandardization (2): Development toolsRepackaged version of Spring Tool Suite includes: PMD Findbugs EclEmma SubclipsePre-defined settings: Unified encoding Forced formatting on save Automatic download of sources from librariesSoftware Factory and standardization27
  28. 28. 2013 © TrivadisStandardization (3): Spring Tool SuiteSoftware Factory and standardization28
  29. 29. 2013 © TrivadisStandardization (5): tvd-commonThe Trivadis standard library, name tvd-common, contains: Type conversions Business oriented validators (ISO countrycodes, IBAN, AVS …) Date / Number / String / Collections Encoding / Decoding Reporting ( Excel import/exports, Jasper reports …)Software Factory and standardization29
  30. 30. 2013 © TrivadisStandardization (6): tvd-commonBenefits of tvd-common: Avoid re-inventing the wheel Based on open sources libraries like Apache Commons Completed with expertise and knowledge of Trivadis in JavaDevelopment Fully documented and testedSoftware Factory and standardization30
  31. 31. 2013 © TrivadisAgenda1. Short presentation of myself2. Definitions3. Software Factory at Trivadis4. Standardization5. ConclusionSoftware Factory and standardization31
  32. 32. 2013 © TrivadisConclusionBenefits of standardization Enhanced quality Enhanced re-usability Faster introduction of new members to the developmentteam Lower maintenance costsSoftware Factory and standardization32
  33. 33. 2013 © TrivadisBÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNETHANK YOU.Software Factory and standardization33
  34. 34. 2013 © TrivadisBÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNETVD-RENA Trivadis framework forRapid Application DevelopmentBenjamin RoynetteSenior Consultant @ TrivadisTVD-REN34
  35. 35. 2013 © TrivadisAgenda1. About me2. A starting point3. What is Vaadin?4. Discovering TVD-REN5. Demonstration6. ConclusionTVD-REN35
  36. 36. 2013 © TrivadisAgenda1. About me2. A starting point3. What is Vaadin?4. Discovering TVD-REN5. Demonstration6. ConclusionTVD-REN36
  37. 37. 2013 © TrivadisBenjamin Roynette36 y.o.Telecom & Network Engineer14 years in Java DevelopementInc. 8 years in R&D, tools andmethodsSenior Consultant @ TrivadisTVD-REN37
  38. 38. 2013 © TrivadisAgenda1. About me2. A starting point3. What is Vaadin?4. Discovering TVD-REN5. Demonstration6. ConclusionTVD-REN38
  39. 39. 2013 © TrivadisA starting point (1/2) : Our findings Perimeter is management applications Starting from scratch is useless Some tasks always need to be done Some questions always come around Development is more and more complicated Too many technologies in RIA applications (HTML5, JS, Java…) Increase in expertise level required Tighter learning curveTVD-REN39
  40. 40. 2013 © TrivadisA starting point (2/2) : Our goal Don’t lose any time on tasks without added value Solve technical problems “out of the box” Be more productive Increase quality and maintainability “Focus on the business”TVD-REN40
  41. 41. 2013 © TrivadisAgenda1. About me2. A starting point3. What is Vaadin?4. Discovering TVD-REN5. Demonstration6. ConclusionTVD-REN41
  42. 42. 2013 © TrivadisWeb 1.0TVD-REN42
  43. 43. 2013 © TrivadisWeb 2.0 : Client Side RIATVD-REN43
  44. 44. 2013 © TrivadisClient Side RIA : a good approach? Huge work load on the browser side An important technology stack HTML / Javascript / Client side technology / Libraries… Requires a high level of experience and diversity from the development team Impact on the learning curve Client side is purely Javascript Weak Typing Lack of object model No specific development tool Quality and maintainability challenge Often leads to spaghetti codeTVD-REN44
  45. 45. 2013 © TrivadisGoogle Web ToolkitTVD-REN45
  46. 46. 2013 © TrivadisWhat is Vaadin?Vaadin is a UI framework for rich web applications GWT made easy + 100 UI widgets Open source Apache License / Commercial support History 2000 : first steps of the framework 2005 : Javascript and Ajax based 2008 : migration to Google Web Toolikit (GWT) 2012 : Vaadin member of the GWT steering comitee 2013 : Vaadin 7 Facts 50 person full-time team Big active community : 55.000 developers in 150 countries 250 pluginsTVD-REN46
  47. 47. 2013 © TrivadisAgenda1. About me2. Why a framework?3. What is Vaadin?4. Discovering TVD-REN5. Demonstration6. ConclusionTVD-REN47
  48. 48. 2013 © TrivadisTVD-REN is solely based on open source java projectsTVD-REN49VaadinGWTOpen source projectsincludingSpring, Hibernate...Java 6 - 7TVD-COMMONTVD-RENClient Custom Development
  49. 49. 2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN51UIArchitecture
  50. 50. 2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN52UIArchitectureModules ManagementApplicationActions NavigationViewsEditors
  51. 51. 2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN53UIArchitectureCommonoperations Form validation Change detection Managed Save Operations Safe deletion Message management…
  52. 52. 2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN54UIArchitectureCommonoperationsUIComponents Extended Vaadin components Own components
  53. 53. 2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN55UIArchitectureCommonoperationsUIComponentsHelpers andBuilders Help using the framework Power code Bridge with tvd-common
  54. 54. 2013 © TrivadisContent of TVD-RENWhat„s inside?TVD-REN56UIArchitectureCommonoperationsUIComponentsHelpers andBuildersDefault &Extensible UI Default layout and styles Suitable for most needs Extensible with SASS
  55. 55. 2013 © TrivadisDemonstrationTVD-REN57
  56. 56. 2013 © TrivadisConclusion Saving substantial costs and delays Better overall project quality / uniformity Higher maintainability (structured) Easier learning curve A new philosophy of development : capitalize and reuseTVD-REN58
  57. 57. 2013 © TrivadisBÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNETHANK YOU!For any questions please contact:Claude-Alain Glauser, + 41 79 379 97 48claude-alain.glauser@trivadis.comTVD-REN59

×