JTLS – Global Operations JTLS-GO

Slides:



Advertisements
Similar presentations
Advantage Data Dictionary. agenda Creating and Managing Data Dictionaries –Tables, Indexes, Fields, and Triggers –Defining Referential Integrity –Defining.
Advertisements

ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
IS4401 Project Technology Issues. Introduction This seminar covers Databases When to use a Database What Database to use Development Tools Visual Studio.
Passage Three Introduction to Microsoft SQL Server 2000.
VMware vCenter Server Module 4.
Oracle Application Express Summary. © 2009 Oracle Corporation Oracle APEX Roadmap APEX Introduced Interactive Reports Basis for Audit Vault Reporting.
Microsoft ® Application Virtualization 4.6 Infrastructure Planning and Design Published: September 2008 Updated: February 2010.
Object Oriented Databases by Adam Stevenson. Object Databases Became commercially popular in mid 1990’s Became commercially popular in mid 1990’s You.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
Linux Operations and Administration
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Module 1: Introduction to Microsoft SQL Server 7.0.

Ihr Logo Data Explorer - A data profiling tool. Your Logo Agenda  Introduction  Existing System  Limitations of Existing System  Proposed Solution.
Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
M ODULE 2 D ATABASE I NSTALLATION AND C ONFIGURATION Section 1: DBMS Installation 1 ITEC 450 Fall 2012.
Data Administration & Database Administration
Virtualization Lab 3 – Virtualization Fall 2012 CSCI 6303 Principles of I.T.
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
Computer Emergency Notification System (CENS)
Team Members Team Members Tim Geiger Joe Hunsaker Kevin Kocher David May Advisor Dr. Juliet Hurtig November 8, 2001.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Java Example Presentation of a Language. Background Conception: Java began as a language for embedded processors in consumer electronics, such as VCR,
Chapter 9: Networking with Unix and Linux. Objectives: Describe the origins and history of the UNIX operating system Identify similarities and differences.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
Oracle Business Intelligence Foundation – Testing and Deploying OBI Repository.
Planning Server Deployments Chapter 1. Server Deployment When planning a server deployment for a large enterprise network, the operating system edition.
9 Copyright © 2004, Oracle. All rights reserved. Getting Started with Oracle Migration Workbench.
2 Copyright © 2008, Oracle. All rights reserved. Building the Physical Layer of a Repository.
11 Copyright © 2009, Oracle. All rights reserved. Enhancing ETL Performance.
Fundamental of Databases
Unit 3 Virtualization.
Virtualization for Cloud Computing
Guide to Operating Systems, 5th Edition
Extended Operating System Support
Chapter 6: Securing the Cloud
Let's talk about Linux and Virtualization in 'vLAMP'
Development Environment
InGenius Connector Enterprise Microsoft Dynamics CRM
Working in the Forms Developer Environment
What are they? The Package Repository Client is a set of Tcl scripts that are capable of locating, downloading, and installing packages for both Tcl and.
Netscape Application Server
N-Tier Architecture.
Database System Concepts and Architecture
Prepared by: Assistant prof. Aslamzai
Azure Hybrid Use Benefit Overview
A technical look at new capabilities and features
PHP / MySQL Introduction
Migrating Oracle Forms Using Oracle Application Express
Software Architecture in Practice
Introduction to Cloud Computing
Introduction of Week 3 Assignment Discussion
Customization Guidelines for BMC Remedy IT Service Management 7.5
System And Application Software
Networks Software.
Guide to Operating Systems, 5th Edition
Chapter 2: The Linux System Part 1
Using JDeveloper.
Automating and Validating Edits
Customization Guidelines for BMC Remedy IT Service Management 7.5
Chapter 2: Operating-System Structures
Chapter 2: Operating-System Structures
David Cleverly – Development Lead
JTLS-GO 6.0 PostgreSQL Information
Presentation transcript:

JTLS – Global Operations JTLS-GO March 2008 JTLS – Global Operations JTLS-GO PostgreSQL As Oracle Alternative Zafer M. AKTAN ROLANDS & ASSOCIATES Corporation (R&A) ROLANDS & ASSOCIATES Corporation 1

Copyright 2017, ROLANDS & ASSOCIATES Corporation Introduction PostgreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture. It runs on all major operating systems, including Linux, UNIX and Windows.  It is fully ACID compliant to ensure data integrity. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 2

Copyright 2017, ROLANDS & ASSOCIATES Corporation Introduction (continued) PostgreSQL has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages). It includes most SQL:2008 data types. It has native programming interfaces for C/C++, Java, .Net, Python, Perl, ODBC, among others and its own PL/pgSQL. It supports storage of binary large objects. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 3

Copyright 2017, ROLANDS & ASSOCIATES Corporation Introduction (continued) The PostgreSQL license gives users the freedom to use, modify and distribute PostgreSQL in any form they like, open or closed source.  Any modifications, enhancements, or changes you make are yours to do with as you please. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 4

Copyright 2017, ROLANDS & ASSOCIATES Corporation Introduction (continued) PostgreSQL is also a development platform upon which to develop in-house, web, or commercial software products that require a capable, powerful RDBMS.  Today, PostgreSQL 9.x has a DISA STIG available allowing it be deployed in secure environments. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 5

Copyright 2017, ROLANDS & ASSOCIATES Corporation Introduction (continued) We first proposed utilizing PostgreSQL to support our JTLS-GO database tools in 2004, but given that there were security related concerns at the time, we have continued using Oracle as the database server. We were recently tasked to investigate using PostgreSQL as Oracle alternative. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 6

Copyright 2017, ROLANDS & ASSOCIATES Corporation Current Oracle RDBMS Utilization in JTLS-GO We currently utilize Oracle RDBMS in two separate segments in JTLS-GO: To support JTLS-GO scenario building process, prior to the GAME starts. To support Scenario Data Repository (SDR) clients, such as After-Action Review (AAR), during GAME execution. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 7

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle in Supporting JTLS-GO Scenario Building Process The JTLS-GO Database Development System (DDS) is a combination of Linux shell scripts, Oracle SQL scripts, a customized module of the Oracle GlassFish J2EE application server, and a Java Rich Internet Application client (DDSC) which is deployed through the Java Web Start. This system interacts with a certified Oracle database server and requires an Oracle account to be provisioned for the corresponding JTLS-GO scenario. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 8

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle in Supporting JTLS-GO Scenario Building Process (Continued) JTLS-GO scenario data resides in the database tables of the corresponding Oracle account. A JTLS-GO scenario builder can access the related JTLS-GO scenario data in Oracle to view or edit these data using the web- enabled Database Development Client (DDSC) application. The DDSC application includes many custom- build functionality. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 9

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle in Supporting JTLS-GO Scenario Building Process (Continued) The developed JTLS-GO scenario can then be unloaded to ASCII files to be processed by the Scenario Verification Program (SVP). JTLS-GO scenario builder will then address the error and warnings reported by the SVP. This scenario error and warning checking and correcting process will continue until the scenario will fulfill the goals of the target event. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 10

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle in Supporting JTLS-GO Scenario Building Process (Continued) The scenario development process can be supplemented with our custom build Java applications JTLS-GO Order of Battle Editor (JOBE) and JOBE Interface Navigator (JINN). This summarizes the JTLS-GO scenario building process and how Oracle RDBMS is utilized by our database development tools. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 11

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle in Supporting JTLS-GO Scenario Building Process (Continued) The freely available Oracle Express Edition (also known as 11gR2 XE) is currently sufficient in supporting the JTLS-GO scenario building process. Our DDS related Oracle database schema was architected not to utilize any of the advanced capabilities which are available in either the Standard Edition or in the Enterprise Edition of Oracle RDBMS. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 12

Oracle in Supporting JTLS-GO SDR (Scenario Data Repository) Applications JTLS-GO Scenario Data Repository (SDR) September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 13

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle in Supporting JTLS-GO SDR Applications (Continued) Between these three SDR client programs, only the AARC can collect more than 11Gb of data, which is the maximum allowed user data limit of the freely available Oracle Express Edition (XE), during an exercise or training event. In addition to the user data limit of 11Gb, the freely available Oracle Express Edition has other limitations such as the capped memory size (SGA+PGA) and that it cannot be patched. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 14

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle in Supporting JTLS-GO SDR Applications (Continued) Because of the limitations of the freely available Oracle Express Edition, we do not recommend using it to host the AAR data during a JTLS-GO event. The Oracle Standard Edition TWO (SE2) version should be used instead and it is sufficient to host the JTLS-GO AAR data and support other SDR clients as well. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 15

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle in Supporting JTLS-GO SDR Applications (Continued) It should be noted that using the JTLS-GO Scenario Data Repository client applications is not a requirement to execute JTLS-GO. The JTLS-GO users should evaluate the added value of utilizing any of the SDR clients, which are mutually exclusive from each other. If SDR clients are not utilized during the GAME, then no Oracle RDMBS installation is required in the JTLS-GO runtime environment. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 16

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migrations The official technical term in database literature from moving from one database server product to another is called "migration". The cost is the most obvious reason and also the benefit of migrating from Oracle RDBMS to PostgreSQL. The PostgreSQL License, which is like a combination of BSD and MIT open source licenses, gives users the freedom to use, modify and distribute. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 17

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migrations (Continued) Some of the commercial relational databases are including newer Enterprise Level features in their high-end products only. Increasing popularity of the Cloud and virtualization technologies, in support of Platform as a Service (PaaS) or Infrastructure as a Service (IaaS) software deployments, also brought different licensing challenges, especially when it comes to Oracle Software. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 18

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migrations (Continued) Oracle RDMBS licensing challenges in the Cloud and virtualized environments created new opportunities for companies like Amazon and EnterpriseDB and many others, which provides services and software based on the popular PostgreSQL RDBMS. Examples: Amazon Redshift (based on PostgreSQL 8.0.2), Amazon RDS service (for PostgreSQL), EnterpriseDB (with their commercial EDB Advanced Server), OpenSCG (services and support), And many others... September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 19

Copyright 2017, ROLANDS & ASSOCIATES Corporation Benefits of Migrating to PostgreSQL The most obvious benefit of migrating to PostgreSQL is cost. The ability to create technical solutions based on need not licensing. Avoid deploy things sub-optimally to save money on licenses instead of the right technical solution. The case when moving your applications to virtualized servers and to Cloud based services. That could also mean not updating to newer hardware because the newer servers all have more occupied sockets and cores than the previous generation. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 20

Copyright 2017, ROLANDS & ASSOCIATES Corporation When to Migrate and Migration Life Cycle All too often people took to migrate to PostgreSQL from Oracle when they are up for a license renewal. However, at that point it is too late. A migration does not happen overnight. The most time consuming and intensive part of a data migration project is actually testing the application. Continuity is also a challenge in Oracle to PostgreSQL migration projects. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 21

Copyright 2017, ROLANDS & ASSOCIATES Corporation When to Migrate and Migration Life Cycle (Continued) Migrating an application is more than just converting some stored procedures to a new syntax. The full life cycle spans from several months to a year after you have moved to production. The behavior of a PostgreSQL database is different than Oracle and it is not until your application is running in production, even if your application goes through vigorous tests, that you really understand the maintenance required. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 22

Copyright 2017, ROLANDS & ASSOCIATES Corporation JTLS Database Tools as Migration Candidates Oracle Database Express Edition (Oracle Database XE) is an entry-level, small-footprint database based on the Oracle Database 11g Release 2 version. It's free to develop, deploy, and distribute; fast to download; and simple to administer. JTLS-GO Database Development System (DDS) for scenario building requires only the freely available Oracle Express Edition (XE).  Oracle Personal Edition can also be used if there is only a single JTLS-GO scenario builder in the team. Only the After-Action Review client requires Oracle Standard Edition 2 (SE2) version at GAME runtime. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 23

Copyright 2017, ROLANDS & ASSOCIATES Corporation JTLS Database Tools as Migration Candidates (Continued) Currently, the Oracle Standard Edition 2 (SE2) license on a single socket bare metal server box is listed on https://shop.oracle.com as $7,350 ($3500 for the processor license + $3850 for first year support) for 1 year. A prominent company which provides Oracle to PostgreSQL migration services, support and training, including conferences around the world, states the following in one of their white papers: "If your application is happily using Standard Edition 2 on a server with only a couple of cores, it just does not make financial sense to move to PostgreSQL." September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 24

Copyright 2017, ROLANDS & ASSOCIATES Corporation JTLS Database Tools as Migration Candidates (Continued) However, given that Oracle licensing is different and convoluted especially for those virtualizing technologies that are not "certified" by Oracle Corporation in Cloud deployments, using Oracle Standard Edition 2 (SE2) for a single Virtual machine (or appliance) might not be possible (from licensing point of view). September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 25

Copyright 2017, ROLANDS & ASSOCIATES Corporation JTLS Database Tools as Migration Candidates (Continued) A possibly more compelling long-term benefit of using PostgreSQL as a replacement of Oracle to support JTLS-GO database tools, is the ability to create technical solutions based on need not licensing and data space limitations. We have architected our DDS and SDR database schemas not to utilize any of the advanced features, capabilities, utilities available only in the commercial offerings of Oracle RDBMS (Standard Edition 2 (SE2) or Enterprise Edition EE). September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 26

Copyright 2017, ROLANDS & ASSOCIATES Corporation JTLS Database Tools as Migration Candidates (Continued) However, this can also be a limitation for future advancements in our database tools. For example, if we want to add geographic information system (GIS) support to our database tools, then we cannot use the freely available Oracle Express Edition or the Standard Edition. The Oracle Spatial is only available as an extension to Oracle Enterprise Edition (which is very expensive). This is one of the reasons why NATO's LOGFAS (Logistics Functional Area Services) is using PostgreSQL. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 27

Copyright 2017, ROLANDS & ASSOCIATES Corporation Quick Benchmark with PostgreSQL and JTLS-GO Scenario Data There are not many if any PostgreSQL versus Oracle RDBMS benchmarking documentation available. However, the official organization called Transaction Processing Performance Council (www.tpc.org) published a document and the related user's guide for their benchmark (TPCx-V) which measures the performance of a server running virtualized databases, which uses PostgreSQL as the RDBMS in the test. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 28

Copyright 2017, ROLANDS & ASSOCIATES Corporation Quick Benchmark with PostgreSQL and JTLS-GO Scenario Data  There are not many if any PostgreSQL versus Oracle RDBMS benchmarking documentation available. However, the official organization called Transaction Processing Performance Council (www.tpc.org) published a document and the related user's guide for their benchmark (TPCx-V) which measures the performance of a server running virtualized databases, which uses PostgreSQL as the RDBMS in the test. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 29

Copyright 2017, ROLANDS & ASSOCIATES Corporation Summary of Our Benchmark Test Environment (JTLS-GO 5.0.8.0 release was used) Host System: Ubuntu 16.04 LTS (64bit) with single-socket Intel Core i7-3770 CPU @ 3.4 GHz Virtual Machine: VMware Workstation Pro 12.5.7, 20Gb of memory, 4 cores, 120 Gb of disk space, Oracle Linux 6.9 with UEK 4.1.12. Kernel settings were optimized automatically by Oracle Express Edition rpm installation. In addition, vm.swappiness was set to 10 to minimize swapping. Huge Pages was enabled, Transparent Huge Pages was disabled. 11g Oracle Express Edition (XE) was installed and configured (for connections from the JTLS-GO account) using default ports. PostgreSQL 9.6.4 (with pgbouncer) was installed and configured (for connections from the JTLS-GO account) using default ports. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 30

Copyright 2017, ROLANDS & ASSOCIATES Corporation Summary of Our Benchmark Test Environment (Continued) For the quick benchmark testing, we have selected the terrain_grid_layers data (31945 rows, 8 columns  per record) and the phl_tgc data (3562128 rows, 4 columns per record) from our SDBKOR50 standard scenario. The test related user account was created / provisioned in both PostgreSQL 9.6.4 and Oracle Express Edition.   We first tested the data loading speeds in PostgreSQL 9.6.4 from within  the JTLS-GO account. Converted both the terrain_grid_layers and phl_tgc tables from Oracle to PostgreSQL syntax and created simple .sql scripts to execute against PostgreSQL database from within the JTLS-GO account. Copied both the terrain_grid_layers and phl_tgc ascii scenario data into comma delimited CSV files for PostgreSQL data load testing using simple awk script statements. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 31

Copyright 2017, ROLANDS & ASSOCIATES Corporation Summary of Our Benchmark Test Environment (Continued) Set the timing on in PostgreSQL  Created the tables and loaded the data into PostgreSQL from within the JTLS-GO (5.0.8.0) account. Details (used commands, creation, load and query timings) are available. Obtaining the data load speeds to Oracle Express Edition from within the JTLS-GO account was also easy.  Currently the data loading process under JTLS-GO is utilizing Oracle's SQL*Loader (sqlldr) utility, which is available under Oracle Express Edition as well. We have tuned the Oracle SQL*Loader to dynamically set the commit intervals dynamically based on the existing record size. The SQL*Loader process generates a .log file for each ascii data file it loads into Oracle database. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 32

Copyright 2017, ROLANDS & ASSOCIATES Corporation Summary of Our Benchmark Test Environment (Continued) The data load speeds for the PHL_TGC data, which had 3562128 records in 3 columns (133Mb file size) were:   PostgreSQL 9.6.4: 33.57 seconds Oracle XE (11gR2): 53.91 seconds September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 33

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migration Challenges for JTLS-GO Currently there are many publications, white papers and presentations available from the Internet and from the companies which provide migration services, support and tools, documents the possible challenges of an Oracle to PostgreSQL migration project. Some of those challenges might become easier when we utilize currently available conversion tools. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 34

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migration Challenges for JTLS-GO Between the JTLS-GO Scenario Data Repository (SDR) and the Database Development System (DDS) Oracle database schema's, the SDR (SDC, OEC and AARC clients) related database objects would be the easiest to migrate given that there is really not much of a "relational design" in the related schema.  September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 35

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migration Challenges for JTLS-GO (Continued) The SDC and OEC database tables are mutually exclusive and with no relationships and no other specific database objects other than the tables. The AARC tables have some child fields to a generic Object Lookup table, has some sequences, couple triggers, etc. Also, the bitmap indexes (a capability only available in the Enterprise Edition of Oracle RDBMS) can be replaced with similar capability in PostgreSQL.  September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 36

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migration Challenges for JTLS-GO (Continued) The Oracle Pro*C code is the most challenging part of the SDR migration from Oracle to PostgreSQL - given there is no Pro*C in PostgreSQL. However, there is a way to write embedded SQL statements in C code, which needs to be investigated and implemented for SDC, OEC and AARC client programs.  PostgreSQL provides an extensive C Language API to write embedded SQL with C programs.  September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 37

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migration Challenges for JTLS-GO (Continued) The JTLS-GO Database Development System (DDS) will be the most challenging part of the Oracle to PostgreSQL migration project, given that since the migration from Oracle iAS to GlassFish and Java, our database schema (since version 4.0 of JTLS) has become more and more complex.  September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 38

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migration Challenges for JTLS-GO (Continued) We do have stored procedures, for renaming, for populating certain child tables. We do have flashback version queries, utilized heavily by the GlassFish middle tier API's which are the foundation of data synchronization among DDSC's. We need to find an alternative solution applicable when PostgreSQL is used. We do have custom database triggers to support populating and managing dynamic lookup tables such as the UNIT table or the TARGET tables. We do have custom triggers in conjunction with custom stored procedures to support the renaming of the named primary key column values - such as unit names, aircraft class names, etc. We do have custom triggers to manage other Foreign Key (FK) related checks, etc. in our DDS database schema. In addition to all the custom database objects in our DDS Oracle database schema, we do have Oracle imposed restrictions such as not being able to have "ON UPDATE UPDATE" keys – which does not exist in Oracle but does exist in PostgreSQL database, which will allow us to do the renaming in a different way, and by doing so - impacting our existing stored procedures, triggers, etc. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 39

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migration Challenges for JTLS-GO (Continued) We also do have many shell scripts that utilizes Oracle database utilities, such as sqlldr (SQL*Loader) which allows us to load ascii JTLS-GO scenario data files into related Oracle database tables. All of those scripts need to be revisited, modified to accommodate PostgreSQL database server related alternatives.  Some of the capabilities in our Java code such as parsing the tnsnames.ora file, which would not exist under PostgreSQL implementation, needs to be modified as well. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 40

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migration Challenges for JTLS-GO (Continued) All the GlassFish related API's need to be revisited to ensure that they do work against the PostgreSQL database. Our scenario data modification process from an older JTLS-GO version to the current JTLS-CO version, also needs to be revisited and modified based on the new PostgreSQL instead of the legacy use of Oracle. To support the new RDBMS, the ascii file structures might need to be changed accordingly and an external application might need be developed for the scenario conversion process. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 41

Copyright 2017, ROLANDS & ASSOCIATES Corporation Oracle to PostgreSQL Migration Challenges for JTLS-GO (Continued) In addition to all these initial assessments based of our expertise with the Oracle database server and some generic knowledge on PostgreSQL, we need to stress that initial work in an Oracle to PostgreSQL migration project will require an exponential learning curve in DBA matters as well, such as installation, configuration, customization, documentation, supporting our JTLS-GO users, etc. should be added to the time required for such a migration project as well. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 42

Copyright 2017, ROLANDS & ASSOCIATES Corporation Using EDB Advanced Server Instead of PostgreSQL The company EnterpriseDB claims that their EDB Advanced Server product, which is based on the core PostgreSQL with added custom tools, utilities, capabilities of their own (such as EDB*Loader, EDB*Plus, EDB*OCI, EDB*Wrap, PL/SQL native support, etc.), provides 90% Oracle compatibility and therefore, faster migrations. However, EDB Advanced Server product is not free and has a special universal core based licensing model.  It has 4 minimum cores need to be licensed. For each core the universal core licensing cost is $1750 (GSA pricing is available) and offered for 1 year or 3 years terms. This brings the cost for installing EDB Advanced Server on a single quad-core bare metal server for a 1-year term to $7000, which is very close to Oracle Standard Edition 2 (SE2) licensing cost on the very same box. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 43

Copyright 2017, ROLANDS & ASSOCIATES Corporation Using EDB Advanced Server Instead of PostgreSQL (Continued) If there are more cores in that single-socket bare metal server box (given the occupied socket does not have an MCM chip) the licensing cost of EDB Advanced Server will be more than the Oracle Standard Edition 2 (SE2) license (which is based on the occupied socket and not the core count). For virtualized environments deployed via a Cloud provider, the EDB Advanced Server licensing make sense and might save a lot compared to Oracle Enterprise Edition version. Otherwise, even though using EDB Advanced Server might shorten the migration time significantly, switching from one commercial database product to another commercial database, might not be financially feasible for the entire JTLS User's Community. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 44

Copyright 2017, ROLANDS & ASSOCIATES Corporation Conclusion Based on the information presented, our initial assessment of an Oracle to PostgreSQL migration project for our JTLS database tools - including the SDR, DDS and all the middle tier and Java code and shell scripts, would be a year long effort. As an alternative, separating the project and only migrating the SDR components or only the After-Action Review Client (AARC), to eliminate Oracle RDBMS dependency at JTLS-GO runtime, will shorten the project duration. This is why we do recommend that we tackle with the Oracle to PostgreSQL migration project - if tasked - for JTLS 5.2 - instead of the JTLS 5.1 version.. September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 45

Copyright 2017, ROLANDS & ASSOCIATES Corporation Questions September 2017 Copyright 2017, ROLANDS & ASSOCIATES Corporation 46