[erlang-questions] UBF

Ulf Wiger (TN/EAB) ulf.wiger@REDACTED
Fri Jan 16 11:39:57 CET 2009

Steve Davis skrev:
> So I'm wondering...
> * Does anybody have experience of using UBF?

I used it in the "CyberAthletics" project, which
for various reasons never took off (the intended
sponsors didn't have any money/interest when I had the
time/motivation, and vice versa).

Working with UBF was very nice. We had a Java client
and an Erlang server, and described the protocol in
UBF. I tested the server using an Erlang test client,
and the UBF contract checker was very quick to point
out misuse of the protocol.

I also wrote a small contract-to-hrl generator, so
that I could specify the messages in UBF and refer
to the resulting records in the code. This allowed
me to write callbacks that simply matched on the
record pattern, since I could trust that UBF had
both parsed the data for me, and verified that the
types and context were ok.

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

No. Few experiences have been.  (:

- UBF wasn't actively maintained, so I had my own
   set of patches.
- UBF doesn't support much in terms of asynchronous
- While the decoder supports "semantic tags", the
   encoder provides no facility for using them.

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

There are of course benefits of XML, such as that there's
a wealth of tools and lots of expertise to draw from.
Whether the pain of using (esp) WSDL is worth these
benefits, probably depends on whom you ask.

Ulf W

More information about the erlang-questions mailing list