|
Hi Paul;
I am sorry in the first place I sow ur design in
different angle , but now I feel that according to your picture Synapse is just
a service ,
In axis2 you can deploy service with its own
MessageReciver , so at the end of the flow correct MR will be
invoked.
In your picture you have MR called Synapse Rule
Engine , and that will called multiple AxisEngine depending on rules. So far as
Axis2 is concern you can deploy Synapse as an axis2 service. I mean the big
picture gives me that impression. But I know that you can achieve the same goal
by having synapse as a module.
In the same time you have to have multiple MRs , as
shown in the figure there are two level of dispatching first for the original
message and second for the internal message invoked by Synapse Rule Engine. In
that case what I feel is for each mediator have to have a separate MR or
Mediator will become a MR.
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]
|