On Mon, Jun 13, 2011 at 9:50 AM, Nirmal Fernando <nirmal070...@gmail.com> wrote:
> Hi Mike,
>
> On Mon, Jun 13, 2011 at 10:15 PM, Mike Edwards
> <mike.edwards.inglen...@gmail.com> wrote:
>>
>> On 13/06/2011 08:42, Nirmal Fernando wrote:
>>>
>>> Hi All,
>>>
>>> As you know, I'm in the process of creating composite diagram
>>> automatically for a given composite XML.
>>> I have a question, where I need your input.
>>>
>>> According to the spec there are many ways that one could specify a target
>>> service for a reference [1].
>>> I am wondering whether I've to consider all of those options?
>>>
>>> Thanks.
>>>
>>> PS: Herewith I've attached a sample image generated by the tool which is
>>> still not fully complete! I am
>>> using Apache Batiks to create SVG document, and I am implementing my own
>>> layout algorithm. If you
>>> have any comments please do fire them. Source code is available at [2].
>>>
>>> [1]
>>> http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-1.1-spec-cd03.html#_Toc225073583
>>> [2]
>>> https://svn.apache.org/repos/asf/tuscany/collaboration/GSoC-2011-Nirmal/
>>> --
>>> Best Regards,
>>> Nirmal
>>>
>> Nirmal,
>>
>> Can you help us a bit please?  Which forms of reference specification are
>> you dealing with at the moment?
>>
>> The basic ones are:
>>
>> o @target parameter
>> o @autowire
>> o promotion (and thus targeting at a higher level)
>> o <wire/> element(s)
>> o binding with a specified target URI
>
> Currently only @target attribute is supported. I wanted to know what other
> forms are exactly needed!
>
> In the spec there are 7.
>
> 1.    Through a value specified in the @target attribute of the reference
> element
>
> 2.    Through a target URI specified in the @uri attribute of a binding
> element which is a child of the reference element
>
> 3.    Through the setting of one or more values for binding-specific
> attributes and/or child elements of a binding element that is a child of the
> reference element
>
> 4.    Through the specification of  @autowire="true" for the reference (or
> through inheritance of that value  from the component or composite
> containing the reference)
>
> 5.    Through the specification of @wiredByImpl="true" for the reference
>
> 6.    Through the promotion of a component reference by a composite
> reference of the composite containing the component (the target service is
> then identified by the  configuration of the composite reference)
>
> 7.    Through the presence of a <wire/> element which has the reference
> specified in its @source attribute.
>>
>> - I leave out @wiredByImpl since there is no implementation type that does
>> this at the moment
>>
>>
>> Yours,  Mike.
>
>
>
> --
> Best Regards,
> Nirmal
>

I would list, in decreasing priority order:

- @target

- <wire>

- promotion

- autowire, which you could leave out for now, as (1) I've not seen it
used a lot and (2) if you didn't want to explicitly declare the wires
explicitly, but on the other hand you really want to see them in a
diagram... I could argue that you don't really know what you want :)

- binding URIs, I'd leave that one out as configuring binding endpoint
addresses is not really wiring.

Thoughts?
-- 
Jean-Sebastien

Reply via email to