Project

General

Profile

Pre-Built Virtual Machines

Introduction

The FWD project provides some pre-built virtual machines to save time and provide a consistent, workable environment.

This chapter describes the virtual machines which have been created for a developer system or as a production system reference. Details will be provided on how to download, setup and use these VMs.

Developer VM

This is a virtual machine that is suitable for all common developer tasks with FWD. It can be used to host conversion projects, run/test/debug converted applications as well as develop changes for FWD itself.

Download

Ubuntu 16.04 Desktop 64-bit (x86) - Pre-configured FWD Developer Virtual Machine - .vdi disk image

Setup

This section describes the setup procedure of the pre-configured developer virtual machine using the popular VirtualBox virtualization software (version 5.1.22). You will need a supported 64-bit operating system with VirtualBox installed.

To create the FWD virtual machine:
  • Launch VirtualBox and in the main menu choose Machine -> New...
  • Enter the name of the new virtual machine, for example "FWD Developmetn System", choose the Type "Linux" and the Version "Ubuntu (64-bit)".
  • On the next screen set the memory size to the recommended maximum. Move the memory size slider to the upper limit of the slider's green zone. If you can, set the memory to 8192MB or more.
  • Move to the next screen, choose the "Use an existing virtual hard disk file" option and use the file browser dialog to locate the downloaded FWD disk image.
  • Choose the Create button, the virtual machine will be created.
  • Make sure the new VM is selected and then open the settings dialog using Machine -> Settings.
    • Optionally, to enable the transfer of files to/from the VM, switch the the Shared Folders tab. Click on the + icon on the left to get to the Add Share dialog. From there, select the proper Folder Path (on the host machine) and select Auto Mount. Then click OK to add that share. When you boot the virtual machine, the auto-mounting will cause that shared folder to be available as /media/sf_<share_name>. FYI, you will need to use sudo to access those files because the auto-mount doesn't set the permissions for the fwd user.
    • For optimal performance increase the number of CPUs allocated to the created virtual machine. Switch to the System -> Processor tab increase the number of CPUs, set the recommended maximum, which is half the number of CPUs of the host system. You should not get into the red zone of the Processor slider, this would degrade the system performance. Confirm and close the settings dialog.
    • Save the changes by clicking OK.
  • Start the virtual machine. For the best experience switch to full screen mode (main menu View -> Full-screen Mode). The system will start and automatically executes a login for the user 'fwd'.

Usage

The pre-configured developer VM is based on Ubuntu Desktop 16.04. The only end-user account in the VM is user fwd with password fwd. This pre-configured VM follows the same folder structure as the installation steps described below.

On the Desktop, you can find a link to the eclipse installation in /home/fwd/eclipse and to the projects folder in /home/fwd/projects. The projects folder contains these projects (by folder):
  1. fwd - the FWD project (FWD v3.2)
  2. hotel_chui - the Hotel ChUI project (revision 57)
  3. hotel_gui - the Hotel GUI project (revision 171)
  4. FWDConversionProject - a simple project which can be used to test, debug or just experiment with simple OpenEdge programs ran in FWD. This project is configured to be used via Eclipse, where there are pre-configured launch configuration to run the FWD Application Server and the FWD non-native clients (FWD Swing GUI and FWD Swing ChUI clients) directly from Eclipse. This project doesn't have a physical DB configured. The deploy/server/directory.xml is specifically configured to run FWD GUI or ChUI Web Clients with a server running from Eclipse. Access the links bookmarked in the Firefox browser (i.e. https://localhost:7443/gui) to connect to the FWD Web Client. The install_spawner.sh script in this project is built to install the spawner in the current directory - so it will be separated from the Hotel Demo applications.

To start Eclipse, execute /home/fwd/eclipse/eclipse; in the Eclipse workspace, you will find only the fwd and FWDConversionProject. The Hotel ChUI and Hotel GUI projects are configured to be deployed using their dedicated scripts.

You can add sources in the ./abl/ folder of the FWDConversionProject and launch FWD Conversion. Once conversion is done, refresh the project and you can start the server. You can either edit the deploy/server/directory.xml and set the p2j-entry to your converted program or edit the client launch configuration and add the client:cmd-line-option:startup-procedure=your-program-name-here.p option to the Program Arguments section.

FWD Clients can be started either via the existing Eclipse Launch Configurations (except batch and native/console clients), or via the dedicated launch scripts in deploy/client/ folder - these scripts use the same compiled sources as the FWD Application Server running in Eclipse, so is easy to debug small changes 'on-the-fly'.

In the VM, if you are testing any of the FWD Web Client(s) for the Hotel ChUI and Hotel GUI projects, remember to run the ./install_spawner.sh script (in the corresponding project) - otherwise, the certificates will not match and FWD Client launch will fail; an alternative is to edit the install_spawner.sh and prepare_template.sh scripts so that the FWD spawner is installed in i.e. /home/fwd/projects/hotel_chui/spawner (for Hotel ChUI project) and /home/fwd/projects/hotel_gui/spawner (for Hotel GUI project) - running prepare_hotel.sh will update all dependencies with this new spawner path.

Production Reference VM

This virtual machine is based on Ubuntu Server 16.04 (64-bit). It is suitable for running the FWD server, PostgreSQL RDBMS and web GUI clients, ChUI clients via web or ssh. Swing based GUI or ChUI clients can be run on separate systems and connected to this VM.

Download

TBD

Setup

TBD

Usage

TBD