Simon Nash wrote:

Jean-Sebastien Delfino wrote:

Simon Nash wrote:

Sorry that I missed this the first time round.  See inline.

  Simon

Jean-Sebastien Delfino wrote:

[snip]

The important part in what I was proposing was: "and will save the application developer to have to understand it." ... I don't want the application developer to have to understand a Tuscany specific naming convention like $callback.Abc for endpoint URIs used by callbacks.

Where is this exposed to the application developer?  The developer
does not wire callbacks or specify an explicit URI for them. The creation and usage of the special name should be entirely confined to the runtime.


This is the URI where the service is available, where as an application developer, I'm going to point my TCP/IP monitor, my Web Browser, or my Web Services explorer to test the service... so I better know where it is. We've seen recurring questions and discussions on this list where it was not clear to people which URI was actually used to expose a service (as it was not explicit in the SCA assembly XML), same here for callbacks, those "special names" will come back hunt app developers every day.

Thanks, this helps me to understand the scenarios.  I was thinking in
terms of service and reference names, which would not be exposed (like
the current "$self$"." and "$promoted$." names that the runtime uses).
The issue is when the service or reference name is used to form the
externally visible URI for the callback endpoint.

If we want to do something in the spec group to address this, I think
the best thing to do would be to add a rule to the spec for how a URI
should be constructed for the endpoint that represents a callback
reference.  This needs to be done in a way that won't collide with
URIs for SCDL services on the same component.

One way to ensure that the endpoint names don't collide is to say
(as you have proposed):
1. The name of the callback endpoint is derived from the SCDL reference
   name using the same algorithm that is currently used for services.
2. Reference and service names must never be the same.

Another way to ensure that the endpoint names don't collide is to say:
1. The name of the callback endpoint is derived from the SCDL reference
   name using a different algorithm than the one that is currently used
   for services.  For example, it could be something like
     <componentname>/<referencename>-callback
   My preference would be for something like this because it makes it
   very easy to see which URIs are for callbacks and which are for
   "real" services.

  Simon


Will that work?

<component name="foo">
 <service name="bar"/> <-- this one has a callback
 <reference name="bar-callback">
</component>

If I understood what you proposed correctly, the service's callback and the reference will end up with the same URI.

I really don't know what kind of convention we could use here. Can anyone think of an automatic naming convention that won't break and will still be obvious to the app developer?

--
Jean-Sebastien


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

Reply via email to