I prototyped this a little while back just to see how it could be done with the current Axis code and it wasn't exactly pretty from a design and performance approach, but it did work. If you look at the Admin service, it is essentially a factory service. You can use it to create new instances of services at runtime. My prototype (which I cannot share because it no longer exists ;-) ...) took in a template Axis WSDD document that defined a basic service type and exposed a single method to create a new instance of that service type. In addition to the service specific operations exposed by the service implementation, the created service instance also exposed a "destroyInstance" operation that could be used to undeploy the service. Security is a key challenge -- e.g. you need to make sure that only the appropriate user is allowed to destroy the instance. I think that with a bit of work, a better dynamic service registry/factory interface could be built into Axis to make this type of stuff easier, but it would have to be a 2.0 thought.
- James M Snell/Fresno/IBM Web services architecture and strategy Internet Emerging Technologies, IBM 544.9035 TIE line 559.587.1233 Office 919.486.0077 Voice Mail [EMAIL PROTECTED] Programming Web Services With SOAP, O'reilly & Associates, ISBN 0596000952 == Have I not commanded you? Be strong and courageous. Do not be terrified, do not be discouraged, for the Lord your God will be with you wherever you go. - Joshua 1:9 Please respond to [EMAIL PROTECTED] To: [EMAIL PROTECTED] cc: Subject: Transient / dynamic services question Hi, <introduction> I'm a software developer at the european bioinformatics institute, as an institute we support the information processing bits of (amongst other things) the human genome project, and as a group we're working on a large scale distributed system that uses soap and web services as a significant component of its infrastructure. </introduction> For a project I'm currently working on, I am trying to create the following : 1) RPC access to various server side objects. No problem with this in the naive case, it works just fine. 2) The server has objects that may be created by RPC calls on other objects, and which should themselves be exposed as new services. 3) I would like the access URL pattern for the new services to look something like http://foo.bar/rpc_router/myservice/new_object_id This actually nests several layers deep, the idea being that the master service acts as a factory for various other resources which are themselves services (see http://www.globus.org/ogsa/ for an example of this approach) Question - I am unaware of any way to do the dynamic publish step with the existing axis tools, and assuming I am not being blind I'm planning to write this (or modify the RPC router) to support this functionality, is there any other interest in the community in this? Any feedback or comments would be welcome, I have yet to see a toolkit that addresses this issue in what I would regard as a pleasant fashion. Cheers, Tom Oinn