If you wanted pub-sub capabilities such as queuing without going to full ESB
infrastructure, you might build Synapse on top of WSE/WSN
(Eventing and Notification)
Each of these supports XPATH subscriptions (the naive implementation is for
filters to subscribe with their supported selections)
Both WSE and WSN support  custom filters which can be used for more sophisticated
filters

On performance we would expect it to around 1-4 ms per pass depending on implementation
The selection timings we got are for simple WSE selections with xpath, topic-based or regular _expression_
based filters

Results Listed below are all in microseconds.
                                                    Mean    Standard Deviation Standard Error
PerformXPATH-Matching 194.847         27.364                     2.852
PerformTopic-Matching     110.958         12.252                     1.244 3
PerformRegEx-Matching     436.323         431.987                 43.416


Aleksander Slominski wrote:
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~


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





-- 
:
: Geoffrey Fox  [EMAIL PROTECTED] FAX 8128567972 http://www.infomall.org
: Phones Cell 812-219-4643  Home 8123239196 Lab 8128567977


Reply via email to