Merge branch 'AIRAVATA-3315-storage-quotas' into develop
diff --git a/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml b/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml
index db9c471..be0741e 100644
--- a/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml
@@ -144,6 +144,7 @@
 keycloak_db_password: "{{ vault_keycloak_db_password }}"
 keycloak_master_account_username: "admin"
 keycloak_master_account_password: "{{ vault_keycloak_master_account_password }}"
+keycloak_vhost_servername: "iamdev.scigap.org"
 
 # Helix
 helix_version: 0.7.1
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/delta/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/delta/vars.yml
new file mode 100644
index 0000000..72403e3
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/delta/vars.yml
@@ -0,0 +1,57 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+# No symlink, user_data_dir is same as real_user_data_dir
+user_data_dir: "{{ real_user_data_dir }}"
+#airavata_django_git_branch: "simccs"
+vhost_servername: "dev.delta-topology.org"
+vhost_ssl: true
+# sudo certbot --apache certonly -d django.simccs.scigap.org
+ssl_certificate_file: "/etc/letsencrypt/live/dev.delta-topology.org/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/dev.delta-topology.org/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/dev.delta-topology.org/privkey.pem"
+
+## Keycloak related variables
+tenant_domain: "dev-delta"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "Dev DELTA"
+#  external:
+#    - name: "Existing Institute Login"
+#      idp_alias: "cilogon"
+
+gateway_id: "dev-delta"
+experiment_data_dir: "{{ user_data_dir }}/django-dev-delta"
+# gateway_data_store_ssh_public_key: "TODO"
+
+portal_email_host: "smtp.gmail.com"
+portal_email_port: 587
+portal_email_tls: true
+portal_email_username: "pga.airavata@gmail.com"
+portal_email_password: "{{ vault_portal_email_password }}"
+admin_emails: "[('SGRC', 'circ-iu-group@iu.edu')]"
+portal_server_email: "{{ portal_email_username }}"
+portal_title: "Dev DELTA Gateway"
+
+...
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/delta/vault.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/delta/vault.yml
new file mode 100644
index 0000000..d7b914f
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/delta/vault.yml
@@ -0,0 +1,15 @@
+$ANSIBLE_VAULT;1.1;AES256
+61323461333234626436643737323133313661383665626165363430616364633834383136326336
+6563313362623566343834396331323738343931663938310a356564333262643139373633363663
+65626535303736366339356363343463363537666231396531313763326236353061306664373763
+6433323463306234620a643336663830303339323566336563646565636562326163306565643039
+30653766336266656234633734393461373864626661336365613835393137313235623734646438
+38613562366430393065616336613635333764396631613839666431313437376435653531343233
+32623763383736666132316537343132613662303865646562313163343036616132383237643439
+35333666366561303738316163636137353935636437653831393862633232643532363435613064
+66633863646239653632393666366432633931323665346164313063373837633030393733626530
+30656231353136616633326635326265626464646661393437616166666265323666613730623038
+34383031636238663832356236353735303630303238353961323538646162633130656430623235
+62623634356339613234613633336132363765633330383465363033363961306266376236636462
+64613561303661333338343832643734663536383834616165336534313961366465646463363531
+3130393161393630636466336666383164353737383266663238
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/interactwel/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/interactwel/vars.yml
index de2824c..362b1c7 100644
--- a/dev-tools/ansible/inventories/scigap/develop/host_vars/interactwel/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/interactwel/vars.yml
@@ -22,6 +22,7 @@
 #airavata_django_git_branch: "simccs"
 #vhost_servername: "django.interactwel.scigap.org"
 vhost_servername: "interactwel.org"
+vhost_server_redirect: "www.interactwel.org"
 vhost_ssl: true
 # sudo certbot --apache certonly -d django.simccs.scigap.org
 ssl_certificate_file: "/etc/letsencrypt/live/interactwel.org/cert.pem"
@@ -33,7 +34,7 @@
   - git+https://github.com/InterACTWEL/interactactwel-django-app.git@{{ interactwel_django_app_branch }}#egg=interactwel-django-app
 
 django_extra_settings:
-  LOGIN_REDIRECT_URL: "/interactwel/"
+  LOGIN_REDIRECT_URL: "/interactwel/#/dashboard"
 
 ## Keycloak related variables
 tenant_domain: "interactwel"
diff --git a/dev-tools/ansible/inventories/scigap/develop/hosts b/dev-tools/ansible/inventories/scigap/develop/hosts
index 5a31dca..9184ea6 100644
--- a/dev-tools/ansible/inventories/scigap/develop/hosts
+++ b/dev-tools/ansible/inventories/scigap/develop/hosts
@@ -37,6 +37,7 @@
 distantr ansible_host=149.165.156.46
 amp ansible_host=149.165.169.129
 geo ansible_host=149.165.156.46
+delta ansible_host=149.165.169.250
 
 [helix]
 149.165.157.37
diff --git a/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml b/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml
index e102856..1ccaecd 100644
--- a/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml
@@ -133,6 +133,7 @@
 keycloak_db_password: "{{ vault_keycloak_db_password }}"
 keycloak_master_account_username: "AiravataAdmin"
 keycloak_master_account_password: "{{ vault_keycloak_master_account_password }}"
+keycloak_vhost_servername: "iam.scigap.org"
 
 # Helix
 helix_version: 0.7.1
@@ -179,4 +180,4 @@
 parser_storage_resource_id: "pgadev.scigap.org_7ddf28fd-d503-4ff8-bbc5-3279a7c3b99e"
 parser_broker_publisher_id: "ParserProducer"
 
-usage_reporting_key: "{{ vault_usage_reporting_key }}"
\ No newline at end of file
+usage_reporting_key: "{{ vault_usage_reporting_key }}"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vars.yml
new file mode 100644
index 0000000..89ee503
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vars.yml
@@ -0,0 +1,50 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+
+vhost_servername: "bcbportal.medicine.iu.edu"
+vhost_ssl: True
+ssl_certificate_file: "/etc/letsencrypt/live/bcbportal.medicine.iu.edu/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/bcbportal.medicine.iu.edu/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/bcbportal.medicine.iu.edu/privkey.pem"
+
+## Keycloak related variables
+tenant_domain: "bcbportal"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "BCB Gateway"
+  external:
+    - name: "Existing Institution Credentials"
+      idp_alias: "cilogon"
+      logo: "images/cilogon-logo-24x24-b.png"
+
+gateway_id: "bcbportal"
+experiment_data_dir: "{{ user_data_dir }}/bcbportal"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1WOyu47oKrRhIBUGI5aJsFk4wxCEgf3DzFdlYrWbGacfEETbE1Cxe8Tdj5TevIflui+HWJq5quHkMiZtHhGZbC4JMDKlzJaBn5vHpEAWtyvCXglkpu+Q+/XGLOwqy4XGa4rdf/CXvuWgc5+XCBb++A/eBswQVPt4C631Xsym7LA1NQXK3XxJApP/2IHnWtJI2d9g5TnzH8Oa99d146KmAKMl73lsCZtC1saBtGRsggJ7dRal7ush3XqiNCMgWPM8QU0ogbOBXDUZKRGAoY+frDaJdA3eQISiRRknpFyZwWcXU0CGnqaBiJdJEGYKLMvP9qBz/juN8jKMBkEJLGU1/"
+
+admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu')]"
+portal_title: "BCB Gateway"
+
+...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vault.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vault.yml
new file mode 100644
index 0000000..10fca2e
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vault.yml
@@ -0,0 +1,15 @@
+$ANSIBLE_VAULT;1.1;AES256
+37363331613634613338653765396530323736643632373337316566316264396336653438383363
+3239343432316164313766303666663262333661313463320a623932623035623663653036383531
+37393266636235666164303536376539313439333363643365353763613064353539616139313061
+3632646637386336370a373731613138346465666638343737323066393436313534626566303863
+37643931663630313930353763343764353264623964396434653530616435313633633133643135
+34313032363134613964386532333062623532623430396665323935393534333635363131613233
+64386661336566393234646461376434636261373165663034303163303764323965346561633636
+62336464623061643533333834356435306365353432626631386135646265316234323636636465
+33643230653238333838663534663561393565633663383930633239643664373431363764636462
+33313061653034353439616130393438353237353930653534323961333430663834666337643262
+31393966376138313235373838393738346463363530633834373833666664303261343036373834
+65303365346261616664393163303966643432613537383139373965373937323535613461343662
+61653062613335373063326464633630636564326330626332396565386139646164313132633735
+6666666635323639393730303132313931626666623863396464
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/dreg/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/dreg/vars.yml
index 5e43373..56a0f48 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/dreg/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/dreg/vars.yml
@@ -28,6 +28,9 @@
 # Increase max upload size to 1GB
 django_file_upload_max_file_size_mb: 1024
 
+# TODO: while testing dreg-djangoapp, turn off SELinux, but turn it back on
+# once it is installed for real
+httpd_selinux_mode: "permissive"
 # airavata_django_extra_dependencies:
 #   - git+https://github.com/SciGaP/dreg-djangoapp.git@gbrowser#egg=dreg-djangoapp
 
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml
index 3a3e376..40e2091 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml
@@ -20,6 +20,10 @@
 
 ---
 
+# TODO: remove next line once branch is merged to master
+airavata_django_git_branch: "AIRAVATA-3324-custom-input-editor-autocomplete-input-editor"
+airavata_django_extra_dependencies:
+  - "git+https://github.com/bio-miga/miga-autocomplete.git#egg=miga_djangoapp"
 
 vhost_servername: "clades.microbial-genomes.org"
 vhost_ssl: True
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/mines/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/mines/vars.yml
index f318823..62f6f51 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/mines/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/mines/vars.yml
@@ -45,4 +45,5 @@
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Matthew Jones','matjones@mymail.mines.edu')]"
 portal_title: "Mines Quantum Simulation Gateway"
 
+django_google_analytics_tracking_id: "UA-166738649-1"
 ...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml
index b71354d..f83b413 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml
@@ -21,11 +21,11 @@
 ---
 
 
-vhost_servername: "physicell.scigap.org"
+vhost_servername: "gateway.physicell.org"
 vhost_ssl: True
-ssl_certificate_file: "/etc/letsencrypt/live/physicell.scigap.org/cert.pem"
-ssl_certificate_chain_file: "/etc/letsencrypt/live/physicell.scigap.org/fullchain.pem"
-ssl_certificate_key_file: "/etc/letsencrypt/live/physicell.scigap.org/privkey.pem"
+ssl_certificate_file: "/etc/letsencrypt/live/gateway.physicell.org/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/gateway.physicell.org/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/gateway.physicell.org/privkey.pem"
 
 ## Keycloak related variables
 tenant_domain: "physicell"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml
index c6880cf..820ff18 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml
@@ -44,7 +44,7 @@
 experiment_data_dir: "{{ user_data_dir }}/smaltr"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtM2RTAS0ZnwJNjYEWjvt2JArjyoCZQzBJlXYvqeRyYTQPeSTH5nJP1VCkpJ4a7B44gHkcKGORkvNd+PrW7An8otTIGlXfbwn5L20CeKPsk6fWwF99fU4JFvakNANgAfefsQ3OrTgBBvZWkKeK7JztMHbEZw+SJoPZnjlxoKRib/Ymt6Bo/gh833eHth+Rvp2v3k4DPu6cTsOaTCv45JT8E3dBeERASZNdepKanxiQpz/QZg344JxYYQpJP5zKQ7jmfUphDkwFkp7RlAYgkSVC7yiQSgRqcKR38BXEAMqR/0eax/T1IujDKscSJpS/ibXToOl8qoRDwMStAi6Ym2wx"
 
-admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Aaron Frank' 'afrankz@umich.edu')]"
+admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Aaron Frank', 'afrankz@umich.edu')]"
 portal_title: "SMALTR Gateway"
 
 ...
diff --git a/dev-tools/ansible/inventories/scigap/production/hosts b/dev-tools/ansible/inventories/scigap/production/hosts
index 706cd9c..40c05a2 100644
--- a/dev-tools/ansible/inventories/scigap/production/hosts
+++ b/dev-tools/ansible/inventories/scigap/production/hosts
@@ -62,6 +62,7 @@
 v4i ansible_host=156.56.104.84
 physicell ansible_host=156.56.104.84
 pathogenomics ansible_host=156.56.104.84
+bcbportal ansible_host=156.56.104.84
 
 # dreg jetstream server
 dreg ansible_host=149.165.156.72 ansible_user=centos
diff --git a/dev-tools/ansible/inventories/scigap/staging/group_vars/all/vars.yml b/dev-tools/ansible/inventories/scigap/staging/group_vars/all/vars.yml
index 00f3396..69cdf57 100644
--- a/dev-tools/ansible/inventories/scigap/staging/group_vars/all/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/staging/group_vars/all/vars.yml
@@ -140,6 +140,7 @@
 keycloak_db_password: "{{ vault_keycloak_db_password }}"
 keycloak_master_account_username: "AiravataAdmin"
 keycloak_master_account_password: "{{ vault_keycloak_master_account_password }}"
+keycloak_vhost_servername: "iam.scigap.org"
 
 # Helix
 helix_version: 0.7.1
diff --git a/dev-tools/ansible/keycloak.yml b/dev-tools/ansible/keycloak.yml
index 292a821..8cca98b 100644
--- a/dev-tools/ansible/keycloak.yml
+++ b/dev-tools/ansible/keycloak.yml
@@ -24,6 +24,7 @@
   roles:
     - env_setup
     - java
+    - letsencrypt
     - keycloak
 
-...
\ No newline at end of file
+...
diff --git a/dev-tools/ansible/roles/httpd/defaults/main.yml b/dev-tools/ansible/roles/httpd/defaults/main.yml
index 6c09be4..1317100 100644
--- a/dev-tools/ansible/roles/httpd/defaults/main.yml
+++ b/dev-tools/ansible/roles/httpd/defaults/main.yml
@@ -51,4 +51,11 @@
 
 httpd_default_http_port: 80
 httpd_default_https_port: 443
+
+# httpd_selinux_mode allowed values:
+# - disabled
+# - enforcing
+# - permissive
+# https://docs.ansible.com/ansible/latest/modules/selinux_module.html#parameter-state
+httpd_selinux_mode: "enforcing"
 ...
diff --git a/dev-tools/ansible/roles/httpd/tasks/main.yml b/dev-tools/ansible/roles/httpd/tasks/main.yml
index cb61714..2f7be68 100644
--- a/dev-tools/ansible/roles/httpd/tasks/main.yml
+++ b/dev-tools/ansible/roles/httpd/tasks/main.yml
@@ -1,7 +1,7 @@
 
 # SELinux configuration
 - name: set selinux to enforcing
-  selinux: state=enforcing policy=targeted
+  selinux: state={{ httpd_selinux_mode }} policy=targeted
   become: yes
   when: ansible_os_family == "RedHat"
 
diff --git a/dev-tools/ansible/roles/keycloak/README.md b/dev-tools/ansible/roles/keycloak/README.md
index f6f95d9..42f6bd9 100644
--- a/dev-tools/ansible/roles/keycloak/README.md
+++ b/dev-tools/ansible/roles/keycloak/README.md
@@ -6,9 +6,7 @@
 
 ###Running instructions:
 
-1. Make sure SSL certificates and keystore files are present in roles/keycloak/files directory
-2. Make sure all the variables are configured correctly
-3. Dont use the Database role, rather set up the VM with default version provided by centos, tested with MySql 5.6 & MariaDB 5.5.52), Ansible role for the same is coming soon.
-4. Ensure the host file: `inventories/airavata-iam/hosts` has correct IP address
-4. For Standalone mode deployment : `ansible-playbook -i inventories/airavata-iam airavata-iam-setup.yml -t "standalone"`
-5. For HaCluster mode deployment : `ansible-playbook -i inventories/airavata-iam airavata-iam-setup.yml -t "hacluster"`
\ No newline at end of file
+1. Make sure all the variables are configured correctly
+2. Dont use the Database role, rather set up the VM with default version provided by centos, tested with MySql 5.6 & MariaDB 5.5.52), Ansible role for the same is coming soon.
+3. Ensure the host file: `inventories/airavata-iam/hosts` has correct IP address
+4. For Standalone mode deployment : `ansible-playbook -i inventories/airavata-iam keycloak.yml`
diff --git a/dev-tools/ansible/roles/keycloak/defaults/main.yml b/dev-tools/ansible/roles/keycloak/defaults/main.yml
index a55be33..d94bfe7 100644
--- a/dev-tools/ansible/roles/keycloak/defaults/main.yml
+++ b/dev-tools/ansible/roles/keycloak/defaults/main.yml
@@ -23,13 +23,13 @@
 keycloak_downlaod_url: "https://downloads.jboss.org/keycloak/{{keycloak_version}}/keycloak-{{keycloak_version}}.tar.gz"
 keycloak_install_dir: "keycloak-{{keycloak_version}}"
 keycloak_db_connector_name: "mysql-connector-java-5.1.41"
-keycloak_ssl_keystore_file: "keycloak.jks"
-keycloak_ssl_keystore_file_name: "keycloak.jks"
-keycloak_ssl_keystore_password: "Airavata"
+# keycloak_ssl_keystore_file: "keycloak.jks"
+# keycloak_ssl_keystore_file_name: "keycloak.jks"
+# keycloak_ssl_keystore_password: "Airavata"
 mysql_db_connector_download_url: "https://dev.mysql.com/get/Downloads/Connector-J/{{keycloak_db_connector_name}}.tar.gz"
 keycloak_master_account_username: "username"
 keycloak_master_account_password: "password"
-keycloak_server_port: "443"
+# keycloak_server_port: "443"
 
 keycloak_db_host: "localhost"
 keycloak_db_port: "3306"
@@ -38,4 +38,9 @@
 keycloak_db_username: "username"
 keycloak_db_password: "password"
 keycloak_db_pool_size: "20"
-...
\ No newline at end of file
+
+keycloak_vhost_servername: "changeme.org"
+keycloak_ssl_certificate_file: "/etc/letsencrypt/live/{{ keycloak_vhost_servername }}/cert.pem"
+keycloak_ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ keycloak_vhost_servername }}/fullchain.pem"
+keycloak_ssl_certificate_key_file: "/etc/letsencrypt/live/{{ keycloak_vhost_servername }}/privkey.pem"
+...
diff --git a/dev-tools/ansible/roles/keycloak/files/README.md b/dev-tools/ansible/roles/keycloak/files/README.md
deleted file mode 100644
index 6463636..0000000
--- a/dev-tools/ansible/roles/keycloak/files/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## Generating Keystore for SSL certificates
-
-**Note:** will only work on Mac and Linux
-
-### Files Needed:
-1. SSL certificate for the domain (ex: .cer or .crt or .pem)
-2. Private key used to acquire that SSL Certificate, i.e. key used to create certificate request (.key).
-
-### Process:
-1. Place both file in airavata/dev-tools/roles/keycloak/files
-2. The first step is to convert them into a single PKCS12 file using the following command, You will be asked for various passwords (the password to access the key (if set) and then the password for the PKCS12 file being created): 
-``` 
-openssl pkcs12 -export -in host.crt -inkey host.key > host.p12
-```
-3. Then import the PKCS12 file into a keystore using the command: 
-``` 
-keytool -importkeystore -srckeystore host.p12 -destkeystore keycloak.jks -srcstoretype pkcs12 
-```
-
-###Sample output:
-```$shell
-$ openssl pkcs12 -export -in host.crt -inkey host.key > host.p12
-Enter pass phrase for host.key:
-Enter Export Password:
-Verifying - Enter Export Password:
-```
-```
-$ keytool -importkeystore -srckeystore host.p12 -destkeystore host.jks
--srcstoretype pkcs12
-Enter destination keystore password:  
-Re-enter new password: 
-Enter source keystore password:  
-Entry for alias 1 successfully imported.
-Import command completed:  1 entries successfully imported, 0 entries failed
-or cancelled
-```
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/keycloak/handlers/main.yml b/dev-tools/ansible/roles/keycloak/handlers/main.yml
new file mode 100644
index 0000000..589bdab
--- /dev/null
+++ b/dev-tools/ansible/roles/keycloak/handlers/main.yml
@@ -0,0 +1,26 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+# Gracefully reload httpd
+- name: restart httpd
+  service: name=httpd state=reloaded enabled=yes
+  become: yes
diff --git a/dev-tools/ansible/roles/keycloak/tasks/main.yml b/dev-tools/ansible/roles/keycloak/tasks/main.yml
index ecab7db..44a5506 100644
--- a/dev-tools/ansible/roles/keycloak/tasks/main.yml
+++ b/dev-tools/ansible/roles/keycloak/tasks/main.yml
@@ -19,6 +19,50 @@
 #
 
 ---
+- name: Install httpd
+  yum: name="httpd" state=latest update_cache=yes
+  become: yes
+
+- name: allow httpd to proxy to Keycloak process
+  seboolean:
+    name: httpd_can_network_connect
+    state: yes
+    persistent: yes
+  become: yes
+
+- name: Enable http/s service on public zone (for certbot verification)
+  firewalld: service={{ item }} permanent=true state=enabled zone=public immediate=True
+  with_items:
+    - http
+    - https
+  become: yes
+
+# TODO: it seems like a virtual host config of some type is needed for the following to work
+- name: copy basic virtual host file so certbot can verify domain
+  template: src="basic-vhost.conf.j2" dest=/etc/httpd/conf.d/basic-vhost.conf backup=yes
+  become: yes
+
+- name: start httpd
+  service: name=httpd state=started enabled=yes
+  become: yes
+
+- name: check if SSL certificate exists
+  stat:
+    path: "{{ keycloak_ssl_certificate_file }}"
+  register: stat_ssl_cert_result
+  become: yes
+
+- name: generate certificate if it doesn't exist
+  command: certbot --apache -d {{ keycloak_vhost_servername }} certonly
+  become: yes
+  when: not stat_ssl_cert_result.stat.exists
+
+- name: Add keycloak virtual host config that proxies to the keycloak server
+  template: src="vhost.conf.j2" dest=/etc/httpd/conf.d/keycloak.conf backup=yes
+  become: yes
+  notify:
+    - restart httpd
+
 # Download keycloak distribution
 - name: Download and unarchive keycloak
   unarchive:  src="{{ keycloak_downlaod_url }}"
@@ -79,19 +123,6 @@
 
 # <---------------------------- Server Configuration -------------------------------->
 
-# Only Executed for haCluster mode (Mysql setup & without SSl configuration)
-- name: copy keycloak configuration file (HaCluster)
-  template: >
-    src=standalone-ha.xml.j2
-    dest="{{ user_home }}/{{ keycloak_install_dir }}/standalone/configuration/standalone-ha.xml"
-    owner="{{ user }}"
-    group="{{ group }}"
-    mode="u=rw,g=r,o=r"
-  become: true
-  become_user: "{{ user }}"
-  tags:
-       - hacluster
-
 # Only Executed for standalone mode (SSL Configuration & MySql)
 - name: copy keycloak configuration file (Standalone)
   template: >
@@ -105,36 +136,10 @@
   tags:
        - standalone
 
-# Copy the SSL certificate files to remote
-
-- name: copy ssl certificate files to remote
-  copy:
-    src: "{{keycloak_ssl_keystore_file}}"
-    dest: "{{ user_home }}/{{ keycloak_install_dir }}/standalone/configuration/{{keycloak_ssl_keystore_file_name}}"
-    owner: "{{ user }}"
-    group: "{{ group }}"
-    mode: 0644
-  become: true
-  become_user: "{{ user }}"
-  tags:
-        - standalone
 # </------------------------------ Server Configuration ends ---------------------------->
 
 # <---------- setup init script for keycloak, starts the server after reboot ----------->
 
-# Init script to start keycloak in HaCluster mode
-- name: copy init script file (HaCluster)
-  template: >
-    src=keycloak-hacluster-init.j2
-    dest="/etc/init.d/keycloak"
-    owner="{{ user }}"
-    group="{{ group }}"
-    mode="u=rwx,g=r,o=r"
-  become: yes
-  become_user: root
-  tags:
-       - hacluster
-
 # Init script to start keycloak in Standalone mode
 - name: copy init script file (Standalone)
   template: >
@@ -170,15 +175,6 @@
        - always
 
 
-# <--------------------------open keycloak Identity server firewall port------------------------------>
-- name: open firewall port {{ keycloak_server_port }}
-  firewalld: port="{{ keycloak_server_port }}/tcp"
-             zone=public permanent=true state=enabled immediate=yes
-  become: yes
-  become_user: root
-  tags:
-        - always
-
 # <--------------------------start keycloak Identity server------------------------------>
 - name: reload Keycloak init script
   command: systemctl daemon-reload
@@ -202,4 +198,4 @@
   become_user: root
   tags:
        - always
-...
\ No newline at end of file
+...
diff --git a/dev-tools/ansible/roles/keycloak/templates/basic-vhost.conf.j2 b/dev-tools/ansible/roles/keycloak/templates/basic-vhost.conf.j2
new file mode 100644
index 0000000..da78c4c
--- /dev/null
+++ b/dev-tools/ansible/roles/keycloak/templates/basic-vhost.conf.j2
@@ -0,0 +1,9 @@
+<VirtualHost *:80>
+    ServerName {{ groups['keycloak'][0] }}
+    DocumentRoot "/var/www/html"
+
+    <Directory /var/www/html>
+        Options -Indexes +FollowSymLinks
+        AllowOverride All
+    </Directory>
+</VirtualHost>
diff --git a/dev-tools/ansible/roles/keycloak/templates/standalone.xml.j2 b/dev-tools/ansible/roles/keycloak/templates/standalone.xml.j2
index cf4aebe..bd75c79 100644
--- a/dev-tools/ansible/roles/keycloak/templates/standalone.xml.j2
+++ b/dev-tools/ansible/roles/keycloak/templates/standalone.xml.j2
@@ -45,13 +45,6 @@
                     <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
                 </authorization>
             </security-realm>
-	    <security-realm name="UndertowRealm">
-    		<server-identities>
-        		<ssl>
-            		<keystore path="{{keycloak_ssl_keystore_file_name}}" relative-to="jboss.server.config.dir" keystore-password="{{keycloak_ssl_keystore_password}}" />
-        		</ssl>
-    	    	</server-identities>
-	    </security-realm>
         </security-realms>
         <audit-log>
             <formatters>
@@ -377,8 +370,9 @@
         <subsystem xmlns="urn:jboss:domain:undertow:3.0">
             <buffer-cache name="default"/>
             <server name="default-server">
-                <http-listener name="default" socket-binding="http" redirect-socket="https"/>
-		<https-listener name="https" socket-binding="https" security-realm="UndertowRealm"/>
+                <http-listener name="default" socket-binding="http" redirect-socket="proxy-https" proxy-address-forwarding="true"/>
+                <!-- <http-listener name="default" socket-binding="http" redirect-socket="https"/> -->
+                <!-- <https-listener name="https" socket-binding="https" security-realm="UndertowRealm"/> -->
                 <host name="default-host" alias="localhost">
                     <location name="/" handler="welcome-content"/>
                     <filter-ref name="server-header"/>
@@ -489,7 +483,8 @@
         <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
         <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
         <socket-binding name="http" port="${jboss.http.port:8080}"/>
-        <socket-binding name="https" port="${jboss.https.port:443}"/>
+        <!-- <socket-binding name="https" port="${jboss.https.port:8443}"/> -->
+        <socket-binding name="proxy-https" port="443"/>
         <socket-binding name="txn-recovery-environment" port="4712"/>
         <socket-binding name="txn-status-manager" port="4713"/>
         <outbound-socket-binding name="mail-smtp">
diff --git a/dev-tools/ansible/roles/keycloak/templates/vhost.conf.j2 b/dev-tools/ansible/roles/keycloak/templates/vhost.conf.j2
new file mode 100644
index 0000000..4d7f40d
--- /dev/null
+++ b/dev-tools/ansible/roles/keycloak/templates/vhost.conf.j2
@@ -0,0 +1,52 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+
+<VirtualHost *:80>
+    ServerName {{ keycloak_vhost_servername }}
+    
+    ## Redirect all http traffic to https
+    RewriteEngine On
+    RewriteCond %{HTTPS} off
+    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
+</VirtualHost>
+
+<VirtualHost *:443>
+    ServerName {{ keycloak_vhost_servername }}
+
+    RequestHeader set X-Forwarded-Proto "https"
+    ProxyPass / "http://localhost:8080/"
+    ProxyPassReverse / "http://localhost:8080/"
+    ProxyPreserveHost On
+    # See https://issues.redhat.com/browse/KEYCLOAK-3067 for more info
+    LimitRequestFieldSize 32768
+
+    ErrorLog /var/log/httpd/keycloak.error.log
+    CustomLog /var/log/httpd/keycloak.requests.log combined
+
+    SSLEngine on
+    # Disable SSLv3 which is vulnerable to the POODLE attack
+    SSLProtocol All -SSLv2 -SSLv3
+    # Created cert with certbot:
+    #   certbot --apache certonly -d iamdev.scigap.org
+    SSLCertificateFile {{ keycloak_ssl_certificate_file }}
+    SSLCertificateChainFile {{ keycloak_ssl_certificate_chain_file }}
+    SSLCertificateKeyFile {{ keycloak_ssl_certificate_key_file }}
+</VirtualHost>
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/ArchiveTask.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/ArchiveTask.java
index 2448b29..7d4ffa0 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/ArchiveTask.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/staging/ArchiveTask.java
@@ -106,7 +106,7 @@
 
                     String destParent = destFilePath.substring(0, destFilePath.lastIndexOf("/"));
                     final String storageArchiveDir = "ARCHIVE";
-                    String unArchiveTarCommand = "mkdir " + storageArchiveDir + " && tar -xvf " + archiveFileName + " -C "
+                    String unArchiveTarCommand = "mkdir -p " + storageArchiveDir + " && tar -xvf " + archiveFileName + " -C "
                             + storageArchiveDir + " && rm " + archiveFileName + " && chmod 755 -f -R " + storageArchiveDir + "/*";
                     logger.info("Running Un archiving command on storage resource " + unArchiveTarCommand);
 
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
index d027510..6ec2b67 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
@@ -3,24 +3,10 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.function.Supplier;
 
-import javax.persistence.Cache;
-import javax.persistence.EntityGraph;
-import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.Persistence;
-import javax.persistence.PersistenceUnitUtil;
-import javax.persistence.Query;
-import javax.persistence.SynchronizationType;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.metamodel.Metamodel;
 
-import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
-import org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl;
-import org.apache.openjpa.jdbc.meta.MappingTool;
-import org.apache.openjpa.lib.util.Options;
-import org.apache.openjpa.persistence.ArgumentException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -29,122 +15,6 @@
  */
 public class JPAUtils {
 
-    private static class EntityManagerFactoryWrapper implements EntityManagerFactory {
-
-        private final EntityManagerFactory factory;
-        private final JDBCConfig jdbcConfig;
-
-        EntityManagerFactoryWrapper(EntityManagerFactory factory, JDBCConfig jdbcConfig) {
-            this.factory = factory;
-            this.jdbcConfig = jdbcConfig;
-        }
-
-        @Override
-        public EntityManager createEntityManager() {
-            return wrapCreateEntityManager(() -> this.factory.createEntityManager());
-        }
-
-        @Override
-        public EntityManager createEntityManager(Map map) {
-            return wrapCreateEntityManager(() -> this.factory.createEntityManager(map));
-        }
-
-        @Override
-        public EntityManager createEntityManager(SynchronizationType synchronizationType) {
-            return wrapCreateEntityManager(() -> this.factory.createEntityManager(synchronizationType));
-        }
-
-        @Override
-        public EntityManager createEntityManager(SynchronizationType synchronizationType, Map map) {
-            return wrapCreateEntityManager(() -> this.factory.createEntityManager(synchronizationType, map));
-        }
-
-        private EntityManager wrapCreateEntityManager(Supplier<EntityManager> entityManagerSupplier) {
-
-            try {
-                return entityManagerSupplier.get();
-            } catch (ArgumentException e) {
-
-                Map<String, String> finalProperties = new HashMap<>(JPAUtils.DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES);
-                finalProperties.putAll(JPAUtils.createConnectionProperties(this.jdbcConfig));
-                JDBCConfiguration jdbcConfiguration = new JDBCConfigurationImpl();
-                jdbcConfiguration.fromProperties(finalProperties);
-
-                Options options = new Options();
-                options.put("sqlFile", "migration.sql");
-                // If you want to generate the entire schema instead of just what is
-                // needed to bring the database up to date, use schemaAction=build
-                // options.put("schemaAction", "build");
-                options.put("foreignKeys", "true");
-                options.put("indexes", "true");
-                options.put("primaryKeys", "true");
-                try {
-                    MappingTool.run(jdbcConfiguration, new String[] {}, options, null);
-                } catch (Exception mappingToolEx) {
-                    logger.error("Failed to run MappingTool", mappingToolEx);
-                    throw new RuntimeException(
-                            "Failed to get EntityManager, then failed to run MappingTool to generate migration script",
-                            e);
-                }
-                throw new RuntimeException("Failed to get EntityManager, but successfully executed "
-                        + "MappingTool to generate migration script (to file named "
-                        + "migration.sql) in case the error was caused by the database "
-                        + "schema being out of date with the mappings", e);
-            }
-        }
-
-        @Override
-        public CriteriaBuilder getCriteriaBuilder() {
-            return this.factory.getCriteriaBuilder();
-        }
-
-        @Override
-        public Metamodel getMetamodel() {
-            return this.factory.getMetamodel();
-        }
-
-        @Override
-        public boolean isOpen() {
-            return this.factory.isOpen();
-        }
-
-        @Override
-        public void close() {
-            this.factory.close();
-        }
-
-        @Override
-        public Map<String, Object> getProperties() {
-            return this.factory.getProperties();
-        }
-
-        @Override
-        public Cache getCache() {
-            return this.factory.getCache();
-        }
-
-        @Override
-        public PersistenceUnitUtil getPersistenceUnitUtil() {
-            return this.factory.getPersistenceUnitUtil();
-        }
-
-        @Override
-        public void addNamedQuery(String name, Query query) {
-            this.factory.addNamedQuery(name, query);
-        }
-
-        @Override
-        public <T> T unwrap(Class<T> cls) {
-            return this.factory.unwrap(cls);
-        }
-
-        @Override
-        public <T> void addNamedEntityGraph(String graphName, EntityGraph<T> entityGraph) {
-            this.factory.addNamedEntityGraph(graphName, entityGraph);
-        }
-
-    }
-
     private final static Logger logger = LoggerFactory.getLogger(JPAUtils.class);
     private final static Map<String, String> DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES;
     static {
@@ -192,11 +62,10 @@
         Map<String, String> finalProperties = new HashMap<>(DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES);
         finalProperties.putAll(createConnectionProperties(jdbcConfig));
         finalProperties.putAll(properties);
-        return new EntityManagerFactoryWrapper(
-                Persistence.createEntityManagerFactory(persistenceUnitName, finalProperties), jdbcConfig);
+        return Persistence.createEntityManagerFactory(persistenceUnitName, finalProperties);
     }
 
-    private static Map<String, String> createConnectionProperties(JDBCConfig jdbcConfig) {
+    public static Map<String, String> createConnectionProperties(JDBCConfig jdbcConfig) {
         String connectionProperties = "DriverClassName=" + jdbcConfig.getDriver() + "," + "Url=" + jdbcConfig.getURL()
                 + "?autoReconnect=true," + "Username=" + jdbcConfig.getUser() + "," + "Password="
                 + jdbcConfig.getPassword() + ",validationQuery=" + jdbcConfig.getValidationQuery();
diff --git a/modules/ide-integration/README.md b/modules/ide-integration/README.md
index 5a5149a..4eead3a 100644
--- a/modules/ide-integration/README.md
+++ b/modules/ide-integration/README.md
@@ -57,6 +57,12 @@
   docker-compose up
   ```
 
+* Apply any database migrations. Go to src/main/resources directory and run
+
+  ```
+  cat ./database_scripts/init/*-migrations.sql | docker exec -i resources_db_1 mysql -p123456
+  ```
+
 * Wait until all the services come up. This will initialize all utilities required to start Airavata server
 
 ### Starting API Server
diff --git a/modules/ide-integration/src/main/resources/META-INF/generate-sql-persistence.xml b/modules/ide-integration/src/main/resources/META-INF/generate-sql-persistence.xml
deleted file mode 100644
index 944413d..0000000
--- a/modules/ide-integration/src/main/resources/META-INF/generate-sql-persistence.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-<!--*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-* -->
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
-    <!-- openjpa:sql doesn't work well with multiple persistence-unit's in persistence.xml, so
-    use this single persistence-unit persistence.xml to list any classes for which SQL schema
-    generation is desired -->
-    <persistence-unit name="generate-sql">
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.HandlerInputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.HandlerOutputEntity</class>
-    </persistence-unit>
-</persistence>
diff --git a/modules/ide-integration/src/main/resources/META-INF/persistence.xml b/modules/ide-integration/src/main/resources/META-INF/persistence.xml
deleted file mode 100644
index f9688f4..0000000
--- a/modules/ide-integration/src/main/resources/META-INF/persistence.xml
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0"?>
-<!--*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-* -->
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
-    <persistence-unit name="appcatalog_data_new">
-        <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GridftpDataMovementEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ResourceJobManagerEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationModuleEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationDeploymentEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationInterfaceEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GatewayGroupsEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GatewayProfileEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.StorageResourceEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ScpDataMovementEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.SshJobSubmissionEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GlobusSubmissionEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GsisshSubmissionEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GridftpEndpointEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourcePreferenceEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.JobSubmissionInterfaceEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.DataMovementInterfaceEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.StorageInterfaceEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.LocalSubmissionEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GlobusGkEndpointEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.UnicoreDatamovementEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.UnicoreSubmissionEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GsisshPostjobcommandEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GsisshPrejobcommandEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GsisshExportEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.LibraryApendPathEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.LibraryPrependPathEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.AppEnvironmentEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.PrejobCommandEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.PostjobCommandEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.AppModuleMappingEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationInputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationOutputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.BatchQueueEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceFileSystemEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.CloudJobSubmissionEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.JobManagerCommandEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ParallelismCommandEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.LocalDataMovementEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.StoragePreferenceEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.SSHAccountProvisionerConfiguration</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.BatchQueueResourcePolicyEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourcePolicyEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GroupComputeResourcePrefEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GroupSSHAccountProvisionerConfig</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.GroupResourceProfileEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ModuleLoadCmdEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.UserResourceProfileEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.UserComputeResourcePreferenceEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.UserStoragePreferenceEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ParserEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ParserInputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ParserOutputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ParsingTemplateEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ParsingTemplateInputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ParserConnectorInputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ParserConnectorEntity</class>
-        <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceReservationEntity</class>
-        <exclude-unlisted-classes>true</exclude-unlisted-classes>
-    </persistence-unit>
-    <persistence-unit name="replicacatalog_data_new">
-        <class>org.apache.airavata.registry.core.entities.replicacatalog.ConfigurationEntity</class>
-        <class>org.apache.airavata.registry.core.entities.replicacatalog.DataProductEntity</class>
-        <class>org.apache.airavata.registry.core.entities.replicacatalog.DataProductMetadataEntity</class>
-        <class>org.apache.airavata.registry.core.entities.replicacatalog.DataReplicaLocationEntity</class>
-        <class>org.apache.airavata.registry.core.entities.replicacatalog.DataReplicaMetadataEntity</class>
-        <exclude-unlisted-classes>true</exclude-unlisted-classes>
-    </persistence-unit>
-    <persistence-unit name="workflowcatalog_data_new">
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.AiravataWorkflowEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.AiravataWorkflowErrorEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.AiravataWorkflowStatusEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.ApplicationErrorEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.ApplicationStatusEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.HandlerErrorEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.HandlerInputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.HandlerOutputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.HandlerStatusEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.WorkflowApplicationEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.WorkflowConnectionEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.WorkflowDataBlockEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.WorkflowHandlerEntity</class>
-        <exclude-unlisted-classes>true</exclude-unlisted-classes>
-    </persistence-unit>
-    <persistence-unit name="experiment_data_new">
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentErrorEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentInputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentOutputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentStatusEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentSummaryEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.GatewayEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.GatewayWorkerEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.JobEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.JobStatusEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.NotificationEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ProcessEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ProcessErrorEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ProcessInputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ProcessOutputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ProcessResourceScheduleEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ProcessStatusEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ProcessWorkflowEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ProjectEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.ProjectUserEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.QueueStatusEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.TaskEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.TaskErrorEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.TaskStatusEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.UserConfigurationDataEntity</class>
-        <class>org.apache.airavata.registry.core.entities.expcatalog.UserEntity</class>
-        <exclude-unlisted-classes>true</exclude-unlisted-classes>
-        <properties>
-            <property name="openjpa.DynamicEnhancementAgent" value="false"/>
-        </properties>
-    </persistence-unit>
-</persistence>
diff --git a/modules/ide-integration/src/main/resources/database_scripts/airavataworkflowcatalog-derby.sql b/modules/ide-integration/src/main/resources/database_scripts/airavataworkflowcatalog-derby.sql
deleted file mode 100644
index bce4bd9..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/airavataworkflowcatalog-derby.sql
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-CREATE TABLE AIRAVATA_WORKFLOW
-(
-        ID VARCHAR (255) NOT NULL,
-        EXPERIMENT_ID varchar(255),
-        DESCRIPTION VARCHAR (255),
-        CREATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATED_AT timestamp,
-        PRIMARY KEY (ID)
-);
-
-CREATE TABLE AIRAVATA_WORKFLOW_ERROR
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE AIRAVATA_WORKFLOW_STATUS
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR (255) NOT NULL,
-        DESCRIPTION VARCHAR (255),
-        UPDATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_APPLICATION
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        EXPERIMENT_ID varchar(255),
-        APPLICATION_INTERFACE_ID VARCHAR (255),
-        COMPUTE_RESOURCE_ID VARCHAR (255),
-        QUEUE_NAME VARCHAR (255),
-        NODE_COUNT INTEGER,
-        CORE_COUNT INTEGER,
-        WALL_TIME_LIMIT INTEGER,
-        PHYSICAL_MEMORY INTEGER,
-        CREATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATED_AT timestamp,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APPLICATION_ERROR
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APPLICATION_STATUS
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR (255) NOT NULL,
-        DESCRIPTION VARCHAR (255),
-        UPDATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_HANDLER
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        TYPE VARCHAR (255),
-        CREATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATED_AT timestamp,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE HANDLER_ERROR
-(
-        ERROR_ID VARCHAR (255) NOT NULL,
-        HANDLER_ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ERROR_ID, HANDLER_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE,
-        FOREIGN KEY (HANDLER_ID, WORKFLOW_ID) REFERENCES WORKFLOW_HANDLER(ID, WORKFLOW_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE HANDLER_INPUT (
-        HANDLER_ID VARCHAR(255) NOT NULL,
-        NAME VARCHAR(255) NOT NULL,
-        APPLICATION_ARGUMENT VARCHAR(255),
-        DATA_STAGED SMALLINT,
-        INPUT_ORDER INTEGER,
-        IS_READ_ONLY SMALLINT,
-        IS_REQUIRED SMALLINT,
-        METADATA VARCHAR(4096),
-        REQUIRED_TO_ADDED_TO_COMMAND_LINE SMALLINT,
-        STANDARD_INPUT SMALLINT,
-        STORAGE_RESOURCE_ID VARCHAR(255),
-        TYPE VARCHAR(20),
-        USER_FRIENDLY_DESCRIPTION VARCHAR(255),
-        VALUE CLOB,
-        WORKFLOW_ID VARCHAR(255),
-        PRIMARY KEY (HANDLER_ID, NAME),
-        FOREIGN KEY (HANDLER_ID, WORKFLOW_ID) REFERENCES WORKFLOW_HANDLER(ID, WORKFLOW_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE HANDLER_OUTPUT (HANDLER_ID VARCHAR(255) NOT NULL,
-        NAME VARCHAR(255) NOT NULL,
-        APPLICATION_ARGUMENT VARCHAR(255),
-        DATA_MOVEMENT SMALLINT,
-        IS_REQUIRED SMALLINT,
-        LOCATION VARCHAR(255),
-        OUTPUT_STREAMING SMALLINT,
-        REQUIRED_TO_ADDED_TO_COMMAND_LINE SMALLINT,
-        SEARCH_QUERY VARCHAR(255),
-        STORAGE_RESOURCE_ID VARCHAR(255),
-        TYPE VARCHAR(20),
-        VALUE CLOB,
-        WORKFLOW_ID VARCHAR(255),
-        PRIMARY KEY (HANDLER_ID, NAME),
-        FOREIGN KEY (HANDLER_ID, WORKFLOW_ID) REFERENCES WORKFLOW_HANDLER(ID, WORKFLOW_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE HANDLER_STATUS
-(
-        ID VARCHAR (255) NOT NULL,
-        HANDLER_ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR (255) NOT NULL,
-        DESCRIPTION VARCHAR (255),
-        UPDATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (HANDLER_ID, ID),
-        FOREIGN KEY (HANDLER_ID, WORKFLOW_ID) REFERENCES WORKFLOW_HANDLER(ID, WORKFLOW_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_DATA_BLOCK
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        VALUE VARCHAR (255),
-        DATA_TYPE VARCHAR (255),
-        CREATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATED_AT timestamp,
-        PRIMARY KEY (ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_CONNECTION
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        DATA_BLOCK_ID VARCHAR (255),
-        FROM_TYPE VARCHAR (255),
-        FROM_ID VARCHAR (255),
-        FROM_OUTPUT_NAME VARCHAR (255),
-        TO_TYPE VARCHAR (255),
-        TO_ID VARCHAR (255),
-        TO_INPUT_NAME VARCHAR (255),
-        CREATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATED_AT timestamp,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE,
-        FOREIGN KEY (DATA_BLOCK_ID) REFERENCES WORKFLOW_DATA_BLOCK(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        EXPIRE_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        CATEGORY_ID VARCHAR (255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL, CATEGORY_ID)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL, EXPIRE_DATE, CATEGORY_ID) VALUES('airavata.workflow.version', '0.17', CURRENT_TIMESTAMP ,'SYSTEM');
diff --git a/modules/ide-integration/src/main/resources/database_scripts/appcatalog-derby.sql b/modules/ide-integration/src/main/resources/database_scripts/appcatalog-derby.sql
deleted file mode 100644
index 3cf7ea8..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/appcatalog-derby.sql
+++ /dev/null
@@ -1,737 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-CREATE TABLE COMPUTE_RESOURCE
-(
-        RESOURCE_ID VARCHAR (255) NOT NULL,
-        HOST_NAME VARCHAR (255) NOT NULL,
-        RESOURCE_DESCRIPTION VARCHAR (255),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        MAX_MEMORY_NODE INTEGER,
-        CPUS_PER_NODE INTEGER,
-        DEFAULT_NODE_COUNT INTEGER,
-        DEFAULT_CPU_COUNT INTEGER,
-        DEFAULT_WALLTIME INTEGER,
-        ENABLED SMALLINT,
-        GATEWAY_USAGE_REPORTING SMALLINT,
-        GATEWAY_USAGE_MODULE_LOAD_CMD VARCHAR(500),
-        GATEWAY_USAGE_EXECUTABLE VARCHAR(255),
-        PRIMARY KEY (RESOURCE_ID)
-);
-
-CREATE TABLE HOST_ALIAS
-(
-         RESOURCE_ID VARCHAR(255) NOT NULL,
-         ALIAS VARCHAR(255),
-         PRIMARY KEY(RESOURCE_ID,ALIAS),
-         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE HOST_IPADDRESS
-(
-         RESOURCE_ID VARCHAR(255) NOT NULL,
-         IP_ADDRESS VARCHAR(255),
-         PRIMARY KEY(RESOURCE_ID,IP_ADDRESS),
-         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GSISSH_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         RESOURCE_JOB_MANAGER VARCHAR(255),
-         SSH_PORT INTEGER,
-         INSTALLED_PATH VARCHAR(255),
-         MONITOR_MODE VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-);
-
-CREATE TABLE GSISSH_EXPORT
-(
-         SUBMISSION_ID VARCHAR(255) NOT NULL,
-         EXPORT VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, EXPORT),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GSISSH_PREJOBCOMMAND
-(
-         SUBMISSION_ID VARCHAR(255) NOT NULL,
-         COMMAND VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, COMMAND),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GSISSH_POSTJOBCOMMAND
-(
-         SUBMISSION_ID VARCHAR(255) NOT NULL,
-         COMMAND VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, COMMAND),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GLOBUS_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         RESOURCE_JOB_MANAGER VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-);
-
-CREATE TABLE UNICORE_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
-         UNICORE_ENDPOINT_URL VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-);
-
-CREATE TABLE UNICORE_DATAMOVEMENT
-(
-         DATAMOVEMENT_ID VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
-         UNICORE_ENDPOINT_URL VARCHAR(255),
-         PRIMARY KEY(DATAMOVEMENT_ID)
-);
-
-
-CREATE TABLE GLOBUS_GK_ENDPOINT
-(
-         SUBMISSION_ID VARCHAR(255) NOT NULL,
-         ENDPOINT VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, ENDPOINT),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GLOBUS_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE RESOURCE_JOB_MANAGER
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        PUSH_MONITORING_ENDPOINT VARCHAR (255),
-        JOB_MANAGER_BIN_PATH VARCHAR (255),
-        RESOURCE_JOB_MANAGER_TYPE VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (RESOURCE_JOB_MANAGER_ID)
-);
-
-
-
-CREATE TABLE SSH_JOB_SUBMISSION
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        ALTERNATIVE_SSH_HOSTNAME VARCHAR (255),
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        SSH_PORT INTEGER,
-        MONITOR_MODE VARCHAR (255),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
-);
-
-CREATE TABLE SCP_DATA_MOVEMENT
-(
-        QUEUE_DESCRIPTION VARCHAR (255),
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        ALTERNATIVE_SCP_HOSTNAME VARCHAR (255),
-        SSH_PORT INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-);
-
-CREATE TABLE GRIDFTP_DATA_MOVEMENT
-(
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-);
-
-CREATE TABLE GRIDFTP_ENDPOINT
-(
-        ENDPOINT VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID,ENDPOINT),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        FOREIGN KEY (DATA_MOVEMENT_INTERFACE_ID) REFERENCES GRIDFTP_DATA_MOVEMENT(DATA_MOVEMENT_INTERFACE_ID) ON DELETE CASCADE
-);
-
---CREATE TABLE JOB_SUBMISSION_PROTOCOL
---(
---         RESOURCE_ID VARCHAR(255),
---         SUBMISSION_ID VARCHAR(255),
---         JOB_TYPE VARCHAR(255),
---         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
---         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
---         PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
---         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
---);
---
---CREATE TABLE DATA_MOVEMENT_PROTOCOL
---(
---         RESOURCE_ID VARCHAR(255),
---         DATA_MOVE_ID VARCHAR(255),
---         DATA_MOVE_TYPE VARCHAR(255),
---         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
---         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
---         PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,DATA_MOVE_TYPE),
---         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
---);
-
-CREATE TABLE APPLICATION_MODULE
-(
-         MODULE_ID VARCHAR(255),
-         MODULE_NAME VARCHAR(255),
-         MODULE_VERSION VARCHAR(255),
-         MODULE_DESC VARCHAR(500),
-         GATEWAY_ID VARCHAR (255) NOT NULL,
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' NOT NULL,
-         PRIMARY KEY(MODULE_ID)
-);
-
-CREATE TABLE APPLICATION_DEPLOYMENT
-(
-         DEPLOYMENT_ID VARCHAR(255),
-         APP_MODULE_ID VARCHAR(255) NOT NULL,
-         COMPUTE_HOSTID VARCHAR(255) NOT NULL,
-         EXECUTABLE_PATH VARCHAR(255),
-	       PARALLELISM VARCHAR(255),
-         APPLICATION_DESC VARCHAR(255),
-         ENV_MODULE_LOAD_CMD VARCHAR(255),
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' NOT NULL,
-         GATEWAY_ID VARCHAR(255) NOT NULL,
-         DEFAULT_QUEUE_NAME VARCHAR(255),
-         DEFAULT_NODE_COUNT INTEGER,
-         DEFAULT_CPU_COUNT INTEGER,
-         DEFAULT_WALLTIME INTEGER,
-         EDITABLE_BY_USER SMALLINT,
-         PRIMARY KEY(DEPLOYMENT_ID),
-         FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-         FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE MODULE_LOAD_CMD
-(
-        CMD VARCHAR (255) NOT NULL,
-        APP_DEPLOYMENT_ID VARCHAR (255) NOT NULL,
-        COMMAND_ORDER INTEGER,
-        PRIMARY KEY (APP_DEPLOYMENT_ID,CMD),
-        FOREIGN KEY (APP_DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PREJOB_COMMAND
-(
-         APPDEPLOYMENT_ID VARCHAR(255) NOT NULL,
-         COMMAND VARCHAR(255),
-         COMMAND_ORDER INTEGER,
-         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
-         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE POSTJOB_COMMAND
-(
-         APPDEPLOYMENT_ID VARCHAR(255) NOT NULL,
-         COMMAND VARCHAR(255),
-         COMMAND_ORDER INTEGER,
-         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
-         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE LIBRARY_PREPAND_PATH
-(
-         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
-         NAME VARCHAR(255),
-         VALUE VARCHAR(255),
-         PRIMARY KEY(DEPLOYMENT_ID, NAME),
-         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE LIBRARY_APEND_PATH
-(
-         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
-         NAME VARCHAR(255),
-         VALUE VARCHAR(255),
-         PRIMARY KEY(DEPLOYMENT_ID, NAME),
-         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APP_ENVIRONMENT
-(
-         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
-         NAME VARCHAR(255),
-         VALUE VARCHAR(255),
-         ENV_ORDER INTEGER,
-         PRIMARY KEY(DEPLOYMENT_ID, NAME),
-         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APPLICATION_INTERFACE
-(
-         INTERFACE_ID VARCHAR(255),
-         APPLICATION_NAME VARCHAR(255),
-         APPLICATION_DESCRIPTION VARCHAR(500),
-         GATEWAY_ID VARCHAR(255) NOT NULL,
-         ARCHIVE_WORKING_DIRECTORY SMALLINT,
-         HAS_OPTIONAL_FILE_INPUTS SMALLINT,
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' NOT NULL,
-         PRIMARY KEY(INTERFACE_ID)
-);
-
-CREATE TABLE APP_MODULE_MAPPING
-(
-         INTERFACE_ID VARCHAR(255) NOT NULL,
-         MODULE_ID VARCHAR(255) NOT NULL,
-         PRIMARY KEY(INTERFACE_ID, MODULE_ID),
-         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE,
-         FOREIGN KEY (MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APPLICATION_INPUT
-(
-         INTERFACE_ID VARCHAR(255) NOT NULL,
-         INPUT_KEY VARCHAR(255),
-         INPUT_VALUE VARCHAR(255),
-         DATA_TYPE VARCHAR(255),
-         METADATA VARCHAR(4096),
-         APP_ARGUMENT VARCHAR(255),
-         STANDARD_INPUT SMALLINT,
-         USER_FRIENDLY_DESC VARCHAR(255),
-         INPUT_ORDER INTEGER,
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_STAGED SMALLINT,
-         IS_READ_ONLY SMALLINT,
-         PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
-         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APPLICATION_OUTPUT
-(
-         INTERFACE_ID VARCHAR(255) NOT NULL,
-         OUTPUT_KEY VARCHAR(255),
-         OUTPUT_VALUE VARCHAR(255),
-         DATA_TYPE VARCHAR(255),
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_MOVEMENT SMALLINT,
-         DATA_NAME_LOCATION VARCHAR(255),
-         SEARCH_QUERY VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         OUTPUT_STREAMING SMALLINT,
-         PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),
-         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GATEWAY_PROFILE
-(
-         GATEWAY_ID VARCHAR(255),
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-         CS_TOKEN VARCHAR (255),
-         IDENTITY_SERVER_TENANT VARCHAR (255),
-         IDENTITY_SERVER_PWD_CRED_TOKEN VARCHAR (255),
-         PRIMARY KEY(GATEWAY_ID)
-);
-
-CREATE TABLE COMPUTE_RESOURCE_PREFERENCE
-(
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        RESOURCE_ID VARCHAR(255) NOT NULL,
-        OVERRIDE_BY_AIRAVATA SMALLINT,
-        PREFERED_JOB_SUB_PROTOCOL VARCHAR(255),
-        PREFERED_DATA_MOVE_PROTOCOL VARCHAR(255),
-        PREFERED_BATCH_QUEUE VARCHAR(255),
-        SCRATCH_LOCATION VARCHAR(255),
-        ALLOCATION_PROJECT_NUMBER VARCHAR(255),
-        LOGIN_USERNAME VARCHAR(255),
-        RESOURCE_CS_TOKEN VARCHAR(255),
-        USAGE_REPORTING_GATEWAY_ID VARCHAR(255),
-        QUALITY_OF_SERVICE VARCHAR(255),
-        RESERVATION VARCHAR (255),
-        RESERVATION_START_TIME timestamp,
-        RESERVATION_END_TIME timestamp,
-        SSH_ACCOUNT_PROVISIONER VARCHAR(255),
-        SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000),
-        PRIMARY KEY(GATEWAY_ID,RESOURCE_ID),
-        FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY_PROFILE(GATEWAY_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE SSH_ACCOUNT_PROVISIONER_CONFIG
-(
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        RESOURCE_ID VARCHAR(255) NOT NULL,
-        CONFIG_NAME VARCHAR(255) NOT NULL,
-        CONFIG_VALUE VARCHAR(255),
-        PRIMARY KEY (GATEWAY_ID, RESOURCE_ID, CONFIG_NAME),
-        FOREIGN KEY (GATEWAY_ID, RESOURCE_ID) REFERENCES COMPUTE_RESOURCE_PREFERENCE (GATEWAY_ID, RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE BATCH_QUEUE
-(
-        COMPUTE_RESOURCE_ID VARCHAR(255) NOT NULL,
-        MAX_RUNTIME INTEGER,
-        MAX_JOB_IN_QUEUE INTEGER,
-        QUEUE_DESCRIPTION VARCHAR(255),
-        QUEUE_NAME VARCHAR(255) NOT NULL,
-        MAX_PROCESSORS INTEGER,
-        MAX_NODES INTEGER,
-        MAX_MEMORY INTEGER,
-        CPU_PER_NODE INTEGER,
-        DEFAULT_NODE_COUNT INTEGER,
-        DEFAULT_CPU_COUNT INTEGER,
-        DEFAULT_WALLTIME INTEGER,
-        QUEUE_SPECIFIC_MACROS VARCHAR(255),
-        IS_DEFAULT_QUEUE SMALLINT,
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPUTE_RESOURCE_FILE_SYSTEM
-(
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        PATH VARCHAR (255),
-        FILE_SYSTEM VARCHAR (255) NOT NULL,
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,FILE_SYSTEM),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-  );
-
-CREATE TABLE JOB_SUBMISSION_INTERFACE
-(
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_PROTOCOL VARCHAR (255) NOT NULL,
-        PRIORITY_ORDER INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
- 
-CREATE TABLE DATA_MOVEMENT_INTERFACE
-(
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        PRIORITY_ORDER INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,DATA_MOVEMENT_INTERFACE_ID),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE STORAGE_RESOURCE
-(
-        STORAGE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        HOST_NAME VARCHAR (255) NOT NULL,
-        DESCRIPTION VARCHAR (255),
-        ENABLED SMALLINT ,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (STORAGE_RESOURCE_ID)
-);
-
-CREATE TABLE STORAGE_INTERFACE
-(
-        STORAGE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
-        PRIORITY_ORDER INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (STORAGE_RESOURCE_ID,DATA_MOVEMENT_INTERFACE_ID),
-        FOREIGN KEY (STORAGE_RESOURCE_ID) REFERENCES STORAGE_RESOURCE(STORAGE_RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE JOB_MANAGER_COMMAND
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        COMMAND_TYPE VARCHAR (255) NOT NULL,
-        COMMAND VARCHAR (255),
-        PRIMARY KEY (RESOURCE_JOB_MANAGER_ID,COMMAND_TYPE),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PARALLELISM_COMMAND
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        COMMAND_TYPE VARCHAR (255) NOT NULL,
-        COMMAND VARCHAR (255),
-        PRIMARY KEY (RESOURCE_JOB_MANAGER_ID,COMMAND_TYPE),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE LOCAL_SUBMISSION
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
-);
-
-CREATE TABLE LOCAL_DATA_MOVEMENT
-(
-  DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-  PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-);
-
-CREATE TABLE STORAGE_PREFERENCE
-(
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        STORAGE_RESOURCE_ID VARCHAR(255) NOT NULL,
-        LOGIN_USERNAME VARCHAR(255),
-        FS_ROOT_LOCATION VARCHAR(255),
-        RESOURCE_CS_TOKEN VARCHAR(255),
-        PRIMARY KEY(GATEWAY_ID,STORAGE_RESOURCE_ID),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY_PROFILE(GATEWAY_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE USER_RESOURCE_PROFILE (
-  USER_ID varchar(255) NOT NULL,
-  CREATION_TIME TIMESTAMP DEFAULT NULL,
-  CS_TOKEN varchar(255) DEFAULT NULL,
-  GATEWAY_ID varchar(255) DEFAULT NULL,
-  IDENTITY_SERVER_PWD_CRED_TOKEN varchar(255) DEFAULT NULL,
-  IDENTITY_SERVER_TENANT varchar(255) DEFAULT NULL,
-  UPDATE_TIME TIMESTAMP DEFAULT NULL,
-  PRIMARY KEY (USER_ID,GATEWAY_ID)
-);
-
-CREATE TABLE USER_STORAGE_PREFERENCE (
-  STORAGE_RESOURCE_ID varchar(255) NOT NULL,
-  USER_ID varchar(255) NOT NULL,
-  RESOURCE_CS_TOKEN varchar(255) DEFAULT NULL,
-  FS_ROOT_LOCATION varchar(255) DEFAULT NULL,
-  GATEWAY_ID varchar(255) DEFAULT NULL,
-  LOGIN_USERNAME varchar(255) DEFAULT NULL,
-  PRIMARY KEY (STORAGE_RESOURCE_ID,USER_ID,GATEWAY_ID)
-);
-
-CREATE TABLE USER_COMPUTE_RESOURCE_PREFERENCE (
-  RESOURCE_ID varchar(255) NOT NULL,
-  USER_ID varchar(255) NOT NULL,
-  PREFERED_BATCH_QUEUE varchar(255) DEFAULT NULL,
-  RESOURCE_CS_TOKEN varchar(255) DEFAULT NULL,
-  GATEWAY_ID varchar(255) DEFAULT NULL,
-  LOGIN_USERNAME varchar(255) DEFAULT NULL,
-  ALLOCATION_PROJECT_NUMBER varchar(255) DEFAULT NULL,
-  QUALITY_OF_SERVICE varchar(255) DEFAULT NULL,
-  RESERVATION varchar(255) DEFAULT NULL,
-  RESERVATION_END_TIME TIMESTAMP DEFAULT NULL,
-  RESERVATION_START_TIME TIMESTAMP DEFAULT NULL,
-  SCRATCH_LOCATION varchar(255) DEFAULT NULL,
-  VALIDATED SMALLINT NOT NULL DEFAULT 0,
-  PRIMARY KEY (RESOURCE_ID,USER_ID,GATEWAY_ID)
-);
-
-CREATE TABLE GROUP_RESOURCE_PROFILE (
-  GATEWAY_ID varchar(255) NOT NULL,
-  GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-  GROUP_RESOURCE_PROFILE_NAME varchar(255) DEFAULT NULL,
-  CREATION_TIME BIGINT NOT NULL,
-  UPDATE_TIME BIGINT NOT NULL,
-  DEFAULT_CREDENTIAL_STORE_TOKEN varchar(255) DEFAULT NULL,
-  PRIMARY KEY (GROUP_RESOURCE_PROFILE_ID),
-  UNIQUE (GATEWAY_ID, GROUP_RESOURCE_PROFILE_NAME)
-);
-
-CREATE TABLE BATCH_QUEUE_RESOURCE_POLICY (
-  RESOURCE_POLICY_ID varchar(255) NOT NULL,
-  COMPUTE_RESOURCE_ID varchar(255) NOT NULL,
-  GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-  QUEUE_NAME varchar(255) NOT NULL,
-  MAX_ALLOWED_NODES INTEGER,
-  MAX_ALLOWED_CORES INTEGER,
-  MAX_ALLOWED_WALLTIME INTEGER,
-  PRIMARY KEY (RESOURCE_POLICY_ID),
-  FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-  FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPUTE_RESOURCE_POLICY (
-    RESOURCE_POLICY_ID varchar(255) NOT NULL,
-    COMPUTE_RESOURCE_ID varchar(255) NOT NULL,
-    GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-    PRIMARY KEY (RESOURCE_POLICY_ID),
-    FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-    FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPUTE_RESOURCE_POLICY_QUEUES (
-    RESOURCE_POLICY_ID varchar(255) NOT NULL,
-    QUEUE_NAME varchar(255) NOT NULL,
-    PRIMARY KEY (RESOURCE_POLICY_ID, QUEUE_NAME),
-    FOREIGN KEY (RESOURCE_POLICY_ID) REFERENCES COMPUTE_RESOURCE_POLICY(RESOURCE_POLICY_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GROUP_COMPUTE_RESOURCE_PREFERENCE
-(
-        RESOURCE_ID VARCHAR(255) NOT NULL,
-        GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-        OVERRIDE_BY_AIRAVATA SMALLINT,
-        PREFERED_JOB_SUB_PROTOCOL VARCHAR(255),
-        PREFERED_DATA_MOVE_PROTOCOL VARCHAR(255),
-        PREFERED_BATCH_QUEUE VARCHAR(255),
-        SCRATCH_LOCATION VARCHAR(255),
-        ALLOCATION_PROJECT_NUMBER VARCHAR(255),
-        LOGIN_USERNAME VARCHAR(255),
-        RESOURCE_CS_TOKEN VARCHAR(255),
-        USAGE_REPORTING_GATEWAY_ID VARCHAR(255),
-        QUALITY_OF_SERVICE VARCHAR(255),
-        RESERVATION VARCHAR (255),
-        RESERVATION_START_TIME timestamp,
-        RESERVATION_END_TIME timestamp,
-        SSH_ACCOUNT_PROVISIONER VARCHAR(255),
-        SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000),
-        PRIMARY KEY(RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID),
-        FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-        FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GRP_SSH_ACC_PROV_CONFIG
-(
-        RESOURCE_ID VARCHAR(255) NOT NULL,
-        GROUP_RESOURCE_PROFILE_ID VARCHAR(255) NOT NULL,
-        CONFIG_NAME VARCHAR(255) NOT NULL,
-        CONFIG_VALUE VARCHAR(255),
-        PRIMARY KEY (RESOURCE_ID, CONFIG_NAME, GROUP_RESOURCE_PROFILE_ID),
-        FOREIGN KEY (RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_COMPUTE_RESOURCE_PREFERENCE (RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PARSING_TEMPLATE
-(
-        PARSING_TEMPLATE_ID VARCHAR(255) NOT NULL,
-        APP_INTERFACE_ID VARCHAR(255) NOT NULL,
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSING_TEMPLATE_ID)
-);
-
-CREATE TABLE PARSER
-(
-        PARSER_ID VARCHAR(255) NOT NULL,
-        IMAGE_NAME VARCHAR(255) NOT NULL,
-        OUTPUT_DIR_PATH VARCHAR(255) NOT NULL,
-        INPUT_DIR_PATH VARCHAR(255) NOT NULL,
-        EXECUTION_COMMAND VARCHAR(255) NOT NULL,
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSER_ID)
-);
-
-CREATE TABLE PARSER_OUTPUT
-(
-        PARSER_OUTPUT_ID VARCHAR(255) NOT NULL,
-        PARSER_OUTPUT_NAME VARCHAR(255) NOT NULL,
-        PARSER_OUTPUT_REQUIRED SMALLINT NOT NULL,
-        PARSER_ID VARCHAR(255) NOT NULL,
-        OUTPUT_TYPE VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSER_OUTPUT_ID),
-        FOREIGN KEY (PARSER_ID) REFERENCES PARSER (PARSER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PARSER_INPUT
-(
-        PARSER_INPUT_ID VARCHAR(255) NOT NULL,
-        PARSER_INPUT_NAME VARCHAR(255) NOT NULL,
-        PARSER_INPUT_REQUIRED SMALLINT NOT NULL,
-        PARSER_ID VARCHAR(255) NOT NULL,
-        INPUT_TYPE VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSER_INPUT_ID),
-        FOREIGN KEY (PARSER_ID) REFERENCES PARSER (PARSER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PARSING_TEMPLATE_INPUT
-(
-        PARSING_TEMPLATE_INPUT_ID VARCHAR(255) NOT NULL,
-        TARGET_PARSER_INPUT_ID VARCHAR(255) NOT NULL,
-        APPLICATION_OUTPUT_NAME VARCHAR(255),
-        VALUE VARCHAR(255),
-        PARSING_TEMPLATE_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSING_TEMPLATE_INPUT_ID),
-        FOREIGN KEY (TARGET_PARSER_INPUT_ID) REFERENCES PARSER_INPUT (PARSER_INPUT_ID) ON DELETE CASCADE,
-        FOREIGN KEY (PARSING_TEMPLATE_ID) REFERENCES PARSING_TEMPLATE (PARSING_TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PARSER_CONNECTOR
-(
-        PARSER_CONNECTOR_ID VARCHAR(255) NOT NULL,
-        PARENT_PARSER_ID VARCHAR(255) NOT NULL,
-        CHILD_PARSER_ID VARCHAR(255) NOT NULL,
-        PARSING_TEMPLATE_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSER_CONNECTOR_ID),
-        FOREIGN KEY (PARENT_PARSER_ID) REFERENCES PARSER (PARSER_ID) ON DELETE CASCADE,
-        FOREIGN KEY (CHILD_PARSER_ID) REFERENCES PARSER (PARSER_ID) ON DELETE CASCADE,
-        FOREIGN KEY (PARSING_TEMPLATE_ID) REFERENCES PARSING_TEMPLATE (PARSING_TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PARSER_CONNECTOR_INPUT
-(
-        PARSER_CONNECTOR_INPUT_ID VARCHAR(255) NOT NULL,
-        PARSER_INPUT_ID VARCHAR(255) NOT NULL,
-        PARSER_OUTPUT_ID VARCHAR(255),
-        VALUE VARCHAR(255),
-        PARSER_CONNECTOR_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSER_CONNECTOR_INPUT_ID),
-        FOREIGN KEY (PARSER_INPUT_ID) REFERENCES PARSER_INPUT (PARSER_INPUT_ID) ON DELETE CASCADE,
-        FOREIGN KEY (PARSER_OUTPUT_ID) REFERENCES PARSER_OUTPUT (PARSER_OUTPUT_ID) ON DELETE CASCADE,
-        FOREIGN KEY (PARSER_CONNECTOR_ID) REFERENCES PARSER_CONNECTOR (PARSER_CONNECTOR_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GATEWAY_GROUPS
-(
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        ADMINS_GROUP_ID VARCHAR(255),
-        READ_ONLY_ADMINS_GROUP_ID VARCHAR(255),
-        DEFAULT_GATEWAY_USERS_GROUP_ID VARCHAR(255),
-        PRIMARY KEY(GATEWAY_ID)
-);
-
-CREATE TABLE CLOUD_JOB_SUBMISSION (
-  JOB_SUBMISSION_INTERFACE_ID varchar(255) NOT NULL,
-  EXECUTABLE_TYPE VARCHAR(255) DEFAULT NULL,
-  NODE_ID VARCHAR(255) DEFAULT NULL,
-  PROVIDER_NAME VARCHAR(255) DEFAULT NULL,
-  SECURITY_PROTOCOL VARCHAR(255) DEFAULT NULL,
-  USER_ACCOUNT_NAME VARCHAR(255) DEFAULT NULL,
-  PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID)
-);
-
-CREATE TABLE CONFIGURATION
-(
-  CONFIG_KEY VARCHAR(255),
-  CONFIG_VAL VARCHAR(255),
-  PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('app_catalog_version', '0.16');
-
-
-
diff --git a/modules/ide-integration/src/main/resources/database_scripts/appcatalog-mysql.sql b/modules/ide-integration/src/main/resources/database_scripts/appcatalog-mysql.sql
deleted file mode 100644
index c6dfbc5..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/appcatalog-mysql.sql
+++ /dev/null
@@ -1,725 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-CREATE TABLE COMPUTE_RESOURCE
-(
-          RESOURCE_ID VARCHAR (255) NOT NULL,
-          HOST_NAME VARCHAR (255) NOT NULL,
-          RESOURCE_DESCRIPTION VARCHAR (255),
-          CREATION_TIME TIMESTAMP DEFAULT NOW(),
-          UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-          MAX_MEMORY_NODE INTEGER,
-          CPUS_PER_NODE INTEGER,
-          DEFAULT_NODE_COUNT INTEGER,
-          DEFAULT_CPU_COUNT INTEGER,
-          DEFAULT_WALLTIME INTEGER,
-          ENABLED SMALLINT,
-          GATEWAY_USAGE_REPORTING TINYINT(1),
-          GATEWAY_USAGE_MODULE_LOAD_CMD VARCHAR(500),
-          GATEWAY_USAGE_EXECUTABLE VARCHAR(255),
-          PRIMARY KEY (RESOURCE_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE HOST_ALIAS
-(
-         RESOURCE_ID VARCHAR(255) NOT NULL,
-         ALIAS VARCHAR(255),
-         PRIMARY KEY(RESOURCE_ID,ALIAS),
-         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE HOST_IPADDRESS
-(
-         RESOURCE_ID VARCHAR(255) NOT NULL,
-         IP_ADDRESS VARCHAR(255),
-         PRIMARY KEY(RESOURCE_ID,IP_ADDRESS),
-         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GSISSH_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         RESOURCE_JOB_MANAGER VARCHAR(255),
-         SSH_PORT INTEGER,
-         INSTALLED_PATH VARCHAR(255),
-         MONITOR_MODE VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GSISSH_EXPORT
-(
-         SUBMISSION_ID VARCHAR(255) NOT NULL,
-         EXPORT VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, EXPORT),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GSISSH_PREJOBCOMMAND
-(
-         SUBMISSION_ID VARCHAR(255) NOT NULL,
-         COMMAND VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, COMMAND),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GSISSH_POSTJOBCOMMAND
-(
-         SUBMISSION_ID VARCHAR(255) NOT NULL,
-         COMMAND VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, COMMAND),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GLOBUS_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         RESOURCE_JOB_MANAGER VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE UNICORE_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
-         UNICORE_ENDPOINT_URL VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE UNICORE_DATAMOVEMENT
-(
-         DATAMOVEMENT_ID VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
-         UNICORE_ENDPOINT_URL VARCHAR(255),
-         PRIMARY KEY(DATAMOVEMENT_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GLOBUS_GK_ENDPOINT
-(
-         SUBMISSION_ID VARCHAR(255) NOT NULL,
-         ENDPOINT VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, ENDPOINT),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GLOBUS_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE RESOURCE_JOB_MANAGER
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        PUSH_MONITORING_ENDPOINT VARCHAR (255),
-        JOB_MANAGER_BIN_PATH VARCHAR (255),
-        RESOURCE_JOB_MANAGER_TYPE VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT NOW(),
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (RESOURCE_JOB_MANAGER_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE SSH_JOB_SUBMISSION
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        ALTERNATIVE_SSH_HOSTNAME VARCHAR (255),
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        SSH_PORT INTEGER,
-        MONITOR_MODE VARCHAR (255),
-        CREATION_TIME TIMESTAMP DEFAULT NOW(),
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ,
-        PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE SCP_DATA_MOVEMENT
-(
-        QUEUE_DESCRIPTION VARCHAR (255),
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        ALTERNATIVE_SCP_HOSTNAME VARCHAR (255),
-        SSH_PORT INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT NOW(),
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ,
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GRIDFTP_DATA_MOVEMENT
-(
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT NOW(),
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ,
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GRIDFTP_ENDPOINT
-(
-        ENDPOINT VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID,ENDPOINT),
-        CREATION_TIME TIMESTAMP DEFAULT NOW(),
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ,
-        FOREIGN KEY (DATA_MOVEMENT_INTERFACE_ID) REFERENCES GRIDFTP_DATA_MOVEMENT(DATA_MOVEMENT_INTERFACE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---CREATE TABLE JOB_SUBMISSION_PROTOCOL
---(
---         RESOURCE_ID VARCHAR(255),
---         SUBMISSION_ID VARCHAR(255),
---         JOB_TYPE VARCHAR(255),
---         PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
---         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
---);
---
---CREATE TABLE DATA_MOVEMENT_PROTOCOL
---(
---         RESOURCE_ID VARCHAR(255),
---         DATA_MOVE_ID VARCHAR(255),
---         DATA_MOVE_TYPE VARCHAR(255),
---         PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,DATA_MOVE_TYPE),
---         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
---);
-
-CREATE TABLE APPLICATION_MODULE
-(
-         MODULE_ID VARCHAR(255),
-         MODULE_NAME VARCHAR(255),
-         MODULE_VERSION VARCHAR(255),
-         MODULE_DESC VARCHAR(500),
-         GATEWAY_ID VARCHAR (255) NOT NULL,
-         CREATION_TIME TIMESTAMP DEFAULT NOW() NOT NULL,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' NOT NULL,
-         PRIMARY KEY(MODULE_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE APPLICATION_DEPLOYMENT
-(
-         DEPLOYMENT_ID VARCHAR(255),
-         APP_MODULE_ID VARCHAR(255) NOT NULL,
-         COMPUTE_HOSTID VARCHAR(255) NOT NULL,
-         EXECUTABLE_PATH VARCHAR(255),
-	       PARALLELISM VARCHAR(255),
-         APPLICATION_DESC VARCHAR(255),
-         ENV_MODULE_LOAD_CMD VARCHAR(255),
-         CREATION_TIME TIMESTAMP DEFAULT NOW() NOT NULL,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' NOT NULL,
-         GATEWAY_ID VARCHAR(255) NOT NULL,
-         DEFAULT_QUEUE_NAME VARCHAR(255),
-         DEFAULT_NODE_COUNT INTEGER,
-         DEFAULT_CPU_COUNT INTEGER,
-         DEFAULT_WALLTIME INTEGER,
-         EDITABLE_BY_USER TINYINT(1),
-         PRIMARY KEY(DEPLOYMENT_ID),
-         FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-         FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE MODULE_LOAD_CMD
-(
-        CMD VARCHAR (255) NOT NULL,
-        APP_DEPLOYMENT_ID VARCHAR (255) NOT NULL,
-        COMMAND_ORDER INTEGER,
-        PRIMARY KEY (APP_DEPLOYMENT_ID,CMD),
-        FOREIGN KEY (APP_DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PREJOB_COMMAND
-(
-         APPDEPLOYMENT_ID VARCHAR(255) NOT NULL,
-         COMMAND VARCHAR(255),
-         COMMAND_ORDER INTEGER,
-         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
-         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE POSTJOB_COMMAND
-(
-         APPDEPLOYMENT_ID VARCHAR(255) NOT NULL,
-         COMMAND VARCHAR(255),
-         COMMAND_ORDER INTEGER,
-         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
-         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE LIBRARY_PREPAND_PATH
-(
-         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
-         NAME VARCHAR(255),
-         VALUE VARCHAR(255),
-         PRIMARY KEY(DEPLOYMENT_ID, NAME),
-         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE LIBRARY_APEND_PATH
-(
-         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
-         NAME VARCHAR(255),
-         VALUE VARCHAR(255),
-         PRIMARY KEY(DEPLOYMENT_ID, NAME),
-         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE APP_ENVIRONMENT
-(
-         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
-         NAME VARCHAR(255),
-         VALUE VARCHAR(255),
-         ENV_ORDER INTEGER,
-         PRIMARY KEY(DEPLOYMENT_ID, NAME),
-         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE APPLICATION_INTERFACE
-(
-         INTERFACE_ID VARCHAR(255),
-         APPLICATION_NAME VARCHAR(255),
-         APPLICATION_DESCRIPTION VARCHAR(500),
-         GATEWAY_ID VARCHAR(255) NOT NULL,
-         ARCHIVE_WORKING_DIRECTORY SMALLINT,
-         HAS_OPTIONAL_FILE_INPUTS TINYINT(1),
-         CREATION_TIME TIMESTAMP DEFAULT NOW() NOT NULL,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' NOT NULL,
-         PRIMARY KEY(INTERFACE_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE APP_MODULE_MAPPING
-(
-         INTERFACE_ID VARCHAR(255) NOT NULL,
-         MODULE_ID VARCHAR(255) NOT NULL,
-         PRIMARY KEY(INTERFACE_ID, MODULE_ID),
-         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE,
-         FOREIGN KEY (MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE APPLICATION_INPUT
-(
-         INTERFACE_ID VARCHAR(255) NOT NULL,
-         INPUT_KEY VARCHAR(255),
-         INPUT_VALUE VARCHAR(255),
-         DATA_TYPE VARCHAR(255),
-         METADATA VARCHAR(4096),
-         APP_ARGUMENT VARCHAR(255),
-         STANDARD_INPUT SMALLINT,
-         USER_FRIENDLY_DESC VARCHAR(255),
-         INPUT_ORDER INTEGER,
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_STAGED SMALLINT,
-         IS_READ_ONLY SMALLINT,
-         PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
-         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE APPLICATION_OUTPUT
-(
-         INTERFACE_ID VARCHAR(255) NOT NULL,
-         OUTPUT_KEY VARCHAR(255),
-         OUTPUT_VALUE VARCHAR(255),
-         DATA_TYPE VARCHAR(255),
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_MOVEMENT SMALLINT,
-         DATA_NAME_LOCATION VARCHAR(255),
-         SEARCH_QUERY VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         OUTPUT_STREAMING SMALLINT,
-         PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),
-         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GATEWAY_PROFILE
-(
-         GATEWAY_ID VARCHAR(255),
-	       CREATION_TIME TIMESTAMP DEFAULT NOW(),
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ,
-         CS_TOKEN VARCHAR (255),
-         IDENTITY_SERVER_TENANT VARCHAR (255),
-         IDENTITY_SERVER_PWD_CRED_TOKEN VARCHAR (255),
-         PRIMARY KEY(GATEWAY_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE COMPUTE_RESOURCE_PREFERENCE
-(
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        RESOURCE_ID VARCHAR(255) NOT NULL,
-        OVERRIDE_BY_AIRAVATA SMALLINT,
-        PREFERED_JOB_SUB_PROTOCOL VARCHAR(255),
-        PREFERED_DATA_MOVE_PROTOCOL VARCHAR(255),
-        PREFERED_BATCH_QUEUE VARCHAR(255),
-        SCRATCH_LOCATION VARCHAR(255),
-        ALLOCATION_PROJECT_NUMBER VARCHAR(255),
-        LOGIN_USERNAME VARCHAR(255),
-        RESOURCE_CS_TOKEN VARCHAR(255),
-        USAGE_REPORTING_GATEWAY_ID VARCHAR(255),
-        QUALITY_OF_SERVICE VARCHAR(255),
-        RESERVATION VARCHAR (255),
-        RESERVATION_START_TIME timestamp,
-        RESERVATION_END_TIME timestamp,
-        SSH_ACCOUNT_PROVISIONER VARCHAR(255),
-        SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000),
-        PRIMARY KEY(GATEWAY_ID,RESOURCE_ID),
-        FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY_PROFILE(GATEWAY_ID) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE SSH_ACCOUNT_PROVISIONER_CONFIG
-(
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        RESOURCE_ID VARCHAR(255) NOT NULL,
-        CONFIG_NAME VARCHAR(255) NOT NULL,
-        CONFIG_VALUE VARCHAR(255),
-        PRIMARY KEY (GATEWAY_ID, RESOURCE_ID, CONFIG_NAME),
-        FOREIGN KEY (GATEWAY_ID, RESOURCE_ID) REFERENCES COMPUTE_RESOURCE_PREFERENCE (GATEWAY_ID, RESOURCE_ID) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE BATCH_QUEUE
-(
-        COMPUTE_RESOURCE_ID VARCHAR(255) NOT NULL,
-        MAX_RUNTIME INTEGER,
-        MAX_JOB_IN_QUEUE INTEGER,
-        QUEUE_DESCRIPTION VARCHAR(255),
-        QUEUE_NAME VARCHAR(255) NOT NULL,
-        MAX_PROCESSORS INTEGER,
-        MAX_NODES INTEGER,
-        MAX_MEMORY INTEGER,
-        CPU_PER_NODE INTEGER,
-        DEFAULT_NODE_COUNT INTEGER,
-        DEFAULT_CPU_COUNT INTEGER,
-        DEFAULT_WALLTIME INTEGER,
-        QUEUE_SPECIFIC_MACROS VARCHAR(255),
-        IS_DEFAULT_QUEUE TINYINT(1),
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE COMPUTE_RESOURCE_FILE_SYSTEM
-(
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        PATH VARCHAR (255),
-        FILE_SYSTEM VARCHAR (255) NOT NULL,
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,FILE_SYSTEM),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE JOB_SUBMISSION_INTERFACE
-(
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_PROTOCOL VARCHAR (255) NOT NULL,
-        PRIORITY_ORDER INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT NOW(),
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
- 
-CREATE TABLE DATA_MOVEMENT_INTERFACE
-(
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        PRIORITY_ORDER INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT NOW(),
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,DATA_MOVEMENT_INTERFACE_ID),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE STORAGE_RESOURCE
-(
-        STORAGE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        HOST_NAME VARCHAR (255) NOT NULL,
-        DESCRIPTION VARCHAR (255),
-        ENABLED SMALLINT,
-        CREATION_TIME TIMESTAMP DEFAULT NOW(),
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (STORAGE_RESOURCE_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE STORAGE_INTERFACE
-(
-        STORAGE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
-        PRIORITY_ORDER INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT NOW(),
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (STORAGE_RESOURCE_ID,DATA_MOVEMENT_INTERFACE_ID),
-        FOREIGN KEY (STORAGE_RESOURCE_ID) REFERENCES STORAGE_RESOURCE(STORAGE_RESOURCE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE JOB_MANAGER_COMMAND
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        COMMAND_TYPE VARCHAR (255) NOT NULL,
-        COMMAND VARCHAR (255),
-        PRIMARY KEY (RESOURCE_JOB_MANAGER_ID,COMMAND_TYPE),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PARALLELISM_COMMAND
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        COMMAND_TYPE VARCHAR (255) NOT NULL,
-        COMMAND VARCHAR (255),
-        PRIMARY KEY (RESOURCE_JOB_MANAGER_ID,COMMAND_TYPE),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE LOCAL_SUBMISSION
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT NOW(),
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE LOCAL_DATA_MOVEMENT
-(
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE STORAGE_PREFERENCE
-(
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        STORAGE_RESOURCE_ID VARCHAR(255) NOT NULL,
-        LOGIN_USERNAME VARCHAR(255),
-        FS_ROOT_LOCATION VARCHAR(255),
-        RESOURCE_CS_TOKEN VARCHAR(255),
-        PRIMARY KEY(GATEWAY_ID,STORAGE_RESOURCE_ID),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY_PROFILE(GATEWAY_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE USER_RESOURCE_PROFILE (
-  USER_ID varchar(255) NOT NULL,
-  CREATION_TIME datetime DEFAULT NULL,
-  CS_TOKEN varchar(255) DEFAULT NULL,
-  GATEWAY_ID varchar(255) NOT NULL,
-  IDENTITY_SERVER_PWD_CRED_TOKEN varchar(255) DEFAULT NULL,
-  IDENTITY_SERVER_TENANT varchar(255) DEFAULT NULL,
-  UPDATE_TIME datetime DEFAULT NULL,
-  PRIMARY KEY (USER_ID,GATEWAY_ID)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE USER_STORAGE_PREFERENCE (
-  STORAGE_RESOURCE_ID varchar(255) NOT NULL,
-  USER_ID varchar(255) NOT NULL,
-  RESOURCE_CS_TOKEN varchar(255) DEFAULT NULL,
-  FS_ROOT_LOCATION varchar(255) DEFAULT NULL,
-  GATEWAY_ID varchar(255) NOT NULL,
-  LOGIN_USERNAME varchar(255) DEFAULT NULL,
-  PRIMARY KEY (STORAGE_RESOURCE_ID,USER_ID,GATEWAY_ID)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE USER_COMPUTE_RESOURCE_PREFERENCE (
-  RESOURCE_ID varchar(255) NOT NULL,
-  USER_ID varchar(255) NOT NULL,
-  PREFERED_BATCH_QUEUE varchar(255) DEFAULT NULL,
-  RESOURCE_CS_TOKEN varchar(255) DEFAULT NULL,
-  GATEWAY_ID varchar(255) NOT NULL,
-  LOGIN_USERNAME varchar(255) DEFAULT NULL,
-  ALLOCATION_PROJECT_NUMBER varchar(255) DEFAULT NULL,
-  QUALITY_OF_SERVICE varchar(255) DEFAULT NULL,
-  RESERVATION varchar(255) DEFAULT NULL,
-  RESERVATION_END_TIME datetime DEFAULT NULL,
-  RESERVATION_START_TIME datetime DEFAULT NULL,
-  SCRATCH_LOCATION varchar(255) DEFAULT NULL,
-  VALIDATED TINYINT(1) DEFAULT 0,
-  PRIMARY KEY (RESOURCE_ID,USER_ID,GATEWAY_ID)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GROUP_RESOURCE_PROFILE (
-  GATEWAY_ID varchar(255) NOT NULL,
-  GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-  GROUP_RESOURCE_PROFILE_NAME varchar(255) DEFAULT NULL,
-  CREATION_TIME BIGINT NOT NULL,
-  UPDATE_TIME BIGINT NOT NULL,
-  DEFAULT_CREDENTIAL_STORE_TOKEN varchar(255) DEFAULT NULL,
-  PRIMARY KEY (GROUP_RESOURCE_PROFILE_ID),
-  UNIQUE (GATEWAY_ID, GROUP_RESOURCE_PROFILE_NAME)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE BATCH_QUEUE_RESOURCE_POLICY (
-  RESOURCE_POLICY_ID varchar(255) NOT NULL,
-  COMPUTE_RESOURCE_ID varchar(255) NOT NULL,
-  GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-  QUEUE_NAME varchar(255) NOT NULL,
-  MAX_ALLOWED_NODES INTEGER,
-  MAX_ALLOWED_CORES INTEGER,
-  MAX_ALLOWED_WALLTIME INTEGER,
-  PRIMARY KEY (RESOURCE_POLICY_ID),
-  FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-  FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE COMPUTE_RESOURCE_POLICY (
-    RESOURCE_POLICY_ID varchar(255) NOT NULL,
-    COMPUTE_RESOURCE_ID varchar(255) NOT NULL,
-    GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-    PRIMARY KEY (RESOURCE_POLICY_ID),
-    FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-    FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE COMPUTE_RESOURCE_POLICY_QUEUES (
-    RESOURCE_POLICY_ID varchar(255) NOT NULL,
-    QUEUE_NAME varchar(255) NOT NULL,
-    PRIMARY KEY (RESOURCE_POLICY_ID, QUEUE_NAME),
-    FOREIGN KEY (RESOURCE_POLICY_ID) REFERENCES COMPUTE_RESOURCE_POLICY(RESOURCE_POLICY_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GROUP_COMPUTE_RESOURCE_PREFERENCE
-(
-        RESOURCE_ID VARCHAR(255) NOT NULL,
-        GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-        OVERRIDE_BY_AIRAVATA SMALLINT,
-        PREFERED_JOB_SUB_PROTOCOL VARCHAR(255),
-        PREFERED_DATA_MOVE_PROTOCOL VARCHAR(255),
-        PREFERED_BATCH_QUEUE VARCHAR(255),
-        SCRATCH_LOCATION VARCHAR(255),
-        ALLOCATION_PROJECT_NUMBER VARCHAR(255),
-        LOGIN_USERNAME VARCHAR(255),
-        RESOURCE_CS_TOKEN VARCHAR(255),
-        USAGE_REPORTING_GATEWAY_ID VARCHAR(255),
-        QUALITY_OF_SERVICE VARCHAR(255),
-        SSH_ACCOUNT_PROVISIONER VARCHAR(255),
-        SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000),
-        PRIMARY KEY(RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID),
-        FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-        FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GRP_SSH_ACC_PROV_CONFIG
-(
-        RESOURCE_ID VARCHAR(255) NOT NULL,
-        GROUP_RESOURCE_PROFILE_ID VARCHAR(255) NOT NULL,
-        CONFIG_NAME VARCHAR(255) NOT NULL,
-        CONFIG_VALUE VARCHAR(255),
-        PRIMARY KEY (RESOURCE_ID, CONFIG_NAME, GROUP_RESOURCE_PROFILE_ID),
-        FOREIGN KEY (RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_COMPUTE_RESOURCE_PREFERENCE (RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PARSING_TEMPLATE
-(
-        PARSING_TEMPLATE_ID VARCHAR(255) NOT NULL,
-        APP_INTERFACE_ID VARCHAR(255) NOT NULL,
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSING_TEMPLATE_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PARSER
-(
-        PARSER_ID VARCHAR(255) NOT NULL,
-        IMAGE_NAME VARCHAR(255) NOT NULL,
-        OUTPUT_DIR_PATH VARCHAR(255) NOT NULL,
-        INPUT_DIR_PATH VARCHAR(255) NOT NULL,
-        EXECUTION_COMMAND VARCHAR(255) NOT NULL,
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSER_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PARSER_OUTPUT
-(
-        PARSER_OUTPUT_ID VARCHAR(255) NOT NULL,
-        PARSER_OUTPUT_NAME VARCHAR(255) NOT NULL,
-        PARSER_OUTPUT_REQUIRED TINYINT(1) NOT NULL,
-        PARSER_ID VARCHAR(255) NOT NULL,
-        OUTPUT_TYPE VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSER_OUTPUT_ID),
-        FOREIGN KEY (PARSER_ID) REFERENCES PARSER (PARSER_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PARSER_INPUT
-(
-        PARSER_INPUT_ID VARCHAR(255) NOT NULL,
-        PARSER_INPUT_NAME VARCHAR(255) NOT NULL,
-        PARSER_INPUT_REQUIRED TINYINT(1) NOT NULL,
-        PARSER_ID VARCHAR(255) NOT NULL,
-        INPUT_TYPE VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSER_INPUT_ID),
-        FOREIGN KEY (PARSER_ID) REFERENCES PARSER (PARSER_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PARSING_TEMPLATE_INPUT
-(
-        PARSING_TEMPLATE_INPUT_ID VARCHAR(255) NOT NULL,
-        TARGET_PARSER_INPUT_ID VARCHAR(255) NOT NULL,
-        APPLICATION_OUTPUT_NAME VARCHAR(255),
-        VALUE VARCHAR(255),
-        PARSING_TEMPLATE_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSING_TEMPLATE_INPUT_ID),
-        FOREIGN KEY (TARGET_PARSER_INPUT_ID) REFERENCES PARSER_INPUT (PARSER_INPUT_ID) ON DELETE CASCADE,
-        FOREIGN KEY (PARSING_TEMPLATE_ID) REFERENCES PARSING_TEMPLATE (PARSING_TEMPLATE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PARSER_CONNECTOR
-(
-        PARSER_CONNECTOR_ID VARCHAR(255) NOT NULL,
-        PARENT_PARSER_ID VARCHAR(255) NOT NULL,
-        CHILD_PARSER_ID VARCHAR(255) NOT NULL,
-        PARSING_TEMPLATE_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSER_CONNECTOR_ID),
-        FOREIGN KEY (PARENT_PARSER_ID) REFERENCES PARSER (PARSER_ID) ON DELETE CASCADE,
-        FOREIGN KEY (CHILD_PARSER_ID) REFERENCES PARSER (PARSER_ID) ON DELETE CASCADE,
-        FOREIGN KEY (PARSING_TEMPLATE_ID) REFERENCES PARSING_TEMPLATE (PARSING_TEMPLATE_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PARSER_CONNECTOR_INPUT
-(
-        PARSER_CONNECTOR_INPUT_ID VARCHAR(255) NOT NULL,
-        PARSER_INPUT_ID VARCHAR(255) NOT NULL,
-        PARSER_OUTPUT_ID VARCHAR(255),
-        VALUE VARCHAR(255),
-        PARSER_CONNECTOR_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PARSER_CONNECTOR_INPUT_ID),
-        FOREIGN KEY (PARSER_INPUT_ID) REFERENCES PARSER_INPUT (PARSER_INPUT_ID) ON DELETE CASCADE,
-        FOREIGN KEY (PARSER_OUTPUT_ID) REFERENCES PARSER_OUTPUT (PARSER_OUTPUT_ID) ON DELETE CASCADE,
-        FOREIGN KEY (PARSER_CONNECTOR_ID) REFERENCES PARSER_CONNECTOR (PARSER_CONNECTOR_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GATEWAY_GROUPS
-(
-  GATEWAY_ID VARCHAR(255) NOT NULL,
-  ADMINS_GROUP_ID VARCHAR(255),
-  READ_ONLY_ADMINS_GROUP_ID VARCHAR(255),
-  DEFAULT_GATEWAY_USERS_GROUP_ID VARCHAR(255),
-  PRIMARY KEY(GATEWAY_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE CLOUD_JOB_SUBMISSION (
-  JOB_SUBMISSION_INTERFACE_ID varchar(255) NOT NULL,
-  EXECUTABLE_TYPE VARCHAR(255) DEFAULT NULL,
-  NODE_ID VARCHAR(255) DEFAULT NULL,
-  PROVIDER_NAME VARCHAR(255) DEFAULT NULL,
-  SECURITY_PROTOCOL VARCHAR(255) DEFAULT NULL,
-  USER_ACCOUNT_NAME VARCHAR(255) DEFAULT NULL,
-  PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE CONFIGURATION
-(
-          CONFIG_KEY VARCHAR(255),
-          CONFIG_VAL VARCHAR(255),
-          PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('app_catalog_version', '0.16');
-
diff --git a/modules/ide-integration/src/main/resources/database_scripts/credstore-derby.sql b/modules/ide-integration/src/main/resources/database_scripts/credstore-derby.sql
deleted file mode 100644
index 7ccc001..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/credstore-derby.sql
+++ /dev/null
@@ -1,27 +0,0 @@
-CREATE TABLE COMMUNITY_USER (
-  GATEWAY_ID           VARCHAR(256) NOT NULL,
-  COMMUNITY_USER_NAME  VARCHAR(256) NOT NULL,
-  TOKEN_ID             VARCHAR(256) NOT NULL,
-  COMMUNITY_USER_EMAIL VARCHAR(256) NOT NULL,
-  PRIMARY KEY (GATEWAY_ID, COMMUNITY_USER_NAME, TOKEN_ID)
-);
-
-CREATE TABLE CREDENTIALS (
-  GATEWAY_ID     VARCHAR(256) NOT NULL,
-  TOKEN_ID       VARCHAR(256) NOT NULL,
-  CREDENTIAL     BLOB         NOT NULL,
-  PORTAL_USER_ID VARCHAR(256) NOT NULL,
-  TIME_PERSISTED TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-  DESCRIPTION VARCHAR(500),
-  CREDENTIAL_OWNER_TYPE VARCHAR(10) DEFAULT 'GATEWAY' NOT NULL,
-  PRIMARY KEY (GATEWAY_ID, TOKEN_ID)
-);
-
-CREATE TABLE CONFIGURATION (
-  CONFIG_KEY VARCHAR(255),
-  CONFIG_VAL VARCHAR(255),
-  PRIMARY KEY (CONFIG_KEY, CONFIG_VAL)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES ('credential_store_version', '0.16');
-
diff --git a/modules/ide-integration/src/main/resources/database_scripts/credstore-mysql.sql b/modules/ide-integration/src/main/resources/database_scripts/credstore-mysql.sql
deleted file mode 100644
index a6c9144..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/credstore-mysql.sql
+++ /dev/null
@@ -1,27 +0,0 @@
-CREATE TABLE COMMUNITY_USER (
-  GATEWAY_ID           VARCHAR(100) NOT NULL,
-  COMMUNITY_USER_NAME  VARCHAR(100) NOT NULL,
-  TOKEN_ID             VARCHAR(100) NOT NULL,
-  COMMUNITY_USER_EMAIL VARCHAR(256) NOT NULL,
-  PRIMARY KEY (GATEWAY_ID, COMMUNITY_USER_NAME, TOKEN_ID)
-);
-
-CREATE TABLE CREDENTIALS (
-  GATEWAY_ID     VARCHAR(100) NOT NULL,
-  TOKEN_ID       VARCHAR(100) NOT NULL,
-  CREDENTIAL     BLOB         NOT NULL,
-  PORTAL_USER_ID VARCHAR(256) NOT NULL,
-  TIME_PERSISTED TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-  DESCRIPTION VARCHAR(500),
-  CREDENTIAL_OWNER_TYPE VARCHAR(10) DEFAULT 'GATEWAY' NOT NULL,
-  PRIMARY KEY (GATEWAY_ID, TOKEN_ID)
-);
-
-CREATE TABLE CONFIGURATION (
-  CONFIG_KEY VARCHAR(255),
-  CONFIG_VAL VARCHAR(255),
-  PRIMARY KEY (CONFIG_KEY, CONFIG_VAL)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES ('credential_store_version', '0.16');
-
diff --git a/modules/ide-integration/src/main/resources/database_scripts/dozer_mapping.xml b/modules/ide-integration/src/main/resources/database_scripts/dozer_mapping.xml
deleted file mode 100644
index bf7cb33..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/dozer_mapping.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mappings xmlns="http://dozer.sourceforge.net"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://dozer.sourceforge.net
-      http://dozer.sourceforge.net/schema/beanmapping.xsd">
-    <mapping>
-        <class-a>org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription</class-a>
-        <class-b>org.apache.airavata.registry.core.entities.appcatalog.StorageInterfaceEntity</class-b>
-        <field custom-converter="org.apache.airavata.registry.core.utils.DozerConverter.StorageDateConverter">
-            <a>creationTime</a>
-            <b>creationTime</b>
-        </field>
-        <field custom-converter="org.apache.airavata.registry.core.utils.DozerConverter.StorageDateConverter">
-            <a>updateTime</a>
-            <b>updateTime</b>
-        </field>
-    </mapping>
-    <mapping>
-        <class-a>org.apache.airavata.registry.core.entities.expcatalog.UserConfigurationDataEntity</class-a>
-        <class-b>org.apache.airavata.model.experiment.UserConfigurationDataModel</class-b>
-        <field>
-            <a>this</a>
-            <b>computationalResourceScheduling</b>
-        </field>
-    </mapping>
-</mappings>
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/resources/database_scripts/expcatalog-derby.sql b/modules/ide-integration/src/main/resources/database_scripts/expcatalog-derby.sql
deleted file mode 100644
index 1cab313..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/expcatalog-derby.sql
+++ /dev/null
@@ -1,403 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-CREATE TABLE GATEWAY
-(
-        GATEWAY_ID VARCHAR(255),
-        GATEWAY_NAME VARCHAR(255),
-	      DOMAIN VARCHAR(255),
-	      EMAIL_ADDRESS VARCHAR(255),
-        GATEWAY_ACRONYM varchar(255),
-        GATEWAY_ADMIN_EMAIL varchar(255),
-        GATEWAY_ADMIN_FIRST_NAME varchar(255),
-        GATEWAY_APPROVAL_STATUS varchar(255),
-        GATEWAY_PUBLIC_ABSTRACT varchar(255),
-        GATEWAY_URL varchar(255),
-        GATEWAY_ADMIN_LAST_NAME varchar(255),
-        IDENTITY_SERVER_PASSWORD_TOKEN varchar(255),
-        IDENTITY_SERVER_USERNAME varchar(255),
-        GATEWAY_REVIEW_PROPOSAL_DESCRIPTION varchar(255),
-        DECLINED_REASON varchar(255),
-        OAUTH_CLIENT_SECRET varchar(255),
-        OAUTH_CLIENT_ID varchar(255),
-        REQUEST_CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        REQUESTER_USERNAME VARCHAR(255),
-        PRIMARY KEY (GATEWAY_ID)
-);
-
-CREATE TABLE NOTIFICATION
-(
-        NOTIFICATION_ID VARCHAR(255) NOT NULL,
-        GATEWAY_ID VARCHAR(255),
-        TITLE VARCHAR(255),
-        PRIORITY VARCHAR(255),
-        NOTIFICATION_MESSAGE VARCHAR(4096) NOT NULL,
-        PUBLISHED_DATE TIMESTAMP,
-        EXPIRATION_DATE TIMESTAMP,
-        CREATION_DATE TIMESTAMP,
-        PRIMARY KEY (NOTIFICATION_ID)
-);
-
-CREATE TABLE USERS
-(
-        AIRAVATA_INTERNAL_USER_ID VARCHAR(255) NOT NULL,
-        USER_NAME VARCHAR(255),
-        PASSWORD VARCHAR(255),
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (GATEWAY_ID, USER_NAME),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE,
-        UNIQUE (AIRAVATA_INTERNAL_USER_ID)
-);
-
-CREATE TABLE GATEWAY_WORKER
-(
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        USER_NAME VARCHAR(255),
-        PRIMARY KEY (GATEWAY_ID, USER_NAME),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PROJECT
-(
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        USER_NAME VARCHAR(255),
-        PROJECT_NAME VARCHAR(255),
-        PROJECT_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(255),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (PROJECT_ID),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PROJECT_USER
-(
-        PROJECT_ID VARCHAR(255) NOT NULL,
-        USER_NAME VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PROJECT_ID,USER_NAME),
-        FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE EXPERIMENT (
-        EXPERIMENT_ID varchar(255),
-        PROJECT_ID varchar(255) NOT NULL,
-        GATEWAY_ID varchar(255),
-        EXPERIMENT_TYPE varchar(255),
-        USER_NAME varchar(255),
-        EXPERIMENT_NAME varchar(255),
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        DESCRIPTION varchar(255),
-        EXECUTION_ID varchar(255),
-        GATEWAY_EXECUTION_ID varchar(255),
-        GATEWAY_INSTANCE_ID varchar(255),
-        ENABLE_EMAIL_NOTIFICATION SMALLINT,
-        EMAIL_ADDRESSES CLOB,
-        PRIMARY KEY (EXPERIMENT_ID),
-        FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE EXPERIMENT_INPUT
-(
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        INPUT_NAME varchar(255),
-        INPUT_VALUE CLOB,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        STANDARD_INPUT SMALLINT,
-        USER_FRIENDLY_DESCRIPTION varchar(255),
-        METADATA varchar(4096),
-        INPUT_ORDER INT,
-        IS_REQUIRED SMALLINT,
-        REQUIRED_TO_ADDED_TO_CMD SMALLINT,
-        DATA_STAGED SMALLINT,
-        STORAGE_RESOURCE_ID varchar(255),
-        IS_READ_ONLY SMALLINT,
-        PRIMARY KEY(EXPERIMENT_ID,INPUT_NAME),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE EXPERIMENT_OUTPUT
-(
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        OUTPUT_NAME varchar(255),
-        OUTPUT_VALUE CLOB,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        IS_REQUIRED SMALLINT,
-        REQUIRED_TO_ADDED_TO_CMD SMALLINT,
-        DATA_MOVEMENT SMALLINT,
-        LOCATION varchar(255),
-        SEARCH_QUERY varchar(255),
-        OUTPUT_STREAMING SMALLINT,
-        STORAGE_RESOURCE_ID varchar(255),
-        PRIMARY KEY(EXPERIMENT_ID,OUTPUT_NAME),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE EXPERIMENT_STATUS (
-        STATUS_ID varchar(255),
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        REASON CLOB,
-        PRIMARY KEY (STATUS_ID, EXPERIMENT_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE EXPERIMENT_ERROR (
-        ERROR_ID varchar(255),
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ERROR_ID, EXPERIMENT_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE USER_CONFIGURATION_DATA (
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        AIRAVATA_AUTO_SCHEDULE SMALLINT,
-        OVERRIDE_MANUAL_SCHEDULED_PARAMS SMALLINT,
-        SHARE_EXPERIMENT_PUBLICALLY SMALLINT,
-        THROTTLE_RESOURCES SMALLINT,
-        USER_DN varchar(255),
-        GENERATE_CERT SMALLINT,
-        RESOURCE_HOST_ID varchar(255),
-        TOTAL_CPU_COUNT INT,
-        NODE_COUNT INT,
-        NUMBER_OF_THREADS INT,
-        QUEUE_NAME varchar(255),
-        WALL_TIME_LIMIT INT,
-        TOTAL_PHYSICAL_MEMORY INT,
-        STATIC_WORKING_DIR varchar(255),
-        OVERRIDE_LOGIN_USER_NAME varchar(255),
-        OVERRIDE_SCRATCH_LOCATION varchar(255),
-        OVERRIDE_ALLOCATION_PROJECT_NUMBER varchar(255),
-        STORAGE_RESOURCE_ID varchar(255),
-        EXPERIMENT_DATA_DIR VARCHAR (512),
-        GROUP_RESOURCE_PROFILE_ID VARCHAR(255) DEFAULT NULL,
-        IS_USE_USER_CR_PREF SMALLINT,
-        PRIMARY KEY (EXPERIMENT_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-CREATE VIEW LATEST_EXPERIMENT_STATUS AS
-  select ES1.EXPERIMENT_ID AS EXPERIMENT_ID, ES1.STATE AS STATE, ES1.TIME_OF_STATE_CHANGE AS TIME_OF_STATE_CHANGE
-  from EXPERIMENT_STATUS ES1 LEFT JOIN EXPERIMENT_STATUS ES2 ON (ES1.EXPERIMENT_ID = ES2.EXPERIMENT_ID
-    AND ES1.TIME_OF_STATE_CHANGE < ES2.TIME_OF_STATE_CHANGE)  WHERE ES2.TIME_OF_STATE_CHANGE is NULL;
-
-CREATE VIEW EXPERIMENT_SUMMARY AS
-  select E.EXPERIMENT_ID AS EXPERIMENT_ID, E.PROJECT_ID AS PROJECT_ID, E.GATEWAY_ID AS GATEWAY_ID,
-  E.USER_NAME AS USER_NAME, E.EXECUTION_ID AS EXECUTION_ID, E.EXPERIMENT_NAME AS EXPERIMENT_NAME,
-  E.CREATION_TIME AS CREATION_TIME, E.DESCRIPTION AS DESCRIPTION, ES.STATE AS STATE, UD.RESOURCE_HOST_ID
-  AS RESOURCE_HOST_ID, ES.TIME_OF_STATE_CHANGE AS TIME_OF_STATE_CHANGE
-    from ((EXPERIMENT E left join LATEST_EXPERIMENT_STATUS ES on((E.EXPERIMENT_ID = ES.EXPERIMENT_ID)))
-    left join USER_CONFIGURATION_DATA UD on((E.EXPERIMENT_ID = UD.EXPERIMENT_ID))) where true;
-
-CREATE TABLE PROCESS (
-        PROCESS_ID varchar(255),
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        LAST_UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PROCESS_DETAIL CLOB,
-        APPLICATION_INTERFACE_ID varchar(255),
-        TASK_DAG CLOB,
-        APPLICATION_DEPLOYMENT_ID varchar(255),
-        COMPUTE_RESOURCE_ID varchar(255),
-        GATEWAY_EXECUTION_ID varchar(255),
-        ENABLE_EMAIL_NOTIFICATION SMALLINT,
-        EMAIL_ADDRESSES CLOB,
-        STORAGE_RESOURCE_ID varchar(255),
-        USER_DN varchar(255),
-        GENERATE_CERT SMALLINT,
-        EXPERIMENT_DATA_DIR VARCHAR (512),
-        USERNAME VARCHAR (255),
-        GROUP_RESOURCE_PROFILE_ID VARCHAR (255) DEFAULT NULL,
-        USE_USER_CR_PREF SMALLINT,
-        PRIMARY KEY (PROCESS_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PROCESS_INPUT
-(
-        PROCESS_ID varchar(255) NOT NULL,
-        INPUT_NAME varchar(255),
-        INPUT_VALUE CLOB,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        STANDARD_INPUT SMALLINT,
-        USER_FRIENDLY_DESCRIPTION varchar(255),
-        METADATA varchar(4096),
-        INPUT_ORDER INT,
-        IS_REQUIRED SMALLINT,
-        REQUIRED_TO_ADDED_TO_CMD SMALLINT,
-        DATA_STAGED SMALLINT,
-        STORAGE_RESOURCE_ID varchar(255),
-        IS_READ_ONLY SMALLINT,
-        PRIMARY KEY(PROCESS_ID,INPUT_NAME),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PROCESS_OUTPUT
-(
-        PROCESS_ID varchar(255) NOT NULL,
-        OUTPUT_NAME varchar(255),
-        OUTPUT_VALUE CLOB,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        IS_REQUIRED SMALLINT,
-        REQUIRED_TO_ADDED_TO_CMD SMALLINT,
-        DATA_MOVEMENT SMALLINT,
-        LOCATION varchar(255),
-        SEARCH_QUERY varchar(255),
-        OUTPUT_STREAMING SMALLINT,
-        STORAGE_RESOURCE_ID varchar(255),
-        PRIMARY KEY(PROCESS_ID,OUTPUT_NAME),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE PROCESS_STATUS (
-        STATUS_ID varchar(255),
-        PROCESS_ID varchar(255) NOT NULL,
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        REASON CLOB,
-        PRIMARY KEY (STATUS_ID, PROCESS_ID),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE PROCESS_ERROR (
-        ERROR_ID varchar(255),
-        PROCESS_ID varchar(255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ERROR_ID, PROCESS_ID),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PROCESS_RESOURCE_SCHEDULE (
-        PROCESS_ID varchar(255) NOT NULL,
-        RESOURCE_HOST_ID varchar(255),
-        TOTAL_CPU_COUNT INT,
-        NODE_COUNT INT,
-        NUMBER_OF_THREADS INT,
-        QUEUE_NAME varchar(255),
-        WALL_TIME_LIMIT INT,
-        TOTAL_PHYSICAL_MEMORY INT,
-        STATIC_WORKING_DIR varchar(255),
-        OVERRIDE_ALLOCATION_PROJECT_NUMBER varchar(255),
-        OVERRIDE_LOGIN_USER_NAME varchar(255),
-        OVERRIDE_SCRATCH_LOCATION varchar(255),
-        PRIMARY KEY (PROCESS_ID),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE TASK (
-        TASK_ID varchar(255),
-        TASK_TYPE varchar(255),
-        PARENT_PROCESS_ID varchar(255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        LAST_UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        TASK_DETAIL CLOB,
-        SUB_TASK_MODEL BLOB,
-        PRIMARY KEY (TASK_ID),
-        FOREIGN KEY (PARENT_PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE TASK_STATUS (
-        STATUS_ID varchar(255),
-        TASK_ID varchar(255) NOT NULL,
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        REASON CLOB,
-        PRIMARY KEY (STATUS_ID, TASK_ID),
-        FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE TASK_ERROR (
-        ERROR_ID varchar(255),
-        TASK_ID varchar(255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ERROR_ID, TASK_ID),
-        FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE JOB (
-        JOB_ID varchar(255),
-        TASK_ID varchar(255) NOT NULL,
-        PROCESS_ID varchar(255),
-        JOB_DESCRIPTION CLOB NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        COMPUTE_RESOURCE_CONSUMED varchar(255),
-        JOB_NAME varchar(255),
-        WORKING_DIR varchar(255),
-        STD_OUT CLOB,
-        STD_ERR CLOB,
-        EXIT_CODE INT,
-        PRIMARY KEY (JOB_ID, TASK_ID),
-        FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE JOB_STATUS (
-        STATUS_ID varchar(255),
-        JOB_ID varchar(255) NOT NULL,
-        TASK_ID varchar(255) NOT NULL,
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        REASON CLOB,
-        PRIMARY KEY (STATUS_ID, JOB_ID, TASK_ID),
-        FOREIGN KEY (JOB_ID, TASK_ID) REFERENCES JOB(JOB_ID, TASK_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE QUEUE_STATUS(
-        HOST_NAME VARCHAR(255) NOT NULL,
-        QUEUE_NAME VARCHAR(255) NOT NULL,
-        CREATED_TIME BIGINT NOT NULL,
-        QUEUE_UP SMALLINT,
-        RUNNING_JOBS INT,
-        QUEUED_JOBS INT,
-        PRIMARY KEY (HOST_NAME, QUEUE_NAME, CREATED_TIME)
-);
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        EXPIRE_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        CATEGORY_ID VARCHAR (255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL, CATEGORY_ID)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL, EXPIRE_DATE, CATEGORY_ID) VALUES('registry.version', '0.16', CURRENT_TIMESTAMP ,'SYSTEM');
diff --git a/modules/ide-integration/src/main/resources/database_scripts/expcatalog-mysql.sql b/modules/ide-integration/src/main/resources/database_scripts/expcatalog-mysql.sql
deleted file mode 100644
index 1b26cf0..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/expcatalog-mysql.sql
+++ /dev/null
@@ -1,405 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-CREATE TABLE GATEWAY
-(
-        GATEWAY_ID VARCHAR(255),
-        GATEWAY_NAME VARCHAR(255),
-	      DOMAIN VARCHAR(255),
-	      EMAIL_ADDRESS VARCHAR(255),
-        GATEWAY_ACRONYM varchar(255),
-        GATEWAY_ADMIN_EMAIL varchar(255),
-        GATEWAY_ADMIN_FIRST_NAME varchar(255),
-        GATEWAY_APPROVAL_STATUS varchar(255),
-        GATEWAY_PUBLIC_ABSTRACT varchar(255),
-        GATEWAY_URL varchar(255),
-        GATEWAY_ADMIN_LAST_NAME varchar(255),
-        IDENTITY_SERVER_PASSWORD_TOKEN varchar(255),
-        IDENTITY_SERVER_USERNAME varchar(255),
-        GATEWAY_REVIEW_PROPOSAL_DESCRIPTION varchar(255),
-        DECLINED_REASON varchar(255),
-        OAUTH_CLIENT_SECRET varchar(255),
-        OAUTH_CLIENT_ID varchar(255),
-        REQUEST_CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        REQUESTER_USERNAME VARCHAR(255),
-        PRIMARY KEY (GATEWAY_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE NOTIFICATION
-(
-        NOTIFICATION_ID VARCHAR(255) NOT NULL,
-        GATEWAY_ID VARCHAR(255),
-        TITLE VARCHAR(255),
-        PRIORITY VARCHAR(255),
-        NOTIFICATION_MESSAGE VARCHAR(4096) NOT NULL,
-        PUBLISHED_DATE TIMESTAMP,
-        EXPIRATION_DATE TIMESTAMP,
-        CREATION_DATE TIMESTAMP,
-        PRIMARY KEY (NOTIFICATION_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE USERS
-(
-        AIRAVATA_INTERNAL_USER_ID VARCHAR(255) NOT NULL,
-        USER_NAME VARCHAR(255),
-        PASSWORD VARCHAR(255),
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        PRIMARY KEY (GATEWAY_ID, USER_NAME),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE,
-        UNIQUE (AIRAVATA_INTERNAL_USER_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE GATEWAY_WORKER
-(
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        USER_NAME VARCHAR(255),
-        PRIMARY KEY (GATEWAY_ID, USER_NAME),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PROJECT
-(
-        GATEWAY_ID VARCHAR(255) NOT NULL,
-        USER_NAME VARCHAR(255),
-        PROJECT_NAME VARCHAR(255),
-        PROJECT_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(255),
-        CREATION_TIME TIMESTAMP DEFAULT NOW(),
-        PRIMARY KEY (PROJECT_ID),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PROJECT_USER
-(
-        PROJECT_ID VARCHAR(255) NOT NULL,
-        USER_NAME VARCHAR(255) NOT NULL,
-        PRIMARY KEY (PROJECT_ID,USER_NAME),
-        FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE EXPERIMENT (
-        EXPERIMENT_ID varchar(255),
-        PROJECT_ID varchar(255) NOT NULL,
-        GATEWAY_ID varchar(255),
-        EXPERIMENT_TYPE varchar(255),
-        USER_NAME varchar(255),
-        EXPERIMENT_NAME varchar(255),
-        CREATION_TIME timestamp DEFAULT NOW(),
-        DESCRIPTION varchar(255),
-        EXECUTION_ID varchar(255),
-        GATEWAY_EXECUTION_ID varchar(255),
-        GATEWAY_INSTANCE_ID varchar(255),
-        ENABLE_EMAIL_NOTIFICATION tinyint(1),
-        EMAIL_ADDRESSES text,
-        PRIMARY KEY (EXPERIMENT_ID),
-        FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
-CREATE TABLE EXPERIMENT_INPUT
-(
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        INPUT_NAME varchar(255),
-        INPUT_VALUE text,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        STANDARD_INPUT tinyint(1),
-        USER_FRIENDLY_DESCRIPTION varchar(255),
-        METADATA varchar(4096),
-        INPUT_ORDER int(11),
-        IS_REQUIRED tinyint(1),
-        REQUIRED_TO_ADDED_TO_CMD tinyint(1),
-        DATA_STAGED tinyint(1),
-        STORAGE_RESOURCE_ID varchar(255),
-        IS_READ_ONLY tinyint(1),
-        PRIMARY KEY(EXPERIMENT_ID,INPUT_NAME),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE EXPERIMENT_OUTPUT
-(
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        OUTPUT_NAME varchar(255),
-        OUTPUT_VALUE text,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        IS_REQUIRED tinyint(1),
-        REQUIRED_TO_ADDED_TO_CMD tinyint(1),
-        DATA_MOVEMENT tinyint(1),
-        LOCATION varchar(255),
-        SEARCH_QUERY varchar(255),
-        OUTPUT_STREAMING SMALLINT,
-        STORAGE_RESOURCE_ID varchar(255),
-        PRIMARY KEY(EXPERIMENT_ID,OUTPUT_NAME),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
-CREATE TABLE EXPERIMENT_STATUS (
-        STATUS_ID varchar(255),
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
-        REASON LONGTEXT,
-        PRIMARY KEY (STATUS_ID, EXPERIMENT_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
-CREATE TABLE EXPERIMENT_ERROR (
-        ERROR_ID varchar(255),
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT NOW(),
-        ACTUAL_ERROR_MESSAGE text,
-        USER_FRIENDLY_MESSAGE text,
-        TRANSIENT_OR_PERSISTENT tinyint(1),
-        ROOT_CAUSE_ERROR_ID_LIST text,
-        PRIMARY KEY (ERROR_ID, EXPERIMENT_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE USER_CONFIGURATION_DATA (
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        AIRAVATA_AUTO_SCHEDULE tinyint(1),
-        OVERRIDE_MANUAL_SCHEDULED_PARAMS tinyint(1),
-        SHARE_EXPERIMENT_PUBLICALLY tinyint(1),
-        THROTTLE_RESOURCES tinyint(1),
-        USER_DN varchar(255),
-        GENERATE_CERT tinyint(1),
-        RESOURCE_HOST_ID varchar(255),
-        TOTAL_CPU_COUNT int(11),
-        NODE_COUNT int(11),
-        NUMBER_OF_THREADS int(11),
-        QUEUE_NAME varchar(255),
-        WALL_TIME_LIMIT int(11),
-        TOTAL_PHYSICAL_MEMORY int(11),
-        STATIC_WORKING_DIR varchar(255),
-        OVERRIDE_LOGIN_USER_NAME varchar(255),
-        OVERRIDE_SCRATCH_LOCATION varchar(255),
-        OVERRIDE_ALLOCATION_PROJECT_NUMBER varchar(255),
-        STORAGE_RESOURCE_ID varchar(255),
-        EXPERIMENT_DATA_DIR VARCHAR (512),
-        GROUP_RESOURCE_PROFILE_ID VARCHAR(255) DEFAULT NULL,
-        IS_USE_USER_CR_PREF TINYINT(1),
-        PRIMARY KEY (EXPERIMENT_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
-CREATE VIEW LATEST_EXPERIMENT_STATUS AS
-  select ES1.EXPERIMENT_ID AS EXPERIMENT_ID, ES1.STATE AS STATE, ES1.TIME_OF_STATE_CHANGE AS TIME_OF_STATE_CHANGE
-  from EXPERIMENT_STATUS ES1 LEFT JOIN EXPERIMENT_STATUS ES2 ON (ES1.EXPERIMENT_ID = ES2.EXPERIMENT_ID
-    AND ES1.TIME_OF_STATE_CHANGE < ES2.TIME_OF_STATE_CHANGE)  WHERE ES2.TIME_OF_STATE_CHANGE is NULL;
-
-CREATE VIEW EXPERIMENT_SUMMARY AS
-  select E.EXPERIMENT_ID AS EXPERIMENT_ID, E.PROJECT_ID AS PROJECT_ID, E.GATEWAY_ID AS GATEWAY_ID,
-  E.USER_NAME AS USER_NAME, E.EXECUTION_ID AS EXECUTION_ID, E.EXPERIMENT_NAME AS EXPERIMENT_NAME,
-  E.CREATION_TIME AS CREATION_TIME, E.DESCRIPTION AS DESCRIPTION, ES.STATE AS STATE, UD.RESOURCE_HOST_ID
-  AS RESOURCE_HOST_ID, ES.TIME_OF_STATE_CHANGE AS TIME_OF_STATE_CHANGE
-    from ((EXPERIMENT E left join LATEST_EXPERIMENT_STATUS ES on((E.EXPERIMENT_ID = ES.EXPERIMENT_ID)))
-    left join USER_CONFIGURATION_DATA UD on((E.EXPERIMENT_ID = UD.EXPERIMENT_ID))) where 1;
-
-
-CREATE TABLE PROCESS (
-        PROCESS_ID varchar(255),
-        EXPERIMENT_ID varchar(255) NOT NULL,
-        CREATION_TIME  TIMESTAMP DEFAULT NOW(),
-        LAST_UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PROCESS_DETAIL text,
-        APPLICATION_INTERFACE_ID varchar(255),
-        TASK_DAG TEXT,
-        APPLICATION_DEPLOYMENT_ID varchar(255),
-        COMPUTE_RESOURCE_ID varchar(255),
-        GATEWAY_EXECUTION_ID varchar(255),
-        ENABLE_EMAIL_NOTIFICATION BOOLEAN,
-        EMAIL_ADDRESSES TEXT,
-        STORAGE_RESOURCE_ID varchar(255),
-        USER_DN varchar(255),
-        GENERATE_CERT SMALLINT,
-        EXPERIMENT_DATA_DIR VARCHAR (512),
-        USERNAME VARCHAR (255),
-        GROUP_RESOURCE_PROFILE_ID VARCHAR (255) DEFAULT NULL,
-        USE_USER_CR_PREF TINYINT(1),
-        PRIMARY KEY (PROCESS_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PROCESS_INPUT
-(
-        PROCESS_ID varchar(255) NOT NULL,
-        INPUT_NAME varchar(255),
-        INPUT_VALUE text,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        STANDARD_INPUT tinyint(1),
-        USER_FRIENDLY_DESCRIPTION varchar(255),
-        METADATA varchar(4096),
-        INPUT_ORDER int(11),
-        IS_REQUIRED tinyint(1),
-        REQUIRED_TO_ADDED_TO_CMD tinyint(1),
-        DATA_STAGED tinyint(1),
-        STORAGE_RESOURCE_ID varchar(255),
-        IS_READ_ONLY tinyint(1),
-        PRIMARY KEY(PROCESS_ID,INPUT_NAME),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PROCESS_OUTPUT
-(
-        PROCESS_ID varchar(255) NOT NULL,
-        OUTPUT_NAME varchar(255),
-        OUTPUT_VALUE LONGTEXT,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        IS_REQUIRED tinyint(1),
-        REQUIRED_TO_ADDED_TO_CMD tinyint(1),
-        DATA_MOVEMENT tinyint(1),
-        LOCATION varchar(255),
-        SEARCH_QUERY varchar(255),
-        OUTPUT_STREAMING SMALLINT,
-        STORAGE_RESOURCE_ID varchar(255),
-        PRIMARY KEY(PROCESS_ID,OUTPUT_NAME),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
-CREATE TABLE PROCESS_STATUS (
-        STATUS_ID varchar(255),
-        PROCESS_ID varchar(255) NOT NULL,
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP(6) DEFAULT NOW(6) ON UPDATE NOW(6),
-        REASON LONGTEXT,
-        PRIMARY KEY (STATUS_ID, PROCESS_ID),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
-CREATE TABLE PROCESS_ERROR (
-        ERROR_ID varchar(255),
-        PROCESS_ID varchar(255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT NOW(),
-        ACTUAL_ERROR_MESSAGE text,
-        USER_FRIENDLY_MESSAGE text,
-        TRANSIENT_OR_PERSISTENT tinyint(1),
-        ROOT_CAUSE_ERROR_ID_LIST text,
-        PRIMARY KEY (ERROR_ID, PROCESS_ID),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE PROCESS_RESOURCE_SCHEDULE (
-        PROCESS_ID varchar(255) NOT NULL,
-        RESOURCE_HOST_ID varchar(255),
-        TOTAL_CPU_COUNT int(11),
-        NODE_COUNT int(11),
-        NUMBER_OF_THREADS int(11),
-        QUEUE_NAME varchar(255),
-        WALL_TIME_LIMIT int(11),
-        TOTAL_PHYSICAL_MEMORY int(11),
-        STATIC_WORKING_DIR varchar(255),
-        OVERRIDE_ALLOCATION_PROJECT_NUMBER varchar(255),
-        OVERRIDE_LOGIN_USER_NAME varchar(255),
-        OVERRIDE_SCRATCH_LOCATION varchar(255),
-        PRIMARY KEY (PROCESS_ID),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE TASK (
-        TASK_ID varchar(255),
-        TASK_TYPE varchar(255),
-        PARENT_PROCESS_ID varchar(255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT NOW(),
-        LAST_UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        TASK_DETAIL text,
-        SUB_TASK_MODEL BLOB,
-        PRIMARY KEY (TASK_ID),
-        FOREIGN KEY (PARENT_PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE TASK_STATUS (
-        STATUS_ID varchar(255),
-        TASK_ID varchar(255) NOT NULL,
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP(6) DEFAULT NOW(6) ON UPDATE NOW(6),
-        REASON LONGTEXT,
-        PRIMARY KEY (STATUS_ID, TASK_ID),
-        FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
-CREATE TABLE TASK_ERROR (
-        ERROR_ID varchar(255),
-        TASK_ID varchar(255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT NOW(),
-        ACTUAL_ERROR_MESSAGE text,
-        USER_FRIENDLY_MESSAGE text,
-        TRANSIENT_OR_PERSISTENT tinyint(1),
-        ROOT_CAUSE_ERROR_ID_LIST text,
-        PRIMARY KEY (ERROR_ID, TASK_ID),
-        FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE JOB (
-        JOB_ID varchar(255),
-        TASK_ID varchar(255) NOT NULL,
-        PROCESS_ID varchar(255),
-        JOB_DESCRIPTION LONGTEXT NOT NULL,
-        CREATION_TIME timestamp DEFAULT NOW(),
-        COMPUTE_RESOURCE_CONSUMED varchar(255),
-        JOB_NAME varchar(255),
-        WORKING_DIR varchar(255),
-        STD_OUT LONGTEXT,
-        STD_ERR LONGTEXT,
-        EXIT_CODE INT(11),
-        PRIMARY KEY (JOB_ID, TASK_ID),
-        FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE JOB_STATUS (
-        STATUS_ID varchar(255),
-        JOB_ID varchar(255) NOT NULL,
-        TASK_ID varchar(255) NOT NULL,
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP(6) DEFAULT NOW(6) ON UPDATE NOW(6),
-        REASON LONGTEXT,
-        PRIMARY KEY (STATUS_ID, JOB_ID, TASK_ID),
-        FOREIGN KEY (JOB_ID, TASK_ID) REFERENCES JOB(JOB_ID, TASK_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE QUEUE_STATUS(
-        HOST_NAME VARCHAR(255) NOT NULL,
-        QUEUE_NAME VARCHAR(255) NOT NULL,
-        CREATED_TIME BIGINT(20) NOT NULL,
-        QUEUE_UP     TINYINT(1),
-        RUNNING_JOBS INT(11),
-        QUEUED_JOBS INT(11),
-        PRIMARY KEY (HOST_NAME, QUEUE_NAME, CREATED_TIME)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        EXPIRE_DATE TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
-        CATEGORY_ID VARCHAR (255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL, CATEGORY_ID)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL, EXPIRE_DATE, CATEGORY_ID) VALUES('registry.version', '0.16', NOW() ,'SYSTEM');
diff --git a/modules/ide-integration/src/main/resources/database_scripts/init/02-sharing-registry-migrations.sql b/modules/ide-integration/src/main/resources/database_scripts/init/02-sharing-registry-migrations.sql
index 31ff1d4..9b5733b 100644
--- a/modules/ide-integration/src/main/resources/database_scripts/init/02-sharing-registry-migrations.sql
+++ b/modules/ide-integration/src/main/resources/database_scripts/init/02-sharing-registry-migrations.sql
@@ -1,5 +1,4 @@
 use sharing_catalog;
 
--- FIXME: IF NOT EXISTS syntax only works with MariaDB
-ALTER TABLE DOMAIN ADD COLUMN INITIAL_USER_GROUP_ID varchar(255);
-ALTER TABLE DOMAIN ADD CONSTRAINT `DOMAIN_INITIAL_USER_GROUP_ID_FK` FOREIGN KEY (INITIAL_USER_GROUP_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION;
+ALTER TABLE DOMAIN ADD COLUMN IF NOT EXISTS INITIAL_USER_GROUP_ID varchar(255);
+ALTER TABLE DOMAIN ADD CONSTRAINT `DOMAIN_INITIAL_USER_GROUP_ID_FK` FOREIGN KEY IF NOT EXISTS (INITIAL_USER_GROUP_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION;
diff --git a/modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql b/modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql
index b2a1f9a..d77d507 100644
--- a/modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql
+++ b/modules/ide-integration/src/main/resources/database_scripts/init/03-appcatalog-migrations.sql
@@ -1,20 +1,19 @@
 use app_catalog;
 
-ALTER TABLE APPLICATION_INPUT ADD COLUMN OVERRIDE_FILENAME VARCHAR(255);
-
+ALTER TABLE APPLICATION_INPUT ADD COLUMN IF NOT EXISTS OVERRIDE_FILENAME VARCHAR(255);
 -- AIRAVATA-3126
 CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_RESERVATION -- ComputeResourceReservationEntity
     (RESERVATION_ID VARCHAR(255) NOT NULL, END_TIME TIMESTAMP NOT NULL, RESERVATION_NAME VARCHAR(255) NOT NULL, START_TIME TIMESTAMP NOT NULL, RESOURCE_ID VARCHAR(255) NOT NULL, GROUP_RESOURCE_PROFILE_ID VARCHAR(255) NOT NULL, PRIMARY KEY (RESERVATION_ID)
 )ENGINE=InnoDB DEFAULT CHARSET=latin1;
 CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_RESERVATION_QUEUE (RESERVATION_ID VARCHAR(255), QUEUE_NAME VARCHAR(255) NOT NULL
 )ENGINE=InnoDB DEFAULT CHARSET=latin1;
-CREATE INDEX I_CMPTN_Q_RESERVATION_ID ON COMPUTE_RESOURCE_RESERVATION_QUEUE (RESERVATION_ID);
-ALTER TABLE COMPUTE_RESOURCE_RESERVATION ADD CONSTRAINT FK_COMPUTE_RESOURCE_RESERVATION FOREIGN KEY (RESOURCE_ID, GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_COMPUTE_RESOURCE_PREFERENCE (RESOURCE_ID, GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE;
+CREATE INDEX IF NOT EXISTS I_CMPTN_Q_RESERVATION_ID ON COMPUTE_RESOURCE_RESERVATION_QUEUE (RESERVATION_ID);
+ALTER TABLE COMPUTE_RESOURCE_RESERVATION ADD CONSTRAINT FK_COMPUTE_RESOURCE_RESERVATION FOREIGN KEY IF NOT EXISTS (RESOURCE_ID, GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_COMPUTE_RESOURCE_PREFERENCE (RESOURCE_ID, GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE;
 
 -- AIRAVATA-3327: Remove deprecated reservation fields
-alter table GROUP_COMPUTE_RESOURCE_PREFERENCE drop column RESERVATION;
-alter table GROUP_COMPUTE_RESOURCE_PREFERENCE drop column RESERVATION_START_TIME;
-alter table GROUP_COMPUTE_RESOURCE_PREFERENCE drop column RESERVATION_END_TIME;
+alter table GROUP_COMPUTE_RESOURCE_PREFERENCE drop column IF EXISTS RESERVATION;
+alter table GROUP_COMPUTE_RESOURCE_PREFERENCE drop column IF EXISTS RESERVATION_START_TIME;
+alter table GROUP_COMPUTE_RESOURCE_PREFERENCE drop column IF EXISTS RESERVATION_END_TIME;
 
 -- AIRAVATA-3343: Add UserStorageQuota entry to StoragePreferences table
 SET @AddUserStorageQuota = (SELECT IF(
diff --git a/modules/ide-integration/src/main/resources/database_scripts/init/04-expcatalog-migrations.sql b/modules/ide-integration/src/main/resources/database_scripts/init/04-expcatalog-migrations.sql
index 067e449..38ba76d 100644
--- a/modules/ide-integration/src/main/resources/database_scripts/init/04-expcatalog-migrations.sql
+++ b/modules/ide-integration/src/main/resources/database_scripts/init/04-expcatalog-migrations.sql
@@ -1,4 +1,4 @@
 use experiment_catalog;
 
-ALTER TABLE EXPERIMENT_INPUT ADD COLUMN OVERRIDE_FILENAME VARCHAR(255);
-ALTER TABLE PROCESS_INPUT ADD COLUMN OVERRIDE_FILENAME VARCHAR(255);
+ALTER TABLE EXPERIMENT_INPUT ADD COLUMN IF NOT EXISTS OVERRIDE_FILENAME VARCHAR(255);
+ALTER TABLE PROCESS_INPUT ADD COLUMN IF NOT EXISTS OVERRIDE_FILENAME VARCHAR(255);
diff --git a/modules/ide-integration/src/main/resources/database_scripts/replicacatalog-derby.sql b/modules/ide-integration/src/main/resources/database_scripts/replicacatalog-derby.sql
deleted file mode 100644
index eb287c7..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/replicacatalog-derby.sql
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-CREATE TABLE DATA_PRODUCT
-(
-        PRODUCT_URI VARCHAR (255),
-        GATEWAY_ID VARCHAR (255),
-        PRODUCT_NAME VARCHAR (255),
-        PRODUCT_DESCRIPTION VARCHAR (255),
-        OWNER_NAME VARCHAR (255),
-        PARENT_PRODUCT_URI VARCHAR (255),
-        PRODUCT_SIZE INTEGER ,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        LAST_MODIFIED_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRODUCT_TYPE VARCHAR(10),
-        PRIMARY KEY (PRODUCT_URI)
-        -- in Derby can't create self-reference FOREIGN KEY in CREATE TABLE
-        -- statement so this gets added via the following ALTER TABLE statement
-        -- FOREIGN KEY (PARENT_PRODUCT_URI) REFERENCES DATA_PRODUCT (PRODUCT_URI) ON DELETE CASCADE
-);
-
-ALTER TABLE DATA_PRODUCT ADD FOREIGN KEY (PARENT_PRODUCT_URI) REFERENCES DATA_PRODUCT (PRODUCT_URI) ON DELETE CASCADE;
-
-CREATE TABLE DATA_REPLICA_LOCATION
-(
-        REPLICA_ID VARCHAR (255),
-        PRODUCT_URI VARCHAR (255) NOT NULL,
-        REPLICA_NAME VARCHAR (255),
-        REPLICA_DESCRIPTION VARCHAR (255),
-        STORAGE_RESOURCE_ID VARCHAR (255),
-        FILE_PATH VARCHAR (4096),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        LAST_MODIFIED_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        VALID_UNTIL_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        REPLICA_LOCATION_CATEGORY VARCHAR(26),
-        REPLICA_PERSISTENT_TYPE VARCHAR(10),
-        PRIMARY KEY (REPLICA_ID),
-        FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
-);
-
-CREATE TABLE DATA_PRODUCT_METADATA
-(
-        PRODUCT_URI VARCHAR(255) NOT NULL,
-        METADATA_KEY VARCHAR(255),
-        METADATA_VALUE VARCHAR(255),
-        PRIMARY KEY(PRODUCT_URI, METADATA_KEY),
-        FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
-);
-
-CREATE TABLE DATA_REPLICA_METADATA
-(
-        REPLICA_ID VARCHAR(255) NOT NULL,
-        METADATA_KEY VARCHAR(255),
-        METADATA_VALUE VARCHAR(255),
-        PRIMARY KEY(REPLICA_ID, METADATA_KEY),
-        FOREIGN KEY (REPLICA_ID) REFERENCES DATA_REPLICA_LOCATION(REPLICA_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('data_catalog_version', '0.16');
diff --git a/modules/ide-integration/src/main/resources/database_scripts/replicacatalog-mysql.sql b/modules/ide-integration/src/main/resources/database_scripts/replicacatalog-mysql.sql
deleted file mode 100644
index a123e65..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/replicacatalog-mysql.sql
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-CREATE TABLE DATA_PRODUCT
-(
-        PRODUCT_URI VARCHAR (255),
-        GATEWAY_ID VARCHAR (255),
-        PRODUCT_NAME VARCHAR (255),
-        PRODUCT_DESCRIPTION VARCHAR (255),
-        OWNER_NAME VARCHAR (255),
-        PARENT_PRODUCT_URI VARCHAR (255),
-        PRODUCT_SIZE INT,
-        CREATION_TIME TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
-        LAST_MODIFIED_TIME TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-        PRODUCT_TYPE VARCHAR(10),
-        PRIMARY KEY (PRODUCT_URI),
-        FOREIGN KEY (PARENT_PRODUCT_URI) REFERENCES DATA_PRODUCT (PRODUCT_URI) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE DATA_REPLICA_LOCATION
-(
-        REPLICA_ID VARCHAR (255),
-        PRODUCT_URI VARCHAR (255) NOT NULL,
-        REPLICA_NAME VARCHAR (255),
-        REPLICA_DESCRIPTION VARCHAR (255),
-        STORAGE_RESOURCE_ID VARCHAR (255),
-        FILE_PATH VARCHAR (255),
-        CREATION_TIME TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
-        LAST_MODIFIED_TIME TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-        VALID_UNTIL_TIME TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
-        REPLICA_LOCATION_CATEGORY VARCHAR(26),
-        REPLICA_PERSISTENT_TYPE VARCHAR(10),
-        PRIMARY KEY (REPLICA_ID),
-        FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE DATA_PRODUCT_METADATA
-(
-        PRODUCT_URI VARCHAR(255) NOT NULL,
-        METADATA_KEY VARCHAR(255),
-        METADATA_VALUE VARCHAR(255),
-        PRIMARY KEY(PRODUCT_URI, METADATA_KEY),
-        FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE DATA_REPLICA_METADATA
-(
-        REPLICA_ID VARCHAR(255) NOT NULL,
-        METADATA_KEY VARCHAR(255),
-        METADATA_VALUE VARCHAR(255),
-        PRIMARY KEY(REPLICA_ID, METADATA_KEY),
-        FOREIGN KEY (REPLICA_ID) REFERENCES DATA_REPLICA_LOCATION(REPLICA_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('data_catalog_version', '0.16');
diff --git a/modules/ide-integration/src/main/resources/database_scripts/sharing-registry-mysql.sql b/modules/ide-integration/src/main/resources/database_scripts/sharing-registry-mysql.sql
deleted file mode 100644
index 87b55d9..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/sharing-registry-mysql.sql
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-CREATE TABLE DOMAIN (
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  NAME VARCHAR(255) NOT NULL,
-  DESCRIPTION VARCHAR(255),
-  CREATED_TIME BIGINT NOT NULL,
-  UPDATED_TIME BIGINT NOT NULL,
-  INITIAL_USER_GROUP_ID VARCHAR(255),
-  PRIMARY KEY (DOMAIN_ID)
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
-
-CREATE TABLE SHARING_USER (
-  USER_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  USER_NAME VARCHAR(255) NOT NULL,
-  FIRST_NAME VARCHAR (255),
-  LAST_NAME VARCHAR (255),
-  EMAIL VARCHAR (255),
-  ICON BLOB,
-  CREATED_TIME BIGINT NOT NULL,
-  UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (USER_ID, DOMAIN_ID),
-  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
-
-CREATE TABLE USER_GROUP (
-  GROUP_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  NAME VARCHAR(255) NOT NULL,
-  DESCRIPTION VARCHAR(255),
-  OWNER_ID VARCHAR(255) NOT NULL,
-  GROUP_TYPE VARCHAR(255) NOT NULL,
-  GROUP_CARDINALITY VARCHAR(255) NOT NULL,
-  CREATED_TIME BIGINT NOT NULL,
-  UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (GROUP_ID, DOMAIN_ID),
-  FOREIGN KEY (OWNER_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
-
-CREATE TABLE GROUP_ADMIN (
-  ADMIN_ID VARCHAR(255) NOT NULL,
-  GROUP_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  PRIMARY KEY (ADMIN_ID, GROUP_ID, DOMAIN_ID),
-  FOREIGN KEY (ADMIN_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
-
-CREATE TABLE GROUP_MEMBERSHIP (
-  PARENT_ID VARCHAR(255) NOT NULL,
-  CHILD_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  CHILD_TYPE VARCHAR(255) NOT NULL,
-  CREATED_TIME BIGINT NOT NULL,
-  UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (PARENT_ID, CHILD_ID, DOMAIN_ID),
-  FOREIGN KEY (PARENT_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  FOREIGN KEY (CHILD_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
-
-CREATE TABLE ENTITY_TYPE (
-  ENTITY_TYPE_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  NAME VARCHAR(255) NOT NULL,
-  DESCRIPTION VARCHAR(255),
-  CREATED_TIME BIGINT NOT NULL,
-  UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (ENTITY_TYPE_ID, DOMAIN_ID),
-  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
-
-CREATE TABLE PERMISSION_TYPE (
-  PERMISSION_TYPE_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  NAME VARCHAR(255) NOT NULL,
-  DESCRIPTION VARCHAR(255),
-  CREATED_TIME BIGINT NOT NULL,
-  UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (PERMISSION_TYPE_ID, DOMAIN_ID),
-  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
-
-CREATE TABLE ENTITY (
-  ENTITY_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR(255) NOT NULL,
-  ENTITY_TYPE_ID VARCHAR(255) NOT NULL,
-  OWNER_ID VARCHAR(255) NOT NULL,
-  PARENT_ENTITY_ID VARCHAR(255),
-  NAME VARCHAR(255) NOT NULL,
-  DESCRIPTION VARCHAR(255),
-  BINARY_DATA BLOB,
-  FULL_TEXT TEXT,
-  SHARED_COUNT BIGINT DEFAULT 0,
-  ORIGINAL_ENTITY_CREATION_TIME BIGINT NOT NULL,
-  CREATED_TIME BIGINT NOT NULL,
-  UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (ENTITY_ID, DOMAIN_ID),
-  FOREIGN KEY (ENTITY_TYPE_ID, DOMAIN_ID) REFERENCES ENTITY_TYPE(ENTITY_TYPE_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  FOREIGN KEY (OWNER_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  FOREIGN KEY (PARENT_ENTITY_ID, DOMAIN_ID) REFERENCES ENTITY(ENTITY_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
-
-ALTER TABLE ENTITY ADD FULLTEXT FULL_TEXT_INDEX(FULL_TEXT);
-
-CREATE TABLE SHARING (
-  PERMISSION_TYPE_ID VARCHAR(255) NOT NULL,
-  ENTITY_ID VARCHAR(255) NOT NULL,
-  DOMAIN_ID VARCHAR (255) NOT NULL,
-  GROUP_ID VARCHAR(255) NOT NULL,
-  SHARING_TYPE VARCHAR(255) NOT NULL,
-  INHERITED_PARENT_ID VARCHAR(255),
-  CREATED_TIME BIGINT NOT NULL,
-  UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (PERMISSION_TYPE_ID, ENTITY_ID, GROUP_ID, DOMAIN_ID, INHERITED_PARENT_ID),
-  CONSTRAINT `SHARING_PERMISSION_TYPE_ID_DOMAIN_ID_FK` FOREIGN KEY (PERMISSION_TYPE_ID, DOMAIN_ID) REFERENCES PERMISSION_TYPE(PERMISSION_TYPE_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  CONSTRAINT `SHARING_ENTITY_ID_DOMAIN_ID_FK` FOREIGN KEY (ENTITY_ID, DOMAIN_ID) REFERENCES ENTITY(ENTITY_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  CONSTRAINT `SHARING_INHERITED_PARENT_ID_DOMAIN_ID_FK` FOREIGN KEY (INHERITED_PARENT_ID, DOMAIN_ID) REFERENCES ENTITY(ENTITY_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  CONSTRAINT `SHARING_GROUP_ID_DOMAIN_ID_FK` FOREIGN KEY (GROUP_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
-
-CREATE TABLE CONFIGURATION
-(
-  CONFIG_KEY VARCHAR(255) NOT NULL,
-  CONFIG_VALUE VARCHAR(255) NOT NULL,
-  PRIMARY KEY(CONFIG_KEY, CONFIG_VALUE)
-)ENGINE=InnoDB DEFAULT CHARACTER SET=latin1;
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VALUE) VALUES('sharing_reg_version', '0.17');
-
-ALTER TABLE DOMAIN ADD CONSTRAINT `DOMAIN_INITIAL_USER_GROUP_ID_FK` FOREIGN KEY (INITIAL_USER_GROUP_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION;
diff --git a/modules/ide-integration/src/main/resources/database_scripts/user-profile-catalog-derby.sql b/modules/ide-integration/src/main/resources/database_scripts/user-profile-catalog-derby.sql
deleted file mode 100644
index 9ac9155..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/user-profile-catalog-derby.sql
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-CREATE TABLE IF NOT EXISTS GATEWAY (
-  AIRAVATA_INTERNAL_GATEWAY_ID varchar(255) NOT NULL,
-  DECLINED_REASON varchar(255) DEFAULT NULL,
-  GATEWAY_DOMAIN varchar(255) DEFAULT NULL,
-  EMAIL_ADDRESS varchar(255) DEFAULT NULL,
-  GATEWAY_ACRONYM varchar(255) DEFAULT NULL,
-  GATEWAY_ADMIN_EMAIL varchar(255) DEFAULT NULL,
-  GATEWAY_ADMIN_FIRST_NAME varchar(255) DEFAULT NULL,
-  GATEWAY_ADMIN_LAST_NAME varchar(255) DEFAULT NULL,
-  GATEWAY_APPROVAL_STATUS varchar(255) DEFAULT NULL,
-  GATEWAY_ID varchar(255) DEFAULT NULL,
-  GATEWAY_NAME varchar(255) DEFAULT NULL,
-  GATEWAY_PUBLIC_ABSTRACT varchar(255) DEFAULT NULL,
-  GATEWAY_URL varchar(255) DEFAULT NULL,
-  IDENTITY_SERVER_PASSWORD_TOKEN varchar(255) DEFAULT NULL,
-  IDENTITY_SERVER_USERNAME varchar(255) DEFAULT NULL,
-  OAUTH_CLIENT_ID varchar(255) DEFAULT NULL,
-  OAUTH_CLIENT_SECRET varchar(255) DEFAULT NULL,
-  REQUEST_CREATION_TIME bigint(20) DEFAULT NULL,
-  REQUESTER_USERNAME varchar(255) DEFAULT NULL,
-  GATEWAY_REVIEW_PROPOSAL_DESCRIPTION varchar(255) DEFAULT NULL,
-  PRIMARY KEY (AIRAVATA_INTERNAL_GATEWAY_ID)
-);
-
-CREATE TABLE USER_PROFILE (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    USER_ID VARCHAR (255) NOT NULL,
-    GATEWAY_ID VARCHAR (255) NOT NULL,
-    USER_MODEL_VERSION VARCHAR (255),
-    FIRST_NAME VARCHAR (255),
-    LAST_NAME VARCHAR (255),
-    MIDDLE_NAME VARCHAR (255),
-    NAME_PREFIX VARCHAR (255),
-    NAME_SUFFIX VARCHAR (255),
-    ORCID_ID VARCHAR (255),
-    COUNTRY VARCHAR (255),
-    HOME_ORGANIZATION VARCHAR (255),
-    ORIGINATION_AFFILIATION VARCHAR (255),
-    CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-    LAST_ACCESS_TIME TIMESTAMP,
-    VALID_UNTIL TIMESTAMP,
-    STATE VARCHAR (255),
-    COMMENTS CLOB,
-    GPG_KEY CLOB,
-    TIME_ZONE VARCHAR (255),
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID)
-);
-
-CREATE TABLE USER_PROFILE_EMAIL (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    EMAIL VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, EMAIL),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE USER_PROFILE_PHONE (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    PHONE VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, PHONE ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE USER_PROFILE_NATIONALITY (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    NATIONALITY VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, NATIONALITY ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE USER_PROFILE_LABELED_URI (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    LABELED_URI VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, LABELED_URI ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE NSF_DEMOGRAPHIC (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    GENDER VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE NSF_DEMOGRAPHIC_ETHNICITY (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    ETHNICITY VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, ETHNICITY ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE NSF_DEMOGRAPHIC_RACE (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    RACE VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, RACE ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE NSF_DEMOGRAPHIC_DISABILITY (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    DISABILITY VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, DISABILITY ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE CUSTOMIZED_DASHBOARD (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    ENABLED_EXPERIMENT_ID VARCHAR (255),
-    ENABLED_NAME VARCHAR (255),
-    ENABLED_DESCRIPTION VARCHAR (255),
-    ENABLED_PROJECT VARCHAR (255),
-    ENABLED_OWNER VARCHAR (255),
-    ENABLED_APPLICATION VARCHAR (255),
-    ENABLED_COMPUTE_RESOURCE VARCHAR (255),
-    ENABLED_JOB_NAME VARCHAR (255),
-    ENABLED_JOB_ID VARCHAR (255),
-    ENABLED_JOB_STATUS VARCHAR (255),
-    ENABLED_JOB_CREATION_TIME VARCHAR (255),
-    ENABLED_NOTIFICATIONS_TO VARCHAR (255),
-    ENABLED_WORKING_DIR VARCHAR (255),
-    ENABLED_JOB_DESCRIPTION VARCHAR (255),
-    ENABLED_CREATION_TIME VARCHAR (255),
-    ENABLED_LAST_MODIFIED_TIME VARCHAR (255),
-    ENABLED_WALL_TIME VARCHAR (255),
-    ENABLED_CPU_COUNT VARCHAR (255),
-    ENABLED_NODE_COUNT VARCHAR (255),
-    ENABLED_QUEUE VARCHAR (255),
-    ENABLED_INPUTS VARCHAR (255),
-    ENABLED_OUTPUTS VARCHAR (255),
-    ENABLED_STORAGE_DIR VARCHAR (255),
-    ENABLED_ERRORS VARCHAR (255),
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255) NOT NULL,
-        CONFIG_VAL VARCHAR(255) NOT NULL,
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('user_profile_catalog_version', '0.17');
diff --git a/modules/ide-integration/src/main/resources/database_scripts/user-profile-catalog-mysql.sql b/modules/ide-integration/src/main/resources/database_scripts/user-profile-catalog-mysql.sql
deleted file mode 100644
index bcc37af..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/user-profile-catalog-mysql.sql
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-CREATE TABLE IF NOT EXISTS GATEWAY (
-  AIRAVATA_INTERNAL_GATEWAY_ID varchar(255) NOT NULL,
-  DECLINED_REASON varchar(255) DEFAULT NULL,
-  GATEWAY_DOMAIN varchar(255) DEFAULT NULL,
-  EMAIL_ADDRESS varchar(255) DEFAULT NULL,
-  GATEWAY_ACRONYM varchar(255) DEFAULT NULL,
-  GATEWAY_ADMIN_EMAIL varchar(255) DEFAULT NULL,
-  GATEWAY_ADMIN_FIRST_NAME varchar(255) DEFAULT NULL,
-  GATEWAY_ADMIN_LAST_NAME varchar(255) DEFAULT NULL,
-  GATEWAY_APPROVAL_STATUS varchar(255) DEFAULT NULL,
-  GATEWAY_ID varchar(255) DEFAULT NULL,
-  GATEWAY_NAME varchar(255) DEFAULT NULL,
-  GATEWAY_PUBLIC_ABSTRACT varchar(255) DEFAULT NULL,
-  GATEWAY_URL varchar(255) DEFAULT NULL,
-  IDENTITY_SERVER_PASSWORD_TOKEN varchar(255) DEFAULT NULL,
-  IDENTITY_SERVER_USERNAME varchar(255) DEFAULT NULL,
-  OAUTH_CLIENT_ID varchar(255) DEFAULT NULL,
-  OAUTH_CLIENT_SECRET varchar(255) DEFAULT NULL,
-  REQUEST_CREATION_TIME bigint(20) DEFAULT NULL,
-  REQUESTER_USERNAME varchar(255) DEFAULT NULL,
-  GATEWAY_REVIEW_PROPOSAL_DESCRIPTION varchar(255) DEFAULT NULL,
-  PRIMARY KEY (AIRAVATA_INTERNAL_GATEWAY_ID)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS USER_PROFILE (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    USER_ID VARCHAR (255) NOT NULL,
-    GATEWAY_ID VARCHAR (255) NOT NULL,
-    USER_MODEL_VERSION VARCHAR (255),
-    FIRST_NAME VARCHAR (255),
-    LAST_NAME VARCHAR (255),
-    MIDDLE_NAME VARCHAR (255),
-    NAME_PREFIX VARCHAR (255),
-    NAME_SUFFIX VARCHAR (255),
-    ORCID_ID VARCHAR (255),
-    COUNTRY VARCHAR (255),
-    HOME_ORGANIZATION VARCHAR (255),
-    ORIGINATION_AFFILIATION VARCHAR (255),
-    CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-    LAST_ACCESS_TIME TIMESTAMP,
-    VALID_UNTIL DATETIME,
-    STATE VARCHAR (255),
-    COMMENTS TEXT,
-    GPG_KEY TEXT,
-    TIME_ZONE VARCHAR (255),
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS USER_PROFILE_EMAIL (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    EMAIL VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, EMAIL),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS USER_PROFILE_PHONE (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    PHONE VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, PHONE ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS USER_PROFILE_NATIONALITY (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    NATIONALITY VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, NATIONALITY ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS USER_PROFILE_LABELED_URI (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    LABELED_URI VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, LABELED_URI ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    GENDER VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC_ETHNICITY (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    ETHNICITY VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, ETHNICITY ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC_RACE (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    RACE VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, RACE ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC_DISABILITY (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    DISABILITY VARCHAR (255) NOT NULL,
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, DISABILITY ),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS CUSTOMIZED_DASHBOARD (
-    AIRAVATA_INTERNAL_USER_ID VARCHAR (255) NOT NULL,
-    ENABLED_EXPERIMENT_ID VARCHAR (255),
-    ENABLED_NAME VARCHAR (255),
-    ENABLED_DESCRIPTION VARCHAR (255),
-    ENABLED_PROJECT VARCHAR (255),
-    ENABLED_OWNER VARCHAR (255),
-    ENABLED_APPLICATION VARCHAR (255),
-    ENABLED_COMPUTE_RESOURCE VARCHAR (255),
-    ENABLED_JOB_NAME VARCHAR (255),
-    ENABLED_JOB_ID VARCHAR (255),
-    ENABLED_JOB_STATUS VARCHAR (255),
-    ENABLED_JOB_CREATION_TIME VARCHAR (255),
-    ENABLED_NOTIFICATIONS_TO VARCHAR (255),
-    ENABLED_WORKING_DIR VARCHAR (255),
-    ENABLED_JOB_DESCRIPTION VARCHAR (255),
-    ENABLED_CREATION_TIME VARCHAR (255),
-    ENABLED_LAST_MODIFIED_TIME VARCHAR (255),
-    ENABLED_WALL_TIME VARCHAR (255),
-    ENABLED_CPU_COUNT VARCHAR (255),
-    ENABLED_NODE_COUNT VARCHAR (255),
-    ENABLED_QUEUE VARCHAR (255),
-    ENABLED_INPUTS VARCHAR (255),
-    ENABLED_OUTPUTS VARCHAR (255),
-    ENABLED_STORAGE_DIR VARCHAR (255),
-    ENABLED_ERRORS VARCHAR (255),
-    PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID),
-    FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255) NOT NULL,
-        CONFIG_VAL VARCHAR(255) NOT NULL,
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('user_profile_catalog_version', '0.17');
diff --git a/modules/ide-integration/src/main/resources/database_scripts/workflowcatalog-derby.sql b/modules/ide-integration/src/main/resources/database_scripts/workflowcatalog-derby.sql
deleted file mode 100644
index beff4ca..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/workflowcatalog-derby.sql
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-CREATE TABLE WORKFLOW
-(
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        WORKFLOW_NAME VARCHAR (255) NOT NULL,
-        CREATED_USER VARCHAR (255),
-        GATEWAY_ID VARCHAR (255),
-        GRAPH CLOB,
-        IMAGE BLOB,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME timestamp DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (TEMPLATE_ID)
-);
-
-CREATE TABLE WORKFLOW_INPUT
-(
-         TEMPLATE_ID VARCHAR(255) NOT NULL,
-         INPUT_KEY VARCHAR(255),
-         INPUT_VALUE CLOB,
-         DATA_TYPE VARCHAR(255),
-         METADATA VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         STANDARD_INPUT SMALLINT,
-         USER_FRIENDLY_DESC VARCHAR(255),
-         INPUT_ORDER INTEGER,
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_STAGED SMALLINT,
-         PRIMARY KEY(TEMPLATE_ID,INPUT_KEY),
-         FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_OUTPUT
-(
-         TEMPLATE_ID VARCHAR(255) NOT NULL,
-         OUTPUT_KEY VARCHAR(255),
-         OUTPUT_VALUE VARCHAR(255),
-         DATA_TYPE VARCHAR(255),
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_MOVEMENT SMALLINT,
-         DATA_NAME_LOCATION VARCHAR(255),
-         SEARCH_QUERY VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         OUTPUT_STREAMING SMALLINT,
-         PRIMARY KEY(TEMPLATE_ID,OUTPUT_KEY),
-         FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPONENT_STATUS
-(
-        STATUS_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR(255),
-        REASON VARCHAR(255),
-        UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (STATUS_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_STATUS
-(
-        STATUS_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR(255),
-        REASON VARCHAR(255),
-        UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (STATUS_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE EDGE
-(
-        EDGE_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        NAME VARCHAR (255),
-        COMPONENT_STATUS_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(500),
-        CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PORT
-(
-        PORT_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        NAME VARCHAR (255),
-        COMPONENT_STATUS_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(500),
-        CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (PORT_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE NODE
-(
-        NODE_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        NAME VARCHAR (255),
-        APPLICATION_ID VARCHAR (255),
-        APPLICATION_NAME VARCHAR (255),
-        COMPONENT_STATUS_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(500),
-        CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (NODE_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/resources/database_scripts/workflowcatalog-mysql.sql b/modules/ide-integration/src/main/resources/database_scripts/workflowcatalog-mysql.sql
deleted file mode 100644
index a4d43bb..0000000
--- a/modules/ide-integration/src/main/resources/database_scripts/workflowcatalog-mysql.sql
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-CREATE TABLE WORKFLOW
-(
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        WORKFLOW_NAME VARCHAR (255) NOT NULL,
-        CREATED_USER VARCHAR (255),
-        GATEWAY_ID VARCHAR (255),
-        GRAPH LONGTEXT,
-        IMAGE BLOB,
-        CREATION_TIME timestamp DEFAULT NOW(),
-        UPDATE_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
-        PRIMARY KEY (TEMPLATE_ID)
-);
-
-CREATE TABLE WORKFLOW_INPUT
-(
-         TEMPLATE_ID VARCHAR(255) NOT NULL,
-         INPUT_KEY VARCHAR(255),
-         INPUT_VALUE VARCHAR(255),
-         DATA_TYPE VARCHAR(255),
-         METADATA VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         STANDARD_INPUT SMALLINT,
-         USER_FRIENDLY_DESC VARCHAR(255),
-         INPUT_ORDER INTEGER,
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_STAGED SMALLINT,
-         PRIMARY KEY(TEMPLATE_ID,INPUT_KEY),
-         FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_OUTPUT
-(
-         TEMPLATE_ID VARCHAR(255) NOT NULL,
-         OUTPUT_KEY VARCHAR(255),
-         OUTPUT_VALUE LONGTEXT,
-         DATA_TYPE VARCHAR(255),
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_MOVEMENT SMALLINT,
-         DATA_NAME_LOCATION VARCHAR(255),
-         SEARCH_QUERY VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         OUTPUT_STREAMING SMALLINT,
-         PRIMARY KEY(TEMPLATE_ID,OUTPUT_KEY),
-         FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPONENT_STATUS
-(
-        STATUS_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR(255),
-        REASON VARCHAR(255),
-        UPDATE_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
-        PRIMARY KEY (STATUS_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_STATUS
-(
-        STATUS_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR(255),
-        REASON VARCHAR(255),
-        UPDATE_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
-        PRIMARY KEY (STATUS_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE EDGE
-(
-        EDGE_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        NAME VARCHAR (255),
-        COMPONENT_STATUS_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(500),
-        CREATED_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
-        PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PORT
-(
-        PORT_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        NAME VARCHAR (255),
-        COMPONENT_STATUS_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(500),
-        CREATED_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
-        PRIMARY KEY (PORT_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE NODE
-(
-        NODE_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        NAME VARCHAR (255),
-        APPLICATION_ID VARCHAR (255),
-        APPLICATION_NAME VARCHAR (255),
-        COMPONENT_STATUS_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(500),
-        CREATED_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
-        PRIMARY KEY (NODE_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/resources/docker-compose.yml b/modules/ide-integration/src/main/resources/docker-compose.yml
index d2cac0a..3798117 100644
--- a/modules/ide-integration/src/main/resources/docker-compose.yml
+++ b/modules/ide-integration/src/main/resources/docker-compose.yml
@@ -14,7 +14,7 @@
       - ./keycloak/standalone.xml:/opt/jboss/keycloak/standalone/configuration/standalone.xml
     command: ["-b", "0.0.0.0", "-Dkeycloak.migration.action=import", "-Dkeycloak.migration.provider=singleFile", "-Dkeycloak.migration.file=/opt/keycloak/Default-export.json", "-Dkeycloak.migration.strategy=OVERWRITE_EXISTING"]
   db:
-    image: mysql:5.7.21
+    image: mariadb:10.4.13
     environment:
       - MYSQL_ROOT_PASSWORD=123456
       - MYSQL_USER=airavata
@@ -51,4 +51,4 @@
     volumes:
       - /tmp:/tmp
     ports:
-      - "22222:22"
\ No newline at end of file
+      - "22222:22"
diff --git a/modules/registry/registry-core/README.md b/modules/registry/registry-core/README.md
index 0a9de7f..d60fe91 100644
--- a/modules/registry/registry-core/README.md
+++ b/modules/registry/registry-core/README.md
@@ -1,13 +1,115 @@
+# Schema migration scripts
 
-# migration.sql
+When you add or update Entity classes, you need to update the SQL schema
+scripts, both the scripts that define the entire schema for brand new databases
+(referred to from here on as the _database script_) and the script to migrate an
+older schema to the new schema (referred to from here on as the _migration
+script_). These instructions show you how to create these scripts.
 
-- copy to appcatalog-derby.sql. if changing a column, make the change to the create table statement directly.
-- copy to appcatalog-mysql.sql, translating as needed
-- copy mysql version to release-migration-scripts/next/DeltaScripts/appCatalog_schema_delta.sql. Add IF NOT EXISTS so it is re-runnable. Name foreign keys.
-- copy same mysql version to ide-integration 0*-migrations.sql
+Before using these steps, be sure to review the **Known Issues** section later
+on. Notably, any removals from the schema will have to be manually managed.
 
-# ide-integration
+1. First, start by adding or updating the Entity class, for example, by adding a
+   new field.
 
-- file is stored in airavata/migration.sql
-- probably want to start with the derby one generated by the unit tests though
-- need to add new Entity classes to ide-integration/.../persistence.xml
+   Additional notes:
+
+   - To have OpenJPA generate FOREIGN KEY schema statements, you need to
+     annotate the foreign key reference with
+     `@org.apache.openjpa.persistence.jdbc.ForeignKey`.
+   - To have OpenJPA generate INDEX schema statements, you need to annotate the
+     indexed columns with `@org.apache.openjpa.persistence.jdbc.Index`.
+
+2. If you added an Entity class, make sure to add an entry for it in
+   `persistence.xml`. You'll need to also add the same entry to
+   `../../ide-integration/src/main/resources/META-INF/persistence.xml`.
+3. Next, you need to update the Derby database script. To do this, run
+   ```
+   mvn clean process-classes exec:exec@generate-schema-derby
+   ```
+   This will generate a database script for each database in `target/`. For
+   example, for appcatalog, it will generate a file called
+   `target/app_catalog-schema.sql`. Copy the contents of the database script
+   that are relevant to the Entity class changes that you made into the
+   corresponding database script in `src/main/resources/`. For example, if you
+   changed an app catalog Entity then you would copy the `CREATE TABLE`, etc.
+   statements related to that Entity from the `target/app_catalog-schema.sql`
+   script to `src/main/resources/appcatalog-derby.sql`, replace any existing
+   `CREATE TABLE`, etc. statements for the table. Note that the generate
+   database script may have several statements related to your Entity class
+   changes throughout it, for example, the `CREATE TABLE` statements tend to
+   come first and the `FOREIGN KEY` statements come later.
+4. Next, you'll update the MariaDB (or MySQL) database script. To do this, run
+
+   ```
+   mvn clean process-classes docker-compose:up@mysql-up \
+      exec:exec@generate-schema-mysql exec:exec@generate-migrations-mysql \
+      docker-compose:down@mysql-down
+   ```
+
+   This will generate a database and a migration script for each database in
+   `target/`. For example, for appcatalog, it will generate a file called
+   `target/app_catalog-schema.sql` (the database script) and a file called
+   `target/app_catalog-migration.sql` (the migration script). Like the previous
+   step, you'll copy the contents of the database script (the one ending in
+   `-schema.sql`) that are relevant to the Entity class changes you made and add
+   them to the corresponding database script in `src/main/resources/`.
+
+   Some additional notes:
+
+   - Make sure to add `DEFAULT CHARSET=latin1` to all MySQL `CREATE TABLE`
+     statements.
+   - It is recommended that you name all constraints and indexes. This makes it
+     easier to change or drop them in the future. The naming convention is to
+     use a prefix of `FK_` or `UNIQ_` or `IDX_` that indicates the type of
+     constraint, then the table name, then the names of the columns or related
+     entity or some short description of the constraint. For example, if you
+     create a FOREIGN KEY on table CHILD of column PARENT_ID you would name it
+     `FK_CHILD_PARENT_ID`.
+
+5. Next, you'll create a MariaDB migration script. The migration script should
+   have been created in the previous step, but if necessary you can run
+
+   ```
+   mvn clean process-classes docker-compose:up@mysql-up exec:exec@generate-migrations-mysql docker-compose:down@mysql-down
+   ```
+
+   Copy the contents of the migration script that are relevant to the Entity
+   classes changes that you made into the respective migration schema scripts in
+   `../release-migration-scripts/next/DeltaScripts/`. All statements should have
+   `IF NOT EXISTS` (if adding) or `IF EXISTS` (if dropping) added so that they
+   can be reapplied and only change the schema when it hasn't already been
+   updated. For example:
+
+   - `CREATE TABLE IF NOT EXISTS ...`
+   - `DROP TABLE IF EXISTS ...`
+   - `ALTER TABLE <table name> ADD COLUMN IF NOT EXISTS <column definition>`
+   - `ALTER TABLE <table name> DROP COLUMN IF EXISTS <column name>`
+   - `ALTER TABLE <table name> ADD CONSTRAINT <foreign key name> FOREIGN KEY IF NOT EXISTS <foreign key definition>`
+   - `ALTER TABLE <table name> DROP FOREIGN KEY IF EXISTS <foreign key name>`
+   - `ALTER TABLE <table name> ADD KEY IF NOT EXISTS <key definition>`
+   - `ALTER TABLE <table name> DROP KEY IF EXISTS <index name>`
+
+   See also the **additional notes** under the previous step.
+
+6. Next, you'll also copy this MariaDB migration script to the corresponding
+   `0*-migrations.sql` file in ide-integration. Here it should also have
+   `IF NOT EXISTS`/`IF EXISTS` added. Essentially you just need to take the
+   lines you added in `release-migration-scripts` and add them to the
+   corresponding `0*-migrations.sql` script.
+
+## Known Issues
+
+- can automatically create schema migrations that add columns/tables, but not
+  ones that remove them. **Creating schema migrations that drop columns/tables
+  will have to be done manually.**
+- schema generation generates a PRIMARY KEY for VIEWs that are mapped to an
+  Entity, for example ExperimentSummary.
+- when unique constraints are added to an entity, the generated migration
+  scripts do not include an ALTER TABLE statement to add it. However, the
+  database script does include the unique constraint so it can be copied from
+  that into an `ALTER TABLE ADD UNIQUE ...` statement in the migation script.
+- when the definition of a column is chaged, the generated migrations do not
+  include an ALTER STATEMENT to update it. However, the database script does
+  reflect the updated column definition so it can be copied from that into an
+  `ALTER TABLE MODIFY COLUMN col_name ...`.
diff --git a/modules/registry/registry-core/pom.xml b/modules/registry/registry-core/pom.xml
index fd28405..35ef082 100644
--- a/modules/registry/registry-core/pom.xml
+++ b/modules/registry/registry-core/pom.xml
@@ -98,7 +98,7 @@
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
             <version>${logback.version}</version>
-            <scope>test</scope>
+            <scope>runtime</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
@@ -120,7 +120,13 @@
             <artifactId>ibatis-sqlmap</artifactId>
             <version>2.3.0</version>
         </dependency>
-
+        <!-- For MariaDB based schema migrations -->
+        <dependency>
+            <groupId>org.mariadb.jdbc</groupId>
+            <artifactId>mariadb-java-client</artifactId>
+            <version>2.0.2</version>
+            <scope>runtime</scope>
+        </dependency>
     </dependencies>
 
     <build>
@@ -138,12 +144,93 @@
                 </configuration>
             </plugin>
             <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>exec-maven-plugin</artifactId>
+                <version>1.6.0</version>
+                <configuration>
+                    <executable>java</executable>
+                    <classpathScope>runtime</classpathScope>
+                    <workingDirectory>${project.build.directory}</workingDirectory>
+                </configuration>
+                <executions>
+                    <execution>
+                        <!-- Run with:
+                            mvn process-classes docker-compose:up@mysql-up exec:exec@generate-migrations-mysql docker-compose:down@mysql-down
+                        -->
+                        <id>generate-migrations-mysql</id>
+                        <goals>
+                            <goal>exec</goal>
+                        </goals>
+                        <configuration>
+                            <arguments>
+                                <argument>-Dairavata.config.dir=${project.basedir}/src/main/resources/migrations-util/mysql</argument>
+                                <argument>-classpath</argument>
+                                <classpath/>
+                                <argument>org.apache.airavata.registry.core.utils.migration.MigrationSchemaGenerator</argument>
+                            </arguments>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <!-- Run with:
+                            mvn process-classes docker-compose:up@mysql-up exec:exec@generate-schema-mysql docker-compose:down@mysql-down
+                        -->
+                        <id>generate-schema-mysql</id>
+                        <goals>
+                            <goal>exec</goal>
+                        </goals>
+                        <configuration>
+                            <arguments>
+                                <argument>-Dairavata.config.dir=${project.basedir}/src/main/resources/migrations-util/mysql</argument>
+                                <argument>-classpath</argument>
+                                <classpath/>
+                                <argument>org.apache.airavata.registry.core.utils.migration.MigrationSchemaGenerator</argument>
+                                <argument>build</argument>
+                            </arguments>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <!-- Run with:
+                            mvn process-classes exec:exec@generate-migrations-derby
+                        -->
+                        <id>generate-migrations-derby</id>
+                        <goals>
+                            <goal>exec</goal>
+                        </goals>
+                        <configuration>
+                            <arguments>
+                                <argument>-Dairavata.config.dir=${project.basedir}/src/main/resources/migrations-util/derby</argument>
+                                <argument>-classpath</argument>
+                                <classpath/>
+                                <argument>org.apache.airavata.registry.core.utils.migration.MigrationSchemaGenerator</argument>
+                            </arguments>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <!-- Run with:
+                            mvn process-classes exec:exec@generate-schema-derby
+                        -->
+                        <id>generate-schema-derby</id>
+                        <goals>
+                            <goal>exec</goal>
+                        </goals>
+                        <configuration>
+                            <arguments>
+                                <argument>-Dairavata.config.dir=${project.basedir}/src/main/resources/migrations-util/derby</argument>
+                                <argument>-classpath</argument>
+                                <classpath/>
+                                <argument>org.apache.airavata.registry.core.utils.migration.MigrationSchemaGenerator</argument>
+                                <argument>build</argument>
+                            </arguments>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.openjpa</groupId>
                 <artifactId>openjpa-maven-plugin</artifactId>
                 <version>${openjpa.version}</version>
                 <configuration>
-                    <includes>**/entities/*.class</includes>
-                    <excludes>**/entities/XML*.class</excludes>
+                    <includes>**/model/*.class</includes>
                     <addDefaultConstructor>true</addDefaultConstructor>
                     <enforcePropertyRestrictions>true</enforcePropertyRestrictions>
                 </configuration>
@@ -155,21 +242,6 @@
                             <goal>enhance</goal>
                         </goals>
                     </execution>
-                    <execution>
-                        <!-- execute with `mvn compile openjpa:sql@generate-sql` or `mvn process-classes` -->
-                        <id>generate-sql</id>
-                        <configuration>
-                            <!-- openjpa:sql doesn't work well with multiple persistence-unit's in persistence.xml, so
-                            use this single persistence-unit persistence.xml to list any classes for which SQL schema
-                            generation is desired -->
-                            <persistenceXmlFile>${basedir}/src/main/resources/META-INF/generate-sql-persistence.xml</persistenceXmlFile>
-                            <sqlAction>build</sqlAction>
-                            <connectionDriverName>org.apache.derby.jdbc.ClientDriver</connectionDriverName>
-                        </configuration>
-                        <goals>
-                            <goal>sql</goal>
-                        </goals>
-                    </execution>
                 </executions>
                 <dependencies>
                     <dependency>
@@ -190,7 +262,33 @@
                     <workingDirectory>${project.build.testOutputDirectory}</workingDirectory>
                 </configuration>
             </plugin>
-        </plugins>
+            <plugin>
+                <groupId>com.dkanejs.maven.plugins</groupId>
+                <artifactId>docker-compose-maven-plugin</artifactId>
+                <version>4.0.0</version>
+                <executions>
+                    <execution>
+                        <id>mysql-up</id>
+                        <goals>
+                            <goal>up</goal>
+                        </goals>
+                        <configuration>
+                            <composeFile>${project.basedir}/src/main/resources/migrations-util/mysql/docker-compose.yml</composeFile>
+                            <detachedMode>true</detachedMode>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>mysql-down</id>
+                        <goals>
+                            <goal>down</goal>
+                        </goals>
+                        <configuration>
+                            <composeFile>${project.basedir}/src/main/resources/migrations-util/mysql/docker-compose.yml</composeFile>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            </plugins>
     </build>
 
 </project>
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayGroupsEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayGroupsEntity.java
index 53d2400..ec7f9f7 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayGroupsEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GatewayGroupsEntity.java
@@ -44,7 +44,7 @@
     @Column(name = "DEFAULT_GATEWAY_USERS_GROUP_ID")
     private String defaultGatewayUsersGroupId;
 
-    protected GatewayGroupsEntity() {
+    public GatewayGroupsEntity() {
 
     }
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java
index 236b095..58dd139 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java
@@ -30,7 +30,7 @@
 
     // TODO: we can rename this back to appcatalog_data once we completely replace
     // the other appcatalog_data persistence context in airavata-registry-core
-    private static final String PERSISTENCE_UNIT_NAME = "appcatalog_data_new";
+    public static final String PERSISTENCE_UNIT_NAME = "appcatalog_data_new";
     private static final JDBCConfig JDBC_CONFIG = new AppCatalogJDBCConfig();
     private static final EntityManagerFactory factory = JPAUtils.getEntityManagerFactory(PERSISTENCE_UNIT_NAME,
             JDBC_CONFIG);
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java
index 6803bfb..bafc872 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java
@@ -27,7 +27,7 @@
 import org.apache.airavata.registry.core.utils.ExpCatalogJDBCConfig;
 
 public class ExpCatalogJPAUtils {
-    private static final String PERSISTENCE_UNIT_NAME = "experiment_data_new";
+    public static final String PERSISTENCE_UNIT_NAME = "experiment_data_new";
     private static final JDBCConfig JDBC_CONFIG = new ExpCatalogJDBCConfig();
     private static final EntityManagerFactory factory = JPAUtils.getEntityManagerFactory(PERSISTENCE_UNIT_NAME, JDBC_CONFIG);
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java
index 4e3b4f0..7b1f9cb 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java
@@ -29,7 +29,7 @@
 public class RepCatalogJPAUtils {
 
     // TODO: we can rename this back to replicacatalog_data once we completely replace the other replicacatalog_data persistence context in airavata-registry-core
-    private static final String PERSISTENCE_UNIT_NAME = "replicacatalog_data_new";
+    public static final String PERSISTENCE_UNIT_NAME = "replicacatalog_data_new";
     private static final JDBCConfig JDBC_CONFIG = new ReplicaCatalogJDBCConfig();
     private static final EntityManagerFactory factory = JPAUtils.getEntityManagerFactory(PERSISTENCE_UNIT_NAME, JDBC_CONFIG);
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java
new file mode 100644
index 0000000..97bba99
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java
@@ -0,0 +1,46 @@
+package org.apache.airavata.registry.core.utils.migration;
+
+import org.apache.airavata.common.utils.JDBCConfig;
+import org.apache.airavata.common.utils.JPAUtils;
+import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
+import org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl;
+import org.apache.openjpa.jdbc.meta.MappingTool;
+import org.apache.openjpa.lib.util.Options;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MappingToolRunner {
+
+    private static Logger logger = LoggerFactory.getLogger(MappingToolRunner.class);
+
+    public static void run(JDBCConfig jdbcConfig, String outputFile, String persistenceUnitName) {
+        run(jdbcConfig, outputFile, persistenceUnitName, MappingTool.ACTION_ADD);
+    }
+
+    // schemaAction is one of MappingTool's supported actions: http://openjpa.apache.org/builds/2.4.3/apache-openjpa/docs/ref_guide_mapping.html#ref_guide_mapping_mappingtool
+    public static void run(JDBCConfig jdbcConfig, String outputFile, String persistenceUnitName, String schemaAction) {
+
+        JDBCConfiguration jdbcConfiguration = new JDBCConfigurationImpl();
+        jdbcConfiguration.fromProperties(JPAUtils.createConnectionProperties(jdbcConfig));
+        jdbcConfiguration.setConnectionDriverName("org.apache.commons.dbcp.BasicDataSource");
+
+        Options options = new Options();
+        options.put("sqlFile", outputFile);
+        // schemaAction "add" brings the schema up to date by adding missing schema elements
+        // schemaAction "build" creates the entire schema as if the database is empty
+        options.put("schemaAction", schemaAction);
+        options.put("foreignKeys", "true");
+        options.put("indexes", "true");
+        options.put("primaryKeys", "true");
+        // Specify persistence-unit name using it's anchor in the persistence.xml file
+        // http://openjpa.apache.org/builds/2.4.3/apache-openjpa/docs/ref_guide_conf_devtools.html
+        options.put("properties", "persistence.xml#" + persistenceUnitName);
+        try {
+            MappingTool.run(jdbcConfiguration, new String[] {}, options, null);
+        } catch (Exception mappingToolEx) {
+            logger.error("Failed to run MappingTool", mappingToolEx);
+            throw new RuntimeException(
+                    "Failed to run MappingTool to generate migration script", mappingToolEx);
+        }
+    }
+}
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MigrationSchemaGenerator.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MigrationSchemaGenerator.java
new file mode 100644
index 0000000..be0b524
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MigrationSchemaGenerator.java
@@ -0,0 +1,100 @@
+package org.apache.airavata.registry.core.utils.migration;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+
+import org.apache.airavata.common.utils.DBInitConfig;
+import org.apache.airavata.common.utils.DBInitializer;
+import org.apache.airavata.common.utils.JDBCConfig;
+import org.apache.airavata.registry.core.utils.AppCatalogDBInitConfig;
+import org.apache.airavata.registry.core.utils.ExpCatalogDBInitConfig;
+import org.apache.airavata.registry.core.utils.ReplicaCatalogDBInitConfig;
+import org.apache.airavata.registry.core.utils.JPAUtil.AppCatalogJPAUtils;
+import org.apache.airavata.registry.core.utils.JPAUtil.ExpCatalogJPAUtils;
+import org.apache.airavata.registry.core.utils.JPAUtil.RepCatalogJPAUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MigrationSchemaGenerator {
+
+    private static final Logger logger = LoggerFactory.getLogger(MigrationSchemaGenerator.class);
+
+    private enum Database {
+        app_catalog(new AppCatalogDBInitConfig().setDbInitScriptPrefix("appcatalog"),
+                AppCatalogJPAUtils.PERSISTENCE_UNIT_NAME),
+        experiment_catalog(new ExpCatalogDBInitConfig().setDbInitScriptPrefix("expcatalog"),
+                ExpCatalogJPAUtils.PERSISTENCE_UNIT_NAME),
+        replica_catalog(new ReplicaCatalogDBInitConfig().setDbInitScriptPrefix("replicacatalog"),
+                RepCatalogJPAUtils.PERSISTENCE_UNIT_NAME);
+
+        private final DBInitConfig dbInitConfig;
+        private final String persistenceUnitName;
+
+        Database(DBInitConfig dbInitConfig, String persistenceUnitName) {
+            this.dbInitConfig = dbInitConfig;
+            this.persistenceUnitName = persistenceUnitName;
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+
+        String schemaAction = args.length > 0 ? args[0] : "add";
+        try {
+            for (Database database : Database.values()) {
+
+                waitForDatabaseServer(database.dbInitConfig.getJDBCConfig(), 30);
+                try {
+                    logger.info("initializing database " + database.name());
+                    DBInitializer.initializeDB(database.dbInitConfig);
+                } catch (Exception e) {
+
+                    logger.error("Failed to initialize database " + database.name(), e);
+                } finally {
+                    String outputFile = "add".equals(schemaAction) ? database.name() + "-migration.sql"
+                            : database.name() + "-schema.sql";
+                    logger.info("creating database script: " + outputFile);
+                    MappingToolRunner.run(database.dbInitConfig.getJDBCConfig(), outputFile,
+                            database.persistenceUnitName, schemaAction);
+                }
+            }
+        } catch (Exception e) {
+            logger.error("Failed to create the databases", e);
+            throw e;
+        }
+    }
+
+    private static void waitForDatabaseServer(JDBCConfig jdbcConfig, int timeoutSeconds) {
+
+        long startTime = System.currentTimeMillis();
+        boolean connected = false;
+        while (!connected) {
+
+            if ((System.currentTimeMillis() - startTime) / 1000 > timeoutSeconds) {
+                throw new RuntimeException(
+                        "Failed to connect to database server after " + timeoutSeconds + " seconds!");
+            }
+            Connection conn = null;
+            try {
+                Class.forName(jdbcConfig.getDriver());
+                conn = DriverManager.getConnection(jdbcConfig.getURL(), jdbcConfig.getUser(), jdbcConfig.getPassword());
+                connected = conn.isValid(10);
+            } catch (Exception e) {
+                logger.debug("Failed to connect to database: " + e.getMessage() + ", waiting 1 second before retrying");
+                try {
+                    Thread.sleep(1000);
+                } catch (InterruptedException e1) {
+                    logger.warn("Thread sleep interrupted, ignoring");
+                }
+            } finally {
+                if (conn != null) {
+                    try {
+                        conn.close();
+                    } catch (SQLException e) {
+                        logger.warn("Failed to close connection, ignoring");
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/modules/registry/registry-core/src/main/resources/META-INF/generate-sql-persistence.xml b/modules/registry/registry-core/src/main/resources/META-INF/generate-sql-persistence.xml
deleted file mode 100644
index 944413d..0000000
--- a/modules/registry/registry-core/src/main/resources/META-INF/generate-sql-persistence.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-<!--*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-* -->
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
-    <!-- openjpa:sql doesn't work well with multiple persistence-unit's in persistence.xml, so
-    use this single persistence-unit persistence.xml to list any classes for which SQL schema
-    generation is desired -->
-    <persistence-unit name="generate-sql">
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.HandlerInputEntity</class>
-        <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.HandlerOutputEntity</class>
-    </persistence-unit>
-</persistence>
diff --git a/modules/registry/registry-core/src/main/resources/migrations-util/derby/airavata-server.properties b/modules/registry/registry-core/src/main/resources/migrations-util/derby/airavata-server.properties
new file mode 100644
index 0000000..006bd2d
--- /dev/null
+++ b/modules/registry/registry-core/src/main/resources/migrations-util/derby/airavata-server.properties
@@ -0,0 +1,72 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+###########################################################################
+#
+#  Properties file for creating database migrations
+#
+###########################################################################
+
+###########################################################################
+#  API Server Registry Configuration
+###########################################################################
+
+#for derby [AiravataJPARegistry]
+registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
+registry.jdbc.url=jdbc:derby:experiment_catalog;create=true;user=airavata;password=airavata
+registry.jdbc.user=airavata
+registry.jdbc.password=airavata
+validationQuery=SELECT 1 from CONFIGURATION
+
+# Properties for default user mode
+default.registry.user=admin
+default.registry.gateway=php_reference_gateway
+default.registry.oauth.client.id=client_id
+default.registry.oauth.client.secret=client_secret
+
+###########################################################################
+#  Application Catalog DB Configuration
+###########################################################################
+#for derby [AiravataJPARegistry]
+appcatalog.jdbc.driver=org.apache.derby.jdbc.ClientDriver
+appcatalog.jdbc.url=jdbc:derby:app_catalog;create=true;user=airavata;password=airavata
+appcatalog.jdbc.user=airavata
+appcatalog.jdbc.password=airavata
+appcatalog.validationQuery=SELECT 1 from CONFIGURATION
+
+##########################################################################
+#  Replica Catalog DB Configuration
+###########################################################################
+#for derby [AiravataJPARegistry]
+replicacatalog.jdbc.driver=org.apache.derby.jdbc.ClientDriver
+replicacatalog.jdbc.url=jdbc:derby:replica_catalog;create=true;user=airavata;password=airavata
+replicacatalog.jdbc.user=airavata
+replicacatalog.jdbc.password=airavata
+replicacatalog.validationQuery=SELECT 1 from CONFIGURATION
+
+###########################################################################
+#  Workflow Catalog DB Configuration
+###########################################################################
+#for derby [AiravataJPARegistry]
+workflowcatalog.jdbc.driver=org.apache.derby.jdbc.ClientDriver
+workflowcatalog.jdbc.url=jdbc:derby:workflow_catalog;create=true;user=airavata;password=airavata
+workflowcatalog.jdbc.user=airavata
+workflowcatalog.jdbc.password=airavata
+workflowcatalog.validationQuery=SELECT 1 from CONFIGURATION
diff --git a/modules/registry/registry-core/src/main/resources/migrations-util/mysql/airavata-server.properties b/modules/registry/registry-core/src/main/resources/migrations-util/mysql/airavata-server.properties
new file mode 100644
index 0000000..4c84198
--- /dev/null
+++ b/modules/registry/registry-core/src/main/resources/migrations-util/mysql/airavata-server.properties
@@ -0,0 +1,63 @@
+
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+###########################################################################
+#
+#  Properties file for creating database migrations
+#
+###########################################################################
+
+###########################################################################
+#  API Server Registry Configuration
+###########################################################################
+
+#for derby [AiravataJPARegistry]
+registry.jdbc.driver=org.mariadb.jdbc.Driver
+registry.jdbc.url=jdbc:mariadb://localhost:13306/experiment_catalog
+registry.jdbc.user=airavata
+registry.jdbc.password=123456
+validationQuery=SELECT 1 from CONFIGURATION
+
+# Properties for default user mode
+default.registry.user=admin
+default.registry.gateway=php_reference_gateway
+default.registry.oauth.client.id=client_id
+default.registry.oauth.client.secret=client_secret
+
+###########################################################################
+#  Application Catalog DB Configuration
+###########################################################################
+#for derby [AiravataJPARegistry]
+appcatalog.jdbc.driver=org.mariadb.jdbc.Driver
+appcatalog.jdbc.url=jdbc:mariadb://localhost:13306/app_catalog
+appcatalog.jdbc.user=airavata
+appcatalog.jdbc.password=123456
+appcatalog.validationQuery=SELECT 1 from CONFIGURATION
+
+##########################################################################
+#  Replica Catalog DB Configuration
+###########################################################################
+#for derby [AiravataJPARegistry]
+replicacatalog.jdbc.driver=org.mariadb.jdbc.Driver
+replicacatalog.jdbc.url=jdbc:mariadb://localhost:13306/replica_catalog
+replicacatalog.jdbc.user=airavata
+replicacatalog.jdbc.password=123456
+replicacatalog.validationQuery=SELECT 1 from CONFIGURATION
diff --git a/modules/registry/registry-core/src/main/resources/migrations-util/mysql/docker-compose.yml b/modules/registry/registry-core/src/main/resources/migrations-util/mysql/docker-compose.yml
new file mode 100644
index 0000000..c1478ed
--- /dev/null
+++ b/modules/registry/registry-core/src/main/resources/migrations-util/mysql/docker-compose.yml
@@ -0,0 +1,15 @@
+version: '3'
+services:
+  db:
+    image: mariadb:10.4.13
+    environment:
+      - MYSQL_ROOT_PASSWORD=123456
+      - MYSQL_USER=airavata
+      - MYSQL_PASSWORD=123456
+    volumes:
+      - ./docker-entrypoint-initdb.d/:/docker-entrypoint-initdb.d
+    ports:
+        - "13306:3306"
+    command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci', '--sql_mode=']
+# Connect to database with:
+# $ docker run --network mysql_default -it --rm mariadb:10 mysql -h mysql_db_1 -u airavata -p123456
diff --git a/modules/registry/registry-core/src/main/resources/migrations-util/mysql/docker-entrypoint-initdb.d/create_databases.sql b/modules/registry/registry-core/src/main/resources/migrations-util/mysql/docker-entrypoint-initdb.d/create_databases.sql
new file mode 100644
index 0000000..9b9a9bd
--- /dev/null
+++ b/modules/registry/registry-core/src/main/resources/migrations-util/mysql/docker-entrypoint-initdb.d/create_databases.sql
@@ -0,0 +1,27 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+create database app_catalog;
+grant all privileges on app_catalog.* to 'airavata'@'%' with grant option;
+create database experiment_catalog;
+grant all privileges on experiment_catalog.* to 'airavata'@'%' with grant option;
+create database replica_catalog;
+grant all privileges on replica_catalog.* to 'airavata'@'%' with grant option;
diff --git a/modules/registry/registry-core/src/test/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataProductRepositoryTest.java b/modules/registry/registry-core/src/test/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataProductRepositoryTest.java
index 75b182d..2e191c7 100644
--- a/modules/registry/registry-core/src/test/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataProductRepositoryTest.java
+++ b/modules/registry/registry-core/src/test/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataProductRepositoryTest.java
@@ -132,7 +132,8 @@
         assertEquals(1, retrievedDataProductModel1.getReplicaLocationsSize());
         DataReplicaLocationModel retrievedReplicaLocationModel1 = retrievedDataProductModel1.getReplicaLocations().get(0);
         assertEquals(productUri1, retrievedReplicaLocationModel1.getProductUri());
-        assertFalse(retrievedReplicaLocationModel1.isSetValidUntilTime());
+        // validUntilTime has a default value
+        assertEquals(0, retrievedReplicaLocationModel1.getValidUntilTime());
 
         dataProductRepository.removeDataProduct(productUri1);
         assertFalse(dataProductRepository.isDataProductExists(productUri1));
diff --git a/modules/registry/registry-core/src/test/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataReplicaLocationRepositoryTest.java b/modules/registry/registry-core/src/test/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataReplicaLocationRepositoryTest.java
index 2784733..0082473 100644
--- a/modules/registry/registry-core/src/test/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataReplicaLocationRepositoryTest.java
+++ b/modules/registry/registry-core/src/test/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataReplicaLocationRepositoryTest.java
@@ -89,7 +89,8 @@
         DataReplicaLocationModel retrievedDataReplicaLocationModel = dataReplicaLocationRepository.getReplicaLocation(replicaId1);
         assertTrue(retrievedDataReplicaLocationModel.getReplicaMetadata().size() == 2);
         assertEquals(retrievedDataReplicaLocationModel.getReplicaPersistentType(), testDataReplicaLocationModel1.getReplicaPersistentType());
-        assertFalse(retrievedDataReplicaLocationModel.isSetValidUntilTime());
+        // validUntilTime has a default value
+        assertEquals(0, retrievedDataReplicaLocationModel.getValidUntilTime());
 
         testDataProductModel.setReplicaLocations(Arrays.asList(testDataReplicaLocationModel1, testDataReplicaLocationModel2));
         dataProductRepository.updateDataProduct(testDataProductModel);