Ok sure eventually why not. But I don't think we should wait till that
happens before doing [a].

   ...ant

On 8/20/07, Venkata Krishnan <[EMAIL PROTECTED]> wrote:
>
> Hi Ant, just to understand a little better - do you propose we must get
> our extensions endorsed by the Specs ?
>
> - Venkat
>
> On 8/20/07, ant elder < [EMAIL PROTECTED]> wrote:
> >
> > On 8/20/07, Jean-Sebastien Delfino < [EMAIL PROTECTED]> wrote:
> > >
> > > Luciano Resende wrote:
> > > > Sebastien wrote :
> > > >
> > > >> IMO application developers shouldn't have to suffer from the
> > > >>
> > > > complexity of XML...
> > > >
> > > >> How about supporting composites without namespace declarations at
> > all?
> > > >>
> > > >
> > > > I'm trying to understand all the proposals here, what would be the
> > > > side effects of going with your proposal ? This seems like simple,
> > and
> > > > simple is good...
> > > >
> > > >
> > > >
> > >
> > > Before getting into the side effects, here are three examples:
> > >
> > > [A] What we have right now, standard SCA extensions and tuscany
> > > extensions sharing the standard SCA namespace
> > >
> > > <composite xmlns=" http://www.osoa.org/xmlns/sca/1.0";
> > >     targetNamespace="http://bigbank";
> > >     xmlns:bb="http://bigbank";
> > >     name="BigBank">
> > >
> > >     <component name="AccountServiceComponent">
> > >         <service name="AccountService">
> > >             <binding.jsonrpc uri="/AccountJSONService"/>
> > >             <binding.ws
> > > wsdlElement="http://bigbank#wsdl.port(AccountService/AccountServiceSoap)
> > <http://bigbank#wsdl.port%28AccountService/AccountServiceSoap%29>
> > > "/>
> > >             <binding.sca/>
> > >         </service>
> > >
> > >         <implementation.java class="bigbank.account.AccountServiceImpl
> > "/>
> > >
> > >         <reference name="accountDataService"
> > > target="AccountDataServiceComponent"/>
> > >         <reference name="calculatorService">
> > >             <binding.rmi host="localhost" port="8099"
> > > serviceName="CalculatorRMIService"/>
> > >            </reference>
> > >         <reference name="stockQuoteService">
> > >             <binding.ws
> > > wsdlElement="
> > > http://stockquote#wsdl.port(StockQuoteService/StockQuoteSoapPort)<http://stockquote#wsdl.port%28StockQuoteService/StockQuoteSoapPort%29>
> > "/>
> > >         </reference>
> > >
> > >         <property name="currency">EURO</property>
> > >     </component>
> > >
> > >     <component name="AccountFeedComponent">
> > >            <service name="Collection">
> > >                <binding.rss uri="/rss"/>
> > >                < binding.atom uri="/atom"/>
> > >            </service>
> > >         <implementation.java class="
> > bigbank.account.feed.AccountFeedImpl
> > > "/>
> > >         <reference name="accountService"
> > > target="AccountServiceComponent"/>
> > >     </component>
> > >
> > >     <component name="AccountDataServiceComponent">
> > >         <implementation.composite name="bb:AccountData"/>
> > >     </component>
> > >
> > >     <component name="WebResourceComponent">
> > >            <service name="Resource">
> > >                <binding.resource uri="/"/>
> > >            </service>
> > >         <implementation.resource location="web"/>
> > >     </component>
> > >
> > > </composite>
> > >
> > >
> > > (B) What IMO is a more correct use of XML namespaces, standard SCA
> > > extensions in the standard SCA namespace, and Tuscany extensions in a
> > > Tuscany namespace
> > >
> > > <composite xmlns="http://www.osoa.org/xmlns/sca/1.0 "
> > >     xmlns:t="http://incubator.apache.org/xmlns/tuscany/1.0";
> > >     targetNamespace="http://bigbank "
> > >     xmlns:bb="http://bigbank";
> > >     name="BigBank">
> > >
> > >     <component name="AccountServiceComponent">
> > >         <service name="AccountService">
> > >             <t:binding.jsonrpc uri="/AccountJSONService"/>
> > >             <binding.ws
> > > wsdlElement="http://bigbank#wsdl.port(AccountService/AccountServiceSoap)<http://bigbank#wsdl.port%28AccountService/AccountServiceSoap%29>
> > > "/>
> > >             <binding.sca/>
> > >         </service>
> > >
> > >         <implementation.java class="bigbank.account.AccountServiceImpl"/>
> > >
> > >         <reference name="accountDataService"
> > > target="AccountDataServiceComponent"/>
> > >         <reference name="calculatorService">
> > >             <t: binding.rmi host="localhost" port="8099"
> > > serviceName="CalculatorRMIService"/>
> > >            </reference>
> > >         <reference name="stockQuoteService">
> > >             <binding.ws
> > > wsdlElement="
> > > http://stockquote#wsdl.port(StockQuoteService/StockQuoteSoapPort)
> > <http://stockquote#wsdl.port%28StockQuoteService/StockQuoteSoapPort%29>
> > "/>
> > >         </reference>
> > >
> > >         <property name="currency">EURO</property>
> > >     </component>
> > >
> > >     <component name="AccountFeedComponent">
> > >            <service name="Collection">
> > >                <t:binding.rss uri="/rss"/>
> > >                <t:binding.atom uri="/atom"/>
> > >            </service>
> > >         <implementation.java class="
> > bigbank.account.feed.AccountFeedImpl
> > > "/>
> > >         <reference name="accountService"
> > > target="AccountServiceComponent"/>
> > >     </component>
> > >
> > >     <component name="AccountDataServiceComponent">
> > >         <implementation.composite name="bb:AccountData"/>
> > >     </component>
> > >
> > >     <component name="WebResourceComponent">
> > >            <service name="Resource">
> > >                <t:binding.resource uri="/"/>
> > >            </service>
> > >         <implementation.resource location="web"/>
> > >     </component>
> > >
> > > </composite>
> > >
> > > [C] What an application developer could write if we allowed namespaces
> >
> > > to be omitted
> > >
> > > <composite
> > >     name="BigBank">
> > >
> > >     <component name="AccountServiceComponent">
> > >         <service name="AccountService">
> > >             <binding.jsonrpc uri="/AccountJSONService"/>
> > >             <binding.ws
> > > wsdlElement="http://bigbank#wsdl.port(AccountService/AccountServiceSoap)<http://bigbank#wsdl.port%28AccountService/AccountServiceSoap%29>
> > > "/>
> > >             <binding.sca/>
> > >         </service>
> > >
> > >         <implementation.java class="bigbank.account.AccountServiceImpl"/>
> > >
> > >         <reference name="accountDataService"
> > > target="AccountDataServiceComponent"/>
> > >         <reference name="calculatorService">
> > >             < binding.rmi host="localhost" port="8099"
> > > serviceName="CalculatorRMIService"/>
> > >            </reference>
> > >         <reference name="stockQuoteService">
> > >             <binding.ws
> > > wsdlElement="
> > > http://stockquote#wsdl.port(StockQuoteService/StockQuoteSoapPort)
> > <http://stockquote#wsdl.port%28StockQuoteService/StockQuoteSoapPort%29>
> > "/>
> > >         </reference>
> > >
> > >         <property name="currency">EURO</property>
> > >     </component>
> > >
> > >     <component name="AccountFeedComponent">
> > >            <service name="Collection">
> > >                <binding.rss uri="/rss"/>
> > >                <binding.atom uri="/atom"/>
> > >            </service>
> > >         <implementation.java class="
> > bigbank.account.feed.AccountFeedImpl
> > > "/>
> > >         <reference name="accountService"
> > > target="AccountServiceComponent"/>
> > >     </component>
> > >
> > >     <component name="AccountDataServiceComponent">
> > >         <implementation.composite name="AccountData"/>
> > >     </component>
> > >
> > >     <component name="WebResourceComponent">
> > >            <service name="Resource">
> > >                <binding.resource uri="/"/>
> > >            </service>
> > >         <implementation.resource location="web"/>
> > >     </component>
> > >
> > > </composite>
> > >
> > > Now here are a few "side effects" :)
> > >
> > > Option [A]
> > > - I cannot validate this composite against the standard SCA schemas
> > > (it'll show errors in my XSD aware XML editor) our Tuscany extensions
> > > violate the standard SCA namespace
> > > - I have one less namespace and prefix declaration to care about
> > >
> > > Option [B]
> > > - I can validate this composite against the standard SCA schemas, as
> > the
> > > Tuscany extensions match the xsd:any namespace="##other" extensibility
> > > points in the SCA schema
> > > - I have one more namespace and prefix declaration to write covering
> > the
> > > Tuscany extensions
> > >
> > > Option [C]
> > > - I don't need to worry about namespaces, which are usually long and
> > > error prone, writing the composite is simpler
> > > - I cannot validate this composite against the standard SCA schemas as
> > > it does not declare namespaces
> > >
> > > My preference is to do both:
> > > - [B], be correct with respect to our usage of XML schema, to make
> > > people who care about XML schema validation and use XML schema tools
> > happy
> > > - and [C] allow people who don't like namespaces to not have to write
> > them
> > >
> > > Why do I like [C] as well? Here are a few examples:
> > >
> > > <html>
> > >     <body>
> > >        Hello! I can write XML without namespaces, isn't that nice?
> > >     </body>
> > > </html>
> > >
> > > An axis2.xml configuration file
> > >
> > > http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/axis2/engine/config/axis2.xml
> >
> > >
> > > An MS WCF configuration
> > > http://msdn2.microsoft.com/en-us/library/ms735103.aspx
> > >
> > > A Tomcat server.xml file
> > > http://tomcat.apache.org/tomcat-6.0-doc/default-servlet.html
> > >
> > > All work without namespaces...
> >
> >
> > I'm still +1 on [a]. Couldn't we fix the problem with validation by just
> >
> > creating proper schema's for the Tuscany extensions as if they were
> > defined
> > in specs?
> >
> > -1 on only doing [b]. Everyone always moans about XML configuration,
> > most
> > other projects spend a lot of time finding ways to simplify their config
> > XML
> > and make things easier for users and here we are setting out to make
> > ours
> > significantly more complicated and ugly. Seems like shooting ourselves
> > in
> > the foot to me.
> >
> > I'm not sure about [c] yet, not being able to do scheme validation isn't
> >
> > great, would we change all the samples and tests to use the no namespace
> > way?
> >
> >    ...ant
> >
>
>

Reply via email to