Stateful Web Services
I’ve just been on a two day course at the National e-Science Institute in Edinburgh learning about OGSI and Microsoft.NET. Expect a fuller post soon, however, one of the nice features of OGSI is it enables you to deploy persistent state web services automatically (after some basic inheritance!).
Why do you need state? In a traditional web service, and object instance is created, invoked, and then destroyed once the request has been fulfilled. The next time your service is called, a new instance is created, and so on. In this way, web services are stateless: they do not hold on to any information about its variables and properties once they are destroyed.
You can hack together state management. You could serialize the web service and recall this when future requests are dished up. Not only is this hassle, but the process of producing transient services, which have lifetime management (i.e. can live for a set period), and assigning identifiers to manage different instances, so that each user can have their own stated service instance is difficult to achieve in a standardised, modular fashion.
MS.NET OGSI gives you this power, as well as providing an OGSI container implementation for .NET, compatible with the Globus Toolkit 3.0.
Click here to find out more regarding MS.NET OGSI, and stay tuned for some practical examples of how to create stateful grid services which leverage the usability of .NET.