Maintaining the State of Service
When a remote client opens a session on a webMethods Integration Server, the server automatically builds a session object for that client. The server uses this object to maintain specific information about the client requesting the service, such as user name and password. The server maintains the session object for the duration of the session (that is, until the client program explicitly closes the session on the server or the session times out due to client inactivity).
When you develop services in a language such as Java or C/C++, you can use the “put” method to write information to the session object. You might do this to store information that a sequence of services needs to maintain a connection to an external system.
A service that is an atomic unit of work (that is, one that is wholly self contained and not part of a multi-service transaction to an external system) does not to need to have its session object maintained when it is finished executing. For best performance, use stateful services if your Integration Server receives requests from repeating clients. The client can connect to Integration Server, be authenticated just once, and then issue many service invocations during the same session. Use stateless services if clients typically send a single invocation request to Integration Server at a time. Using a stateless service prevents the creation of sessions that will sit unused, taking up resources in Integration Server.
Related Topics