[erlang-questions] UBF

Scott Lystig Fritchie <>
Fri Jan 16 05:42:07 CET 2009


Steve Davis <> wrote:

sd> So I'm wondering...
sd> * Does anybody have experience of using UBF?

Yes.  We're starting to use it in commercial products (mumble name
mumble mumble).  I forget if it's in the wild right now, but products
definitely will be within 3 months.

sd> * Was this experience of using UBF 100% positive?

Yes.  It's quite helpful as a design document for human-to-human use.
Most software my (mumble) company creates is written in multiple
languages (C++, Java), runs in separate OS processes on multiple boxes.
UBF is as useful as other IDL'ish things for communicating with managers
and other developers what interfaces between them will be.

Hacking the UBF contract parser a bit, we now have QuickCheck
automatically generating test cases for us.  On several occasions,
QuickCheck has found protocol bugs *before* we've fully implemented
client- or server-side code ... running QC after implementing only a
single function has hit me with several "I didn't think it could break
like that!" moments.

We're on our way to using UBF for specifying a JSON-RPC-based protocol
to a third-party developer.  There is no really sweet mapping between
Erlang terms and JSON objects, so we've picked something that looks
merely sort-of ugly.  Using L-Shift's JSON library, we are plowing
ahead.

sd> * Can anyone think of any downside to using UBF over XML/WSDL (apart
sd> from the obvious cultural ones)?

<comic type="standup">
  Run away!
  <drum riff="rim shot and cymbal"/>
</comic>

-Scott



More information about the erlang-questions mailing list