Hi all;
 

I am bit confusing about current synapse architecture, I want to clarify following some problems

§         If you deploy Axis2 in an application server and if you type localhot:8080/axis2 , you will see axis2 admin  page ,

§         But when it comes to synapse , if some body deploy synapse he should be able to see Synapse admin page NOT axis2 page , to out side word axis2 should not be visible

§         If you deploy axis2.war  in an application server and if you drop synapse.mar (assuming synapse is axis2 module) , then you can not achieve above functionally because , module can not go and change the transport . meaning AxisServlet is the one who handle axis2 web interface , so some one has to change the servlet mapping ,

§         That leads to create a new servlet for synapse (say SynapseServlet) , without doing that you can not achieve those goal.

 

That is mean we need to have separate servlet for Synapse (there can be options) , so if we do that synapse no longer be a just an axis2 module.

 

So my suggestion is to have two main components for synapse,

1.      First part will be the synapse transport , which will hands over messages to AxisEngine when it gets message

2.      Second there should be a separate Synapse module which we do the rule processing and all   

 

This leads to a nice architecture f someone want synapse we will give him a Synapse.war , he can deploy that in an application server. In side that it uses Axis2 functionality, meaning inside Axis2repo/module directory will contain a module called synapse.mar too.  

 

According to this synapse will drive axis2 and synapse.mar will give required configuration to axis2

 

Synapse war file look like below

 

 

here web.xml is synapse web.xml not axis2 one , class folder may contain synapse class

 

 

 


Thanks,
 Deepal
................................................................
~Future is Open~

Reply via email to