Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CheConf 2018 - Building Extensibility and Community for Che

24 views

Published on

A preview of the work we prototyped at Obeo to bring the modeling stack to the web and what class of tools one can envision.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

CheConf 2018 - Building Extensibility and Community for Che

  1. 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
  2. 2. Extensibility and Community Stevan Le Meur, Che Maintainer - Melanie Bats, Obeo Moving Eclipse Che to the next level!
  3. 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
  4. 4. +4000Pull Requests 107Contributors
  5. 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. 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
  7. 7. Build your own Cloud IDE
  8. 8. Eclipse Che The Platform for Cloud Tooling
  9. 9. Che’s Workspace Tooling
  10. 10. Che’s Workspaces IDE RuntimesProject Files
  11. 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. 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
  13. 13. Workspace.Next App Application stack - Dockerfile, kubernetes.yaml, openshift.yaml, helm chart Application stack / “Dev Mode” IDE Tooling as microservices in sidecars Language IDE Debugger Test App
  14. 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
  15. 15. Demo Sidecar
  16. 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…)
  17. 17. Extensibility Model
  18. 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. 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. 20. ● TypeScript Foundations ● Extensibility mechanism ● Monaco based editor ● Terminal (xterm.js) ● Support for LSP ● Electron Client ● Theming A Modern Web IDE
  21. 21. Workspace.Next with New IDE Tooling Theia IDE App DebuggerPersistent Volume
  22. 22. Demo: Che With New IDE
  23. 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. 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. 25. Deliver Your Plugins Easily In-house marketplace for enterprise Administration and teams capabilities Public Che plugins registry (with stats)
  26. 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
  27. 27. One more thing !
  28. 28. Modeling in the Cloud ! Che + Modeling: A lot of requests Melanie Bats - CTO Obeo
  29. 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. 30. What is Sirius ? An Eclipse project to easily create your own graphical modeling workbench
  31. 31. Developing a Modeling Tool ? Domain concepts1
  32. 32. Developing a Modeling Tool ? Domain concepts1 2 Configuration+
  33. 33. Developing a Modeling Tool ? Domain concepts1 2 3Configuration Modeling tool+ =
  34. 34. Developing a Modeling Tool ? Domain concepts1 2 3Configuration Modeling tool Tool developer End User + =
  35. 35. Maps concepts to... 35 Concepts1 Sirius configuration2
  36. 36. Maps concepts to graphical elements Graphical workbench Sirius configuration2 3
  37. 37. Modeling Tools we have today
  38. 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
  39. 39. Modeling Tools we want tomorrow
  40. 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. 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. 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
  43. 43. Your modeling tool in the Web
  44. 44. Sirius in the Web
  45. 45. Layout & Layers in the Web
  46. 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
  47. 47. Sirius integrated with Che
  48. 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. 49. Engage with Che Community eclipse.org/che Getting started guides Downloads Documentations Contribution guide Mattermost channel
  50. 50. Thank You @stevanLM @melaniebats
  51. 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

×