You can now run Streams Studio on a local Windows 7 system or a local Linux system, establish a connection to the Linux cluster where InfoSphere Streams is installed and develop Streams applications.

Prior to InfoSphere Streams V3.2, Streams Studio could only run on a Linux system where Streams was installed.  In version 3. 2 and up, this restriction was lifted.   The goal we had when implementing the remote development feature was simple: the user experience should be identical.  We needed to seamlessly integrate the remote aspects into the existing Studio workflows.

Remote Connectivity

The local Streams Studio interacts with the remote Streams Linux server using the Remote System Explorer (RSE) from the Eclipse Target Management project. This provides the basic functions required: remote file access and remote command execution.

The RSE remote connection is associated with the Streams Install location required by Studio. The remote connection lets the local Streams Studio access the install location’s files on the remote system. The location of a default remote workspace is also associated with the Streams install. Once the install location is set, the workflows are the same as previous release.

Workspaces

For remote development, we need two workspaces: one local and one remote. There is an additional property on the local projects: remote context. This indicates where the remote workspace is for the local project. By default this context uses the default remote workspace defined for the Stream install location.

Since the build occurs on the remote Streams server, the remote workspace needs to contain all the source files to be built. The local workspace also needs all the source files in order to allow the user to edit them. We use a push model where changes in the local workspace are automatically pushed to the remote workspace. This occurs when a resource is saved. Auto-build is supported. When there are changes in the local workspace, it initiates a build which is run on the remote workspace. Any build output required locally (toolkit indexes) is then pushed back to the local workspace.

Remote Commands

In order for the local Streams Studio to interact with the Streams instances we use the RSE’s remote command support. By leveraging this support the menus shown in Streams Studio are the same in both cases. The local user is selecting the same action from a menu and that is then executed on the remote Streams server. To the local user this is transparent.

What is Where

The diagram below shows what is on the local Streams Studio and what is on the remote Streams server.
studiolocalremote

Remote System Explorer Extras

Using RSE provides some extra benefits that are useful. The remote system explorer view allows you to browse files and processes on the remote system. You can define more connections and then use this view to drag and drop files between systems. The process list allows you to see the processes running on the remote system, their properties and interact with them. The screenshot below shows the Remote Systems view in the Remote System Explorer perspective.

remotesysexplorer

You can launch a new terminal from this view. This creates a new terminal in the terminals view. This provides an embedded terminal within Eclipse that can be used to directly interact with the remote system. The screenshot below shows a terminal where streamtool version command was run.
rseterminal

Join The Discussion