"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Tuesday, March 14, 2006

First Class Nonsense

A problem with our industry (is it more than ours?) is the loose use of terms that truly have a formal definition. What is the meaning of this claim?

In contrast to standard distribution middleware such as CORBA or Java RMI, an SOA implements processes as first-class entities.
This is on page 58 of the March/April IEEE Software magazine (pdf). I wonder if the editors have any more sense of how wrong this is than the authors?

First of all, SOA has no formal definition. Secondly, in any common use of the term SOA, there is nothing resembling a process, let alone a first-class process.

Smalltalk has something close to first-class processes. Kali Scheme, yes, even distributed first-class processes. Termite Scheme, uh-huh.

SOA is so far from having anything resembling first-class processes that such a claim in an institutional publication is incredibly disheartening. In 2006 our programming languages *should* have first-class processes.


jeff said...

Do you think they were talking about BPEL (service oriented process invocation and state management)?

Patrick Logan said...

Yes, I'd guess that's the gist of it. But BPEL is just another way to write procedural code. A more powerful language that treats processes as first class objects could do things like Kali Scheme, e.g. anything you can do with any other object, you can do with a process -- create it without a assigning a name, store it in some other object, inspect it, send it to another node, etc.

Chui Tey said...

BPEL can hardly claim to handle functions as first class, so I can't see how it can claim to handle processes as first class.

BPEL is like a coroutine-like program whose state is reified when it is waiting for another long-running process to complete.

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.