Saturday, September 1, 2007

Erlang: Open Telecom Platform (Part 3)

Is Erlang really a new language? Do we have to write our old libraries and applications again from scratch? Actually Erlang is an old language may be older than Java and dot NET. It was developed in the late 80's. I will talk today about one the strengths of Erlang which is the Open Telecom Platform (OTP). The OTP is a development platform for building telecommunications applications based on Erlang. It was released as open source in 1998.

The OTP is a development system platform for building, and a control system platform for running, telecommunications applications. It is not a monolithic platform, but is made up of sets of tools and building blocks. Most of it is written in Erlang, there are some components that are written in C++. The OTP architecture consists of three layers as shown in the figure.


The Bottom layer: The system hardware in this layer. This is merely an architectural view; in real systems, the bottom layer contains many computers which may be of different types.

The Middle layer: Support for telecommunications requirements is provided by a robust real-time components. Its main modules are:
  • Erlang run-time system: The basic system that supports the execution of Erlang programs.
  • Web server: A Web server that serves HTTP requests via executing server side applications written in Erlang.
  • Mnesia: A real-time fault-tolerant distributed DBMS that supports fast transactions for the telecommunications application, and a query language, called Mnemosyne, for handling complex queries.
  • SASL: The systems architecture support libraries (SASL) contain basic software that supports system start/restart, live system software updates, and process management.
  • SNMP support: SNMP provides run-time support through an extensible agent.
The Top layer: All applications have access to Mnesia and SASL. The SNMP agent and the Web server may also invoke functions that are provided by the applications in this layer.

Using this platform, libraries and utilities you will be able to write robust, real-time systems. You won't be able to realize how powerful is Erlang. I will talk next time about existing systems that uses Erlang.

To be continued ...

No comments: