Configuring a remote environment

In a remote environment, programmers edit application source files on their local machines, yet the applications are compiled, debugged, and executed on a remote server.

In a remote setup:
  • Genero Studio Server must be installed on a remote server.
  • Genero Studio must be installed on the client.
  • C function calls/libraries and/or system calls are preserved.
  • SSH access is required.

If your Genero Studio Server is accessed over the internet (hosted in the cloud, for example), the communication from the Genero Studio Server to Genero Studio may not be possible, as the communication is likely blocked by a router/firewall and as port forwarding is not available. Therefore, we advise you to use a virtual private network (VPN) to simulate working in a local (intranet) network mode.

The databases that the applications access can be stored on the same remote server as Genero Studio server, or on separate servers.

You can connect to remote server files using either:

Using mount points

With mount points, the application sources are stored on the remote server, which is accessible to the client's local network. The local machine uses Samba/NFS to access the remote files.

Table 1. Advantages and disadvantages of mount points
Advantages Disadvantages
  • Sources remain on the server.
  • Optimal for data transfer. Only files opened on the client side (by Studio) are transferred.
  • Can slow down or freeze when files are edited on fast networks (ping > 50ms).
  • Requires NFS/Samba setup on server.
Figure: Remote Genero Studio environment with mount points

This figure shows a remote environment. Developer PCs have Genero Studio, GDC, GBC, and SSH client. A remote server contains the Genero Studio Server, Genero DVM, and SSH Server, as well as Database Servers, and an Export file system (NFS, Samba) and a VCS repository.

Using synchronization directories

With synchronization directories, application sources are on the local machine. They are synchronized to the server for compilation, debugging, and running of the application. The results (compiled files) are then synchronized back to the local machine. Each user's local source directory has its own temporary server directory. Because synchronization occurs in both direction (first local to server, then server to local) a lock prevents the user from performing two builds at the time.

Table 2. Advantages and disadvantages of synchronization directories
Advantages Disadvantages
  • All files are edited locally. As a result, files can be edited faster.
  • The server does not require an NFS/Samba setup.
  • Preferred method for fast networks with latency (where ping >50ms).
  • Sources are local to each machine.
  • There is a heavy data transfer: All client files are synchronized to the server before the build, and all server files are synchronized to the client after the build.
  • Server operations cannot be run in parallel.
Figure: Remote Genero Studio environment with synchronization directories

This figure shows a remote environment. Developer PCs have Genero Studio, GDC, GBC, and SSH client. A remote server contains the Genero Studio Server, Genero DVM, and SSH Server, as well as Database Servers and a VCS repository.
Note: In this diagram, the "temp files" refer to the files in the synchronization directory of the remote host. These files are synchronized from the client and are only used for gsmake operations such as build, run, and compile. These files are not meant to be versioned; as such they are called temporary in the diagram.