|
Hi Paul;
Its a nice picture and well understandable
!!
And this is moreless (almost ) the same as my
second suggestion , but I have some problems that I need to clarify
too
1. In this approach how can we deploy
mediators (since mediators are not Axis@ service)
2. We need a way to deploy them , in this
approach you assumed that Synapse is going to be an Axis2
module
In my view is there should be a component that will
provide a way to deploy mediators say (SyanpseDeployer) , I mean we have to
think about the extensibility too.
As far as rule engine is concern the one you have
in mind is perfect , and that should be the right way axis2 is
concern
1. Axis2 gets a request
2. call its engine.receive(MC)
3. At the end of the chain , Syanpase MR
will be invoked
4. After that its upto SyanpseMR to continue
his job , as ur picture describe the looping can be done there
I am +1 on ur approach , its better if we can see
full architectural picture of Synapse
Thanks, Deepal ................................................................ ~Future
is Open~
----- Original Message -----
Sent: Wednesday, October 19, 2005 2:24
PM
Subject: Re: Rule Engine /
Dispatcher
Deepal
The picture I have in mind is this.
In
this scenario, a message comes in via HTTP, matches two rules, and then is
sent on via HTTP.
In each case the rule mediators do not "consume" the
message but simply act on it and return true.
There is the overall
AxisEngine in which the message is first received. The SynapseRuleEngine is
actually a MessageReceiver in that engine. Then Synapse news up AxisEngines in
which to handle the QoS specified by each rule. The mediators are called by a
MessageReceiver running in the second AxisEngine. The Java return of those
returns control to the SynapseRuleEngine which continues matching rules. Then,
since no more rules match and the return value is true, the default behaviour
of the SynapseRuleEngine is to forward the message to the <wsa:To>
address in the MessageContext.
I hope the picture explains
this!
Paul
![]()
On 10/18/05, Deepal
Jayasinghe <[EMAIL PROTECTED]> wrote:
Hi Paul and all;
I am sorry I was out from the list for a while
, any way this is what I have in my mind regarding Synapse +
Axis2
As shown in the Figure the driver is
SynapseEngine , which will call AxisEngine.receive(new MC) , the looping
will taken place depending on the rule status. As far as Java is concern you
will some have get the java return and at that point you can decide to
continue or not depending on the status properties. In this picture Synapse
is not just a axis2 module.
In the following picture MessageReceiver will
do the looping , at the MR it can decide depending on the status whether to
continue or not , and the second approach Synapse can be deployed as an
Axis2 extension module.
All the decision making logic has burn into MR
in this case ,
you guys have implemented that in this way some
other way I just need to clarify
Thanks, Deepal ................................................................ ~Future
is Open~
-----
Original Message -----
Sent:
Tuesday, October 18, 2005 7:20 PM
Subject:
Rule Engine / Dispatcher
Saminda / folks
I've been looking at the code you've
posted. I also talked it over with Ant Elder. It seems one difference
between my prototype code and yrs is that in mine the rule engine retains
control. I think that it is possibly a more robust model. For example,
if each rule requires a new inflow then there has to be a way for the
dispatcher to maintain state.
One option that occurred to us was
for Synapse to launch a new AxisEngine and then retain control.
Paul
--------------------------------------------------------------------- To
unsubscribe, e-mail: [EMAIL PROTECTED] For additional
commands, e-mail: [EMAIL PROTECTED]
|