ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matth...@offthelip.org>
Subject Re: BPEL Simple
Date Fri, 21 Sep 2007 17:17:10 GMT
On 9/20/07, Paul Brown <paulrbrown@gmail.com> wrote:
>
> On 9/20/07, Noel J. Bergman <noel@devtech.com> wrote:
> > What if Ode had a simple language that mapped directly to BPEL for flow
> > control (those BPEL operations you listed), but invoked a scripting
> > language, e.g., via  BSF, for message manipulation?
>
> That is essentially what BPEL has now with extensibility for query and
> expression languages.  (http://tinyurl.com/yrws9t)  We just need the
> better syntax to wrap things in...


Yep, although queries and expression languages  don't allow you to modify
the process state, you can only do that through assignment. A scripted
version of assignment could also be interesting. For example:

   assignment {
     names = customers.elements("name").map { |name|
"#{name.attribute("firstname")}
#{name.attribute("lastname")}" }
     xml = Builder::XmlMarkup.new()
     xml.people do
         names.each { |name| xml.name = name }
     end
     message = xml.to_s
   }

The only variables going in and out would be the ones associated with the
scope you run that in.

> I am assuming that you have already considered allowing Java to be used
> for
> > the purpose, too.
> >
> >   process HelloWorld  {
> >      client.receive => request
> >      var replyVar = java:MyClass.StaticMethod(request)
> >      client.reply <= replyVar
> >   }
>
> This isn't a bad idea, but it brings up a lot of potential questions --
>
> 1) Do we allow people to manipulate threads, transactions, sockets,
> etc. in that method?  What about blocking or timing issues?  (As is,
> ODE can context switch during an external invocation, even a
> synchronous one, and I suppose that we could do the same thing if we
> modeled apparent Java inlining as an invoke of sorts...)
> 2) To what extent is the class tied/versioned with the process?
>
> You can Google BPELJ if you're curious about one take on integrating
> Java into BPEL.
>
> -- Paul
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message