A Personal Journey of Challenges and Solutions
In today’s rapidly evolving technological landscape, businesses face increasing pressure to modernize their infrastructure for better scalability, security and performance. For those using Progress OpenEdge, one such modernization involves transitioning from classic application servers to Progress Application Server for OpenEdge (PASOE). This transition isn’t just about upgrading software—it’s about rethinking architecture and improving how applications are built and maintained.
I had the opportunity to be part of a major migration project, moving a legacy application from classic app servers and WebSpeed to PASOE, while also upgrading from Progress OpenEdge 11.7 to OpenEdge 12. This migration came with its fair share of challenges, learning curves and rewarding breakthroughs. Here’s my experience in navigating this complex yet highly rewarding process.
The Migration Project at a Glance
Our legacy system was built on Progress OpenEdge 10.2, running multiple classic app servers and WebSpeed to handle vital tasks like scheduled jobs and integrations with point-of-sale systems. The goal of the migration was to move the system to PASOE and ultimately upgrade to OpenEdge 12. The migration involved setting up two instances of PASOE—one for the live version and one for the demo version—each hosting four deployed web applications.
Manual Configuration of Development Environment
We began the process by configuring the development environment manually. Using the OpenEdge Management Console, I created a new instance of PASOE. This required defining ports, creating directories and setting up HTTP/HTTPS shutdown configurations. While this was straightforward in theory, there were many fine adjustments required to get everything working smoothly.
Scripting the Installation Process
Once the manual configuration was successful, the next task was automating the installation using scripting tools. We used Gradle and Jenkins to script the configuration and installation of PASOE, aiming for a smoother, repeatable setup process.
For the Windows environment, we used NSIS (Nullsoft Scriptable Install System) to create installers. NSIS, however, proved to be a significant challenge, largely due to its limited documentation and peculiar scripting language. This became a bottleneck in the migration process and required more time than expected. Eventually, we were able to develop scripts that automated much of the configuration, but not without some frustrations along the way.
Migrating Code and GUI Files
The migration of code was fairly simple, as most of the back-end remained unchanged, except for small adjustments to file references. However, the graphical user interface (GUI) files needed more attention.
Several approaches were explored, including copying static files into folders, modifying server XML files and using symbolic links. We even considered implementing a reverse proxy using IIS which looks very promising.
The Upgrade to OpenEdge 12
Once the migration to PASOE on OpenEdge 11.7 was complete, the next phase was upgrading to OpenEdge 12. This version comes with many improvements, but one significant change was that OpenEdge 12 no longer includes a bundled Java Development Kit (JDK). We had to install an external JDK, such as AdoptOpenJDK, to ensure compatibility.
While the upgrade process was mostly smooth, we did encounter some minor configuration issues, especially with port settings. These were quickly resolved, but they served as a reminder to always double-check installation paths and configuration files.
Converting the Multi-tenant Database
Another major part of the migration was converting our multi-tenant database from OpenEdge 11 to 12. Database conversion is a critical task, and I cannot emphasize enough the importance of truncating the database before conversion. We initially encountered several errors, but these were resolved by carefully checking our paths and stopping background services.
Key Challenges and Lessons Learned
As with any large migration, we faced numerous challenges, many of which required creative solutions. Here are a few of the most notable:
- Script Automation Frustrations: Automating the installation process using NSIS turned out to be a difficult task. The scripting language is unique and hard to master, and documentation is sparse. Despite these obstacles, we were able to eventually script the process, but not without spending significant time troubleshooting.
- Mapping Configuration Values: Migrating configuration values from the classic AppServers to PASOE was another hurdle. Although tools like oaPropTool helped set values, I found that some parameters were either outdated or poorly documented. Nevertheless, this tool proved essential in querying and setting PASOE values.
- Log File Management: Managing log files turned out to be more of a challenge than I initially expected. The event scheduler was generating massive log files, sometimes up to 1GB in size. Progress’s support team helped us discover that PASOE, unlike classic app servers, doesn’t support automatic log file rolling. As a solution, we implemented timestamped log files that archive daily at midnight.
- Database Conversion Issues: Converting the multi-tenant database also came with its fair share of challenges, particularly with path configurations and background processes running during conversion. Stopping all unnecessary services and double-checking references allowed us to complete the conversion successfully.
What I Learned from the Process
Looking back, one of the most important lessons I learned during this migration is the value of thorough documentation review. Diving straight into a project without carefully reviewing all available documentation can lead to wasted time and unnecessary frustrations. Many of the challenges we faced could have been mitigated if we had spent more time upfront understanding the migration process in detail.
Another key takeaway is that while it may be tempting to solve problems through trial and error, it’s often more efficient to rely on official documentation and the support of experts. Reaching out to Progress support proved invaluable, especially for resolving issues related to log file management and database conversion.
Where to Next?
Performance tests to evaluate the system’s stability and responsiveness under load. This is relevant for any software migration especially when introducing new file handling.
That said, we’ve made significant progress, and the system is functioning well with PASOE on OpenEdge 12. The migration journey has been challenging, but it’s been rewarding to see the improvements in performance, scalability and maintainability that PASOE brings to the table.
How Wayfare Can Help with Your Migration
If you’re considering migrating from classic application servers to PASOE, know that it can be a daunting task, but it’s a crucial step in modernizing your OpenEdge environment. Whether you need help with automation scripts, database conversion or managing configuration values, having the right expertise on your side can make all the difference.
With extensive experience in Progress OpenEdge and a deep understanding of the PASOE migration process, Wayfare can guide your business through the transition smoothly. From planning and executing the migration to resolving any challenges along the way, our team of experts is ready to support you at every stage. We bring not only technical expertise but also hands-on experience in dealing with the very challenges I faced during my own migration journey.
If you’re ready to modernize your OpenEdge environment or need assistance navigating the complexities of migration, Wayfare can help. We’ll ensure your transition to PASOE is as seamless and efficient as possible, allowing you to focus on what really matters—driving your business forward.
Author: Andrei Cornei, Tech Lead
He is a mentor and lifelong learner at Wayfare. Passionate about sharing knowledge, he guides OpenEdge trainees while staying active in events like PUG Challenge and POET. Andrei finds fulfillment in learning, empowering others, and contributing to the Progress community.