You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Jean-Sebastien Delfino <js...@apache.org> on 2007/11/05 23:28:59 UTC

Re: [DISCUSS] Tuscany SCA Roadmap and next releases

Comments and more questions :) inline.

[snip]
wang feng wrote:
> hi Jean-Sebastien,
>
> Please see my comments below.
>
> Thanks,	 
> wangfeng
>
>
> On 2007-10-20, Jean-Sebastien Delfino <js...@apache.org> wrote:
>
>   
>> wang feng wrote:
>>     
>>> Hi all,
>>>
>>> We have used Tuscany 1.0 in our product and found some features is important to us.
>>>
>>>   
>>>       
>> Thanks a lot for contributing here and helping us understand what you'd
>> like to see in Tuscany!
>>
>> I have a few questions to make sure I understand what you're looking for.
>>
>>     
>>> - Support hot deployable on contribution and composite.
>>> This should be have a recursive algorithm to update the correlated component when it has been referenced.
>>>
>>>   
>>>       
>> Can you give a brief description of the type of hot deployment that
>> you're trying to support? It does not have to be very detailed but maybe
>> just an outline or an example showing what your contributions and
>> composites look like and the steps that you'd like to go through to
>> redeploy them.
>>
>> In particular I'd like to understand if you want to redeploy imported
>> contributions (imported by <import> in sca-contribution.xml), nested
>> composites, and what you'd like to be able to update in the
>> contributions and composites, classes? component configuration?
>> bindings? wiring? etc.
>>
>>     
> My use case like that(there are three contributions):
> contribution A export composite A,
> contribution B import composite A used by composite B and export composite B,
>   

Just to make sure I understand, did you mean:
<composite name="B">
<component name="X">
<implementation.composite name="A"/>
</component>
</composite>

in other words composite B contains a component implemented by composite A?

or did you mean that composite B contains components wired to components
in composite A?

> contribution C import composite B
> If we update composite A in contribution A,the sca runtime should be update the correlated contribution B and C and the component's relationship  should be rewiring.
>
>   

Assuming that you're talking about the "composite B contains a component
implemented by composite A" case, the only rewiring I can see is:

- when you replace composite A by composite A' (A' being a new version
of A), the components inside A' can be different, can be wired together
differently... as defined in A', but this won't have any impact to B

- if A' introduces breaking changes, for example a change to an
interface on a reference or service promoted out of A', then we'll have
to raise an error

- if A' removes a service that was wired to, or introduces a new
reference with multiplicity min. 1 (i.e. which needs to be wired), then
we'll have to raise an error as well

I can't see any other cases of "rewiring" in your scenario, but I may be
missing something.

Could you help me understand what kind of rewiring you were thinking about?

Thanks.

>>> - Support SDO namespace when using websservice.
>>> Deploy a service to webservice,a schema file used in SDO and have sdo namespace such as commonj.sdo/java or commonj.sdo/xml,we should support the feature when parsing the wsdl.
>>>   
>>>       
>> Could you provide an example WSDL and XSD?
>>
>>     
> My wsdl file like this:
> <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:sdoJava="commonj.sdo/java" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://com.primeton.eos/com/primeton/eos/newcomponent" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://com.primeton.eos/com/primeton/eos/newcomponent">
>     <wsdl:types>
>         <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://com.primeton.eos/com/primeton/eos/newcomponent">
>             <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
>             <complexType name="SdoJava_java_util_List" sdoJava:instanceClass="java.util.List"/>
>             <complexType name="ArrayOf_soapenc_string">
>                 <complexContent>
>                     <restriction base="soapenc:Array">
>                         <attribute ref="soapenc:arrayType" wsdl:arrayType="soapenc:string[]"/>
>                     </restriction>
>                 </complexContent>
>             </complexType>
>             <complexType name="SdoJava_java_lang_String" sdoJava:instanceClass="java.lang.String"/>
>             <complexType name="SdoJava_stockquote_StockQuoteService" sdoJava:instanceClass="stockquote.StockQuoteService"/>
>             <complexType name="ArrayOf_soapenc_stockquote_StockQuoteService">
>                 <complexContent>
>                     <restriction base="soapenc:Array">
>                         <attribute ref="soapenc:arrayType" wsdl:arrayType="tns:SdoJava_stockquote_StockQuoteService[]"/>
>                     </restriction>
>                 </complexContent>
>             </complexType>
>         </schema>
>     </wsdl:types>
>     <wsdl:message name="newcomponent.newbiz1OutputMessage">
>         <wsdl:part name="out1" type="xsd:string"></wsdl:part>
>         <wsdl:part name="out2" type="xsd:string"></wsdl:part>
>     </wsdl:message>
>     <wsdl:message name="newcomponent.newbiz1InputMessage">
>         <wsdl:part name="param1" type="tns:ArrayOf_soapenc_stockquote_StockQuoteService"></wsdl:part>
>         <wsdl:part name="param2" type="xsd:string"></wsdl:part>
>     </wsdl:message>
>     <wsdl:message name="newcomponent.newbiz.bizxOutputMessage">
>         <wsdl:part name="out1" type="tns:SdoJava_java_lang_String"></wsdl:part>
>     </wsdl:message>
>     <wsdl:message name="newcomponent.newbiz.bizxInputMessage">
>         <wsdl:part name="param1" type="tns:SdoJava_java_util_List"></wsdl:part>
>         <wsdl:part name="param2" type="tns:ArrayOf_soapenc_string"></wsdl:part>
>     </wsdl:message>
>     <wsdl:portType name="newcomponent">
>         <wsdl:operation name="newbiz">
>             <wsdl:input message="tns:newcomponent.newbiz.bizxInputMessage"></wsdl:input>
>             <wsdl:output message="tns:newcomponent.newbiz.bizxOutputMessage"></wsdl:output>
>         </wsdl:operation>
>         <wsdl:operation name="newbiz1">
>             <wsdl:input message="tns:newcomponent.newbiz1InputMessage"></wsdl:input>
>             <wsdl:output message="tns:newcomponent.newbiz1OutputMessage"></wsdl:output>
>         </wsdl:operation>
>     </wsdl:portType>
> </wsdl:definitions>
>
> When I use the wsdl file to describe a service's interface,the console show a warning as below.
> [WARNING] Component service interface incompatible with service interface: test/HelloInterfaceImpl null 
>
>   

OK I'll take a closer look at your WSDL.

[snip]

-- 
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org