OZONE Widget Framework (OWF) Marketplace

This quick start guide is meant to provide an AppBoard developer or integrator with enough information, in conjunction with the OZONE Widget Framework (OWF) 4.0 and OWF Marketplace 2.5 (Marketplace) documentation, to configure and deploy the OWF and Marketplace and display AppBoard widgets within those frameworks on a ‘localhost’ machine.


OWF 4.0 is released as a bundle that includes a copy of Tomcat 7.0.21 and all necessary files to create and administer OZONE widgets. OWF help files are delivered under a separate bundle, OWF-help-4.0.0-GA.zip. The help bundle is required to have access to all OWF documentation.


Marketplace is released as a bundle that includes Tomcat 7.0.21, a preconfigured HSQLDB and test certificates to import into the user’s browser for testing purposes. All documentation is included in the bundle.


Page Contents

1. Deploy and Configure OZONE Widget Framework 4.0

OWF deployments depend upon the existence of a database to store user preferences and other user information as well as the configuration of several files to make the application aware of Marketplace and how to access the OWF database. Refer to the OWF help bundle for additional documentation.


1.1. Deploy and Configure the MySql Database

The first step, after unzipping the OWF bundle, is to download and deploy a MySql database as a service, create a database named ‘owf’, and create several users with full privileges granted over the ‘owf’ database. After creation of the ‘owf’ database and users, import the file ..\dbscripts\MySqlPrefsInitialCreate.sql into the ‘owf’ database using the following command: mysql -h hostname -u user --password=password databasename < filename


Second, download and deploy the MySql database driver mysql-connector-java-5.1.20-bin.jar to the ..\apache-tomcat-7.0.21\lib folder.


1.2. Configure OWF and Tomcat Files

When the database file import is complete, there are several files within the OWF classpath that must be modified. Prior to this, determine the Tomcat secure and non-secure ports that the application will run on. The following files must be modified:

  1. ..\apache-tomcat-7.0.21\lib\OwfConfig.xml
  2. ..\apache-tomcat-7.0.21\lib\OwfConfig.groovy
  3. ..\apache-tomcat-7.0.21\conf\server.xml


1.3. OwfConfig.xml

OwfConfig.xml contains two parameters that are modified. Set the following:

  1. “enablePendingApprovalWidgetTagGroup” = “false”
  2. “marketplaceLocation” = the location where Marketplace will reside, such as "https://localhost:6443/marketplace"


1.4. OwfConfig.groovy

OwfConfig.groovy outlines the database connection rules for OWF. The dataSource block must be modified to fit the database supporting OWF. The following example is configured for a MySql database:

dataSource {
           dbCreate = "none"
           username = "owf_user"
           password = "owf_password"
           driverClassName = "com.mysql.jdbc.Driver"
           url = "jdbc:mysql://localhost:3306/owf"
           pooled = true
           properties {
               minEvictableIdleTimeMillis = 180000
               timeBetweenEvictionRunsMillis = 180000
               numTestsPerEvictionRun = 3
               testOnBorrow = true
               testWhileIdle = true
               testOnReturn = true
               validationQuery = "SELECT 1"
           }
       }


1.5. Server.xml

Server.xml ports must be changed to allow OWF to run within the network space of the deployed machine. The shutdown, secure and unsecure connector ports must be changed. Remember that OWF connects over the HTTPS secure port. Example port specifications are:

<Server port="8009" shutdown="SHUTDOWN">
<Connector port="5050" protocol="HTTP/1.1" 
              connectionTimeout="20000" 
              redirectPort="5443" />
<Connector port="5443" protocol="HTTP/1.1" SSLEnabled="true"
              maxThreads="150" scheme="https" secure="true"
              keystoreFile="certs/keystore.jks" keystorePass="changeit"	       
              clientAuth="want" sslProtocol="TLS" />


2. Deploy and Configure OWF Marketplace 2.5

The Marketplace listing service is a fully contained bundle that includes all technologies required to run a test deployment. Incorporation of a database, e.g. MySql or similar, is recommended to support a fully operational deployment. This outline will focus on configuring the Marketplace release as a test deployment.


2.1. Configure OWF Marketplace 2.5 Files

There are several files within the Marketplace classpath that must be modified and one that must be added to support a test deployment. The following files must be modified:

  1. ..\apache-tomcat-7.0.21\conf\server.xml
  2. ..\apache-tomcat-7.0.21\lib\OzoneConfig.properties


The following file must be copied from the ..\OZONE Marketplace\etc\override folder to the ..\apache-tomcat-7.0.21\lib folder: MarketplaceConfig.groovy


2.2. Server.xml

Server.xml ports must be changed to allow Marketplace to run within the network space of the deployed machine. The shutdown, secure and unsecure connector ports must be changed. Remember that Marketplace connects over the HTTPS secure port. Example port specifications are:

<Server port="8007" shutdown="SHUTDOWN">
<Connector port="5051" protocol="HTTP/1.1" 
              connectionTimeout="20000" 
              redirectPort="6443" />
<Connector port="6443" protocol="HTTP/1.1" SSLEnabled="true"
              maxThreads="150" scheme="https" secure="true"
              keystoreFile="certs/keystore.jks" keystorePass="changeit"	       
              clientAuth="want" sslProtocol="TLS" />


2.3. OzoneConfig.properties

As with the server.xml file, change host and port parameters to match those necessary to allow Marketplace to run within the host’s network space. The following example mirrors the server.xml values:

#OZONE HOST & PORT
ozone.host = localhost
ozone.port = 6443
ozone.unsecurePort = 5051


2.4. MarketplaceConfig.groovy

Once the MarketplaceConfig.groovy file is copied to the ..\apache-tomcat-7.0.21\lib folder, modify the following parameter to match the URL of the Marketplace location: marketplace.server.uri = "https://localhost:6443/marketplace"


3. Test Certificate Deployment

Marketplace utilizes certificates or a username / password scheme to facilitate access to the application. However, the test certificates for ‘localhost’ access, included in the bundle, are recommended to support the Marketplace x509 PKI authentication mechanism. Additionally, the certificate mechanism will be used to facilitate the connection between OWF and Marketplace.


3.1. Add Test Certificates to the Target Browser

To date, OWF performs best with Mozilla Firefox 3.6 and above. However, it will also perform under IE 7 and above. Refer to ‘Marketplace Quick Start Guide’ section 2.1.2 for the installation of the ‘testAdmin1’ user certificate in your user’s browser.


4. Creating OZONE Widget Specifications

OZONE widget specifications are primarily URLs that represent the web content required to be displayed within an OWF widget container. Moreover, two icon references (16x16 Container Icon URL and 128x128 Launch Menu Icon URL) must be provided in order to complete a specification within OWF or Marketplace. The icons are used as markers for the widgets within the administrative controls and selectors. These are the minimum amount of information required to develop OZONE widgets that will display AppBoard content. Refer to the quick start guides for OWF and Marketplace for guidance on creating widgets.


AppBoard content must be segregated by channel reference to each widget / board that is to be displayed within an OZONE widget wrapper. Determine the enportal/servlet/pd/vdir URL reference for each channel that is to be shown within OWF. An example OWF launch URL for AppBoard is as follows: http://localhost:8081/enportal/servlet/pd/vdir/deployment/Menu/SPAWAR/Geographic%20View


Once the widget specifications are created within Marketplace and / or OWF, AppBoard content can be displayed as individual OZONE widgets.