1. An Intro to Eclipse Che
March 2015
Tyler Jewell, Eclipse Che Project Lead
@TylerJewell
2. Reality: Wikis For Developer Workspace Config
Django and
PHP with
Eclipse
Tomcat
with IntelliJ
Compile
and install
Ruby
Mozilla
Webmaker
with
Vagrant
Continuous delivery demands repeatability - but developer
workspace configuration is individual & complex.
3. Eclipse Che is a cloud IDE and SDK for creating cloud IDE
extensions.
Che ships with 55 extensions for Java, JavaScript,
AngularJS, git, and Docker.
Assemble your own Che extensions to create distributed
developer services accessible in a browser.
4. Eclipse Che Codenvy Platform Distribution
Plug-In
Plug-In
Plug-In
Plug-In
Plug-In
IDE + SDK
Elastic Docker Node Pool
Code
Developer Microservice Plug-Ins
Build Run Source Query
Source
External Integration Plug-Ins
CI PaaS Issue Identity
Languages
Eclipse Che
Editors Projects
Operations
HA Tenancy Metering Security
API CLI Browser Mobile
Automation Management
Factories Contrib Admin Analytics
Eclipse Che & Codenvy IP Relationship
Installation
update.codenvy.com
Notices Accounts Binaries Installers
Offerings
SaaS @ On-Prem @ Managed @
codenvy.com Your Datacenter Any Datacenter
1-Node n-Node CentOS 6 CentOS 7
Cloud Marketplaces
IBM AWS Google ...
Kernel
java javascript c++
maven gradle 55+
Your Extensions
Che Extensions
project builder
REST API
runner
auth factory analytics
5. Codenvy Makes Development Boundless
Machines Your SystemsDevelopers Microservices Nodes
Browser IDE
CLI
Eclipse
IntelliJ
Sublime Text
Emacs
vi
CodenvyToolsYourTools
Developer Workspace Cloud
syntax
refactor
clone
build
package
run
debug
query
merge
compile
Middleware
APIs
Code Repo
Artifact Repo
CI / CD
Issue Mgmt
LDAP
TargetsToolChain
Databases
PaaS
Workflow
contribute
pull request
corporate
hack
9. Getting Started with Che
Source: github.com/codenvy/sdk
github.com/codenvy/assembly-che
Developer Mailing List: che-dev@eclipse.org
Planning Meetings: wiki.eclipse.org/che
IRC: #eclipseche (routes to slack)
Note: Currently 1000 issues open on Che, hosted at Codenvy’s
private Jira. We are working to export into bugzilla.
10. Che SDK Maven Modules
assembly-platform-api: Local vs. Distributed Mocks
Java client / DTO / GIN
Server-side REST API
assembly-sdk: Tomcat bundling of Che
assembly-ide: Main GWT application of the IDE
/src/main/resources/com/codenvy/ide/ide.gwt.xml
11. Che IDE Extension Development
@Inject Service Mgrs: Types, wizards, menus:
GWT: GWT MVP Model
Super Dev Mode
JS library integration
Author in any IDE
12. Che IDE Extension
@Singleton
public class AngularJSProjectType extends ProjectType {
public AngularJSProjectType() {
super("AngularJS", "AngularJS Project", true, false);
setDefaultRunner("system:/javascript/webapp/grunt");
addRunnerCategories(Arrays.asList(RunnerCategory.JAVASCRIPT.toString()));
}
}
@Singleton
@Extension(title = "AngularJS")
public class AngularJsExtension extends JsExtension {
@Inject
public AngularJsExtension(IconRegistry iconRegistry, AngularJSResources resources) {
super(Const.ANGULAR_JS_ID, iconRegistry, resources);
}
}
plugin-angularjs/core/client/src/main/java/com/codenvy/plugin/angularjs/core/client/
plugin-angularjs/core/server/src/main/java/com/codenvy/plugin/angularjs/core/server/project/type
13. Roadmap
Q1 ‘15
Che Codenvy
Q2’ 15
IDE invokable actions
JavaDoc in editor
Java jump to defiition
Java package viewer
Factory into named workspace
ProjectType abstraction
SDK on Windows
Multi-runner panel
Import from file system
Machine API
Command panel
SVN plugin
Gradle plug-in
Deployment abstraction
Chromium packaging
Factory into Che
GitHub pull request
Contribution from Factory
Multi-node install manager
Factory editor in UD
Selective git commit
Meter-based pricing & cc
BitBucket pull request
LDAP integration for On-Prem
Add / remove runners via IM
Machines & Commands
On-Prem backup / restore
DockerHub integration
Visual merge of pull request
Hot deploy Che extensions
14. About Che
2009
Che + Codenvy CompanyUsers
2010
2011
2012
2013
2014
2015
cloud-ide.com launched
20k
60k
109k
Begin designing SDK
Begin Eclipse Che
Win WSO2, eXo SDK partners
Gennady, Benjamin, Tyler meet
Codenvy incorporated
45 HC in USA, France, Ukraine
Intuit: 1st enterprise account
1st on-prem installation
$8M Series A
Dozen OSS projects
2016
135k 374k
Projects
40k
100k
303k
15. +1 0 -1
Sign in: www.eclipsecon.org
Evaluate the sessions
18. What is Cloud Development?
Objective: Fully hosted, no install automation and governance of
developer and development activities.
Hosted Source Code
Cloud IDE CI / CD Issue Management
Governance: Automation, Policies, Analytics
19. chef + vagrant + docker
Environment
Builder
Compiler Unit Test Packager
Machine
APIs
App
Servers
Databases
Builder
Compiler Unit Test Packager
Machine
APIs
App
Servers
Databases
Workbench
IDE Plug-Ins Syntax
SCM Issue Deployer
Builder
Compiler Unit Test Packager
Machine
APIs
App
Servers
Databases
Workbench
IDE Plug-Ins Syntax
SCM Issue Deployer
Workflow Policies
per developer DIY + environment
Workspace Governance
manual enforcement + workspace
The Cloud IDE Spectrum
Containers and wikis are not encompassing solutions.
20. Cloud IDEs Distribute Developer Services
Machines Your SystemsDevelopers Microservices Nodes
orion
cli
eclipse
intellij
sublime
emacs
vi
ECDClientsDesktopClients
Development Layering (Raw, RAD, 4GL): dirigible
syntax
refactor
clone
build
package
run
debug
query
merge
compile
Middleware
APIs
Code Repo
Artifact Repo
CI / CD
Issue Mgmt
LDAP
TargetsToolChain
Databases
PaaS
Workflow
contribute
pull request
corporate
hackche
REST API
or flux
21. ECD Alignment
Objectives: Fully integrated solution
Common API & object vernacular
Eliminate IP overlap
Support more IDE clients
Recruit additional ECD projects
Roadmap: Continued advancement of each comp
Orion + Flux binding
Orion adapter for Che
Dirigible built on Che
22. ECD Sessions This Week
Tuesday, March 10th, 3pm
Session: Introduction to Eclipse Che
Tuesday, March 10th, 2:15pm
Session: Git it Done (Orion)
Tuesday, March 10th, 4:15pm
Session: Building Orion Plug-Ins
Tuesday, March 10th, 7pm
Hackathon (Orion + Che)
Wednesday, March 11th, 10:30am
Session: JavaScript Language Tools in Orion
Wednesday, March 11th, 1:30pm
Session Adapting JDT to the Cloud (Orion +
Flux)
Thursday, March 12th, 11:15am
Session: Extending Eclipse Flux