How do Large Scale Web Service Applications Maintain Session State?



I've been looking at two approaches for the maintenance of Session state for
a Web Service application.

One approach uses the old familiar Session object which I've used in the
past for Web applications. As far as I can see, the Session approach is
non-standard since Web Services are supposed to be agnostic with respect to
their clients. It seems that cookies are outside the Web Service standard;
therefore, such a Web Service application won't work for those clients which
are not equipped to shuttle the Session cookie back and forth.

The second approach I have researched uses the Context.Cache object, plus a
unique session ID which is shuttled back and forth as a parameter on every
method call. The unique session ID is of course, the index into the Cache
object for the retrieval of session related data. I see two drawbacks to
this approach. The first issue, is that this approach affects the parameter
signature practically every single public method in the entire application.
OK, this is perhaps a minor detail. For all I know, this may be standard
practice?

The second issue however, is that for a large scale Web Services
application, supporting thousands of concurrent sessions, the Cache memory
consumption on the server is liable to be quite large and this could be a
problem.

So I'm wondering, what is the best way to do this?

Tangentially, I'm also curious how you typically engineer your Web Service
applications. Would the server side application consist of a single ASMX
page with all application methods in a single page, or would you break your
application into separate pages? I'm thinking that from the standpoint of
team development alone, the latter method is the correct approach.

I appreciate any advice which you can offer.

Thanks!

Joseph Geretz


.



Relevant Pages

  • Re: How do Large Scale Web Service Applications Maintain Session State?
    ... cache these profiles on the server in order to increase performance. ... which is something different than stateful Web Service classes. ... We do pass a session token as ... Having systems deployed through web services allows clients to access via ...
    (microsoft.public.dotnet.framework.webservices)
  • Re: Web Service State
    ... You can enable the ASP.NET session for the web services, but as you said, it ... users store the session state. ... - Store state on the server and uniquely identify each visitor. ... We use windows authentication to authorise users to our web service, ...
    (microsoft.public.dotnet.framework.webservices)
  • Picking Up or Assuming Session???
    ... It utilizes a web service in order ... is load balanced by a router based on session token. ... once you are sent to a particular server for the initial request, ... Everything works great from the windows form app. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Server Side Caching
    ... familiar with server side cache implementation using the IIS Application, ... Session, objects etc. ... implement this for a web service application in the same manner? ... information in the same IIS Application and Session objects on the server? ...
    (microsoft.public.dotnet.framework.webservices)
  • Re: Is there a BEA Tuxedo equivalence in Java?
    ... If you maintain state in your application server, ... If you have a state associated to the client session, ... How do you rollback a transaction> that ... A web service is just a POJO that are registered as a service. ...
    (comp.object)

Loading