RSE is built on top of a service layer that provides services that access the remote systems.
These service implementations are typically protocol-specific but will obey an interface that defined for that paricular service.
For example, a file service will obey the interface defined in the package
org.eclipse.rse.services.files, but there
exist implementations for the dstore, FTP, and SSH protocols.
RSE supplies service definitions for a file service, a shell service for submitting remote commands, a search service, and a process service.
Implementers that which to use different protocols than the ones supplied should use the existing service definitions to fit into the current
It is not absolutely necessary to have a services layer.
Implementers of subsystems that provide access to resources that in narrow domains
could forgo the creation of explicit service classes and embed the
support directly in the subsystem.