This guide explains how to deploy the DDEC Web application to a production server.
DDEC can be deployed in two ways:
Both deployments are typically needed for full functionality.
| Component | Version | Path |
|---|---|---|
| OpenLiberty | 22.0.0.6 | /opt/app/OpenLiberty22.0.0.6/ |
| Java | 17+ | System default |
| WAR file | ddec-web.war | wlp/usr/servers/ddecServer/dropins/ |
/opt/app/
├── OpenLiberty22.0.0.6/
│ └── wlp/
│ ├── bin/
│ │ └── server # Start/stop commands
│ └── usr/
│ └── servers/
│ └── ddecServer/
│ ├── dropins/
│ │ └── ddec-web.war # Application WAR
│ ├── apps/
│ │ └── expanded/ # Expanded WAR (auto-created)
│ └── server.xml # Server configuration
└── bkpwar/ # Backup directory for old WAR files
Before first deployment, place configuration files in the server directory:
# Configuration location
/opt/app/OpenLiberty22.0.0.6/wlp/usr/servers/ddecServer/
Required configuration files:
server.xml - OpenLiberty server configurationAlways backup the current WAR file before deploying a new version:
# Navigate to dropins directory
cd /opt/app/OpenLiberty22.0.0.6/wlp/usr/servers/ddecServer/dropins
# Copy current WAR to backup with date stamp
cp ddec-web.war /opt/app/bkpwar/ddec-web.war.$(date +%Y%m%d)
# Verify backup
ls -la /opt/app/bkpwar/
Option A: Using WinSCP (from Windows)
/tmp/<your-userid>/Option B: Using SCP (from command line)
scp ddec-web-1.0.1-SNAPSHOT.war user@server:/tmp/userid/
cd /opt/app/OpenLiberty22.0.0.6/wlp
bin/server stop ddecServer
Wait for confirmation that the server has stopped.
The expanded WAR directory must be removed to ensure clean deployment:
cd /opt/app/OpenLiberty22.0.0.6/wlp/usr/servers/ddecServer/apps/expanded
rm -rf ddec-web.war
Copy the new WAR file to the dropins directory:
# Copy and rename to standard name
cp /tmp/userid/ddec-web-1.0.1-SNAPSHOT.war \
/opt/app/OpenLiberty22.0.0.6/wlp/usr/servers/ddecServer/dropins/ddec-web.war
cd /opt/app/OpenLiberty22.0.0.6/wlp
bin/server start ddecServer
Check server logs for startup completion:
tail -f /opt/app/OpenLiberty22.0.0.6/wlp/usr/servers/ddecServer/logs/messages.log
Look for message indicating application started successfully
Test in browser:
http://<server-ip>:8080
The TAR file is built with specific Maven profiles:
cd ddec-web
mvn clean install -Pweb,batch-korn
Or use the provided batch script:
mvn-build.bat
This creates: target/distribution/ddec-web.tar
| Component | Path |
|---|---|
| TAR deployment | /opt/qte/ |
| Batch scripts | /opt/qte/scripts/batch/drs/ |
| Java runtime | /opt/qte/java/ |
/opt/qte/
├── java/ # Java runtime (extracted from TAR)
├── data/ # Working data directory
│ └── r24at/ # Request/response files
├── scripts/
│ └── batch/
│ └── drs/ # Batch job scripts (KSH)
└── bkptar/ # Backup directory for old TAR files
cd /opt/qte
cp ddec-web.tar /opt/qte/bkptar/ddec-web.tar.$(date +%Y%m%d)
cd /opt/qte
rm -rf java
# Upload TAR file to server
scp ddec-web.tar user@server:/opt/qte/
# Extract on server
cd /opt/qte
tar -xvf ddec-web.tar
After extraction, the java folder should be recreated with updated files.
The batch jobs need proper ownership and permissions:
# Change ownership (adjust user/group as needed)
chown -R ddecapp:sftp_user /opt/qte/java
chown -R ddecapp:sftp_user /opt/qte/scripts
# Make scripts executable
chmod +x /opt/qte/scripts/batch/drs/*.sh
If the new deployment fails, rollback to the previous version:
# Stop server
cd /opt/app/OpenLiberty22.0.0.6/wlp
bin/server stop ddecServer
# Remove failed WAR
rm -rf usr/servers/ddecServer/apps/expanded/ddec-web.war
# Restore backup
cp /opt/app/bkpwar/ddec-web.war.<previous-date> \
usr/servers/ddecServer/dropins/ddec-web.war
# Start server
bin/server start ddecServer
cd /opt/qte
rm -rf java
tar -xvf /opt/qte/bkptar/ddec-web.tar.<previous-date>
chown -R ddecapp:sftp_user /opt/qte/java
tail -f .../logs/messages.logjava -versionnetstat -tlnp | grep 8080ls -la /opt/qte/scripts/batch/drs/