Jervis

I agree with this. I view the extension dir as just one way extensions could be installed - there's nothing special about this mechanism, it is simply triggered by having a DirectoryScanExtender component loaded as part of the system composite.

I think there is a problem with the spec in the way that it defines bindings based on a particular technology - for example, <binding.ws> as if a runtime would only support one implementation for that technology. Fortunately the spec does allow for non-specified bindings so we could, for example, support <binding.axis2> and <binding.celtix> with no problem. I would suggest that we do.

To address your point 1), some users prefer configuring servers just by copying files or directories to the right place. On some platforms that is the normal way to install applications. I think this works if the extension can be packaged as a single file, either some form of archive with nested dependencies like Ant was proposing, or a archive/file with external dependencies as I had been suggesting.

The launcher environment we have been using is a fairly simple client which is focused on just running a single composite. It would be possible to define a more complex distribution that contained a whole bunch of server components and multiple application composites providing multiple services - something akin to Tomcat's webapp directory. This could use the same mechanism as e.g. the DirectoryScanExtender but I think it is important to keep a separation between artifacts used as server extensions and those used by application code.

I think a simple approach here would be to allow the extension directory to contain simple SCDL files (xml files) that define composites and which get their code through dependencies. I think this would also give the config file approach you suggested. Is this something you would be interested in working on?

--
Jeremy

On Aug 14, 2006, at 7:55 PM, Liu, Jervis wrote:

Hi,

I can see from yesterday's IRC chat that we had a quick discussion on how to create distribution for bindings. I think the main problem we are facing is how to switch binding implementations. For example, we may want to switch the implementation of binding.ws between axis2 and celtix for helloworldws sample, in an easy and user friendly way. The approach Jeremy proposed should work: package the binding as an extension and somehow install it into the runtime(put it into the extension dir?) . So this is definitely one option. But I think we should also provide alternatives to better address following scenarios:

1, Tuscany users installed a generic Tuscany distribution, and they would like to be able to switch binding implementations without moving libraries around or changing any directories. I think we can improve usability if users only need to change a config file.

2. Some applications may want to use two binding implementations at the same time.

It seems to me that we will need a configuration somewhere to specify the specific binding implementation. Can we have a proprietary entry in scdl file sth like <binging.ws.axis2/> or <binding.ws bindingImplementation=axis/>? Any comments are welcome. To better track this thread, I have created jira 621. https:// issues.apache.org/jira/browse/TUSCANY-621. I also enclosed relevant IRC chat log for your info.

Thanks,
Jervis

(05:27:47) cr22rc: jboynes : I'm ok about taking it out .. but what are we looking for doing for samples needing axis wsbservice binding (05:28:44) jboynes: I want to package the axis binding as an extension that can be installed in the runtime (05:29:46) jboynes: so to run the sample you add the axis extension to your installation (05:30:43) ant: or we may have a distribution that includes axis right?
(05:31:03) jboynes: sure
(05:32:32) jboynes: I want to make sure that the basic concept (core + a bunch of extensions) works (05:33:19) kgoodson left the room (quit: Read error: 110 (Connection timed out)).
(05:33:23) ant: could we talk about the ServletHost stuff now?
(05:33:33) jboynes: so we don't end up in a situation where an extension only works if it is packed into a distro in a special way
(05:33:40) jboynes: I need a couple more
(05:33:48) jboynes: I need to eat
(05:35:32) ant: ok, well ping when you're ready
(05:48:04) jboynes: ant: hi, better now I've had breakfast :)
(05:48:30) ant: yum
(05:48:31) jboynes: sorry for holding things up - I just reached the pass out or get cranky phase (05:48:48) dkulp left the room (quit: "using sirc version 2.211 +KSIRC/1.3.12").
(05:49:19) ant: ok so there's an interface ServletHost
(05:50:02) jboynes: yep
(05:50:10) ant: so the WS binding should use that to register a servlet for each ws endpoint



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to