diff --git a/etc/init.d/dm-ds-services b/etc/init.d/dm-ds-services
index 51d71fee22c0a868263cd0993a359908c2f65f00..e3fe9847ab0c6ecf68b1eb89df32746c9f59294b 100755
--- a/etc/init.d/dm-ds-services
+++ b/etc/init.d/dm-ds-services
@@ -8,8 +8,8 @@ MY_FILE=`readlink -f $0` && MY_DIR=`dirname $MY_FILE`
 # The list below defines order of starting/stopping services
 #startList="postgresql glassfish ds-web-service"
 #stopList="ds-web-service glassfish postgresql"
-startList="glassfish ds-web-service aps-db-web-service"
-stopList="aps-db-web-service ds-web-service glassfish"
+startList="payara ds-web-service aps-db-web-service"
+stopList="aps-db-web-service ds-web-service payara"
 restartList=$startList
 statusList=$startList
 
diff --git a/etc/init.d/dm-payara b/etc/init.d/dm-payara
new file mode 100755
index 0000000000000000000000000000000000000000..947460e30f8c561d67dd8654d2ff92fccddbbf27
--- /dev/null
+++ b/etc/init.d/dm-payara
@@ -0,0 +1,104 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          payara
+# Required-Start:    $remote_fs $network $syslog
+# Required-Stop:     $remote_fs $network $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Starts Payara
+# Description:       Starts Payara application server
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+# Source networking configuration.
+. /etc/sysconfig/network
+
+# Set root to default if needed.
+#MY_DIR=`dirname $0` && cd $MY_DIR && MY_DIR=`pwd`
+MY_FILE=`readlink -f $0` && MY_DIR=`dirname $MY_FILE`
+if [ -z "${DM_ROOT_DIR}" ]; then
+    DM_ROOT_DIR=$MY_DIR/../..
+fi
+        
+# Source environment file.
+DM_USER=`id -nu`
+DM_HOST=`hostname -s`
+DM_ENV_FILE=${DM_ROOT_DIR}/setup.sh
+if [ ! -f ${DM_ENV_FILE} ]; then
+    echo "Environment file ${DM_ENV_FILE} does not exist." 
+    exit 2
+fi
+. ${DM_ENV_FILE} > /dev/null
+
+export AS_JAVA=$DM_OPT_DIR/java/$DM_HOST_ARCH
+DM_PAYARA_DIR=$DM_OPT_DIR/payara
+DERBY_DIR=$DM_OPT_DIR/payara/javadb/bin
+
+DM_DAEMON_NAME=payara
+DM_DAEMON_CONTROL_CMD=$DM_PAYARA_DIR/bin/asadmin
+DM_DAEMON_START_ARGS="start-domain domain1"
+DM_DAEMON_STOP_ARGS="stop-domain domain1"
+DM_DAEMON_STATUS_CMDS="uptime list-domains list-applications list-jdbc-resources"
+
+start() {
+    echo -n $"Starting ${DM_DAEMON_NAME}: "       
+    # Check if we're a privileged user
+    if [ `id -u` = 0 -a ${DM_USER} != "root" ]; then
+        su -m -c "${DM_DAEMON_CONTROL_CMD} ${DM_DAEMON_START_ARGS}" ${DM_USER}
+    else
+        ${DM_DAEMON_CONTROL_CMD} ${DM_DAEMON_START_ARGS}
+    fi
+    RETVAL=$?
+    [ $RETVAL -eq 0 ] && success $"${DM_DAEMON_NAME} startup" || failure $"${DM_DAEMON_NAME} startup"
+    echo
+}
+
+stop() {
+    echo -n $"Stopping ${DM_DAEMON_NAME}: "       
+    # Check if we're a privileged user
+    if [ `id -u` = 0 -a ${DM_USER} != "root" ]; then
+        su -m -c "${DM_DAEMON_CONTROL_CMD} ${DM_DAEMON_STOP_ARGS}" ${DM_USER}
+    else
+        ${DM_DAEMON_CONTROL_CMD} ${DM_DAEMON_STOP_ARGS}
+    fi
+    RETVAL=$?
+    [ $RETVAL -eq 0 ] && success $"${DM_DAEMON_NAME} shutdown" || failure $"${DM_DAEMON_NAME} shutdown"
+    echo
+}
+
+status() {
+    # Check if we're a privileged user
+    if [ `id -u` = 0 -a ${DM_USER} != "root" ]; then
+        for cmd in ${DM_DAEMON_STATUS_CMDS}; do
+            su -m -c "${DM_DAEMON_CONTROL_CMD} ${cmd}" ${DM_USER}
+        done
+    else
+        for cmd in ${DM_DAEMON_STATUS_CMDS}; do
+            ${DM_DAEMON_CONTROL_CMD} ${cmd}
+        done
+    fi
+}
+
+case "$1" in
+    start)
+        start
+    ;;
+    stop)
+        stop
+    ;;
+    restart)
+        stop
+        start
+    ;;
+    status)
+        status
+    ;;
+    *)
+        echo "Usage: $0 {start|stop|restart|status}"
+        exit 1
+    ;;
+esac
+
+
diff --git a/sbin/dm_backup.sh b/sbin/dm_backup.sh
index 7e55ee864775a474b6c75bb76482154a7b01ae9f..be2528173c80487fdae47102abca02421a6d1bf7 100755
--- a/sbin/dm_backup.sh
+++ b/sbin/dm_backup.sh
@@ -114,7 +114,7 @@ rm -f $processingFile
 
 # Backup web app
 #echo "Backing up $DM_DB_NAME web app"
-#rsync -arlvP $DM_SUPPORT_DIR/opt/glassfish/glassfish/domains/domain1/autodeploy/$DM_DB_NAME.war $DM_BACKUP_DIR
+#rsync -arlvP $DM_SUPPORT_DIR/opt/payara/glassfish/domains/domain1/autodeploy/$DM_DB_NAME.war $DM_BACKUP_DIR
 
 cleanup
 echo "Backup of DB $DM_DB_NAME is done."
diff --git a/sbin/dm_configure_web_portal.sh b/sbin/dm_configure_web_portal.sh
index fa25a14f04c2e1858278be2895befaceefe5d491..6665b06ed8bb5613d9c07859f012bf4559cb5492 100755
--- a/sbin/dm_configure_web_portal.sh
+++ b/sbin/dm_configure_web_portal.sh
@@ -42,10 +42,10 @@ DM_SYSTEM_PASSWORD_FILE=${DM_INSTALL_DIR}/etc/${DM_SYSTEM_USER}.system.passwd
 DM_HOST_ARCH=`uname | tr [A-Z] [a-z]`-`uname -m`
 
 JAVA_HOME=$DM_OPT_DIR/java/$DM_HOST_ARCH
-GLASSFISH_DIR=$DM_OPT_DIR/glassfish
+PAYARA_DIR=$DM_OPT_DIR/payara
 
 export AS_JAVA=$JAVA_HOME
-ASADMIN_CMD=$GLASSFISH_DIR/bin/asadmin 
+ASADMIN_CMD=$PAYARA_DIR/bin/asadmin 
 
 DM_DB_HOST=${DM_DB_HOST:=localhost}
 DM_DB_PORT=${DM_DB_PORT:=11136}
@@ -57,7 +57,7 @@ DM_DOMAIN=domain1
 
 # copy db driver
 echo "Copying db driver"
-rsync -ar $DM_ROOT_DIR/src/java/DmWebPortal/lib/postgresql*.jdbc41.jar $GLASSFISH_DIR/glassfish/domains/${DM_DOMAIN}/lib/ext
+rsync -ar $DM_ROOT_DIR/src/java/DmWebPortal/lib/postgresql*.jdbc41.jar $PAYARA_DIR/glassfish/domains/${DM_DOMAIN}/lib/ext
 
 # Check password from file
 passwordFile=$DM_INSTALL_DIR/etc/$DM_DB_NAME.db.passwd
@@ -66,7 +66,7 @@ if [ -f $passwordFile ]; then
 fi
 
 # restart server
-echo "Restarting glassfish"
+echo "Restarting payara"
 $ASADMIN_CMD stop-domain ${DM_DOMAIN}
 $ASADMIN_CMD start-domain ${DM_DOMAIN}
 
@@ -78,6 +78,9 @@ $ASADMIN_CMD create-jdbc-connection-pool --datasourceclassname org.postgresql.ds
 echo "Creating JDBC resource $DM_DATA_SOURCE"
 $ASADMIN_CMD create-jdbc-resource --connectionpoolid ${DM_DB_POOL} ${DM_DATA_SOURCE}
 
+# Remove unsecure access on port 8080
+$ASADMIN_CMD delete-http-listener "http-listener-1"
+
 # test the connection settings 
 echo "Testing connection"
 $ASADMIN_CMD ping-connection-pool $DM_DB_POOL || exit 1
diff --git a/sbin/dm_deploy_web_portal.sh b/sbin/dm_deploy_web_portal.sh
index 394b48759bfbd846b2b58b0135f494168080ba44..24f51257fc021afc9930b6d682ce8f7b988b6029 100755
--- a/sbin/dm_deploy_web_portal.sh
+++ b/sbin/dm_deploy_web_portal.sh
@@ -42,8 +42,8 @@ DM_HOST_ARCH=`uname | tr [A-Z] [a-z]`-`uname -m`
 DM_HOSTNAME=`hostname -f`
 DM_DATE=`date +%Y.%m.%d`
 DM_CONTEXT_ROOT=${DM_CONTEXT_ROOT:=dm}
-GLASSFISH_DIR=$DM_OPT_DIR/glassfish
-DM_DEPLOY_DIR=$GLASSFISH_DIR/glassfish/domains/domain1/autodeploy
+PAYARA_DIR=$DM_OPT_DIR/payara
+DM_DEPLOY_DIR=$PAYARA_DIR/glassfish/domains/domain1/autodeploy
 DM_PORTAL_DIST_DIR=$DM_ROOT_DIR/src/java/DmWebPortal/dist
 DM_BASE_DIST_DIR=$DM_ROOT_DIR/src/java/DmBase/dist
 DM_API_DIST_DIR=$DM_ROOT_DIR/src/java/DmApi/dist
@@ -116,7 +116,7 @@ cd ../..
 jar cf ../$DM_WAR_FILE *
 
 export AS_JAVA=$JAVA_HOME
-ASADMIN_CMD=$GLASSFISH_DIR/bin/asadmin
+ASADMIN_CMD=$PAYARA_DIR/bin/asadmin
 
 # copy war file
 echo "Copying war file $DM_PORTAL_DIST_DIR/$DM_WAR_FILE to $DM_DEPLOY_DIR"
diff --git a/sbin/dm_unconfigure_web_portal.sh b/sbin/dm_unconfigure_web_portal.sh
index de8836c9580d5060eba82d283a79bb5e02ab7f80..99d3ba7e4d98d9dea2ea8e4396fd70bd90339ac5 100755
--- a/sbin/dm_unconfigure_web_portal.sh
+++ b/sbin/dm_unconfigure_web_portal.sh
@@ -39,17 +39,17 @@ fi
 
 DM_HOST_ARCH=`uname | tr [A-Z] [a-z]`-`uname -m`
 JAVA_HOME=$DM_OPT_DIR/java/$DM_HOST_ARCH
-GLASSFISH_DIR=$DM_OPT_DIR/glassfish
+PAYARA_DIR=$DM_OPT_DIR/payara
 
 export AS_JAVA=$JAVA_HOME
-ASADMIN_CMD=$GLASSFISH_DIR/bin/asadmin 
+ASADMIN_CMD=$PAYARA_DIR/bin/asadmin 
 
 DM_DB_POOL=postgresql_${DM_DB_NAME}_DbPool
 DM_DATA_SOURCE=${DM_DB_NAME}_DataSource
 DM_DOMAIN=domain1
 
 # restart server
-echo "Restarting glassfish"
+echo "Restarting payara"
 $ASADMIN_CMD stop-domain ${DM_DOMAIN}
 $ASADMIN_CMD start-domain ${DM_DOMAIN}
 
diff --git a/sbin/dm_undeploy_web_portal.sh b/sbin/dm_undeploy_web_portal.sh
index cf7f9069f17a3e5f8f023cad5569ee43bf3480b3..1efdd8458b0dd835b4b31b30ec79b77868c5980c 100755
--- a/sbin/dm_undeploy_web_portal.sh
+++ b/sbin/dm_undeploy_web_portal.sh
@@ -40,14 +40,14 @@ fi
 DM_HOST_ARCH=`uname | tr [A-Z] [a-z]`-`uname -m`
 DM_CONTEXT_ROOT=${DM_CONTEXT_ROOT:=dm}
 JAVA_HOME=$DM_OPT_DIR/java/$DM_HOST_ARCH
-GLASSFISH_DIR=$DM_OPT_DIR/glassfish
-DM_DEPLOY_DIR=$GLASSFISH_DIR/glassfish/domains/domain1/autodeploy
-DM_APP_DIR=$GLASSFISH_DIR/glassfish/domains/domain1/applications/$DM_CONTEXT_ROOT
+PAYARA_DIR=$DM_OPT_DIR/payara
+DM_DEPLOY_DIR=$PAYARA_DIR/glassfish/domains/domain1/autodeploy
+DM_APP_DIR=$PAYARA_DIR/glassfish/domains/domain1/applications/$DM_CONTEXT_ROOT
 DM_DIST_DIR=$DM_ROOT_DIR/src/java/DmWebPortal/dist
 DM_WAR_FILE=$DM_CONTEXT_ROOT.war
 
 export AS_JAVA=$JAVA_HOME
-ASADMIN_CMD=$GLASSFISH_DIR/bin/asadmin
+ASADMIN_CMD=$PAYARA_DIR/bin/asadmin
 
 # remove war file from autodeploy directory
 echo "Removing war file $DM_DEPLOY_DIR/$DM_WAR_FILE"
@@ -62,7 +62,7 @@ else
 fi
 
 # restart server
-echo "Restarting glassfish"
+echo "Restarting payara"
 $ASADMIN_CMD stop-domain ${DM_DOMAIN}
 $ASADMIN_CMD start-domain ${DM_DOMAIN}
 
diff --git a/setup.csh b/setup.csh
index 31559cec269b91e522fe28f18d68bb35016ce2ac..b8e5abd586fd96d392329b038bfb79e2729e575c 100644
--- a/setup.csh
+++ b/setup.csh
@@ -44,7 +44,7 @@ if ( ! -d $DM_SUPPORT_DIR ) then
     exit 1
 endif
 setenv DM_OPT_DIR $DM_SUPPORT_DIR/opt
-setenv DM_GLASSFISH_DIR $DM_OPT_DIR/glassfish
+setenv DM_GLASSFISH_DIR $DM_OPT_DIR/payara
 
 # Setup path and other variables
 setenv PATH ${DM_OPT_DIR}/node/bin:${PATH}
diff --git a/setup.sh b/setup.sh
index 99755495e427e48fcf7f81b3ca9ff031a1e1250a..6b09cf9ea215e4ae3ccac29f6dae702fabefb134 100644
--- a/setup.sh
+++ b/setup.sh
@@ -42,7 +42,7 @@ if [ ! -d $DM_SUPPORT_DIR ]; then
     return 1
 fi
 export DM_OPT_DIR=$DM_SUPPORT_DIR/opt
-export DM_GLASSFISH_DIR=$DM_OPT_DIR/glassfish
+export DM_GLASSFISH_DIR=$DM_OPT_DIR/payara
 
 
 # Add to path only if directory exists.
diff --git a/src/java/DmBase/nbproject/project.properties b/src/java/DmBase/nbproject/project.properties
index 253a8928becc64ab7e42fb0d420a4d69db8e08a6..123982548b0c5ad6603a0a8230d3e1cac91d99f9 100644
--- a/src/java/DmBase/nbproject/project.properties
+++ b/src/java/DmBase/nbproject/project.properties
@@ -32,12 +32,14 @@ excludes=
 file.reference.gson-2.3.1.jar=../lib/gson-2.3.1.jar
 file.reference.log4j-1.2.17.jar=../lib/log4j-1.2.17.jar
 file.reference.primefaces-6.0.jar=../lib/primefaces-6.0.jar
+file.reference.jaxb-osgi.jar=/local/DataManagement/support/opt/payara/glassfish/modules/jaxb-osgi.jar
 includes=**
 jar.compress=false
 javac.classpath=\
     ${file.reference.log4j-1.2.17.jar}:\
     ${file.reference.gson-2.3.1.jar}:\
-    ${file.reference.primefaces-6.0.jar}
+    ${file.reference.primefaces-6.0.jar}:\
+    ${file.reference.jaxb-osgi.jar}
 # Space-separated list of extra javac options
 javac.compilerargs=
 javac.deprecation=false
diff --git a/src/java/DmWebPortal/nbproject/project.properties b/src/java/DmWebPortal/nbproject/project.properties
index 8782235871851de23a029e7374f6baaee0636edb..4b807418c429ea163533a0e5ea9a4a730bc28735 100644
--- a/src/java/DmWebPortal/nbproject/project.properties
+++ b/src/java/DmWebPortal/nbproject/project.properties
@@ -43,7 +43,7 @@ j2ee.compile.on.save=true
 j2ee.copy.static.files.on.save=true
 j2ee.deploy.on.save=true
 j2ee.platform=1.7-web
-j2ee.platform.classpath=${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/cdi-api.jar:${j2ee.server.middleware}/mq/lib/jaxm-api.jar
+j2ee.platform.classpath=${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/cdi-api.jar:${j2ee.server.home}/modules/jakarta.faces.jar:${j2ee.server.home}/modules/validation-api.jar:${j2ee.server.middleware}/mq/lib/jaxm-api.jar
 j2ee.platform.embeddableejb.classpath=${j2ee.server.home}/lib/embedded/glassfish-embedded-static-shell.jar
 j2ee.platform.wscompile.classpath=${j2ee.server.home}/modules/webservices-osgi.jar
 j2ee.platform.wsgen.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar