Until now, modeling tools have relied mostly on native technologies, and consequently the graphical modelers based on it are desktop applications. Today there are different initiatives to bring graphical modeling tools up to the cloud.
The journey of building modeling tools has never been as exciting as it is right now.
What would be the advantages of a cloud based modeling tool? What changes this requires in the architecture of such tools?
At Obeo, we have been working on modeling tools in general, and on Eclipse Sirius in particular, for a long time now.
During this session, we will discuss the future of development tooling, we will briefly review the progress made over the last years and where the open source community is moving towards. We will demonstrate the different levels of integration we currently have, in particular how we leverage projects like Sprotty, ELK, Theia and Che to move diagrams into the browser. We will discuss how "Server Protocols" allow to bring our tools on different platforms and environments and to run them on the cloud or locally.
We will also present the Graphical Server Protocol initiative, which will define a platform-agnostic protocol between a diagram editor in the browser and a graphical server that manages the corresponding models in the cloud.
Through this talk you will discover what could be the future of Eclipse Modeling on the web, discover how you can bring your own tools to the cloud thanks to Sirius, and participate in this exciting endeavour!
2. @melaniebats
Who am I ?
CTO @ Obeo
Open source addict
Committer on Eclipse Sirius, Eclipse EEF, UML Designer
Member of the Eclipse Councils
Involved on collaborative projects : RT Simex, Gemoc
13. @melaniebats
Obeo
Is a tool provider : develop dedicated modeling workbenches
Creates open source technologies
Is a key player of the Eclipse Modeling Ecosystem!
Has a long experience in developing graphical tools
Is involved in the open source and Eclipse projects : Sirius, Acceleo, EMF/GMF,
EcoreTools, EMF Compare, UML Designer, M2Doc, Capella...
15. @melaniebats
Tools are helping us to be more productive and
focus our time on bringing value to the products
we are building.
Unleash our complete potential...
26. @melaniebats
Sirius is alive!
One main version every year & several minor versions
Obeo Designer Community Edition => All you need to work with Sirius
Since2007
28. @melaniebats
A new generation of IDEs
Developers love them because of :
● Lightweight
● Simplicity
● Powerful tooling
● Easy customization
● High release cadence
29. @melaniebats
The VS code example
● <100Mb download
● Light UI
● Marketplace
● Extensions, Language
Servers
● Every month a new
version
51. @melaniebats
The way we develop is changing
40%
Of enterprise developers are
already using >3 languages in
development.
Using Many Languages
66%
Of enterprises are already
using containers in
development, test or
production.
Adopting Containers
Source: Cloud development Survey 2017 - Evans Data Corp
52. @melaniebats
Being more agile with our tools
Iterate faster
Focus on value to create
Share workspace with all stakeholders
Pair programming
Live collaboration
57. @melaniebats
Based on the Eclipse Platform → Desktop applications
- Installation is necessary
- Deployment is painful
- Updates are (re)painful
- Extra storage is needed
Modeling Tools we have today
59. @melaniebats
Modeling Tools we want tomorrow
Based on the web technologies → Cloud applications
- No need to install
- No upgrades needed
- Easy access
- Adaptable to workload increase
- Access from various device
60. @melaniebats
Evolution of the IDE concept?
More accessible tool
Tools integrated
Different “views” for different use cases and different users
62. @melaniebats
Carry the Sirius spirit… to the cloud
● Define your modeling workbench in the .odesign file
● Dynamic, no code generation involved
● Flexible even for complex models
… RENDERED IN A BROWSER
63. @melaniebats
The challenges we meet...
Ease the deployment & the maintenance
Ease the creation of modeling workbench
Manage a technology switch
Keep providing new features for existing solutions
64. @melaniebats
Our plans to victory
Ease the deployment & the maintenance → Use web technologies
Ease the creation of modeling workbench → Extend the Sirius capabilities
Manage a technology switch → Switch from Eclipse platform based
application to web application
Keep providing new features for existing solutions → Integrate web based
feature to desktop application
76. @melaniebats
Split the architecture
● Progressively modularize the Sirius code base
● Isolate dependencies : Eclipse UI, GMF Runtime, Eclipse Workspace, Eclipse Runtime
● Keep the framework working at all time & keep releasing new features
● Split core business code from rendering technologies
○ Core deployable in headless (web) server
○ Exposes services through well-defined API & protocols
77. @melaniebats
Open Core
● Contribute new architecture to existing Eclipse Sirius project
● Still involved in the Eclipse community & release train
● As today some components will be proprietary licensed
○ Community Edition vs Team Edition
81. @melaniebats
Graphical Server Protocol
● Lowering the cost of integrating a graphical tool in a platform
● Defining a protocol used to communicate between a platform and a graphical
designer
● Open source initiative : https://obeonetwork.github.io/GraphicalServerProtocol/
83. @melaniebats
Diagrams in the Web
First components contributed this fall
to Sirius
★★★Stay tuned!★★★
@EclipseSirius
https://blog.obeo.fr
Prototype
84. @melaniebats
Based on ...
Sprotty :
● A simple JS based graphical library
● Small & lightweight open source project
● Well integrated with Eclipse ELK for auto-layout
And other mainstream technologies as React & Jetty
98. @melaniebats
Open source is the only way
Convergence of energies
Sharing of different ideas and visions
Open protocols : language server, debugger, and others...
99. @melaniebats
To go beyond…
We need you!
Share needs &
feedback
https://www.eclipse.org/sirius/com
munity.html
Contribute to
Sirius
https://www.eclipse.org/sirius/
Participate to the
Graphical Server
Protocol
https://github.com/ObeoNetwork/G
raphicalServerProtocol
Support Obeo
https://www.obeo.fr/en/contact