Hi,

Is the loading and building problem something that we can achieve out of
what will evolve out of the other discussion that Raymond, Jeremy and Jim
are having related to SCDL Extensions?

Can we look at binding.ws.axis2 and binding.ws.celtix as other forms of
extensions to the SCDL?

How about one more tier of delegation from the loader for binding.ws which
will process as much as it understand and then delegate down the reset to
the loader for binding.ws.axis2 loader?

Have I had an overdoze of these discussions :-) ?

Thanks

- Venkat

On 8/16/06, Liu, Jervis <[EMAIL PROTECTED]> wrote:

Hi,

One question has to be answered before we go any further is that we view
Axis and Celtix (and others like Xfire) as different implementations of Web
Service binding or different bindings.

If we view them as same binding but different implementations, we should
stick to the schema of binding.ws and we have to solve the problem I
raised previously: how to switch different impl for the same binding under
the scene? This problem can be probably tackled by some kind of loading
mechanisms, like the extension dir we are using at the moment. We may run
into some limitations though, for example, if two implementations of same
binding are both available to the loading mechanism, how to load a specific
explicitly?

If we view Axis and Celtix as different bindings, e.g., we represent them
using the schema of binding.axis and binding.celtix as described by the
extension mode in spec, we can always load axis or Celtix explicitly, there
is no need to invent a loading mechanism, all bindings can live happily
together in the extension dir. However, I found the meaning of
binding.axis or binding.celtix is confusing and does not following the
concept in spec. SCA spec has preserved binding names for binding.ws,
binding.jms, binding.eis etc, them are all names for different
bindings/protocols, but Axis or Celtix is really an product other than a
binding or protocol type. Celtix as an ESB, supports various
bindings/protocols besides soap/http, such as JMS and CORBA. Conceptually, I
found its more clear to view Celtix as a product that provides
implementations to several bindings (thus we can have a Celtix version
loader/builder for each bindings, e.g.,
org.apache.tuscany.binding.celtix.WebServiceBindingLoader and
org.apache.tuscany.binding.celtix.JMSBindingLoader) other than having a
binding.celtix in Tuscany.

In summary, viewing axis or celtix as different implementations to the
same binding is more clear in concept, but it needs us to invent a loading
mechanism that can load the specific implementations explicitly. Not sure
about other guys' opinion, any thoughts or comments?

Jeremy, I also have a question for you. What do you mean by saying "allow
the extension directory to contain simple SCDL files (xml files) that define
composites and which get their code through dependencies"? Do you mean
adding a SCDL for extension dir to describe all extensions available under
the extension dir? Then we take this scdl as a single composite that can be
deployed into runtime? But this does not seem to address the loading problem
(when multiple implementations available).

Thanks,
Jervis


> -----Original Message-----
> From: Meeraj Kunnumpurath [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, August 15, 2006 7:48 PM
> To: tuscany-dev@ws.apache.org
> Subject: RE: Create distribution for bindings, or how to
> switch binding
> implementations
>
>
> Jervis,
>
> Few thoughts ...
>
> I think flexibility and ease of use is important in terms of switching
> between bindings, not just two implementations of the same transport
> (for example axis and XFire for WS binding), but also between two
> different transports (WS and JMS for example). With one of the ESBs I
> have been using it is as simple as switching the protocol in the
> endpoint URI for the target component. For example, you can switch
> between Axis to XFire, by changing the endpoint URI of the component
> from axis:http://localhost:81/services to
> xfire:http://localhost:81/services, and if you want to switch
> from WS to
> JMS, it is as simple as changing the URI to jms://myQueue. I think the
> gist is providing the flexibility to expose the services over
> a variety
> of transports, even more than one if that is deemed
> necessary. According
> to my understanding this issues are all addressed by the SCA spec.
>
> I think the spec mandates support for SCA and web services
> bindings and
> talks about having extensibility mechanisms for other kinds
> of bindings.
> Though it should be possible to expose services across multiple
> bindings, multiple implementations of the same transport
> (XFire and Axis
> for example) wouldn't make much sense, as the implementation
> type itself
> is transparent to the service consumer, unless different
> ports are used
> by the different bindings. I think, may be the issue is the mandatory
> binding binding.ws from the spec perspective. You could look at
> binding.ws as the default WS binding used by the SCA runtime
> implementation (using axis for example) and to use a different WS
> binding one could use the extension model and have a binding like
> binding.ws.xfire.
>
> Ta
> Meeraj
>
> -----Original Message-----
> From: Liu, Jervis [mailto:[EMAIL PROTECTED]
> Sent: 15 August 2006 03:56
> To: tuscany-dev@ws.apache.org
> Subject: Create distribution for bindings, or how to switch binding
> implementations
>
> 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
>
>
> This message has been checked for all email viruses by MessageLabs.
>
>
>
> *****************************************************
>
>     You can find us at www.voca.com
>
> *****************************************************
> This communication is confidential and intended for
> the exclusive use of the addressee only. You should
> not disclose its contents to any other person.
> If you are not the intended recipient please notify
> the sender named above immediately.
>
> Registered in England, No 1023742,
> Registered Office: Voca Limited
> Drake House, Three Rivers Court,
> Homestead Road, Rickmansworth,
> Hertfordshire, WD3 1FX
>
>
> This message has been checked for all email viruses by MessageLabs.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

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


Reply via email to