my thoughts is inline

On Tue, May 4, 2010 at 6:23 PM, Hiranya Jayathilaka <hiranya...@gmail.com>wrote:

> Sending as a separate mail since my responses to the previous thread are
> getting bounced off :(
>
> Hi Indika,
>
> On Mon, May 3, 2010 at 8:10 PM, indika kumara <indika.k...@gmail.com>
>  wrote:
>
>> As the synapse configuration is the API for end-users to program their
>> solutions using synapse, the usability for the end user is important.
>>
>> Why does a user like  in-lined configurations?
>>
>
> I feel that sequences/proxies with in-line endpoints are more readable and
> easier to understand. If the endpoint was defined separately then we have to
> scroll around quite a bit to get to the endpoint definition from the
> sequence/proxy definition. For an example:
>
> <sequence name="foo">
>     <log level="full"/>
>     <send>
>         <endpoint>
>              <address uri="http://some.address"/>
>         </endpoint>
>     </send>
> </sequence>
>
> <sequence name="bar">
>     <log level="full"/>
>     <send>
>         <endpoint key="my.endpoint"/>
>     </send>
> </sequence>
>
> As you can see sequence 'foo' is self contained and easier to understand
> from one glimpse compared to 'bar'. Sequence 'bar' configuration does not
> really tell us anything since the endpoint itself may have quite a bit of
> logic in it. It could be a load balance endpoint, a secure endpoint and so
> on.
>

 So, with in-lined configurations, the readability of the configuration is
enhanced.  What about reusability and modifiability.  If you look at
endpoints samples we ship, a lot of content are redundant. It gets worse
when adding mark for suspension, error codes etc.  Indeed sometime, other
than the URI, all other content is redundant. Maintaining such a redundant
content is headache. If there is way to reuse correctly endpoint
configurations, I do not think he will go for in-lined configurations.


>  Is it really difficult to give a meaningful yet unique name?
>>
>
> If you have dozens of sequences and proxies, yes. And most of the time the
> user does not really gain anything from specifying names for all endpoints
> either.
>

I am not a real user … So I cannot tell that the number of endpoint,
sequences, etc … But I believe, it should be less than 1000 for a one
server.  Even more than 1000, User can easily give unique yet meaningful
names as for following reasons

1)       User can easily use grouping techniques – e.g. endpoints for
services in server1 , services from X service provider , etc

2)       Modeling an integration solution (may be any solution) is typically
an incremental operation. You never write a complete synapse configuration
at one day.  It will be evolved for a long time by adding, modifying,
removing content.  Typically, to add an implementation for a part of
integration solution will take time due to testing, monitoring, etc. Mostly,
at this point, all endpoints will have unique yet meaningful names because
he has tested, monitored each endpoint.


>
> Or ..because there is no reuse for an endpoint configuration as currently
>> the endpoints are stateful and most endpoint configurations are static.
>> ?
>>
>
> That could be one reason too.
>
> Thanks,
> Hiranya
>

Reply via email to