35
© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 1 Jonas Helming & Maximilian Koegel [email protected] [email protected] If, when and how? ̶ Strategies towards web-based tooling

If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 1

Jonas Helming & Maximilian [email protected] [email protected]

If, when and how?̶

Strategies towards web-based tooling

Page 2: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 2

Disclaimer - strategic content ahead!

Page 3: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 3

=> Tool is deployed in the cloud and accessed via the browser

What is web-based, what is cloud-based?

Page 4: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 4

○ Modern UI technology

○ Simplified deployment

Why web-based?

1

2

Page 5: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 5

● High uncertainty about frameworks’…○ maturity○ mid-term maintenance

● Smaller ecosystem for tool components:○ fewer components○ lower level of abstraction○ less features

=>Higher cost (order of magnitude)

Challenges with web-based technology

Page 6: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 6

Evaluate Use Cases against NFRs

Evaluation of the benefits

Use CaseA

Use CaseB

Use CaseC

Use Cases

Page 7: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 7

NFRs:● Installability● Portability● Performance and responsiveness● Usability● Cost

Criteria to evaluate the benefits

Page 8: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 8

Installability

Page 9: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 9

● Pro-web use cases:○ Tutorial○ Evaluation version (marketing)○ Code review○ Quick contributions (e.g. open source)

● Contra-web use cases:○ Small steady development team○ Using standard IDEs

● Key decision criteria○ Complexity of installation (on a desktop)○ Number of users○ Expected period of usage

● Alternative mitigations:○ Simplify set-up○ Automated set-up (e.g. Oomph)

Installability

Page 10: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 10

Portability

Page 11: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 11

● Pro-web Use cases:○ Tutorial○ Read-only and review○ External “non-PC” users○ Web-Site / Content Management System○ Complex and specific runtime setup

● Contra-web Use cases:○ Highly unified and default hardware and runtime

● Key decision criteria○ Sharable and specific runtimes?○ Expected number of types of end user devices○ Types of end user

● Alternative mitigations:○ Virtualization of runtimes only○ “Remote Desktop”

Portability

Page 12: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 12

Performance and responsiveness

Page 13: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 13

● Pro-web Use cases:○ Very long compilation time○ Extensive code analysis

● Contra-web Use cases:○ 3D Modeling

● Key decision criteria○ Extreme requirements on low-latency○ High performance requirements

● Alternative mitigations:○ Virtualization of performance-hungry operations only

Performance

Page 14: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 14

Usability

Page 15: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 15

● Pro-web Use cases:○ Tools for web-developers

● Contra-web Use cases:○ Tools for desktop-developers

● Key decision criteria○ User Type○ OS and hardware interactions

● Alternative mitigations:○ Electron-based applications e.g.:

■ VS Code■ Eclipse Theia

Usability

Page 16: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 16

Cost

Page 17: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 17

● Pro-web Use cases:○ Slim code editors○ Existing tooling is based on “Cobol 1.0”

● Contra-web Use cases:○ Full-blown UML tool

● Key decision criteria○ Which technologies are available?○ Which developers are available?○ What framework support is already there?○ How much of the existing feature can be reused?○ How many users do you expect?○ Your available Budget

● Alternative mitigations:○ Go for incremental MVPs○ Pick the low hanging fruits first.

Cost

Page 18: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 18

Short Summary on if

Page 19: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 19

● Now: Define a strategy and timeplan● Short-term: Consider for architectural decisions● Mid-term:

○ Prepare architecture for migration○ Migrate high-value use cases

● Long-term:○ Migrate all use cases○ Deprecate desktop-based solution

When?

Image © by Foofy Image © by Alpha Stock Images

Image © by Alpha Stock Images

Image © by Alpha Stock Images

Page 20: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 20

● Benefits of migration● Tool/use-case complexity● Feature support on target platform● Competitive pressure● Technical pressure● Ability to invest● Development team know-how

When? - Factors for timing

Page 21: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 21

1. Migrate iteratively2. Migrate iteratively3. Migrate iteratively

How? - 3 key learnings

Page 22: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 22

● Avoid “rewrite everything”● Avoid high maintenance cost on legacy product● Preserve investments made● Onboard your development team● Onboard your customers● Discover their new requirements

Why migrate iteratively?

Page 23: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 23

● Start with “low hanging fruits”○ High value○ Low (additional) cost

● Add use-case by use-case opportunistically ● Create shippable product increments (MVP)● Deploy product increments

Iterate use-case by use-case

Page 24: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 24

Build Proof-Of-Concept prototype for all key features

→ Shows feasibility→ Learning experience for development team→ Show weaknesses of target platform

Check product feasibility up-front

Image © by jgmarcelino

© by Alpha Stock Images

Page 25: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 25

● Backporting● Single-sourcing● Declarative artifacts● Extract services● Build standalone● Reuse

Methods to support iterative migration

Page 26: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 26

Image © Wikipedia

● When: Short-term● Method:

○ Develop feature web-based○ Retrofit into desktop-based solution

● Advantages:○ No “sunk cost”○ Shared codebase

● Risks/Challenges○ Interaction with other components (selection, DND)○ Look-and-feel

Backporting© by Alpha Stock Images

Page 27: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 27

● When: Short-term● Method: Share code-base● Advantages:

○ Shared maintenance cost○ No migration cost

● Risks/Challenges○ Increased initial development cost

Single-Sourcing© by Alpha Stock Images

Page 28: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 28

● When: Short- to medium-term● Method: Extract information from code● Advantages:

○ Declarative artifact can be shared○ Lowers migration and maintenance cost

● Risks/Challenges○ Expressiveness○ Refactoring cost

Declarative Artifacts© by Alpha Stock Images

Page 29: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 29

● When: Short- to medium-term● Method: Extract business logic into (deployable) services● Advantages:

○ Service can be shared○ Lowers migration and maintenance cost

● Risks/Challenges○ (Remote) performance○ Refactoring cost

Extract services© by Alpha Stock Images

Page 30: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 30

● When: Medium- to long-term● Method: Build standalone components● Advantages:

○ Independent from web framework○ Lowers technology risk

● Risks/Challenges○ Higher initial development cost

Standalone© by Alpha Stock Images

Page 31: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 31

● When: Medium- to long-term● Method: Reuse existing web-based components● Advantages:

○ Lowers maintenance cost○ Lowers technology risk

● Risks/Challenges○ Availability○ Integration○ Usability

Reuse© by Alpha Stock Images

Page 32: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 32

● Thoroughly evaluate the benefits ● Migrate iteratively - use-case by use-case● Consider proposed methods to ease iterative migration:

● Backporting● Single-sourcing● Declarative artifacts● Extract services● Build standalone● Reuse

● Due Now: ○ Analyse use-cases to define if and when○ Define a strategy○ Build POC

Key takeaways

Page 33: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 33

● Today○ Lucky in the Cloud With Diagrams - 03:15 PM - Bürgersaal 2○ Towards a Graphical LSP for Diagrams 4:15 PM - Seminarraum 5○ BoF: EMF Forms, JSON Forms,... - 07:30 PM - Seminarraum 5

● Wednesday○ Building a Web-IDE based on Eclipse Theia… - 11:55 AM - Bürgersaal 2○ EMF, JSON and I - 02:45 PM - Theater Stage○ Eclipse Che: Theia IDE on steroids - 3:45 PM - Silchersaal○ Domain-Specific Languages in the Cloud - 04:30 PM - Silchersaal

● Thursday○ JSON Forms 2.0 - 10:45 AM - Theater Stage○ Building Web-based Modeling Tools based ... - 11:30 AM - Theater Stage○ The Busy RCP Developer’s Guide to Eclipse Theia - 01:15 PM - Theater Stage

Technical content on building web-based tools at ECE

Page 34: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 34

this

WITH

Page 35: If, when and how? Jonas Helming & Maximilian Koegel ... · - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2 Lucky in the Cloud With Diagrams - Tuesday -

© 2018 EclipseSource | http://eclipsesource.com/munich | Strategies towards web-based tooling | Dres. J. Helming & M. Koegel 35

● What every Eclipse developer should know about Eclipse 4 (e4) - Tuesday - 09:00 AM - Theater Stage● Extending Eclipse Che for fun and profit - Tuesday - 09:00 AM - Seminarräume 3-4● If, when and how? - Strategies towards web-based tooling - Tuesday - 02:30 PM - Bürgersaal 2● Lucky in the Cloud With Diagrams - Tuesday - 03:15 PM - Bürgersaal 2● Towards a Graphical Language Server Protocol for Diagrams? - Tuesday - 04:15 PM - Seminarraum 5● Eclipse Kahoot! - Tuesday - 06:30 PM - Bürgersaal 1● BoF: EMF Forms, JSON Forms, EMF Client Platform, EDAPT and EMFStore - Tuesday - 07:30 PM - Seminarraum 5

● Building a Web-IDE based on Eclipse Theia for Smart Home - Wednesday - 11:55 AM - Bürgersaal 2● Building a tool for engineers based on EMF - Wednesday - 02:00 PM - Theater Stage● Your custom "UML like" tool based on Papyrus - Wednesday - 02:45 PM - Silchersaal● EMF, JSON and I - Wednesday - 02:45 PM - Theater Stage● Eclipse Che: Theia IDE on steroids - Wednesday - 03:45 PM - Silchersaal● Modeling Symposium - Wednesday - 04:30 PM - Bürgersaal 2● Domain-Specific Languages in the Cloud – With Eclipse Technologies - Wednesday - 04:30 PM - Silchersaal

● JSON Forms 2.0 - Thursday - 10:45 AM - Theater Stage● Building Web-based Modeling Tools based on Eclipse Theia - Thursday - 11:30 AM - Theater Stage● The Busy RCP Developer’s Guide to Eclipse Theia - Thursday - 01:15 PM - Theater Stage

Technical details on building web-based tools