# 1 Required Software

## 1.1 Java

Run the following command in a terminal to check if Java is installed.

Copy
$java -version If Java is already installed and your user $PATH contains it, you will see a result similar to the one below:

Copy
$java -version java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode) If Java is not listed as installed, users should try checking: • Whether Java actually is installed in your system, and where. Copy $ whereis java
java: /opt/jdk/bin/java
• Java's executable path is located in the user $PATH. If missing, it must be added for users to be able to run Java. Copy $ export PATH=$PATH:/opt/jdk/bin Using the command export will not permanently modify the $PATH parameter; it will have to be updated at every system login. To permanently set the parameter, users should contact their system administrator.

# 2 Install or Upgrade Application

## 2.1 Get the Installer

First, the following command is required for product setup:

Copy
$curl -s -o "axional-install.tar.gz" "https://bitbucket.org/deister/axional-install/get/until-2018.tar.gz" Alternatively, the command "wget" can be used: Copy $ wget -q -O "axional-install.tar.gz" "https://bitbucket.org/deister/axional-install/get/until-2018.tar.gz"

To decompress the downloaded file named "axional-install.tar.gz", use the following tar command:

Copy
$tar -x -z --strip-components=1 -f "axional-install.tar.gz" ## 2.2 Install & Update Install from scratch: Copy $ ./install.sh install

Copy
$./install.sh update The installer consists of two steps: 1. Repository connection setup 2. Product setup ### 2.2.1 Repository Connection Setup The installation process requires users to enter the following parameters: Nexus Base URL The Nexus repository from which the product will be fetched. Most users will use the default value. Nexus User The Nexus repository user. Most users will use the default value. Nexus User Password The Nexus user's password. For security reasons, there is no default value. Product Product the user wishes to install. Must use rf-web. Copy ================================================================ CONFIGURATION ================================================================ Nexus Base URL [http://nexus.deistercloud.com/]:http://nexus.deistercloud.com/ Nexus User [deister-software-dist]:deister-software-dist Nexus User Password []:**************** Product [studio|docs|rf-term|rf-web|]:rf-web CONFIGURATION PARAMETERS -------------------------------------- NEXUS_BASE_URL: http://nexus.deistercloud.com/ NEXUSUSER.....: deister-software-dist NEXUSPASS.....: ********** NEXUSPRODUCT..: rf-web PRODUCTNAME...: axional.rf.web Are You Sure? [y/n] y The installer requires confirmation in order to continue to product setup. ### 2.2.2 Product Setup Once repository setup is completed, the installer will start downloading the product. It will require the following parameters to configure the RF web. The application requires an existing wic_conf system user for the installation program. This user needs SOAP access to the working database configured in the database connection group. This will identify one user for setup and installation out of all the working application users. JAS SOAP URL(s) The Axional server uses URLs for SOAP connections, specifically a comma-separated list (form) of URLs: JAS URL : JAS PORT JAS_URL is the URL of the Java application server (JAS) (for instance, http://mydeister.com). JAS PORT is the HTTP port used by the application server at JAS URL. For instance: Copy http://192.168.10.109:8080,http://www.mydeister.com, ... Database The database which will be used in the application RF web port The port used to connect to the RF web application via browser. Login title A custom message to be displayed on the login screen. Debug Level Defines a set of standard logging levels which can be used to control logging output. The logging levels are ordered and hierarchical. Enabling logging at a given level also enables logging at all higher levels: • FINEST: Enable all logs, including SOAP messages. • FINER: Enable logs, including SQL transactions. • FINE: Log WMS logic-related logs. • CONFIG: Log configuration parameters at startup. • INFO: Log user authentication activity. • WARNING: Log system warnings. • SEVERE: Only log exceptions. The default recommended level is CONFIG. Setting the level to FINEST will result in large SOAP messages which will quickly fill up debug log files. Debug log path Where debug logs should be stored. By default, logs are stored in the user's HOME directory. Copy ------------------------------------------------------ setjdkhome JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home ------------------------------------------------------ JAS SOAP URL and PORT ( http://$JAS_URL:$JAS_PORT ) [http://www.mydeister.com:80]: http://www.mydeister.com:80 DATABASE [demo_sports]: demo_database RF web PORT [8081]: 8099 LOGIN TITLE [Welcome to Demo Sports RF Web]: My custom welcome message ENTER DEBUG LEVEL Allowed values are: FINEST (includes SOAP logs and FINER) FINER (includes SQL logs and FINE ) FINE (includes WMS-related logs and FINE) CONFIG (includes setup parameters and INFO) INFO (includes login logs parameters and WARNINGs) WARNING (includes warnings and SEVERE) SEVERE (only includes exceptions) DEFAULT VALUE IS [CONFIG]: FINE DEBUG LOGS PATH [/Users/jab/tmp/rfweb]: /home/rfweb/logs ADMIN USER: rfweb.admin ADMIN PASSWORD: XXXXXXX CONFIGURATION PARAMETERS -------------------------------------- JAS SOAP URL and PORT ....: http://www.mydeister.com:80/soap/servlet/rpcrouter BACKEND DATABASE..........: demo_database RF web PORT...............: 8099 LOGIN TITLE...............: My custom welcome message DEBUG LEVEL .............: FINE DEBUG LOGS PATH...........: /home/rfweb/logs ADMIN USER:...............: rfweb.admin ADMIN PASSWORD............: XXXXXXX Are You Sure? [y/n] adding: WEB-INF/web.xml(in = 5232) (out= 1236)(deflated 76%) # 3 Upgrade #### TO DO This section is incomplete and will be concluded as soon as possible. # 4 Launch to Application Server Once the installation is complete, the war file will be stored in the libs folder. ## 4.1 Apache Tomcat If we assume that $CATALINA_HOME is the directory of the Tomcat installation:

1. Copy the .war file to $CATALINA_HOME/webapps 2. Run $CATALINA_HOME/bin/startup.sh
3. The .war file will be automatically extracted to a folder with the same name (aside from the extension).

## 4.2 Eclipse Jetty

The most basic technique for launching web applications is to put a WAR file or Exploded WAR directory into the \${jetty.base}/webapps/ directory, then let Jetty’s deployment scanner find and launch it under a context path of the same name.

## 4.3 WebLogic

In WebLogic environments, the default servlet must be specified in web.xml file.

Since WARs are just ZIP files with .war extension, users simply need to:

1. Extract the WAR into a directory
2. Edit web.xml in WEB-INF
3. Add the following lines in web.xml
Copy
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>weblogic.servlet.FileServlet</servlet-class>
</servlet>
4. Zip the directory content into a file using the same filename as the previous.

### 4.3.1 Registering Jersey JAX-RS 2.0

WebLogic versions 12.1.2 and earlier only support JAX-RS 1.1 (JSR 311) out of the box with Jersey 1.x (WebLogic 12.1.2 ships with Jersey 1.13). To update their version of Jersey 1.x in these earlier WebLogic releases, users should read the Updating the Version of Jersey JAX-RS RI chapter in the WebLogic RESTful Web Services Development Guide.

In WebLogic 12.1.3, Jersey 1.18 is shipped as a default JAX-RS 1.1 provider. In this version of WebLogic, JAX-RS 2.0 (using Jersey 2.5.1) is supported as an optionally installable shared library. Please read through the WebLogic 12.1.3 RESTful Web Services Development Guide for details on how to enable JAX-RS 2.0 support on WebLogic 12.1.3.

# 5 Deploy a Simple Context

In this example, we will be setting up a server using Jetty Runner.

The concept behind Jetty Runner is extremely simple – run a web app directly from the command line using a single jar file and as much default configuration as possible.

The Jetty Runner jar will be downloaded by the installer and saved inside the bin/ folder.

## 5.1 Launch Using start.sh

During setup, a start.sh shell will be created. To start a server with the RF app deployed in a simple context, users only need to run:

Copy
bin/start.sh

or

Copy
bin/start_nohup.sh

This will start a Jetty server at the specified port, for instance 8081:

Copy
http://localhost:8081/

Executing the start command shell will launch the WAR file in the / context.

#### Development Only!

The embedded server should not be used in production environments.

## 5.2 Launching to a Specific Context

Users who need to launch more than one web app should simply provide them all on the command line. They can control their context paths using the --path parameter. Below is an example of deploying two WARs (although either or both of them could be unpacked directories instead):

Copy
java -jar bin/jetty-runner-9.3.9.v20160517.jar --port 8085 --path /rf axional-rf-web-0.0.277-SNAPSHOT.war --path /otherContext  anotherWar.war

# 6 Customization

Since the application is contained in a .war file, certain customizations can be added to it, such as changing styles or images. To do so, the .war should be extracted and repackaged with the new files.