Eclipse Che is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
,
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
-based developer workspace server and
Online IDE An online integrated development environment, also known as a web IDE or cloud IDE, is a Web browser, browser based integrated development environment. An online IDE can be accessed from a web browser, such as Firefox, Google Chrome or Microsoft Edg ...
(
integrated development environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
). It includes a multi-user remote development platform. The workspace server comes with a flexible
RESTful webservice. It also contains a
SDK for creating plug-ins for languages, frameworks or tools.
[https://eclipse-che.readme.io/docs/ Eclipse Che - Introduction] Eclipse Che is an Eclipse Cloud Development (ECD) top-level project, allowing contributions from the user community.
History
Eclipse Che was first announced in October 2014. One of its main contributors, Codenvy, delivered the technological stack which Che is based on.
[https://jaxenter.de/eclipse-che-microservices-fuer-eclipse-17519 Eclipse Che - Microservices für Eclipse] The idea behind the cloud based IDE and its development came up in early 2009 by the eXo Platform. After three years of ongoing development the project raised $9 million and developed a stand-alone business called Codenvy.
[https://www.exoplatform.com/blog/2013/02/26/from-exo-cloud-ide-to-codenvy-raising-9-million-dollars-a-brief-history From eXo Cloud IDE to Codenvy Raising $9 Million Dollars: A Brief History] After announcing the Che project including intellectual property donation and participation in the Eclipse Cloud Development project the development of the Che project began. Codenvy itself is today a commercial product built on top of Eclipse Che.
Today, there are many contributors besides Codenvy like
IBM,
Red Hat
Red Hat, Inc. is an American software company that provides open source software products to enterprises. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina, with other offices worldwide.
Red Hat has become ass ...
,
Samsung
The Samsung Group (or simply Samsung) ( ko, 삼성 ) is a South Korean multinational manufacturing conglomerate headquartered in Samsung Town, Seoul, South Korea. It comprises numerous affiliated businesses, most of them united under the ...
,
SAP
Sap is a fluid transported in xylem cells (vessel elements or tracheids) or phloem sieve tube elements of a plant. These cells transport water and nutrients throughout the plant.
Sap is distinct from latex, resin, or cell sap; it is a separa ...
,
Microsoft
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
,
Intuit, eXo Platform, WSO2, and Serli, as well as numerous
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
contributors from Brazil, Canada, China, France, India, Russia, Sri Lanka, Ukraine, and United States.
Licensing
Eclipse Che is released under the
Eclipse Public License
The Eclipse Public License (EPL) is a free and open source software license most notably used for the Eclipse IDE and other projects by the Eclipse Foundation. It replaces the Common Public License (CPL) and removes certain terms relating to ...
which is similar to the
Common Public License
In computing, the Common Public License (CPL) is a free software / open-source software license published by IBM. The Free Software Foundation and Open Source Initiative have approved the license terms of the CPL.
Definition
The CPL has the stat ...
.
[https://www.gnu.org/licenses/license-list.en.html Various Licenses and Comments about Them]
Name
The name "Che" is based on the fact that most of the development is done in
Cherkasy (Ukraine).
Supported languages and frameworks
By default, the following programming languages and frameworks are supported:
[https://eclipse.org/che/ Eclipse Che]
Approach
Che itself is a workspace server running on an application server. Che provides an integrated IDE which can be used via a browser. After the initial load the IDE provides a dynamic user interface including known components like wizards, editors, toolbars and many more. The user has the opportunity to create workspaces, projects, environments, machines and many other modules that are needed to build a project from scratch. The communication between the user interface and the server is done using RESTful APIs that interact with the so-called Workspace Master. One workspace may include zero or more projects and must at least include one environment, which itself contains at least one machine. A machine is a runtime that has the necessary software installed. If the user adds for example a project which uses Apache Maven, the Workspace Master installs Maven on any machine in the workspace to ensure the project can be executed on each machine. Che comes with some predefined technology stacks to quickly set up a new machine. To ensure high flexibility and extensibility the user may also define custom technology stacks which can be used to set up new machines.
Technological stack
Eclipse Che is a Java application which runs by default on an
Apache Tomcat server. The IDE which is used inside the browser is written using the
Google Web Toolkit
Google Web Toolkit (GWT ), or GWT Web Toolkit, is an open-source set of tools that allows web developers to create and maintain JavaScript front-end applications in Java. It is licensed under the Apache License 2.0.
GWT emphasizes reusable ...
. Che is highly extensible since it delivers a SDK which can be used to develop new plug-ins which can be bundled to so called assemblies. Later on an assembly can be executed as a stand-alone server application or desktop client using the included installers. The machines where the projects can be executed are managed by
Docker.
Users
Che divides its users in three groups. The developers are the actual users of the IDE. This can either be by accessing a remote Che server or by having a local instance of Che running. Product owners may use Che to provide on-demand workspaces. Plug-In Providers can develop either client side IDE or server side workspace manager plug-ins.
Features
Eclipse Che comes with a lot of new functionality and flexibility:
[http://www.eclipse.org/che/features/ Eclipse Che - Features]
* Portable Workspaces: Each workspace has its own configuration which can easily be persisted, migrated and integrated in other instances of Eclipse Che
* Docker Images: Each workspace contains so called machines which are used to execute projects. Each machine may have varying technologies installed and is managed by
Docker.
* OpenShift Infrastructure Support: Run Che on
OpenShift
OpenShift is a family of containerization software products developed by Red Hat. Its flagship product is the OpenShift Container Platform — a hybrid cloud platform as a service built around Linux containers orchestrated and managed by Kubernet ...
* Workspace Agents: Each machine contains workspace agents which provide services like SSH access, monitoring and remote debugging for the user.
* Workspace Snapshots: Workspaces are by default transient. That means the environment state probably won’t be the same after the workspace is restarted. Using workspace snapshots the state of a workspace can be persisted and restarted later on.
* Multi-user and Multi-tenancy: Hundreds of developers or users are able to log into Che and collaborate.
Which is often required for the largest teams and enterprises.
* Collaborative Workspaces: If Eclipse Che is hosted as a workspace server it can be accessed by multiple users and teams. Each user can easily develop the same application without the need to install software.
* Git Visualization: Files in both the project explorer and editor tabs can be colored based on their Git status.
* RESTful Workspaces: The communication between the browser IDE and the workspace manager is done by using the RESTful APIs the workspace manager exposes.
* Debugger: Navigate the thread of your code, setup conditions and suspend policies on breakpoints. Which allows you to diagnose and solve challenges
* DevOps: Developers are able to see and monitor the status of a machine using the IDE.
* Plug-In Framework: By providing a SDK to enable custom plug-in development Eclipse Che gains high extensibility.
* Open-Source: Eclipse Che has been developed over four years by a lot of contributors all over the world.
Scaling
Since Che is a server application it can be accessed by multiple developers at once. Each developer can connect to the same workspace using the browser IDE. Right now, Eclipse "Che implements a last-write-wins policy when multiple users modify the same file."
[https://eclipse-che.readme.io/docs/scaling Eclipse Che - Scaling] In a future release it is planned to include multi-cursor visuals to enable collaborative multi-user editing of a single file.
Workspaces may get very large, because a workspace can have a lot of machines included. If a single host is no longer enough it is recommended to provide an own Che instance for each user or user group. That means, that you can have many servers running Che in the same ecosystem. Codenvy also offers a scaling ecosystem that can be installed on-demand or can be used as SaaS.
In future releases it is also planned to enable remote Docker containers so users do not need to have all containers running on the same host.
Further reading
Official Eclipse Che DocumentationEclipse Che - The IDE of the future?Getting Started with Eclipse Che
References
External links
*
{{DEFAULTSORT:Eclipse (Software)
Code navigation tools
Cross-platform free software
Debuggers
Formerly proprietary software
Free HTML editors
Free integrated development environments
Free software programmed in Java (programming language)
Free UML tools
IBM software
Integrated development environments
Java development tools
Java platform
Linux integrated development environments
Linux programming tools
Linux software
MacOS programming tools
Programming tools for Windows
MacOS text editors
Software development kits
Software using the Eclipse license
Online integrated development environments