I share the same concerns as Sebastien raised. Mixing the policy definitions
with tuscany runtime extensions in one file doesn't seem to be right. For
example, we could have two tuscany extensions to support binding.ws, one is
based on Axis2 while the other one is based on CXF. With the current
approach, we will see three files:
definitions.xml for binding.ws bindingType which is independent of the
underlying ws stack
two META-INF/services/... files, one for binding-ws-axis2 and the other for
binding-ws-cxf
With the new proposal, I cannot achieve the pluggability unless we duplicate
the bindingType info for binding.ws in two definitions.xml.
Thanks,
Raymond
--------------------------------------------------
From: "Jean-Sebastien Delfino" <[EMAIL PROTECTED]>
Sent: Monday, May 12, 2008 1:56 PM
To: <[email protected]>
Subject: Re: [DISCUSS] Declaring extensions as being available in the domain
Venkata Krishnan wrote:
Hi Ant,
Yes, this sounds good to me - that will make all meta-data related to an
extension available in just one place.
- Venkat
What i was thinking of was along the lines of adding Tuscany specific
xml
to
the definitions file that replaces everything we currently put in the
meta-inf/services files for binding and implementation extensions, eg
something like:
<definitions xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" ...
>
<bindingType type="binding.ws" ... >
<tuscany:binding
providerFactory="org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingProviderFactory"
model="org.apache.tuscany.sca.binding.ws.WebServiceBinding" />
</bindingType>
</definitions>
IMHO this is mixing different concerns that should be kept independent:
- domain != runtime
- policy definitions != runtime extensions
- application level definitions != system definitions
If you don't like the current META-INF/services approach and really want
to change all that, I'd suggest to come up with a proper extension
mechanism, independent of SCA policy definitions, something like OSGi for
example would be more suitable for this.
--
Jean-Sebastien