J
Joelle Andrews
Guest
If you’re a long-time Progress OpenEdge user, you know that moving from Classic AppServer and WebSpeed environments to the Progress Application Server for OpenEdge (PAS for OpenEdge) that powers OpenEdge 12.8 is a big leap. It’s also one that delivers modern architecture, cloud readiness and a lot more flexibility. But let’s be honest, it’s also a shift that comes with questions, quirks and more than a few “Wait, what. . .” moments.
In our recent webinar, Ask Me Anything: PAS Best Practices, two of the most experienced voices in the OpenEdge ecosystem—Roy Ellis and Chad Thomson—shared their insights, practical advice and best practices for getting the most out of PAS for OpenEdge.
Both are passionate advocates for moving beyond legacy thinking and embracing the full spectrum of PAS for OpenEdge capabilities.
Roy and Chad are clear—PAS for OpenEdge is not just a new version of Classic AppServer, it’s a complete reimagining. The old architecture, limited by multiple transport adapters, several connection modes and single-threaded agents, doesn’t keep up with the demands of cloud computing, security and modern web protocols. This makes it time to begin with something new.
A recurring theme from Roy and Chad is the need to rethink old approaches. Many migration headaches stem from treating PAS for OpenEdge like Classic AppServer. For example, force-killing agents—a common fix in the past—can now disrupt hundreds of sessions at once. As Chad says, “That’s a legacy solution to an advanced modern problem. We don’t want to apply it to PAS.”
Security is built into PAS for OpenEdge through its Tomcat and Spring Framework foundations. But, as Chad emphasized, “Nobody wants to be on the front page of the Wall Street Journal because they forgot to change the password.” Relying on defaults is risky. Security hardening should be tackled as soon as possible in the development cycle.
PAS for OpenEdge offers powerful monitoring capabilities via JMX and REST APIs, far beyond what was available in Classic AppServer.
Migrating to PAS for OpenEdge unlocks new opportunities for tuning and scaling, but it also requires a new approach.
“Stop treating PAS for OpenEdge like the classic AppServer,” says Roy. “It’s not the same. Spend the time to learn it, get used to the log files, start monitoring it and remember we have been improving it.”
Both Roy and Chad closed with a clear message: plan thoroughly, test early and often and don’t assume that what worked in Classic AppServer will work in PAS for OpenEdge. If you feel that having an expert by your side could be helpful, contact our Professional Services team for assistance. Embrace the new tools, security models and monitoring capabilities. Doing so unlocks the full potential of your OpenEdge applications—now and in the future.
Watch the webinar now.
Continue reading...
In our recent webinar, Ask Me Anything: PAS Best Practices, two of the most experienced voices in the OpenEdge ecosystem—Roy Ellis and Chad Thomson—shared their insights, practical advice and best practices for getting the most out of PAS for OpenEdge.
- Roy Ellis brings over 30 years of experience at Progress, with deep roots in technical support, product development and managed database services. He’s been instrumental in delivering products like AppServer, WebSpeed and—most recently— PAS for OpenEdge.
- Chad Thomson , a Senior Principal Consultant with Progress Services, has spent more than two decades helping organizations navigate complex application integration and modernization challenges.
Both are passionate advocates for moving beyond legacy thinking and embracing the full spectrum of PAS for OpenEdge capabilities.
PAS for OpenEdge: Not Your Classic AppServer
Roy and Chad are clear—PAS for OpenEdge is not just a new version of Classic AppServer, it’s a complete reimagining. The old architecture, limited by multiple transport adapters, several connection modes and single-threaded agents, doesn’t keep up with the demands of cloud computing, security and modern web protocols. This makes it time to begin with something new.
What’s Different?
- HTTP(S) as the Backbone: PAS for OpenEdge communicates over HTTP or HTTPS, meaning connections are short-lived and stateless by default. This is a major departure from the persistent connections of Classic AppServer, and it impacts how applications manage state and connectivity.
- Built on Tomcat: The foundation of PAS for OpenEdge is Apache Tomcat, a robust Java Servlet container. This not only brings industry-standard web capabilities but also opens the door to a wealth of documentation, tools and best practices from the broader Java and Tomcat communities.
- Multi-Session Agents: Instead of one agent per request, PAS for OpenEdge uses multi-session agents. A single multi-session agent can handle hundreds of concurrent sessions, offering greater efficiency but also requiring alternative approaches to monitoring and troubleshooting.
Migration Mindset: Leave Classic Habits Behind
A recurring theme from Roy and Chad is the need to rethink old approaches. Many migration headaches stem from treating PAS for OpenEdge like Classic AppServer. For example, force-killing agents—a common fix in the past—can now disrupt hundreds of sessions at once. As Chad says, “That’s a legacy solution to an advanced modern problem. We don’t want to apply it to PAS.”
Modern Best Practices:
- Graceful Agent Management: The server’s built-in tools gracefully drain and recycle agents rather than killing them. This approach lets active requests complete before the agent is retired, minimizing disruption.
- Session State Awareness: Understand how your application manages session state. PAS forOpenEdge can maintain session information within multi-session agents, but you need to allocate enough sessions for both stateful and stateless clients.
- Resource Contention: If your application relies on Operating System (OS) commands or Component Object Model (COM) objects, consider running more agents with fewer sessions per agent to reduce contention and improve performance during migration. “Too many OS commands on one agent can become a bottleneck,” Roy says.
Security: Start Early, Not at the Finish Line
Security is built into PAS for OpenEdge through its Tomcat and Spring Framework foundations. But, as Chad emphasized, “Nobody wants to be on the front page of the Wall Street Journal because they forgot to change the password.” Relying on defaults is risky. Security hardening should be tackled as soon as possible in the development cycle.
Security Essentials:
Change Default Credentials: Tomcat’s default username and password are public knowledge. Immediately change them. “Make the password something else,” Chad says. “If you’re worried about passwords in plain text, you can encrypt them on disk.”
Adopt HTTPS Everywhere: Encrypt all communications—even on internal networks—by enabling HTTPS/TLS from the outset. This helps protect data privacy and integrity in transit. “Do it upfront,” Chad urges. “Leaving it until you go to production is probably going to leave you with a lot of pain.”
Leverage Spring Security: The integration between PAS for OpenEdge and the Spring Framework enables flexible, configurable security policies. Take advantage of this to tailor authentication, authorization and session management to your organization’s needs.
Monitoring and Troubleshooting: Visibility is Everything
PAS for OpenEdge offers powerful monitoring capabilities via JMX and REST APIs, far beyond what was available in Classic AppServer.
Monitoring Recommendations:
- Enable Monitoring Early: Turn on Java Messaging Services (JMX) and Representational State Transfer REST) API-based monitoring during development. This helps you establish performance baselines and catch issues before they escalate.
- Track Key Metrics: Monitor agent and session counts, request concurrency, memory usage and long-running requests. The health scanner provides a holistic view of system health, including Central Processing Unit (CPU) and swap usage.
- Understand Logs: “Logs are part of troubleshooting, but monitoring is part of troubleshooting too,” Roy says. While logs remain essential for troubleshooting, interactive monitoring offers real-time insights. Learn to interpret new log formats and request IDs in PAS for OpenEdge for effective diagnostics.
Performance Tuning and Scalability
Migrating to PAS for OpenEdge unlocks new opportunities for tuning and scaling, but it also requires a new approach.
- Plan for Concurrency: Determine the number of agents and sessions per agent based on actual concurrency needs. Analyze web server logs to estimate peak concurrent requests and size your PAS for OpenEdge environment accordingly.
- Use Reverse Proxies and Load Balancers: Place a reverse proxy (like NGINX) in front of PAS for OpenEdge instances for load balancing, failover and seamless blue-green deployments. “It’s borderline a requirement when you’re migrating from classic to modern PAS,” Chad says. This also simplifies Secure Sockets Layer (SSL)/Transport Layer Security (TLS) management and URL rewriting, especially when migrating from WebSpeed.
- Integrate with CI/CD Pipelines: PAS for OpenEdge fits naturally into modern Continuous Integration/Continuous Delivery (CI/CD) workflows. Automate builds and deployments using tools like Jenkins, Gradle or Ant, and use reverse proxies for zero-downtime deployments.
Modernization and Cloud Readiness
“Stop treating PAS for OpenEdge like the classic AppServer,” says Roy. “It’s not the same. Spend the time to learn it, get used to the log files, start monitoring it and remember we have been improving it.”
Both Roy and Chad closed with a clear message: plan thoroughly, test early and often and don’t assume that what worked in Classic AppServer will work in PAS for OpenEdge. If you feel that having an expert by your side could be helpful, contact our Professional Services team for assistance. Embrace the new tools, security models and monitoring capabilities. Doing so unlocks the full potential of your OpenEdge applications—now and in the future.
Watch the webinar now.
Continue reading...