this is very interesting thread!

i have a question on a related note: will Synapse support clustering and if yes then how that is going to work? that is of course not for M1 but for Mn ...

i think it is a fundamental concern for how rules are executed and where and how state of execution is maintained.

the way i see it Synapse should work on set of distributed persistent and transactional message queues (so no messages are "lost" when Synapse dies because machine on which it is running is restarted etc.) - that would work if course best with something like WS-RM/WS-R/WS-RX so message queues support reliable delivery.

then there should be some kind of state machine that executes any kind of (pluggable?) state transition logic (as rules, scripts, BPEL workflows, ...) but in transactional way as well: starting a (distributed?) transaction, taking message from incoming queue, doing state transitions, putting message(s) into outgoing queue(s), committing transaction - this clearly implies need for a tightly integrated transactional storage (RDBMs, XML DB, ...) - keeping state in memory and serializing it to disk may not be enough (i think Sandesha2 already has this problem with AXIS2 ...)

in a way then Synapse can scale from a simple firewall-like rule engine/dispatcher (one machine, very simple state machine) to clustered, transactional, scalable, high performance workflow engine and ultimately network of Synapse nodes (each node may be clustered or not - does not matter from WS point of view) and that may be this mystical Unicorn beast everybody is hunting, ahem, ESB? :-)

best,

alek

Paul Fremantle wrote:

Geoffrey

One view is that *EVERYTHING* is a subset of workflow.

In this case I think the real issues are - dynamism, flexibility and performance. I actually think what we are trying to do here is much more like aspects than workflow. The actual execution of aspects is like a workflow but the semantic model is different. Maybe we should stop using the word rule here. The synapse rules we have so far are much more like aspects because they are simply attaching a behaviour (mediation) to a set of messages (xpath selector). Its actually the same model as a firewall that effectively implements a security policy by selecting packets to act on.

Of course the behaviour - the mediator - can be a workflow and I hope we will write a BPELMediator as well as script mediators. But that is not the primary model that we are currently working to for the engine. The primary model of the engine is attaching behaviour to messages in a global manner.

Paul


On 10/21/05, *Mukund Balasubramanian* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Geoffrey:

    This is a pretty interesting catch. It is true that the
    architectural flexibility of a general purpose rule engine could
    end up being overkill. And interestingly I don't think it is
    NECESSARY at the core of the Synapse engine. It (rule evaluation
    and execution) is an essential component of some aspects of
    mediation - routing as an example - but I believe it should be
    externalized.

    One way to make the decision is to agree upon use cases,
    expression language for policy requirements and then translate
    this into rule bases, late decision execution model as well as an
    earlier decision making model that I would personally advocate
    especially given performance considerations.

    Mukund Balasubramanian




    -----Original Message-----
    From: Geoffrey Fox <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>
    To: [email protected] <mailto:[email protected]>
    <[email protected] <mailto:[email protected]>>
    Sent: Fri Oct 21 07:27:04 2005
    Subject: Re: Is Synapse workflow?


    Firewall penetration can certainly be scripted and at its most
    sophisticated
    involves a complex script. It doesn't orchestrate services as just
    varying port and protocol and negotiating with proxy servers, so I
    would call
    it a "script".rather than "workflow".
    However as I mentioned extended scripting languages with "services"
    "ports" "streams" as primitives support workflow just fine.
    "pipes" in UNIX are a good simple example of scripted workflow.

    I think Synapse is meant to support rather general
    filtering/mediation and
    in this generality, I am noting you compete with the plethora
    of workflow systems.


    Davanum Srinivas wrote:


    Do you consider firewall (ipfw?) rules as workflow?

    (
    
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-ipfw.html)



    -- dims



    On 10/20/05, Geoffrey Fox  <mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:



    I don't understand how Synapse is different from workflow

    I understand that it has a rule-based mediation model but

    isn't that just one of many choices for the programming model

    (I think it is fair to consider workflow as programming services)



    Maybe the Synapse model is a winner but it has a lot of competition

    from many fronts (not all these are at same levels as we have for
    workflow:

    runtime engines, execution models, languages and user programming
    models)



    BPEL and other XML business process/transaction models

    Endless scripting models from Python to Shell script based approaches

    Graphical models as famous from myGrid pictures

    Dataflow like Triana and Kepler

    LINDA and all the old distributed programming from the past



    See recent collections/reviews at:

    http://www.extreme.indiana.edu/groc/ggf10-ww/

    http://www.cc-pe.net/iuhome/workflow2004index.html

    http://grids.ucs.indiana.edu/ptliupages/publications/Workflow-overview.pdf
    <http://grids.ucs.indiana.edu/ptliupages/publications/Workflow-overview.pdf>

    http://www.gridbus.org/reports/GridWorkflowTaxonomy.pdf

    If you study all these papers, you will note they all report success!



    So I wonder what are new key features/requirements that Synapse
    will have

    to differentiate it from the pack?

    PS I would make same comment on almost any workflow Apache project or

    in fact any research project in field.



    --

    :

    : Geoffrey Fox [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> FAX
    8128567972 http://www.infomall.org

    : Phones Cell 812-219-4643 Home 8123239196 Lab 8128567977









    --

    Davanum Srinivas : http://wso2.com/blogs/



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

    To unsubscribe, e-mail: [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>

    For additional commands, e-mail: [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>










    --

    :

    : Geoffrey Fox  [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> FAX
    8128567972 http://www.infomall.org

    : Phones Cell 812-219-4643  Home 8123239196 Lab 8128567977


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




--
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