An Intro to Eclipse Che
March 2015
Tyler Jewell, Eclipse Che Project Lead
@TylerJewell
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.
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.
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
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
The Che Glossary
The Che Glossary… (2..3)
The Che Glossary (3..3)
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.
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
Che IDE Extension Development
@Inject Service Mgrs: Types, wizards, menus:
GWT: GWT MVP Model
Super Dev Mode
JS library integration
Author in any IDE
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
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
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
+1 0 -1
Sign in: www.eclipsecon.org
Evaluate the sessions
Eclipse Che
www.eclipse.org/che
Try it live: codenvy.com
Eclipse Cloud Development
www.eclipse.org/ecd
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
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.
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
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
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

Intro to Eclipse Che, by Tyler Jewell

  • 1.
    An Intro toEclipse Che March 2015 Tyler Jewell, Eclipse Che Project Lead @TylerJewell
  • 2.
    Reality: Wikis ForDeveloper 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 isa 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 CodenvyPlatform 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 DevelopmentBoundless 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
  • 6.
  • 7.
  • 8.
  • 9.
    Getting Started withChe 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 MavenModules 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 ExtensionDevelopment @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 publicclass 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 Signin: www.eclipsecon.org Evaluate the sessions
  • 16.
  • 17.
  • 18.
    What is CloudDevelopment? 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 DistributeDeveloper 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: Fullyintegrated 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 ThisWeek 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