Hi, On 06/11/2007, Assaf Arkin <[EMAIL PROTECTED]> wrote: > On 11/6/07, Dan Kearns <[EMAIL PROTECTED]> wrote: > > Maybe I unintentionally implied the whole system would be javascript? I > > meant just the specification of the process the author would supply. > > > > It is possible to write a jacob-like cpu-slicer purely in javascript, and > > maybe even do out-of-memory persistence in a gears/air type of runtime, but > > I would assume we want to start on the server-side and use the java Ode > > implementation. The obvious parallel is how existing javascript programmers > > use XmlHttpRequest, where they are already trained on passing callbacks and > > writing event handlers. Check out Prototype's Ajax.Request for an example > > - the way it is written, serializing the whole context for retries or > > whatever else is pretty easy. > > > > For the AAM proposal, we have no intent of bringing process engines to > JavaScript, but bringing a simpler syntaxt to the process engine, and we > just think JavaScript is a good starting point for that. I'd like to second that, this also applies for the IAAS approach: a simplified syntax and readability are the most important motivators. The result should be a DSL for describing service orchestrations (with or without Web-*). When using plain javascript, you're again bound on a specific syntax which has not been built for modeling business processes. In addition, hacking JavaScript and modeling business processes (BPs) is inherently different. BPEL is a parallel programming language with support for long-running transactions, correlation, defined timing contraints, all that is stuff that is not in javascript, or at least stuff that Javascript has not been designed for. I think using JavaScript's easy-to-read syntax as a starting point or an inspiration for a new (but BPEL-oriented) DSL is a very good idea. However, the closer our DSL is to JavaScript the more we seduce JavaScript hackers to think they could write business processes in JS without knowing the concepts of (W)S-orchestration. That's why I think DSL and JavaScript should be similar in terms of readability and self-explanatory but should not be the same because BPs are somehow different.
Dan, of course you may use JavaScript or Java or whatever to express BPs, but then BP's root-concepts like scopes and concurrency must be based on native language concepts like threads and transaction managers and are neither easy to read nor first-class citizens anymore - which is at least for me the key of such a DSL. Cheers, Tammo -- Tammo van Lessen - [EMAIL PROTECTED] - http://www.taval.de