+1 for option [B] alone. Given the fact that we are going to rely more on tooling to define composites this shouldn't be a problem.
- Venkat 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) > "/> > <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)"/> > </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) > "/> > <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)"/> > </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) > "/> > <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)"/> > </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... > > -- > Jean-Sebastien > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >