CndNb65UserViewRemoteDevelopment

Preface

Definition

Remote development should allow user to develop an application which would be built, run and debugged on another workstation directly from the NB IDE.

Basic Use Cases

  1. Very common setup: user has a Windows workstation but wants to write Solaris or Linux applications
  2. User wants to build/test his application on different systems
  3. User works in several offices (or at home) and has all sources on his laptop which he connects to different servers with required platform (or with better performance)

Proposal

Facts

  • Users sources are stored in location which have to be accessible from both server and client
  • Differentiation in file names on client and server will be resolved by special path mapping engine
  • Remote system headers required for code model are copied from server and stored on client
  • Ssh protocol is used to run remote commands
  • Remote "mode" of work is encapsulated in the tool chain

Requirements

  • On server: sshd server, tool chain (GNU or Sun Studio)
  • On client: Java and NetBeans C/C++

Sample Workflows

Note: The following use cases reflect a non-published prototype of the remote development and will not be the same when this feature is added to NetBeans 6.5.

Use case 1: user has a Windows workstation but wants to work on Solaris application.

  • User runs NetBeans on his Windows workstation
  • Opens hosts interface and enter remote host name
  • After being asked about login/password he waits for setting up toolchain and loading include files (this procedure takes just a few minutes)
  • This draft example how hosts interface can look:

File:RemoteHostsWindow_CndNb65UserViewRemoteDevelopment.png

  • Assuming he has ssh and compilers on the remote workstation he would be ready for remote work at this moment

Otherwise he would be informed about lack of one of required tools (the same user is noticed about missing compiler in NB6)

  • User creates his application on local machine
  • To build it on remote workstation he changes tool chain to new named like remote-server-name:GNU

File:ProjectProperties_CndNb65UserViewRemoteDevelopment.png

  • User can work on it right now, using completion, class view and all other editor features
  • User presses "Run" and his sources are transferred to remote workstation, built and run there.
  • TBD: Path Mapping set up missed

Use case 2: User wants to build/test his application on different systems

  • After setting up one server like in use case 1 users wants to build his application on another platform
  • He opens "Hosts" window again and repeats set up steps for all desired hosts
  • How he has a list of hosts with remote tool chain associated with each host
  • To switch server for his application he can change tool chain in the options or just double-click on any available server in "Hosts" window
  • And click Run to see how his application works on selected host

Use case 3: User works in several offices (or at home) and has all sources on his laptop

  • The same way as in Use Case 2 user can adds hosts from different places.
  • All hosts settings are stored locally on his laptop and unavailable hosts are marked in red in Hosts window while he working from other office.
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo