Открытая телекоммуникационная платформа
Разработчик(и) | Эрикссон |
---|---|
Первоначальный выпуск | 1998 |
Стабильная версия | 27.0.1 [1] / 10 июля 2024 г |
Репозиторий | |
Написано в | Эрланг |
Операционная система | Кросс-платформенный |
Платформа | Кросс-платформенный |
Тип | Платформа программирования (промежуточное программное обеспечение, библиотеки, инструменты, база данных) |
Лицензия | Лицензия Apache 2.0 (начиная с OTP 18.0) Публичная лицензия Erlang 1.1 (более ранние выпуски) |
Веб-сайт | www |
OTP — это набор полезного промежуточного программного обеспечения , библиотек и инструментов, написанных на языке программирования Erlang . Это неотъемлемая часть дистрибутива с открытым исходным кодом Erlang . Название OTP изначально было аббревиатурой Open Telecom Platform , которая была попыткой брендинга до того, как Ericsson выпустила Erlang/OTP с открытым исходным кодом. Однако ни Erlang, ни OTP не являются специфичными для телекоммуникационных приложений. [2] [3]
Распространение OTP поддерживается и поддерживается подразделением продуктов OTP компании Ericsson , которое выпустило Erlang/OTP с открытым исходным кодом в конце 90-х годов, чтобы обеспечить его независимость от одного поставщика и повысить осведомленность о языке.
Он содержит:
- Erlang интерпретатор (который называется BEAM ); [4]
- Erlang компилятор ;
- протокол связи между серверами (нодами);
- брокер CORBA объектных запросов ;
- инструмент статического анализа под названием Dialyzer;
- сервер распределенной базы данных ( Mnesia ); и
- многие другие библиотеки.
История
[ редактировать ]Первые дни
[ редактировать ]Первоначально названная «Открытая система», она была запущена компанией Ericsson в конце 1995 года в качестве прототипа системы , цель которой заключалась в выборе из ряда соответствующих технологий программирования и системных компонентов , включая компьютеры, языки , базы данных и системы управления, для поддержки разрабатываемой системы удаленного доступа. в Эрикссон. [5] В том же году, после краха другого гигантского проекта, основанного на C++ , Open System было приказано обеспечить поддержку при перезапуске с нуля с использованием Erlang . [2] Результатом стала очень успешная система AXD301 , новый ATM-коммутатор , анонсированный в 1998 году. Позднее система открытой системы была названа 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-объекты в Windows.
- Крипто – Криптографическая поддержка
- 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.
- cosNotification — Служба уведомлений Orber OMG.
- cosTime — таймер Orber OMG и службы TimerEvent.
- cosTransactions — служба транзакций Orber OMG.
- 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
- cosTransactions
- криптография
- отладчик
- диализатор
- диаметр
- Эдок
- Огненная обезьяна
- erl_docgen
- erl_interface
- руда
- И
- Юнит
- гс
- шумиха
- IC
- инеты
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Выпуск 27.0.1» . 10 июля 2024 г. Проверено 18 июля 2024 г.
- ^ Jump up to: а б «М. Логан, Э. Мерритт и Р. Карлссон (2010) Эрланг и OTP в действии» (PDF) .
- ^ Erlang Solutions (1 марта 2013 г.). «OTP, промежуточное программное обеспечение для параллельных распределенных масштабируемых архитектур» . Архивировано из оригинала 20 декабря 2021 г. - на YouTube.
- ^ «Эрланг — компиляция и загрузка кода» . erlang.org . Проверено 21 декабря 2017 г.
- ^ Jump up to: а б с д Б. Дэкер (2000) Параллельное функциональное программирование для телекоммуникаций: пример внедрения технологии
- ^ «Эрланг — Введение» . erlang.org .
- ^ «Язык программирования Эрланг» . www.erlang.org .