You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org> on 2009/09/23 07:03:16 UTC

[jira] Commented: (SYNAPSE-532) Dependency Management in Synapse

    [ https://issues.apache.org/jira/browse/SYNAPSE-532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12758583#action_12758583 ] 

Hiranya Jayathilaka commented on SYNAPSE-532:
---------------------------------------------

I had a look at the proposal and have some comments. First of all I need to mention that Saliya has done a pretty good research job and design work when creating this proposal. It is indeed well thought and well designed and from the looks of it he hasn't missed anything. However I'm afraid that implementing this proposal would mean a number of small changes have to be introduced to a large number of source files in our code base. Also as I understand Synapse cannot directly benefit from a dependency management system since Synapse doesn't allow its configuration to be  changed at runtime. So IMO this feature needs to be implemented outside of Synapse using the extension points Synapse provides. FYI few weeks back I did something similar with WSO2 ESB using the recently added Synapse configuration observer API. In that case I used the API to monitor the Synapse configuration and construct a model which captures dependencies among various configuration elements. Then that model was used to restrict how users can add/remove items in the Synapse configuration.

So it is my opinion that this feature should be implemented outside of Synapse. I would like to get the feedback of other as well on this. Folks, WDYT?

> Dependency Management in Synapse
> --------------------------------
>
>                 Key: SYNAPSE-532
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-532
>             Project: Synapse
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Saliya Ekanayake
>            Assignee: Hiranya Jayathilaka
>         Attachments: diag1.jpeg, diag2.jpeg
>
>
> At present Synapse may fail due to dangling references. As an example consider a proxy service which refers to a sequence. If the sequence definition is not there it will be a dangling reference and Synapse will fail to mediate properly.
> The following items are the possible items on which others may depend.
> 1. sequences
> 2. endpoints
> 3. local entries
> 4. resources in the registry (remote)
> A way to overcome the issue is to resolve dependencies at start up. This, however, has an issue since we cannot distinguish between references for local entries and for registry. If we force the user to have all the referring items either in local entries or in registry prior to start Synapse, then we can clearly identify missing resources. Anyway if the user removes a used resource from registry then again Synapse will not be able to handle it. Therefore, IMHO it will be good to omit the dependency management on registry resources and focus only on whatever the information available in synapse.xml. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org