CheConf 2018 - Building Extensibility and Community for Che
1. Up Next...
1
10:00 Keynote and Che Futures 1:30 Pair Programming
10:30 Case Study: Silexica 2:00 Debug All the Things
11:00 Che on Kubernetes 2:30 Test All the Things
11:30 Che Extensibility & Community 3:00 Case Study: Software AG
12:00 Case Study: SAP 3:30 Join In!
12:30 Creating a Language Server
** All times listed are Eastern Standard Time
3. Agenda
Che 6: From and For the Community
What’s next:
● Workspace with IDE tooling as services
● New JavaScript IDE
Eclipse Che, the platform for Cloud Tooling: The example of Modeling
5. Che 6: Overview
Open source Codenvy:
● Multi-user and multi-tenancy
● User authentication with Keycloak
● Team Workspaces and Organization
With also:
● Support for different infrastructures (SPI)
● Extensions of Language Server Protocol
6. Che 6: From and For the Community
Kubernetes Support (WIP)
● Deploy on Kubernetes with Helm Chart
ClangD LSP
● C/C++ Intellisense
PHP Support
● Intellisense, Debuggers and Stacks.
Debugger Adapter Protocol
11. Che’s Workspaces
Workspace’s Definition
JDK_9
WS Agent
Image
Build Tools
Language Tools
API, Websockets
Maven
Java, JSON, XML
Custom stack with all dependencies
No shareability for the IDE tooling
12. Workspaces.Next
Leverage your application stack definition and enable “Developer
Mode”
IDE tooling as microservices relying on Server(s) Protocol(s)
Sharing and resource optimization
14. Tools Packaged as Sidecars
Application stack + Sidecars
JDT
IDE
Debugger
Test
Keeps application containers “untouched”
Sidecars are bringing their dependencies
(compared to VSCode)
Isolated execution
Own lifecycle
Easy upgrade/switch
Simpler packaging
Scalability
App
16. Workspaces.Next
Leverage your application stack definition
IDE toolings as microservices, nothing to “install” or configure - compared to other IDEs
Reinforce the need for Server Protocols for IDE tooling
Cloudification of IDE tooling
● Flexibility
● Scalability
● Shareability
And much more (service mesh…)
18. Everything in Che is Extensible
● Java on the server side
● TypeScript / Angular on the dashboard
● GWT on the IDE
● Support different infrastructure (SPI)
● Che can be white labelled as a complete separate product
Che needs a different and better extensibility approach
19. A Modern Web IDE
IDE Core built with TypeScript:
- Getting more and more popular
- Simpler to apprehend for Java developers
- Compatibility with anything that transpiles in JavaScript
Dynamic extensibility mechanism:
- Add plugin without rebuilding the IDE
- Plugin isolation
20. ● TypeScript Foundations
● Extensibility mechanism
● Monaco based editor
● Terminal (xterm.js)
● Support for LSP
● Electron Client
● Theming
A Modern Web IDE
23. Integrating the New IDE
Add developer mode in Che
- Create extensions within Che
- Host mode in Che
Debugger
Terminal access
Language Support
Available Today, as early preview.
Spring 2018
24. Eclipse Che Plugin Structure
User Custom IDE
Your Plugin UI
JS, TS or other
Your Plugin Server
Implementing Server
Protocol
App
Stack
Workspace.Next
Other
IDE
Tooling
REST, JSON RPC,
Websocket
SCM
Git
Editor
Monaco
Terminal
Xterm.js
Actions, menus,
panels, commands,
dialogs
Debugger
Protocol
Language
Protocol
New Theia IDE
25. Deliver Your Plugins Easily
In-house
marketplace for
enterprise
Administration
and teams
capabilities
Public
Che plugins
registry
(with stats)
26. IDE tooling can finally leverage Cloud capabilities
Readiness for Cloud Native Application development
Portable and shareable workspaces across Teams and Organizations
Delightful experience for developers
Eclipse Che, the Platform for Cloud Tooling
28. Modeling in the Cloud !
Che + Modeling: A lot of requests
Melanie Bats - CTO Obeo
29. Obeo
Is a key player of the 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...
30. What is Sirius ?
An Eclipse project to easily create your own graphical modeling
workbench
38. Based on the Eclipse Platform → Desktop applications
- Installation is necessary
- Deployment is painful
- Updates is (re)painful
- Extra storage is needed
Modeling Tools we have today
40. Modeling Tools we want tomorrow
Based on the web technologies → Cloud application
- No need to install
- No upgrades needed
- Easy access
- Adaptable to workload increase
- Access from various device
41. ServerClientsDesktop Application
Path to go
Sirius Client
Sprotty
Sirius ServerGraphical
Server
Protocol
Sirius Core
Sprotty
Browser
Modeling tool
Eclipse
Sirius
GEF
GMF
Modeling tool
Today Tomorrow
42. First prototypes
Integrate web applications in Eclipse views (in collaboration with Thales)
Expose services through the Graphical Server Protocol
Render diagrams specified with Sirius in a browser
46. To go beyond…
We need you!
Share needs &
feedback
https://www.eclipse.org/sirius/co
mmunity.html
Contribute to
Sirius
https://www.eclipse.org/sirius/
Participate to the
Graphical Server
Protocol
initiative
https://github.com/ObeoNetwork/
GraphicalServerProtocol
Support Obeo
https://www.obeo.fr/en/contact
48. Bring your tools to the cloud
- Run your tools as an IDE service (Workspace.Next)
- Easily integrate your custom UI (New JavaScript IDE)
- Plugin marketplace
- Benefit from Che advantages
- Saas / OnPrem capabilities
- Multi-user / Multi-tenancy
- Team Collaboration
Eclipse Che, the Platform for Cloud Tooling
49. Engage with Che Community
eclipse.org/che
Getting started guides
Downloads
Documentations
Contribution guide
Mattermost channel
51. Up Next...
51
10:00 Keynote and Che Futures 1:30 Pair Programming
10:30 Case Study: Silexica 2:00 Debug All the Things
11:00 Che on Kubernetes 2:30 Test All the Things
11:30 Che Extensibility & Community 3:00 Case Study: Software AG
12:00 Case Study: SAP 3:30 Join In!
12:30 Creating a Language Server
** All times listed are Eastern Standard Time