![Page 1: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/1.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 42 Untertitel: Calibri, 24
Special ( entfernen): Untertitel über Logo ziehen
ECE 2016, Ludwigsburg @ZimMatthias, Matthias Zimmermann, BSI Business Systems Integration AG
Full-stack Applications with Open Source Technologies
![Page 2: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/2.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Application Stack Goals
Overview + Task App
Spring Boot
Eclipse Scout
Demo «add a Field»
Wrap-up
Agenda
![Page 3: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/3.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
1. Simplify the Lifes of the Developers
2. Allow for large and complex Apps
3. Provide Long Term Sustainability
4. The «right» Tool for the «right» Job
Requirements
Java (Sustainability)
Open Source (Sustainability)
Proven in Practice (no Surprises)
Small number of Frameworks/Components (Maintainability)
Goals for the Application Stack
![Page 4: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/4.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Overview of the Application Stack
Browser
Presentation
Services, Persistence
Database
![Page 5: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/5.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
![Page 6: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/6.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
REST API
![Page 7: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/7.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Spring Boot
![Page 8: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/8.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Spring is strong for Server-Side Programming
Spring Boot: Radically faster ”getting started experience”
Production ready: Auditing, health and metrics gathering …
Spring Boot
![Page 9: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/9.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
![Page 10: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/10.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
![Page 11: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/11.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Spring Boot «Hello World»
![Page 12: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/12.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Main Dependencies
spring-boot-starter-web
spring-boot-starter-data-jpa
lombok (https://projectlombok.org/)
«Tour»
Application (Spring Boot Application)
Task (Model Class)
TaskService (Service Interface)
DefaultTaskService (Service Implementation)
TaskRepository (Persistence: JPA )
TaskController (API: REST)
Spring Boot «Tasks»
![Page 13: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/13.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
![Page 14: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/14.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Eclipse Scout
![Page 15: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/15.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Eclipse Scout: is strong for building UI’s
Comes with an abstract Application Model
Scout code is UI technology independent
Multi-Device support
Proven in Production - even longer than Spring ;-)
Eclipse Scout
![Page 16: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/16.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
![Page 17: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/17.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
![Page 18: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/18.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
![Page 19: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/19.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Main Dependencies
org.eclipse.scout.rt.ui.html
− org.eclipse.scout.rt.client
− org.eclipse.scout.rt.shared
− org.eclipse.scout.rt.platform
«Tour»
HomeOutline (Main Entry Point for Navigation)
AbstractTaskTablePage (Parent Task Table)
InboxTaskTablePage (User’s Inbox Table Page)
TaskForm (Form to create and edit Tasks)
Eclipse Scout «Tasks»
![Page 20: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/20.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
![Page 21: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/21.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Main Deviation form typical Scout Apps
Client only Application
Just a single Maven Module
Some generic Infrastructure Classes to bridge to Spring
@Inject for Services (not BEANS.get)
Optionally: BEANS.get can be used to access Spring Services
Eclipse Scout «Tasks»
![Page 22: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/22.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Demo «Add a Field»
![Page 23: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/23.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
![Page 24: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/24.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Spring
Add « private String category; » to Task
Scout
Add CategoryColumn to AbstractTaskTablePage
Add Mapping in importTableRowData
Add CategoryField to TaskForm
Add Mappings in {import|export}FormFieldData
Add a Field
![Page 25: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/25.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Wrap-up
![Page 26: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/26.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
What have we seen?
Combination of Spring Boot and Eclipse Scout
− JPA Persistence (Spring Data)
− Business Model (Spring)
− REST API (Spring Web)
− UI (Scout)
Tasks for «Tasks»
Complete Role & User Management
Fine-tuning here and there
Documentation on Github
Summary
![Page 27: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/27.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Spring and Scout play along nicely
Only A small set of good OSS Technologies needed
Developer can concentrate on Business Value
GitHub
https://github.com/BSI-Business-Systems-Integration-AG/SpringBoot-and-EclipseScout
Take-home Message
![Page 28: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/28.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Thanks @ZimMatthias @EclipseScout
![Page 29: Farben: 254/153/21 Full-stack Applications 0/130/161 127 ...wiki.eclipse.org/images/0/0b/EConEurope16_SpringAndScout.pdf · Farben: 254/153/21 0/130/161 127/127/127 Schrift: Titel:](https://reader033.vdocuments.net/reader033/viewer/2022042220/5ec6936268e9f5049457ad94/html5/thumbnails/29.jpg)
Farben:
254/153/21
0/130/161
127/127/127
Schrift: Titel: Calibri, Fett, 32
Text: Calibri, 22 (mind. 18)
Special: Automatischer Einzug
Thanks and please, cast your Vote