blob: ea7b1499cf8149e2eb2bf3e5cb3cfb7c66d5a0f0 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Getting started</title>
<link rel="stylesheet" type="text/css" href="../../css/style.css">
</head>
<body>
<h1>Introduction</h1>
<p>The purpose of remote services API is to provide a programming interface to remote services that is agnostic to the actual remote services implementation. Currently the only implementation supported of SSH protocol uses JSch(Java Secure Channel) project (<a href="http://www.jcraft.com/jsch/">www.jcraft.com/jsch</a>). An implementation for the local system (where Eclipse is run) and Telnet protocol are also provided.</p>
<p>The API is generic enough so that it is possible to use it for all remote or local operations. This is useful for situations where both a remote and local mode should be provided, but the programmer wants to avoid two separate code paths.</p>
<h1>Types of services</h1>
<p>The API is divided into two types of remote services: UI and non-UI.</p>
<p>UI services are for activities such as file browsing that require use of the UI. In particular, it provides a main preference page (under "Remote Development > Remote Connections") which allow connections to be created, edited, removed, opened, and closed. </p>
<p>Non-UI services are purely programmatic, they provides a set of core services for manipulating remote resources. The non-UI services can be used independently of the UI services.</p>
<h1>Remote Services Plugins</h1>
<p>The remote services are divided into two plugins. These plugins should have no dependencies other than the platform.</p>
<ul>
<li>org.eclipse.remote.core - provides non-UI remote services</li>
<li>org.eclipse.remote.ui - provides UI remote services</li>
</ul>
<p>Remote service implementations provide the actual remote functionality using a particular remote protocol. These are supplied as a set of adapter plugins.
<p>As of version 2.0.1, there is currently one implementation of SSH protocol using JSch:</p>
<ul>
<li>org.eclipse.remote.jsch.core</li>
<li>org.eclipse.remote.jsch.ui</li>
</ul>
<p>The Telnet protocol implementation and UI widgets are provided by the plugins:</p>
<ul>
<li>org.eclipse.remote.telnet.core</li>
<li>org.eclipse.remote.telnet.ui</li>
</ul>
<p>These plugins are dependent on the remote services implementations, but are optional for the remote services API. The API will automatically detect the installed plugins.</p>
</body>
</html>