tamie message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: concurrent scriplet flows vs. XSLT translation
- From: "Jacques R. Durand" <JDurand@us.fujitsu.com>
- To: <tamie@lists.oasis-open.org>
- Date: Sun, 5 Apr 2009 20:06:49 -0700
Use Case #2 is much more interesting and valuable than
I thought at first.
It deals with several issues not addressed bu UC#1,
although both UC definitions seem very close.
An remarquable aspect of UC2 is that asynchronous
scriplet execution is the natural way to script it - makes the scripting much
easier than say using a conventional prog language:
- a main loop is iterating over all PO events filed
over a month period.
- inside the loop, for each PO, another scriplet (monitorPOtransaction) is started that will monitor
this particular PO transaction i.e. wait for related messages, error or
responses, check the timing, etc. This scriplet will therefore catch its own events, but should not block
the main loop which waits for the next PO. It must then be started with
@async="true".
This concurrent execution (one main scriplet + many
instances of monitorPOtransaction, all concurrent) may seem at first
quite a challenge for XSLT translatability.
However, under some restrictions that are still very
acceptable for many applications, translatability is easy to
achieve:
- when executing on logs of events that have
already occurred ("stale" execution, not live).
- when the scripts do not consume events that it posts
itself (i.e. a test script does not use events for synchronizing the concurrent
execution of its own scriplets, like in thread programming. But its OK to post
events as "output")
Under these conditions, the concurrency of UC#2 is
quite translatable in plain XSLT: all scriplet executions will in fact
be serialized. Concurrency is simulated as a game of setting the "time
cursor" at the right date/time when starting each new scriplet or when
continuing the spawning scriplet.
This is good news for an XSLT ref implementation of
eTSM.
-Jacques
Use Case #2 script
proposal posted in wiki
General comments on this
solution:
-Jacques
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]