OpenEdge Classic to PAS: It's Not That Hard

August 04, 2021 Application Development, OpenEdge

Commonly asked questions to consider as you migrate to the OpenEdge 12 Series.

A variety of things can happen when a new software version is released. Some organizations may be inspired to be more creative and innovative, while others may be hesitant and concerned with the newest updates.

Organizations may be nervous to switch from Classic to Progress Application Server (PAS) for OpenEdge because they fear the transition will be difficult. But the OpenEdge team is here to show that it is a very straightforward process!

In this blog post, we'll look at commonly asked questions organizations have about migrating from Classic to PAS. We'll also give some tips on how to make sure your migration goes smoothly.

Customers frequently ask Cameron Wright, an OpenEdge technical expert, about the migration and its difficulty. Many organizations are curious about the best strategy moving forward and helpful tools to aid in a successful migration.

To help others like you curious about what it means to move from Classic to PAS for OpenEdge, Cameron provides insight into those frequently asked questions to help you learn what you need to know as you make your way to PAS for OpenEdge.

What is the difference between Classic and PAS?

There are so many updated, modern functionalities. Classic is older and doesn't have as many features. By moving to the OpenEdge 12 series, you can now take advantage of PAS for OpenEdge.

PAS for OpenEdge is feature-rich and offers even more benefits to your organization, such as enhancing scalability and improving your business applications' performance. PAS is based on current and open technologies, including Apache Tomcat. It is scalable, with disaster recovery and security built in. It is the sole Application Server recommended by Progress for OpenEdge 12 applications and later. The adoption of PAS allows for a more modern, secure, and cloud-ready solution for your business.

What is the best strategy for upgrading 11.7 PAS to 12? Tips for success?

For a successful migration, the best thing is to go slow. Make slight changes, test, and repeat! Baby steps are key here.

Another suggestion is to use tests that are repeatable (automated testing). One of the problems we discovered in working with customers is that many companies on Classic do not have a lot of automated testing that can be done in the same order. As a result, automated testing is critical because it allows you to run tests and monitor data.

Having that automatic testing makes the process a lot easier and repeatable. You will be making small changes and you want to see those effects. Repeatability is key. This is also helpful in future planning, as those repeatable tests can be used to simulate stress and load on your system to anticipate growth.

Is there documentation on the migration tool? How do you set it up?

To aid in a successful migration, we have a resource to help get the information you need when moving from Classic to PAS for OpenEdge. It will cover subjects such as which OpenEdge attributes you should modify and which you shouldn't, what to think about when you add more threads, how many database users you need, and more.

This resource and our new Migration guide recommendations will take you on a step-by-step guide into PAS for OpenEdge to prepare for application modernization. Click here for a step-by-step guide into PAS for OpenEdge to prepare for application modernization.

What are the key things customers must consider in their Classic AppServer before migrating?

Something important to note is that Classic is not PAS, and PAS is not Classic. Things that you have been doing for the last 15 years may not apply in the newer version in PAS. For example, the practice of nightly reboots. This is because Tomcat takes time to get the buffer filed and threads started.

Another example is using Global shared variables. Classic was much more conducive to Globals, while PAS is not.

The other thing to consider is to start looking at some of the cleanups in your code. Now we have tools and tricks for helping you clean up afterward, but nothing is better than going through, reviewing your code, and doing some cleanup prior to migration.

Is PAS supported in a .NET core environment? Or just in .NET framework as Classic OpenApp client app server?

Currently, it is just .NET framework. We've not yet implemented .NET Core, but it is something we are planning for in the future.

If you are running OpenEdge version 11.7, is there a path for migration?

There is always a path for migration. If you're using 11.7 Classic, we recommend moving to 12. And the reason for that is we have spent a lot of time adding advanced tools and metrics for tuning PAS.

For example, some of the advancements in OpenEdge 12 include:

  • Expanded number of parameters
  • Tools for viewing memory and call stacks, as well as profiling
  • Database reads
  • More diagnostic and health monitoring tools
  • Expanded controls for starting and stopping Tomcat to set soft, hard and halt resets

Does the migration tool convert everything at once if you have multiple applications and app servers on one server?

No. There is a script that allows you to convert, and it will take your Classic environment and attempt to reproduce it. It is a good starting point for your testing, but does not negate the importance of tuning or testing.

Will everything we need be available in 12.2 (LTS), or will we need to upgrade to a non-LTS?

12.2 LTS is a long-term supported release and is the most stable. LTS releases are targeted towards stability and minimal changes for customers. Release updates provide fixes for critical issues. It is where we make fixes and repairs and is where we spend most of the time in the codebase. A non-LTS release targets customers who require the most recent feature changes. These contain new features and bug fixes.

The difference between a non-LTS and an LTS is:

  • An LTS release is meant to be adopted by customers who primarily look for stability and minimal change for a deployed application over many years.
  • Non-LTS releases are targeted at customers seeking a faster pace of innovation and change. These releases, while delivering new features and ready for production use, become Retired immediately upon the subsequent release becoming available.

To learn about the OpenEdge product life cycle and LTS and Non-LTS versions, please review the  OpenEdge Product Life Cycle.

Are you going to add features from dot releases like 12.3 or 12.4 back to 12.2?

No, we do not add new features unless it is some of these minor diagnostic tweaks. We're simply hardening and strengthening the product. It is a very stable environment, and that is what our customers have asked us for. They want that stability.

How do you keep memory usage low?

There is a lot of tuning and maintenance you can do to adjust your memory. The simple truth is that you should monitor your memory consumption inside your processes and ensure that any of the objects you have started are cleaned up. In 12.2.X there is a deployable oehealthscanner that reviews the health of our application and PAS instance. With that and a JConsole, you can monitor your application’s memory consumption and health.

What are some main enhancements for PAS coming in upcoming versions of Progress?

Security, scalability, and stability.

Interested in learning more about a successful migration from Classic to PAS? Check out our resources to help you get started.

Jessica Malakian

Jessica Malakian is a product marketing specialist at Progress who focuses primarily on Progress OpenEdge. Jessica is a recent college graduate and is excited to begin her professional journey with Progress. Outside of work, Jessica loves reading and writing. 

Read next Teknion Shifts to Cloud-Centric Approach with Progress OpenEdge 12.0