ARL-TN-0688 ● AUG 2015

US Army Research Laboratory

Adapting My Weather Impacts Decision Aid 

(MyWIDA) to Additional Web Application 

Server Technologies

by Jacob C Randall and Jeffrey O Johnson

Approved for public release; distribution unlimited.
NOTICES

Disclaimers

The findings in this report are not to be construed as an official Department of the 

Army position unless so designated by other authorized documents.

Citation of manufacturer’s or trade names does not constitute an official 

endorsement or approval of the use thereof.

Destroy this report when it is no longer needed. Do not return it to the originator.
ARL-TN-0688 ● AUG 2015

US Army Research Laboratory

Adapting My Weather Impacts Decision Aid 

(MyWIDA) to Additional Web Application 

Server Technologies

by Jacob C Randall and Jeffrey O Johnson

Computational and Information Sciences Directorate, ARL

Approved for public release; distribution unlimited.
ii

REPORT DOCUMENTATION PAGE Form Approved

OMB No. 0704-0188

Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the 

data needed, and completing and reviewing the collection information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing the 

burden, to Department of Defense, Washington Headquarters Services, Directorate for Information Operations and Reports (0704-0188), 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202-4302. 

Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to any penalty for failing to comply with a collection of information if it does not display a currently valid 

OMB control number.

PLEASE DO NOT RETURN YOUR FORM TO THE ABOVE ADDRESS.

1. REPORT DATE (DD-MM-YYYY)

Aug 2015

2. REPORT TYPE

Final

3. DATES COVERED (From - To)

May–Aug 2015

4. TITLE AND SUBTITLE

Adapting My Weather Impacts Decision Aid (MyWIDA) to Additional Web 

Application Server Technologies

5a. CONTRACT NUMBER

5b. GRANT NUMBER

5c. PROGRAM ELEMENT NUMBER

6. AUTHOR(S)

Jacob C Randall and Jeffrey O Johnson

5d. PROJECT NUMBER

5e. TASK NUMBER

5f. WORK UNIT NUMBER

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES)

US Army Research Laboratory

ATTN: RDRL-CIE-D

White Sands Missile Range, NM 88002

8. PERFORMING ORGANIZATION REPORT NUMBER

ARL-TN-0688

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR'S ACRONYM(S)

11. SPONSOR/MONITOR'S REPORT NUMBER(S)

12. DISTRIBUTION/AVAILABILITY STATEMENT

Approved for public release; distribution unlimited.

13. SUPPLEMENTARY NOTES

14. ABSTRACT

My Weather Impacts Decision Aid (MyWIDA) is a software system that evaluates environmental impacts on air and surface 

combat systems using weather forecasts. The program ingests forecast data and references combat system environmental 

thresholds to determine and display the relevant impacts. MyWIDA is currently deployed on Oracle’s Glassfish application 

server and uses Hyper Structured Query Language (SQL) Database (HSQLDB) for its database. The program is being 

converted to allow it to also be deployed on RedHat’s JBoss application server while using Oracle’s database system. One of 

the drivers of this conversion is that it would allow MyWIDA to be seamlessly integrated into the weather component of the 

Distributed Common Ground System – Army (DCGS–A), a multifaceted intelligence software suite that is a US Army 

program of record. All modules of MyWIDA were successfully deployed on the new application server, with modified build 

scripts and updated web.xml files implemented. Further, the database was created successfully in Oracle after extensive 

editing of the scripts used with HSQLDB. Finally, Oracle database was fully integrated into MyWIDA, enabling the program 

to run on any combination of application server (JBoss or Glassfish) and database (HSQLDB or Oracle).

15. SUBJECT TERMS

MyWIDA, JBoss, Oracle, Glassfish, DCGS–A

16. SECURITY CLASSIFICATION OF:

17. LIMITATION

 OF

 ABSTRACT

UU

18. NUMBER

 OF 

 PAGES

18

19a. NAME OF RESPONSIBLE PERSON

Jacob C Randall

a. REPORT

Unclassified

b. ABSTRACT

Unclassified

c. THIS PAGE

Unclassified

19b. TELEPHONE NUMBER (Include area code)

(575) 678-3834

Standard Form 298 (Rev. 8/98)

Prescribed by ANSI Std. Z39.18
iii

Contents

List of Figures iv

List of Tables iv

Acknowledgments v

Student Biography vi

1. Introduction/Background 1

2. Experiment/Calculations 4

2.1 JBoss Functionality 5

2.2 Oracle Database Functionality 5

3. Results and Discussion 6

3.1 Application Server Benchmarking 6

3.2 Database Benchmarking 6

4. Summary and Conclusions 7

5. References 8

List of Symbols, Abbreviations, and Acronyms 9

Distribution List 10
iv

List of Figures

Fig. 1 MyWIDA Web application after calculating impacts ...........................2

Fig. 2 Impact category ranges..........................................................................2

Fig. 3 3-D view of multiple impact grid layers................................................3

Fig. 4 AIR mapping: Two AIR-generated paths of varying risk .....................4

List of Tables

Table 1 Start times of the application servers and the database scripts’ run 

times.......................................................................................................6

Table 2 MyWIDA load times and query run times.............................................7
v

Acknowledgments

The author wishes to acknowledge the mentorship of Jeffrey Johnson 

(Computational and Information Sciences Directorate [CISD]/US Army Research 

Laboratory [ARL]) and additional technical guidance by Pieter Haines.

Additionally the author would like to thank Jenny Weathers and Dave Sauter for 

their help reviewing and editing this report.
vi

Student Biography

Jacob Randall is entering his senior year at Arizona State University, pursuing a 

major in Computer Systems Engineering and a minor in Biology. Additionally, he 

is a member of Barrett, the Honors College. This is Jacob’s first taste of industry 

experience, but he does have research experience with Hadoop applications in 

genetics. After graduating he hopes to find a way to combine his computer 

engineering knowledge, perhaps focusing on embedded systems, with his biology 

background. 
1

1. Introduction/Background

My Weather Impacts Decision Aid (MyWIDA) is a program that uses forecast data 

to evaluate environmental impacts on given air and surface systems. The air and 

surface systems (i.e., assets), are imported from a set of rules provided by the user. 

These rules specify the various system engineering limitations on the asset, and are 

compared to the forecast data to determine the impacts on the asset. In addition to 

selecting the desired forecast model, which determines the area and resolution of 

the forecast, users can select the height layers and time periods to assess 

(Brandt et al. 2013). 

As seen in Fig. 1, after importing the rules and selecting the desired parameters, the 

program outputs 3 separate windows of information. The window in the bottom left 

shows the overall impact for each asset at each time period assessed. The overall 

impact is determined by evaluating each layer over the entire area of interest (AOI) 

and retrieving the severity of the environmental condition’s impact on the asset. 

Severity is split into 3 categories—Favorable, Marginal, and Unfavorable—shown 

by green, amber, and red, respectively. The overall severity of the impact for each 

forecast is given as the highest severity present at any point on any layer. Severity 

is determined by the percent degradation on the effectiveness of the asset. The 

boundaries of the impact levels, which were obtained from various US Army Field 

Manuals, are displayed in Fig. 2: 20%–25% or less degradation is considered 

favorable, 25%–30% to 70%–75% degradation is considered marginal, and 

70%–75% or greater degradation is considered unfavorable.
2

Fig. 1 MyWIDA Web application after calculating impacts

Fig. 2 Impact category ranges

The individual impact cells in the bottom left box of Fig. 1 bring up a grid overlay 

of the impacts on a map when selected via a left-mouse click. As seen in the upper 

right window of Fig. 1, the color of the determined impact level at the grid 

resolution of the forecast is shown in a 2-dimensional (2-D) map view. Each grid 

cell can be left-mouse clicked, and will enumerate the affected limitations for each 
3

layer in that location—if any—in the bottom right of the display. The overlay works 

in a similar way as the overall impact list. It evaluates the entire column of layers 

selected for each grid cell and displays the impact level of the most severe impact 

present. The impact columns can be visualized with the 3-dimensional (3-D) view 

of the output as represented in Fig. 3. 

Fig. 3 3-D view of multiple impact grid layers

MyWIDA is comprised of 4 primary Web services, the Threshold Evaluation 

Service (TES), the Rule Evaluation Service (RES), the Impact Overlay Service 

(IOS), and the Area of Interest Service (AOIS). For routing through impacts, the 

optional Automated Impacts Routing (AIR) service may be called by MyWIDA 

using the MyWIDA Web application front-end. The AOIS manages the forecast 

models, the data requests, and the post processing of the returned information. The 

TES is responsible for analyzing the forecast data to determine which thresholds 

were exceeded for each asset. The RES manages the impact grids by assessing each 

rule for each asset and sending them to be evaluated by TES, and then returns the 

collection of impacts. The IOS takes the output from RES and creates the overlay 

as a keyhole markup language (kml) file. The AIR provides routing options with 

consideration for environmental factors (e.g., adverse weather) that may affect the 

assets (Johnson 2011). It provides multiple path options with varying levels of risk 

as seen in Fig. 4. 
4

Fig. 4 AIR mapping: Two AIR-generated paths of varying risk

MyWIDA was built for deployment on Oracle’s (formerly Sun’s) Glassfish 

application server with a Hyper Structured Query Language (SQL) Database 

(HSQLDB) and was written primarily in Java. It currently works with Java 6, but 

can be used with Java 5. Additionally, it can run on the latest stable version of 

Glassfish: 4.1, and the latest stable version of HSQLDB: 2.3—though it is shipped 

with 1.8. In an effort to increase the environments in which MyWIDA may be 

deployed and run, the program is being converted to run on Redhat’s JBoss 

application server—EAP 6.4, and for use with Oracle’s database—Oracle 12c. One 

of the specific drivers for this conversion was to allow MyWIDA to be used within 

the weather component of the Distributed Common Ground System–Army

(DCGS–A). DCGS–A is a multifaceted intelligence system and a US Army 

program of record.

2. Experiment/Calculations

The conversion of MyWIDA consisted of 2 primary steps: making it functional on 

JBoss and making it compatible with Oracle’s database. The most challenging 

aspect of the conversion however, was dissecting the program to determine how it 

functioned, from compilation to the actual computational processes. This 

inspection revealed that the major aspect of converting the program for use on 
5

JBoss would be adjusting the build scripts. Further, allowing the program to 

function with Oracle would also require a large overhaul of the HSQLDB build 

scripts.

2.1 JBoss Functionality

MyWIDA build scripts were structured so that there was a primary bash script that 

essentially called all of the “Ant” build files for each module. Looking further into 

the build files revealed that they prepped all of the files and packaged them into 

.war files. Within each .war is a deployment descriptor file named web.xml, which 

is essential to any Web service. More importantly however, is that the content 

requirements of this file can vary depending on the application server used. 

In the case of MyWIDA, the differences between the web.xml files for the 2

application servers was minute. JBoss simply required a specific declaration of the 

servlet and its mapping. To facilitate this change, the build files were rewritten to 

manage the folder structure and web.xml files based on the application server the 

service was built for. This was initially done for the TES service. After successfully 

altering and testing TES and RES with the new build, it was discovered that JBoss 

was able to deploy the remaining services without any further modifications. 

Additionally, the version of RES ported for JBoss was able to run on Glassfish, 

eliminating the need for separate build processes for all of the services except TES. 

Due to the way TES is programmed, it requires separate builds depending on the 

desired application server. This is likely a result of hardcoding the Web Service 

Definition Language (WSDL) file’s location parameters in the source code, but that 

avenue was not fruitful when explored. 

2.2 Oracle Database Functionality

Converting the HSQLDB scripts to Oracle-compatible .sql files was less easily

solved. While both technically use SQL syntax, Oracle has a different 

implementation of what users and schemas mean. This required a more intensive 

overhaul of how users are created and managed with Oracle. Further, some 

datatypes that are used with HSQLDB are not compatible with Oracle. Most 

notably, the VARBINARY datatype is not compatible with Oracle, and instead was 

replaced with the Binary Large Object (BLOB) datatype. Oracle additionally has a 

different implementation of primary keys in conjunction with other minor syntax 

differences. Due to length limitations when inserting strings into Oracle using SQL 

Plus (shipped with Oracle), a small Java program had to be written to facilitate the 

insertions. The final step was altering some properties files in MyWida, changing 
6

the database address, password, etc. With these changes, MyWida was up and 

running—on both application servers—with Oracle as its backend. 

3. Results and Discussion

3.1 Application Server Benchmarking

The adjustment of the web.xml files and the minor build file modifications led to a 

successful deployment of the full program on both JBoss and Glassfish. For 

reference and benchmarking purposes, the startup times of JBoss and Glassfish 

were determined. Both had no services to deploy and were starting up with default 

parameters. On Debian 8, Glassfish took on average approximately 13 seconds (s)

to start, with JBoss starting at an average of about 7 s (Table 1).

Table 1 Start times of the application servers and the database scripts’ run times

App Server Start Glassfish JBoss

13 s 7 s

Database Scripts Oracle HSQLDB

30 min 9 s

3.2 Database Benchmarking

After the successful conversion of the HSQLDB scripts to .sql files that Oracle can 

use, the startup times between HSQLDB and OracleDB were tested. HSQLDB took 

substantially less time (in the half-hour range) to import the scripts than Oracle did. 

However, the vast majority of the data—and what took so long for Oracle to 

import—is not required to run the program right away. That data will be imported, 

deleted, and manipulated in general throughout the use of the program. Further, 

Oracle only needs to run the setup scripts once, as it is a persistent database. 

HSQLDB is an embedded database, thus everything must be created and filled from 

scratch if HSQLDB is stopped at any time. 

Additional speed tests were performed to compare the databases on both application 

servers. The same 3 tests were run on the 4 possible database–application server 

pairings: the time it took to load MyWIDA, and 2 queries. The first query (Test 1 

in Table 2) used the WRF model and ran 3 forecasts on 2 layers for 1 asset. The 

second query (Test 2) used the same model and asset, but ran all 17 possible 

forecasts on all 57 layers. Across the board, Oracle was slower than HSQLDB, most 
7

noticeably when loading MyWIDA and when performing a large request. Test 2 

shows that the speed discrepancy is not a static overhead when using Oracle, as the 

difference is amplified with increased query volume. This is likely a result of 

writing to and reading from the disk rather than having everything stored in memory 

as HSQLDB does. It is possible to setup Oracle so that it stores select data in 

memory, though this feature is only available in Oracle 12c version 12.1.0.2 or 

newer. This avenue has not yet been thoroughly investigated with regards to 

MyWIDA, but at a cursory glance seems it will require more fine-tuning and 

optimization of the database scripts. 

Table 2 MyWIDA load times and query run times

JBoss Load Test 1 Test 2

Oracle 8.2 s 4.1 s 309 s

HSQLDB 1.8 s 2.8 s 22.3 s

Glassfish Load Test 1 Test 2

Oracle 8.4 s 3.1 s 302 s

HSQLDB 2.2 s 1.8 s 19.4 s

Again, despite the slow performance, there are benefits to Oracle’s method. In 

addition to its persistence, its size is virtually unlimited and can handle much larger

sets of information as opposed to HSQLDB. However, the size benefits are mostly

unseen with MyWIDA because its data falls within the limits for HSQLDB.

4. Summary and Conclusions

With the success of deploying MyWIDA on JBoss, all that remains to be done for 

the application server adaptation is to finalize the main build script and standardize 

the Ant build files. This standardization will allow the build script and the 

subsequent .war files to be server independent. It may be possible to further update 

the build script to allow for user selection of the database they intend to use. Initial 

testing of Oracle on JBoss and Glassfish indicate that there are no major issues, but 

it seems that investigating the in-memory option could provide improved 

performance. Further, there may be issues encountered with the specific versions 

of JBoss and Oracle that are being used in DCGS–A, or any other systems using 

older versions of JBoss or Oracle. Previously, older versions of JBoss have caused 

some problems. These issues were not addressed in this conversion due to the use 

of a newer version of JBoss, but are important considerations moving forward.
8

5. References

1. Brandt J, Dawson L, Johnson J, Kirby S, Marlin D, Sauter D, Shirkey R, 

Swanson J, Szymber R, Zeng S. Second generation weather impacts decision 

aid applications and web services overview. White Sands Missile Range (NM): 

Army Research Laboratory (US); 2013 July. Report No.: ARL-TR-6525. Also 

available at

http://www.arl.army.mil/www/default.cfm?technical_report=7446.

2. Johnson J. Atmospheric impacts routing (AIR). White Sands Missile Range 

(NM): Army Research Laboratory (US); 2011 Nov. Report No.: ARL-TR5792. Also available at

http://www.arl.army.mil/www/default.cfm?technical_report=6277.
9

List of Symbols, Abbreviations, and Acronyms

2-D 2-dimensional

3-D 3-dimensional

AIR Automated Impacts Routing

AOI area of interest

AOIS Area of Interest Service

ARL US Army Research Laboratory

BLOB Binary Large Object

CISD Computational and Information Sciences Directorate

DB database

DCGS–A Distributed Common Ground System–Army

HSQLDB Hyper Structured Query Language (SQL) Database

IOS Impact Overlay Service

kml keyhole markup language

MyWIDA My Weather Impacts Decision Aid

RES Rule Evaluation Service

s second(s)

SQL Structured Query Language

TES Threshold Evaluation Service

WSDL Web Service Definition Language
10

1 DEFENSE TECHNICAL

(PDF) INFORMATION CTR

DTIC OCA

2 DIRECTOR

(PDF) US ARMY RSRCH LAB

RDRL CIO LL

IMAL HRA MAIL & RECORDS MGMT

1 GOVT PRINTG OFC

(PDF) A MALHOTRA

4 DIRECTOR

(PDF) US ARMY RESEARCH LAB

 RDRL CIE D

 J JOHNSON

 J RANDALL

 R RANDALL

 P HAINES