Remote locations or contexts

Every remote project must have a remote location associated with it. A context contains the remote location information as well as some additional properties.

With the single remote location approach to remote development, a mapping between a local project and a remote location is sufficient. Like purely local projects, properties such as build commands, compiler options and environment variables can be maintained at the project level since there is presumably only one target environment. The project maintains properties while the remote location is used for operations performed on the remote system, such as uploading and downloading resources and invoking compilers.

When considering an approach to remote development that involves more than one remote location associated with a project, it becomes apparent that mere remote locations are insufficient. While a project associated with multiple remote locations may gain the added ability to push and pull resources to and from each of these locations, remote operations with properties maintained by a project would suffer from the complexity of having to account for different target environments for each remote location. For example, the build command and environment variables for one remote location may need to be different for another. Even if a project were just used for pushing and pulling resources, the project would need to account for different synchronization states between project resources and remote locations. Rather than having each project maintain separate arrays of properties corresponding to a given remote location, the better solution is to unburden the project from remote location-specific information to produce a new independent construct, the remote context.

Like a remote location, a remote context describes a host and a location on that host. However, unlike a remote location, a remote context is an independent entity, contains additional properties, such as environment variables, can be contributed to and can be directly interacted with by users in an IDE. In IBM® Rational® Developer for Power Systems Software, users can create new remote contexts from the Remote Systems Explorer.


Feedback