23
© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 1 Jonas Helming ( [email protected]) Maximilian Koegel ( [email protected]) Your roadmap towards web-based tooling

Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 1

Jonas Helming ([email protected])

Maximilian Koegel ([email protected])

Your roadmap towards web-based tooling

Page 2: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 2

Disclaimer - strategic content ahead!

Page 3: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap 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: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 4

○ Modern UI technology

○ Simplified deployment

Why web-based?

1

2

Page 5: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 5

● Web-based specific○ fewer tool components available ○ technology switch○ More diversity and volatility

● Migration specific○ effort doublication○ existing customers○ desktop-tool maintenance

Challenges with the migration to the cloud

Page 6: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 6

Our plan!

Page 7: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 7

What happened...

Page 8: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 8

● Define MVP and increments

● Develop incrementally

● Reuse○ available technologies ○ your own components○ single source

Mitigations

Page 9: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 9

Evaluate Use Cases against NFRs

Evaluation of the benefits

Use Case A

Use Case B

Use Case C

Use Cases

Page 10: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 10

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

Criteria to evaluate the benefits

Page 11: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 11

● Review

● Training

● Playground

Best practice examples for MVPs

Page 12: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 12

Page 13: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 13

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

Methods to support iterative migration and reuse

Page 14: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 14

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

⇒ Related talk: “Modernizing Eclipse RCP/e4 applications and tools”, Wednesday 11:15

Page 15: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 15

● 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 16: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 16

● 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 17: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 17

● 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 18: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 18

● 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 19: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap 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 iteratively○ Migrate high-value use cases iteratively○ Single-source components

● Long-term:○ Migrate all use cases iteratively○ 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: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 20

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 21: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 21

● Eclipse Theia and Eclipse Che ○ Platforms to Build IDE Frontend and support web-based Multiuser IDEs○ ECE: “Building Web-based Modeling Tools with Theia and Che”, Today, 16:15, Theater Stage

● EMF.cloud:○ Framework to lift EMF to the web○ ECE: “Lifting the greatness of EMF into the cloud with EMF.cloud”, Wednesday 12:35

● LSP:○ Protocol to support any language in the browser without the need to rewrite editor

● GLSP○ Platform to build graphical editors○ ECE: “Diagrams in web and space with GLSP”, Thursday 15:10, Bürgersaal 2

● JSON Forms / EMF Forms○ Declarative Forms○ ECE: “Data-centric editors for domain experts with EMF Forms”, Wednesday 10:15, Theater

● XText, Sprotty, ...

Technologies to consider

Page 22: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | http://eclipsesource.com | Your roadmap towards web-based tooling | Dres. J. Helming & M. Koegel 22

● 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, define MVP and increments○ Define a strategy○ Build POC

Key takeaways

Page 23: Your roadmap towards web-based tooling · your own components single source Mitigations ... Build standalone Reuse ... Your roadmap towards web-based tooling | Dres. J. Helming &

© 2019 EclipseSource | https://eclipsesource.com | Dres. Langer and Koegel | Building Web-based Modeling Tools with Theia and Che

23

this

WITH

Please

Thank you!