Clients and server communicate with each other using XML-RPC, a
remote procedure invocation protocol transported over HTTP and
encoded using XML.
The use of the functional language Erlang
was a key factor in the
development of the application business logic. It contributed to
shorten the development cycle, to make the deployment in a low-cost
cluster, to make the system scalable. It also contributed to configure
the system in a supervision tree, which combined with the storage of
the internal system state in a distributed database, resulted in a
system with the desired high disponibility and fault tolerance features.