Vikas wrote:

Are you thinking of something like the stuff in this picture?
1) The client sends a request to Synapse. 2) The relevant transport listener picks it up and passes it to the Synapse engine.

hi,

if async messaging is enabled: should not message be stored into a queue and a separate thread (or even process) should do actual processing of rules?

3) The engine calls the rule-processor which sends out a list of matching rules or none. 4) The 'Call mediation' part calls the relevant mediations in an orchestrated manner.
5) The control then gets back to the engine.
[Steps 4 and 5 can happen more than once]
6) The engine then calls the actual service.
7) The engine can discard the message at any point due to varied reasons.

the problem is if the Synapse or engine dies anywhere in steps 3-6 then the message is lost or mediation incomplete but client will never know it ...

alek

Let me add a few more points.. * Calling mediations on axis2(and its revisions) would only need changing the part that calls the mediation(these would be similar to client codes calling a service) * Synapse would be a step above axis2 and might as well go on and support its later versions. * An externalized rule-processing part.. would allow core synapse-engine to just call it like any other service/mediation. Comments?? Thanks!
Vikas.

    ----- Original Message -----
    *From:* Deepal Jayasinghe <mailto:[EMAIL PROTECTED]>
    *To:* [email protected] <mailto:[email protected]>
    *Sent:* Saturday, October 22, 2005 1:22 PM
    *Subject:* Axis2 and Synapse

    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~


------------------------------------------------------------------------




--
The best way to predict the future is to invent it - Alan Kay


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

Reply via email to