I recently stumbled upon this 2002 conference paper (Getting Erlang to talk to the outside world by Joe Armstrong) and I was wondering whether this is a standard that was ignored or if there was any adoption?
Should I focus on Apache Thrift for inter-platform communication? (whatever solution I choose will involve at least Erlang)
You might find the following information helpful about UBF (i.e. UBF User's Guide).
http://ubf.github.com/ubf/ubf-user-guide.en.html
This might help answer some of your questions about UBF. There is also an Erlang server and client implementation of Thrift using the UBF framework (https://github.com/ubf/ubf-thrift).
Joe N.
p.s. We have been using UBF, EBF, and JSF in a production environment for approximately ~5 years. The UBF contract checker is very helpful for developing, debugging, and deploying a system.
UBF never really caught on. Here's what Armstrong had to say in 2008. As you look into Thrift you might also look into Protocol Buffers. You can find an Erlang implementation here.
Hope this helps.
I don't know if anyone's using Erlang's binary serialization format per se, outside of Erlang programs; but BERT (Binary ERlang Term) is an Erlang-compatible binary data interchange format and RPC protocol specified and open-sourced by the GitHub guys. It's based on and fully binary-compatible with the Erlang external term format.
As you can see on the BERT website, there are implementations in a number of programming languages, including C++, JavaScript, Ruby, Python, Scala, Haskell, Go, Factor, Scheme, Clojure, and Common Lisp. The mailing list currently has 85+ members subscribed to it, so quite a few people are indeed using BERT, and hence indirectly the Erlang binary format.
In my own use, mostly in Ruby and Common Lisp applications, BERT has proved useful as essentially a binary form of S-expressions.
I think the Hibari guys are using it.
https://github.com/ubf/ubf/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With