[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fwd: Re: CPL and XML]



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@xxxxxxxxxxxxxxx" 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@xxxxxxxxxxxxxxx


--- End Message ---