Open Telecom Platform

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Erlang
Erlang logo.png
Developer(s) Ericsson
Initial release 1998
Stable release 18.0 / June 24, 2015 (2015-06-24)
Written in Erlang
Operating system Cross-platform
Platform Cross-platform
Type Programming Framework (middleware, libraries, tools, database)
License

Apache License 2.0 (since OTP 18.0)

Erlang Public License 1.1 (earlier releases)
Website www.erlang.org

OTP is an integral part of the open source distribution of Erlang programming language. It is a collection of useful middleware, libraries and tools written in Erlang, including an application server. The OTP distribution is supported and maintained by the OTP product unit at Ericsson, who released Erlang/OTP as open source in the late 90s, to ensure its independence from a single vendor and to increase awareness of the language.

The name OTP was originally an acronym for Open Telecom Platform, which was a branding attempt from the time before Erlang went open source. However neither Erlang nor OTP is specific to telecom applications.[1][2]

It contains:

History[edit]

Early days[edit]

Originally named Open System, it was started by Ericsson in late 1995 as a prototype system that aimed to select from a range of appropriate programming technologies and system components, including computers, languages, databases and management systems, to support a remote access system being developed at Ericsson.[3] In the same year, following the collapse of another gigantic C++-based project, Open System was ordered to provide support when it restarted from scratch using Erlang.[4] The result was the highly successful AXD301 system, a new ATM switch, announced in 1998. Open System system was later named Open Telecom Platform (OTP) when the first prototype was delivered in May 1996. OTP has also become a specific product unit within Ericsson since then, providing management, support and further development.

The early OTP system components in 1998:[5]

  • Distributed application management
  • SASL - error loggin, release handling
  • OS resource monitoring
  • EVA - protocol independent event/alarm handling
  • Mnesia - real-time active data replication
  • SNMP - operations and maintenance interface
  • INETS - simple HTTP support

A key subsystem in OTP is the System Architecture Support Libraries (SASL), which gave a framework for writing applications. The early version of SASL provided:[6]

  • Start-up scripts
  • An application concept
  • Behaviours (design patterns)
  • Error handling
  • Debugging
  • High-level software upgrade in runtime without shutdown

The behaviours provide programmers with yet higher abstractions for efficient program design. The early version included:[7]

  • Supervision
  • Servers
  • Event handling
  • Finite State Machines

Usage[edit]

Since it was released as open source in 1998, Erlang has been used by several companies worldwide, including Nortel and T-Mobile.[8] Although Erlang was designed to fill a niche and has remained an obscure language for most of its existence, its popularity is growing due to demand for concurrent services.[9][10]

Projects using Erlang include ejabberd - an XMPP instant messaging server, Wings 3D - a 3D modeller, the Yaws web server, Yahoo! Delicious,[11] the Facebook Chat system,[12] Couchbase Server, BigCouch and the Flussonic and Erlyvideo videostreaming servers.[13]

See also[edit]

External links[edit]

References[edit]

  1. ^ M. Logan, E. Merritt, and R. Carlsson (2010) Erlang and OTP in Action
  2. ^ OTP, the Middleware for Concurrent Distributed Scalable Architectures - Youtube
  3. ^ B. Däcker (2000) Concurrent Functional Programming for Telecommunications: A Case Study of Technology Introduction
  4. ^ M. Logan, E. Merritt, and R. Carlsson (2010) Erlang and OTP in Action
  5. ^ B. Däcker (2000) Concurrent Functional Programming for Telecommunications: A Case Study of Technology Introduction
  6. ^ B. Däcker (2000) Concurrent Functional Programming for Telecommunications: A Case Study of Technology Introduction
  7. ^ B. Däcker (2000) Concurrent Functional Programming for Telecommunications: A Case Study of Technology Introduction
  8. ^ "Who uses Erlang for product development?". Frequently asked questions about Erlang. Retrieved 2012-04-18. The largest user of Erlang is (surprise!) Ericsson. Ericsson use it to write software used in telecommunications systems. Many (dozens) projects have used it, a particularly large one is the extremely scalable AXD301 ATM switch. Other commercial users listed as part of the FAQ include: Nortel, Deutsche Flugsicherung (the German national air traffic control organisation), and T-Mobile. 
  9. ^ "Programming Erlang". Retrieved 2012-04-18. Virtually all language use shared state concurrency. This is very difficult and leads to terrible problems when you handle failure and scale up the system...Some pretty fast-moving startups in the financial world have latched onto Erlang; for example, the Swedish www.kreditor.se. 
  10. ^ "Erlang, the next Java". Retrieved 2008-10-08. I do not believe that other languages can catch up with Erlang anytime soon. It will be easy for them to add language features to be like Erlang. It will take a long time for them to build such a high-quality VM and the mature libraries for concurrency and reliability. So, Erlang is poised for success. If you want to build a multicore application in the next few years, you should look at Erlang. 
  11. ^ http://blog.socklabs.com/2008/09/erlang_is_delicious_cufp_slide
  12. ^ Facebook Chat (Facebook Engineering's notes)
  13. ^ Flussonic and Erlyvideo videostreaming servers