Getting Erlang to talk to the outside world

  • Authors:
  • Joe Armstrong

  • Affiliations:
  • Swedish Institute of Computer Science, Kista, Sweden

  • Venue:
  • Proceedings of the 2002 ACM SIGPLAN workshop on Erlang
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

How should Erlang talk to the outside world? --- this question becomes interesting if we want to build distributed applications where Erlang is one of a number of communicating components.We assume these components interact by exchanging messages --- at this level of abstraction, details of programming language, operating system and host architecture are irrelevant. What is important is the ease with which we can construct such systems, and the precision with which we can isolate faulty components in such a system. Also of importance is the efficiency (both in terms of CPU and bandwidth requirements) with which we can send and receive messages in the system.One widely adopted solution to this problem involves the XML family of standards (XML, XML-schemas, SOAP and WSDL) --- we argue that this is inefficient and overly complex and propose basing our system on a simpler binary scheme called UBF (Universal Binary Format). The UBF scheme has the expressive power of the XML set of standards --- but is considerably simpler.UBF has been prototyped in Erlang --- the entire scheme (equivalent in semantic power to the XML series of standards) was implemented in a mere 1100 lines of Erlang. UBF encoding of terms is also shown to be more space efficient than the existing "Erlang term format". For example, UBF encoded parse trees of Erlang programs are on average about 60% of the size of the equivalent ETS format encoding which is used in the open source Erlang distribution.