Although Webware allows you to reload individual modules, dependency
problems can be a big issue, as dependencies do not get reloaded
automatically. You'll also run into problems if you reload modules
containing modified class definitions while there are still objects
instances created with the previous version of the class. In short, you
don't want to go there.
Luckily, restarting Webware doesn't mean you'll drop requests. The
appserver only shuts down after it was processed all pending requests.
Requests which come in while the appserver is restarting will be delayed
somewhat (in apache), as mod_webkit attempts to reconnect to the appserver.
mod_webkit will retry though (up to 10 times I think), so as long as the
appserver comes up within a few seconds, all requests will be served.
I actually gave a lightning talk at PyCon describing how Webware deals with this, and why all other ways of dealing with it suck (since there's corner cases that will drive you crazy). I still have to put the slides up online, but then there's nothing that will be new in it to the Webware crowd.
So back to my question. Is Webware intended to be a webservices (web/xmlrpc/soap) app server?
Certainly. The only reason Webware lacks soap support is that no one has
taken the initiative to work on it. I'm sure if that functionality existed,
people would use it. If you're excited about doing that, go for it!
And I bet it would be really easy, as the XMLRPC support for Webware is very simple.
On a somewhat related note, I think Ian Bicking has done some work to
allow the appserver to more easily support multiple protocols, listening
on several ports (i.e. not just http). I don't know what the status of this
work is, though.
In Webware CVS it has code for this. Actually, it's the code for supporting HTTP, so that you don't need Apache (previously only the mod_webkit protocol was supported). (There's actually a third protocol -- the MONITOR stuff -- but I never even tested it, and I'm pretty sure it had been broken for a while preceding those changes)
I'm pretty sure it also allows for the possibility of request objects besides HTTPRequest. But that won't actually be necessary for any of this -- XMLRPCServlet just accepts an HTTPRequest (which was how XMLRPC was designed), and SOAP is pretty much the same. (Unless you want SOAP-over-SMTP or other such tricks -- which isn't impossible, but certainly isn't the place to start)
-- Ian Bicking | [EMAIL PROTECTED] | http://blog.ianbicking.org
------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Webware-discuss mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/webware-discuss