Automating JDA WMS Environment DevOps — database refresh

Working on JDA WMS for the last 4 years has taught me a lot. Once you understand the architecture of JDA WMS Application, some tasks become menial and repetitive. So why not write scripts around it and spend time in automating such tasks?

Some examples can be:

  1. You are working on developing a cumulative rollout for a client or distribution site or database conversion for an upgrade and would like to rollback the entire database and application. Though the rollout process in itself is automated and takes only a couple of minutes at the most. But if you ever have to rollback from a rollout, it takes time — especially when there are database changes. While this cannot be done easily in Production systems unless you have Oracle Enterprise Edition with flashback enabled, but it is very easy to do for a lower environment like Unit Test.
  2. You need to set up a new environment for testing — Cloning an environment.
  3. Refresh a lower environment from Production
  4. Cloning a database in SQL Server or Schema in Oracle.
  5. Stopping/Starting MOCA and Portal Services

Today, I will give you a simple example of refreshing a database in SQL Server 201x. In larger organizations, you generally have to raise a ticket in ServiceNow (or any other ticketing tool), get approval and then the relevant resource or team performs the task. At a minimum, this task that takes a maximum of 5–10 minutes to perform will now take 2–3 days for a developer — depending on the workload of the database team. To me, that is 2–3 days wasted. So why not automate such processes and make life easier for developers and technical consultants?

Initially, the script validates if the WM and Portal services are running before dropping and restoring the database from backup.

Then the script drops the database, restores from backup.

In the end, the script catches any errors and report to the user.

You can even go a step ahead with this script and add the stop/start MOCA and Portal services functionality to fully automate it. This script took me less than a day to create from start to end, but now saves developers a lot of time during their testing. Hopefully, I have intrigued you enough to do something similar.




I am an experienced IT Consultant who has a knack to solve complex problems. Want to connect? Reach out to me on:

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Werewolf NFT (Werewolf Assets)

Werewolf NFT Editor, WWC, Werewolf Exchange, WOLF Token

How HyScale’s App-Centric Abstraction helps solve Kubernetes complexities

Kubernetes and containerization helps in cost optimization, scalability, multi-cloud benefits with no vendor lock-in

Git and GitHub Beginner Tutorial — Multiple Accounts

From Fabless to Serverless

squlite3 無法載入問題(Gem::LoadError)

Why Drupal is Ideal Choice for your Web Portal Development? — Aalpha

NGINX Ingress or GKE Ingress?

Deep dive into seaborn palettes

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ali Ahmed

Ali Ahmed

I am an experienced IT Consultant who has a knack to solve complex problems. Want to connect? Reach out to me on:

More from Medium

Postman collection integration using Jenkins and visualization using Newman reporter

Deploy an app service (web app) using Azure DevOps

Configuring an LDAP user registry in API Connect for user authentication

Using Jenkins to Build Arm Docker Images