On Fri, Apr 30, 2010 at 10:00 PM, indika kumara <[email protected]>wrote:

> Hi All
>
> I am just putting my thought … An endpoint is to capture the information
> about an external service including its access location, QoS requirements,
> etc.  In synapse point of view, we can only identify two types to give
> external service information… i.e Address and WSDL.
>
> In Address endpoint, the only way to give the location of the external
> service is URI. There are two ways – implicit and explicit.  In the case of
> the implicit, we never want to give URI because the endpoint itself knows
> how to find it. We used “Default endpoint” to capture this behavior of the
> address endpoint. From my point of view, the use of ‘Default’ is wrong
> because, there is only two ways to capture external service information
> (using either an epr address or WSDL). I believe, as ‘Default’ is the case
> where the URI of an address endpoint should be calculated from the implicit
> properties, the URI should be optional, and the keyword of address, and WSDL
> are the only meaning full domain specific names for indicating that this is
> a component that represents a connector to an external service.  This type
> of address endpoint can leverage components such as URI rewrite mediator.
>
> In the case of the explicit, we have to specify the URI of the address
> endpoint through a configuration. URI can be static and dynamic.  In the
> static case, there is no only one way i.e giving the complete URI in the
> configuration. However, in the dynamic case, there are a few ways.  To
> analyze this, we can divide endpoint URI into two parts – prefix and suffix.
> So therefore, available options for a dynamic endpoint URI as follows
>
> Case 1 : prefix - dynamic and suffix  - dynamic
>
> Case 2 : prefix – dynamic and suffix – static
>
> Case 3 : prefix – static and suffix – dynamic  - I believe  the Miyuru’s
> suggestion belong to this category
>
> So my suggestion , we should give a compressive way to  specify the URI of
> an address endpoint  and I also believe there is no need for a default
> endpoint …  so my suggestion to capture all these requirements
>
> <address>
>
>     <uri [ value="" expression="" ]> { case 1  or static URI}
>
>         <prefix [ value="" | expression="" ] />  { case 2 / 3 }
>
>         <suffix [ value="" | expression="" ] /> { case 2  / 3}
>
>     </uri>
>
> </address>
>
> URI is optional - case is the implicit URI of an address endpoint
>
> Either the URI attributes: value or expression or both prefix or suffix
> elements should be present.  I do not know whether a schema can be written
> for this.
>
> This is just my thought and I am not against anyone suggestions …
>
>
+ 1 for the idea. I was thinking in the same lines. If we make the suffix
dynamic we can deprecate the DefaultEndpoint.

I'm not that comfortable with the configuration. But configuration is
something we can always improve and get to a common ground. But I like the
idea.

Thanks,
SUpun..



> Thanks
>
> Indika
>
>


-- 
Software Engineer, WSO2 Inc
http://wso2.org
supunk.blogspot.com

Reply via email to