Comments inline.

Scott Kurz wrote:
I was looking over the HWWS/HWWSclient sample pair, and had the following
observations/questions:

1) For helloworld-wsclient, the HelloWorldServiceComponent does not use the @Reference annotation. So, according to the Java Component Impl spec, Sec
1.2.7,
shouldn't we, during introspection, calculate the helloWorldService to
represent a Property, not a Reference?    Yet we promote it to a
Composite-level reference.
Does this make sense?

Here's from that spec:
370 2. If its type is complex, then if the type is an interface marked by @Remotable, then it is a reference;
371 otherwise, it is a property.

According to that text, the sample looks correct to me, as HelloWorldService is annotated with @Remotable.


2) What is the point of promoting it anyway? It seems the only point of
promoting it would be to allow this Composite to serve as the impl for
another component.
Since we don't do that in this simple sample, doesn't it just add
confusion?

It seems to be the SCDL should look something like this, ideally:

   <component name="HelloWorldServiceComponent">
     <implementation.java class="helloworld.HelloWorldServiceComponent"/>
     <reference name="helloWorldService">
       <binding.ws wsdlElement="
http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)"/>
     </reference>
   </component>


What you're proposing is correct, but I think that the best practice should be to promote services and references that use bindings and go out of an SCA domain, to allow their bindings and endpoints to be reconfigured at deployment time, by using a deployment composite for example.

3) The Composite reference uses the 'class' attr on <interface.java>
<interface.java class="helloworld.HelloWorldService" />

Isn't this supposed to be an attr named 'interface'?       This may als
show, to a degree, that the Composite-level reference is really useless if
it doesn't even matter that this is wrong.

Scott


It's not useless :) not specifying an interface on a composite reference is correct, if you don't specify the interface by default the interface of the promoted reference will be used.

We currently do not issue a warning if you have extra attributes like "class", there was a discussion on the list recently about doing XML schema validation when we load SCA assembly XML files, when this is in place you will probably get a warning.

Thanks for reporting this, I just checked in a fix under revision r536006.

--
Jean-Sebastien


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

Reply via email to