Открытая телекоммуникационная платформа - Open Telecom Platform

Erlang
Erlang logo.png
Разработчики)Ericsson
изначальный выпуск1998
Стабильный выпуск
23.0[1] / 13 мая 2020; 6 месяцев назад (2020-05-13)
Репозиторий Отредактируйте это в Викиданных
Написано вErlang
Операционная системаКроссплатформенность
ПлатформаКроссплатформенность
ТипФреймворк программирования (промежуточное ПО, библиотеки, инструменты, база данных)
ЛицензияЛицензия Apache 2.0 (начиная с OTP 18.0)Общественная лицензия Erlang 1.1 (более ранние выпуски)
Интернет сайтwww.erlang.org

OTP сборник полезных промежуточное ПО, библиотеки, и инструменты написано в Язык программирования Erlang. Это неотъемлемая часть Открытый исходный код распространение Erlang. Название OTP изначально было аббревиатурой от Открытая телекоммуникационная платформа, который раньше был попыткой брендинга Ericsson выпустила Erlang / OTP с открытым исходным кодом. Однако ни Erlang, ни OTP не являются специфическими для телекоммуникационных приложений.[2][3]

Распределение OTP поддерживается и поддерживается отделом продукта OTP в Ericsson, который выпустил Erlang / OTP как Открытый исходный код в конце 90-х, чтобы обеспечить его независимость от единственного поставщика и повысить осведомленность о языке.

Это содержит:

История

Первые дни

Первоначально названная Open System, она была создана Ericsson в конце 1995 г. система прототипа который был направлен на выбор подходящих технологий программирования и системные компоненты, включая компьютеры, языки, базы данных и системы управления для поддержки системы удаленного доступа, разрабатываемой в Ericsson.[5] В том же году, после крушения другого гигантского C ++ -на основе проекта Open System было приказано оказывать поддержку при перезапуске с нуля с использованием Erlang.[2] Результат был очень успешным AXD301 система, новая Переключатель банкомата, анонсированная в 1998 году. Система Open System была позже названа Open Telecom Platform (OTP), когда в мае 1996 года был доставлен первый прототип. OTP также стал отдельным продуктом в рамках Ericsson с тех пор обеспечение управления, поддержки и дальнейшего развития.

Первые компоненты системы OTP в 1998 году:[5]

  • Распределенное управление приложениями
  • SASL - регистрация ошибок, обработка релизов
  • Мониторинг ресурсов ОС
  • EVA - независимая от протокола обработка событий / тревог
  • Mnesia - активная репликация данных в реальном времени
  • SNMP - интерфейс управления и обслуживания
  • INETS - простая поддержка HTTP

Ключевой подсистемой в OTP являются библиотеки поддержки архитектуры системы (SASL), которые обеспечивают основу для написания приложений. Ранняя версия SASL обеспечивала:[5]

  • Скрипты запуска
  • Концепция приложения
  • Поведение (шаблоны проектирования)
  • Обработка ошибок
  • Отладка
  • Обновление программного обеспечения высокого уровня во время выполнения без выключения

Поведение предоставляет программистам еще более высокие абстракции для эффективного проектирования программ. Ранняя версия включала:[5]

Компоненты OTP

Компоненты OTP можно разделить на шесть категорий:[6]

  • Основные приложения - базовая функциональность Erlang / OTP.
    • Компилятор Компилятор для модулей Erlang.
    • Функциональность ядра, необходимая для запуска самого Erlang / OTP.
    • SASL (библиотеки поддержки системной архитектуры) Набор инструментов для замены кода, обработки аварийных сигналов и т. Д.
    • Stdlib Стандартная библиотека.
  • Эксплуатация и обслуживание - OAM как системы, разработанной пользователем, так и самого Erlang / OTP.
    • EVA Многофункциональный обработчик событий и аварийных сигналов.
    • OS_Mon Монитор, позволяющий проверять базовую операционную систему.
    • SNMP Поддержка SNMP, включая компилятор MIB и инструменты для создания агентов SNMP.
  • Интерфейс и связь - совместимость и поддержка протоколов.
    • Asn1 Поддержка ASN.1.
    • Comet Библиотека, которая позволяет Erlang / OTP вызывать COM-объекты в окнах.
    • Крипто Криптографическая поддержка
    • Erl_Interface Низкоуровневый интерфейс для C.
    • GS Графическая система, используемая для написания платформенно-независимых пользовательских интерфейсов.
    • Inets Набор служб, таких как веб-сервер и FTP-клиент.
    • Jinterface Низкоуровневый интерфейс для Java.
    • SSL Secure Socket Layer (SSL), интерфейс с сокетами UNIX BSD
  • Управление базами данных.
    • Поддержка языка запросов QLC для СУБД Mnesia.
    • Mnesia Мощная распределенная база данных в реальном времени.
    • ODBC Интерфейс базы данных ODBC.
  • Службы CORBA и компилятор IDL.
    • cosEvent Orber OMG Event Service.
    • cosNotification Служба уведомлений Orber OMG.
    • Сервисы cosTime Orber OMG Timer и TimerEvent.
    • cosTransactions Orber OMG Transaction Service.
    • Компилятор IC IDL
    • Orber Посредник запросов объектов CORBA.
  • Инструменты.
    • Appmon Утилита, используемая для просмотра приложений OTP.
    • Отладчик Для отладки и тестирования программ на Erlang.
    • Parsetools Набор инструментов синтаксического анализа и лексического анализа.
    • Pman Менеджер процессов, используемый для проверки состояния системы Erlang / OTP.
    • Runtime_Tools Инструменты для включения в производственную систему.
    • Панель инструментов Панель инструментов, упрощающая доступ к инструментам Erlang / OTP.
    • Инструменты Набор инструментов для программирования, включая анализатор покрытия и т. Д.
    • TV Графический визуализатор таблиц ETS и Mnesia.

Приложения в OTP

Начиная с OTP 18.2, в дистрибутив Erlang / OTP включены следующие приложения:[7]

  • asn1
  • common_test
  • компилятор
  • cosEvent
  • cosEventDomain
  • cosFileTransfer
  • cosNotification
  • cosProperty
  • cosTime
  • cosОперации
  • крипто
  • отладчик
  • диализатор
  • диаметр
  • Edoc
  • Эльдап
  • erl_docgen
  • erl_interface
  • эрц
  • et
  • eunit
  • GS
  • бедра
  • IC
  • инет

Смотрите также

Рекомендации

  1. ^ «Релиз OTP 23.0». erlang.org. Получено 2019-05-15.
  2. ^ а б "М. Логан, Э. Мерритт и Р. Карлссон (2010) Эрланг и OTP в действии" (PDF).
  3. ^ Решения Erlang (1 марта 2013 г.). «OTP, промежуточное ПО для параллельных распределенных масштабируемых архитектур» - через YouTube.
  4. ^ «Erlang - компиляция и загрузка кода». erlang.org. Получено 2017-12-21.
  5. ^ а б c d Б. Деккер (2000) Параллельное функциональное программирование для телекоммуникаций: пример внедрения технологии
  6. ^ «Эрланг - Введение». erlang.org.
  7. ^ "Язык программирования Erlang". www.erlang.org.