ietf-openproxy
[Top] [All Lists]

[Fwd: Re: CPL and XML]

2003-09-10 13:32:46
As I mentioned before, the IPTEL WG has specified CPL as a processing
language for IP telephony and I believe that IPTEL had similar
requirements for CPL as we have for the OPES rule language. So I asked
Jonathan Lennox (who co-authored CPL) if he remembered the reasons why
the IPTEL WG decided to base CPL on XML and he kindly provided the following response.

-Andre


--- Begin Message ---
On Tuesday, September 9 2003, "Andre Beck" wrote to 
"lennox(_at_)cs(_dot_)columbia(_dot_)edu" saying:

Hi Jonathan,

The OPES wg is currently debating whether or not to base the OPES rule 
specification language on XML. The purpose of the rule language is to 
let OPES users specify rules that determine which (HTTP) messages 
require additional processing by one or more OPES services. It seems to 
me that CPL solves a similar problem for IP tel. So I was wondering if 
we can learn from your experience with CPL. Do you remember why you 
decided to base CPL on XML? Did you ever consider using other formats 
for CPL, e.g. a simple programming/configuration language?

I did consider using other languages for CPL -- the two main thoughts were
"something kind of like Tcl" and "something based on sieve".

There were a number of reasons for basing CPL on XML, though.  First of all,
XML's tree structure maps naturally onto the decision-tree model of
telephony services: try this, and if it doesn't work, try that.  While
"programming" languages generally support this, "configuration" languages
usually don't -- they tend to be more in the attribute/value model.  I'm not
sure how significant this is for OPES; I've not followed it very much.

XML has a number of nice features because it's so widely supported.  A
student here at Columbia has done a project to display CPL scripts in an
easy-to-read graphical format, using XSL-T; the same project would have been
rather more complicated, requiring writing new parsers and the like, if a
custom grammar had been used.

Possibly the most significant reason for using XML, though, is that it
avoids the "Bikeshed problem"
(http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/misc.html#BIKESHED-PAINTING).
Working groups can get terribly tied up in grammar and syntax; everyone has
their own opinion on their favorite format for comments, for example.  Using
an established, flexible language forces the group to concentrate on the
actual hard problems -- *what* information should be encoded by the format,
and what it should mean, rather than *how* it's encoded.

XML also lets you use existing (debugged) parsers, rather than writing your
own, which is very useful.

I hope this is helpful for you!

-- 
Jonathan Lennox
lennox(_at_)cs(_dot_)columbia(_dot_)edu


--- End Message ---
<Prev in Thread] Current Thread [Next in Thread>