Try OpenEdge Now
skip to main content
Developing AppServer Applications
Programming ABL Client Applications : Programming for the application session model

Programming for the application session model

If you are writing a client for a new AppServer application (application service), the decision of what session model to use most immediately impacts the AppServer and its configuration and programming (see Programming the AppServer). Once this decision is made for a new application service or if you are writing the client for an existing application service, the session 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 application service 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. For more information on the reasons for this, see Programming the AppServer.
Session-managed application services provide various means to manage context depending on the AppServer operating mode. Where there are any responsibilities involved for the ABL client, this chapter describes them as appropriate for the AppServer operating mode.
Otherwise, this chapter describes the differences in functionality available explicitly for each operating mode or session model, as appropriate. For more information on the differences between the two application session models, session-free and session-managed, see AppServer and Client Interaction.
Note: This chapter addresses programming issues specific to ABL client procedures of an AppServer or application service. It assumes that you are generally familiar with writing and executing ABL procedures. For information on using ABL, see OpenEdge Getting Started: ABL Essentials. While there is some reference to Open Clients, for complete information on programming Java, .NET, and Web service Open Clients, see OpenEdge Development: Open Client Introduction and Programming.