"Business Process Execution Language" (BPEL) is a very young
programming language with very big ambitions. A BPEL program can
define a long-running process, that can invoke many web services,
where the services may be provided by many different organizations,
running on different technology stacks, etc. The process may include
asynchronous and parallel steps. To help it achieve independence from
particular vendors or platforms, BPEL's syntax is XML.
BPEL is cool, but what tool can be used to edit it? Let's consider a
few alternatives.
(1) Editing XML with a text editor is kind of painful.
(2) We dream of being able to diagram a business process with a free
and
friendly diagramming tool, and being able to roundtrip between the
diagrammatic view and the BPEL format. That dream is a long way from
becoming real.
(3) S-expressions (to the surprise of inventor McCarthy) have proven
quite comfortable for many people to write, especially if they equip
themselves with language-aware text editors. SXML and SSAX have shown
that it is a short hop from XML syntax to S-expressions, and that
Scheme's power can then be elegantly applied. Why not use Scheme to
develop a language that uses S-expression syntax, and that can be
roundtripped with BPEL?
What do you think?