Contenu connexe Similaire à Software Factory & TVD-REN the Vaadin framework of Trivadis (20) Software Factory & TVD-REN the Vaadin framework of Trivadis1. 2013 © Trivadis
BASLE BERN LAUSANNE ZURICH DÜSSELDORF FRANKFURT FREIBURG I.BR. HAMBURG MUNICH STUTTGART VIENNA
3. 2013 © Trivadis
Trivadis is leading in IT consulting, system integration and the provision of
IT services focusing on and technologies in
Switzerland, 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 company
O P E R A T I O N
4. 2013 © Trivadis
With over 600 specialists and IT experts in your region
4
11 Trivadis branches and more than
600 employees
200 Service Level Agreements
Over 4,000 training participants
Research and development budget:
CHF 5.0 / EUR 4 million
Financially self-supporting and
sustainably profitable
Experience from more than 1,900
projects per year at over 800
customers
Hamburg
Düsseldorf
Frankfurt
Freiburg
Munich
Vienna
Basle
ZurichBern
Lausanne
4
Stuttgart
Trivadis – the company
6. 2013 © Trivadis
BÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNE
WELCOME Software Factory and
standardization
Julien Eperon
April 24th, 2013
Software Factory and standardization
6
7. 2013 © Trivadis
Agenda
1. Short presentation of myself
2. Definitions
3. Software Factory at Trivadis
4. Standardization
5. Conclusion
Software Factory and standardization
7
8. 2013 © Trivadis
Agenda
1. Short presentation of myself
2. Definitions
3. Software Factory at Trivadis
4. Standardization
5. Conclusion
Software Factory and standardization
8
9. 2013 © Trivadis
The presenter
Julien Eperon – Consultant @ Trivadis
Master in Computer Science from EPFL
7 years of development and architecture
Focus on:
Java
Open Source
Clients :
Etat de Vaud – Pictet – Société Vaudoise de Médecine – Merck-Serono –
Swisscom Hospitality Services – La Mutuelle – PGA Tours
Software Factory and standardization
9
10. 2013 © Trivadis
Agenda
1. Short presentation of myself
2. Definitions
3. Software Factory at Trivadis
4. Standardization
5. Conclusion
Software Factory and standardization
10
11. 2013 © Trivadis
Definition (1): The software development process
How to make software today?
Software Factory and standardization
11
Feature
request
Feature
Evaluation
Development Tests and
acceptance
Deployment
The life cycle of a feature
12. 2013 © Trivadis
Definition (2): Software Factory
The Software Factory addresses problems mainly at development time
Software Factory and standardization
12
Feature
request
Feature
Evaluation
Development Tests and
acceptance
Deployment in
production
13. 2013 © Trivadis
Definition (3): Development phase
Software Factory and standardization
13
From the developer point of view
Understand
Code
Unit
test
Build and
follow up
14. 2013 © Trivadis
Definition (4): Software Factory definition
The Software Factory definition:
Ticketing system
Version repository
Dependency management system
Continuous build
Automatic testing
Software quality monitor
Software Factory and standardization
14
15. 2013 © Trivadis
Agenda
1. Short presentation of myself
2. Definitions
3. Software Factory at Trivadis
4. Standardization
5. Conclusion
Software Factory and standardization
15
16. 2013 © Trivadis
Software Factory at Trivadis (1): Ticketing and versioning
Jira and Subversion share common attributes:
Standard and widely used
Can be integrated with other tools
Can be accessed by the development team as well as
clients
Software Factory and standardization
16
17. 2013 © Trivadis
Software Factory at Trivadis (2): Dependency management
Dependency 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 environment
Software Factory and standardization
17
18. 2013 © Trivadis
Software Factory at Trivadis (3): Continuous integration
Continuous integration
Why Hudson?
Automatic build
Also runs unit tests
Integrates well with Sonar
Ease of use and maintenance
Software Factory and standardization
18
20. 2013 © Trivadis
Software Factory at Trivadis (5): Software quality monitoring
Software 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 Trivadis
Software Factory and standardization
20
23. 2013 © Trivadis
Software Factory at Trivadis (8): Continuous integration
Some components of the software factory are packaged
together in one virtual machine per project:
Dependency management system: Nexus
Continuous build and testing: Hudson
Software quality monitor: Sonar
Benefits:
The projects leverage the infrastructure of Trivadis Private
Cloud
Central maintenance of virtual machines ready to be used
for every new projects
Software Factory and standardization
23
24. 2013 © Trivadis
Software Factory at Trivadis (9)
The Software Factory architecture
Software Factory and standardization
24
Ticketing system and version repository
Continous integration in
Trivadis Private Cloud
25. 2013 © Trivadis
Agenda
1. Short presentation of myself
2. Definitions
3. Software Factory at Trivadis
4. Standardization
5. Conclusion
Software Factory and standardization
25
26. 2013 © Trivadis
Standardization (1): Development tools
Why a new version of Eclipse?
List of plugins is maintained by Trivadis experts
Avoid bugs related to environment
Faster setup time
Tools that complement themselves
Software Factory and standardization
26
27. 2013 © Trivadis
Standardization (2): Development tools
Repackaged version of Spring Tool Suite includes:
PMD
Findbugs
EclEmma
Subclipse
Pre-defined settings:
Unified encoding
Forced formatting on save
Automatic download of sources from libraries
Software Factory and standardization
27
29. 2013 © Trivadis
Standardization (5): tvd-common
The Trivadis standard library, name tvd-common, contains:
Type conversions
Business oriented validators (ISO country
codes, IBAN, AVS …)
Date / Number / String / Collections
Encoding / Decoding
Reporting ( Excel import/exports, Jasper reports …)
Software Factory and standardization
29
30. 2013 © Trivadis
Standardization (6): tvd-common
Benefits of tvd-common:
Avoid re-inventing the wheel
Based on open sources libraries like Apache Commons
Completed with expertise and knowledge of Trivadis in Java
Development
Fully documented and tested
Software Factory and standardization
30
31. 2013 © Trivadis
Agenda
1. Short presentation of myself
2. Definitions
3. Software Factory at Trivadis
4. Standardization
5. Conclusion
Software Factory and standardization
31
32. 2013 © Trivadis
Conclusion
Benefits of standardization
Enhanced quality
Enhanced re-usability
Faster introduction of new members to the development
team
Lower maintenance costs
Software Factory and standardization
32
33. 2013 © Trivadis
BÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNE
THANK YOU.
Software Factory and standardization
33
34. 2013 © Trivadis
BÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNE
TVD-REN
A Trivadis framework for
Rapid Application Development
Benjamin Roynette
Senior Consultant @ Trivadis
TVD-REN
34
35. 2013 © Trivadis
Agenda
1. About me
2. A starting point
3. What is Vaadin?
4. Discovering TVD-REN
5. Demonstration
6. Conclusion
TVD-REN
35
36. 2013 © Trivadis
Agenda
1. About me
2. A starting point
3. What is Vaadin?
4. Discovering TVD-REN
5. Demonstration
6. Conclusion
TVD-REN
36
37. 2013 © Trivadis
Benjamin Roynette
36 y.o.
Telecom & Network Engineer
14 years in Java Developement
Inc. 8 years in R&D, tools and
methods
Senior Consultant @ Trivadis
TVD-REN
37
38. 2013 © Trivadis
Agenda
1. About me
2. A starting point
3. What is Vaadin?
4. Discovering TVD-REN
5. Demonstration
6. Conclusion
TVD-REN
38
39. 2013 © Trivadis
A 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 curve
TVD-REN
39
40. 2013 © Trivadis
A 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-REN
40
41. 2013 © Trivadis
Agenda
1. About me
2. A starting point
3. What is Vaadin?
4. Discovering TVD-REN
5. Demonstration
6. Conclusion
TVD-REN
41
44. 2013 © Trivadis
Client 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 code
TVD-REN
44
46. 2013 © Trivadis
What 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 plugins
TVD-REN
46
47. 2013 © Trivadis
Agenda
1. About me
2. Why a framework?
3. What is Vaadin?
4. Discovering TVD-REN
5. Demonstration
6. Conclusion
TVD-REN
47
48. 2013 © Trivadis
TVD-REN is solely based on open source java projects
TVD-REN
49
Vaadin
GWT
Open source projects
including
Spring, Hibernate...
Java 6 - 7
TVD-COMMON
TVD-REN
Client Custom Development
50. 2013 © Trivadis
Content of TVD-REN
What„s inside?
TVD-REN
52
UI
Architecture
Modules Management
Application
Actions Navigation
Views
Editors
51. 2013 © Trivadis
Content of TVD-REN
What„s inside?
TVD-REN
53
UI
Architecture
Common
operations
Form validation
Change detection
Managed Save Operations
Safe deletion
Message management…
52. 2013 © Trivadis
Content of TVD-REN
What„s inside?
TVD-REN
54
UI
Architecture
Common
operations
UI
Components
Extended Vaadin components
Own components
53. 2013 © Trivadis
Content of TVD-REN
What„s inside?
TVD-REN
55
UI
Architecture
Common
operations
UI
Components
Helpers and
Builders
Help using the framework
Power code
Bridge with tvd-common
54. 2013 © Trivadis
Content of TVD-REN
What„s inside?
TVD-REN
56
UI
Architecture
Common
operations
UI
Components
Helpers and
Builders
Default &
Extensible UI
Default layout and styles
Suitable for most needs
Extensible with SASS
56. 2013 © Trivadis
Conclusion
Saving substantial costs and delays
Better overall project quality / uniformity
Higher maintainability (structured)
Easier learning curve
A new philosophy of development : capitalize and reuse
TVD-REN
58
57. 2013 © Trivadis
BÂLE BERNE LAUSANNE ZURICH DÜSSELDORF FRANCFORT s. M. FRIBOURG e. BR. HAMBOURG MUNICH STUTTGART VIENNE
THANK YOU!
For any questions please contact:
Claude-Alain Glauser, + 41 79 379 97 48
claude-alain.glauser@trivadis.com
TVD-REN
59
Notes de l'éditeur Assist understanding and follow-upSpecificationTechnical architectureMeetingCommunicationFollow-up through ticketing systemTools: Enterprise Architect / UML / JiraAssistance when coding, by automating repetitive tasksAutomated compilationAutomated unit testingAutomated deployment in testing environmentAutomating code quality controlTools: Maven / Nexus / Hudson / Sonar / Development ChecklistAssistance to the tester:An up-to-date testing environmentTicketing system for follow-upAssistance to the operation team:Standard / Automatic deployment procedureTicketing system for follow-up Project manager is responsible, but Hudson sends email notifications to every developper. The Quality Manager can review project quality. Explainmetrics Tivadis Private Cloud is protected by a VPN.