I am looking for an example of Session Startup Procedure for PASOE (sessionStartupProc) or Classic AppServer (srvrStartupProc).
Unfortunately, I can't find it in the documentation or anywhere else. This is a new topic for me, and I would like to understand what can be done with Session Startup Procedure and how useful it is. For example, can I describe in this procedure new shared variables that will be initialized at the start of ABL sessions by the agent, and that can then use remote clients as shared variables when they works whith that ABL sessions on appserver ?
You can find some reference information for configuring a sessionStartupProc in the OE ABL Service Developer Guide's Session Startup procedure topic.
One of the key points is that the startup procedure runs as an ABL persistent-procedure. Meaning that it and its stored variables are accessible for the lifetime of the ABL session ( or you explicitly delete it ). What goes into a startup procedure is obviously your choice, but for my simple testing purposes I do things like:
. define global variables - which I can later access from other parts of my test application
. create objects and store them locally in the startup procedure - which l can later access from other parts of my test application while executing client requests
. Initialize static classes
. load application properties
. initialize my session loading and use of OE Domains
. initialize application logging
. log startup summary information
It is really very flexible and useful. Now, the real ABL developers out there may tell you that some things I do for testing are not appropriate for a real application - and you should follow their suggestions. But this simple list may give you some idea about what might be done. I'm sure others can also help by sharing their uses.
Thank you, Michael!