Try OpenEdge Now
skip to main content
Application Migration and Development Guide
Application Development with PAS for OpenEdge : Programming ABL Client Applications : Programming for the application model

Programming for the application model

If you are writing a client for a new PAS for OpenEdge business application, the decision of what application model to use most immediately impacts the server and its configuration and programming. Once this decision is made for a new business application or if you are writing the client for an existing application, the application model imposes fundamental limitations on your options for programming the ABL client.
There is a way to pass a client context identifier between sessions. You typically rely completely on the API defined for the business application to manage this context. Progress Software Corporation recommends that you never attempt to run a remote external procedure persistently when writing for a session-free application, and it is likely to be a violation of the conventions defined for the API to do so.
Session-managed applications provide various means to manage context depending on the binding set up between clients and PAS for OpenEdge sessions. Where there are any responsibilities involved for the ABL client, this chapter describes them as appropriate for the client binding.
Otherwise, this chapter describes the differences in functionality available explicitly for each application model, as appropriate. For more information on the differences between the two application models, session-free and session-managed, see PAS for OpenEdge and Client Interaction.
Note: This chapter addresses programming issues specific to ABL client procedures of a PAS for OpenEdge instance. It assumes that you are generally familiar with writing and executing ABL procedures. For information on using ABL, see OpenEdge Getting Started: Guide for New Developers. While there is some reference to Open Clients, for complete information on programming Java, .NET, and SOAP Web service Open Clients, see OpenEdge Development: Open Client Introduction and Programming.