Articulo de referencia

Plataforma abierta de telecomunicaciones

OTP es una colección de middleware , bibliotecas y herramientas útiles escritas en el lenguaje de programación Erlang . Es una parte integral de la distribución de código abiert...

OTP es una colección de middleware , bibliotecas y herramientas útiles escritas en el lenguaje de programación Erlang . Es una parte integral de la distribución de código abierto de Erlang. El nombre OTP era originalmente un acrónimo de Open Telecom Platform , un intento de marca antes de que Ericsson lanzara Erlang/OTP como código abierto. Sin embargo, ni Erlang ni OTP son específicos para aplicaciones de telecomunicaciones. [ 2 ] [ 3 ]

La distribución de OTP cuenta con el apoyo y el mantenimiento de la unidad de producto OTP de Ericsson , que lanzó Erlang/OTP como código abierto a finales de la década de 1990 para garantizar su independencia de un único proveedor y aumentar el conocimiento del lenguaje.

Contiene:

Historia

Primeros tiempos

Originalmente llamado Open System, fue iniciado por Ericsson a finales de 1995 como un sistema prototipo que buscaba seleccionar entre una gama de tecnologías de programación y componentes de sistema apropiados , incluyendo computadoras, lenguajes , bases de datos y sistemas de gestión, para dar soporte a un sistema de acceso remoto que se estaba desarrollando en Ericsson. [ 5 ] Ese mismo año, tras el colapso de otro gigantesco proyecto basado en C++ , se le ordenó a Open System que proporcionara soporte cuando se reiniciara desde cero utilizando Erlang . [ 2 ] El resultado fue el exitoso sistema AXD301 , un nuevo conmutador ATM , anunciado en 1998. Open System pasó a llamarse Open Telecom Platform (OTP) cuando se entregó el primer prototipo en mayo de 1996. OTP también se ha convertido desde entonces en una unidad de producto específica dentro de Ericsson , proporcionando gestión, soporte y desarrollo adicional.

Los primeros componentes del sistema OTP en 1998: [ 5 ]

  • Gestión de aplicaciones distribuidas
  • SASL: registro de errores, gestión de versiones
  • Monitoreo de recursos del sistema operativo
  • EVA: gestión de eventos/alarmas independiente del protocolo
  • Mnesia : replicación de datos activa en tiempo real
  • SNMP: interfaz de operaciones y mantenimiento
  • INETS - soporte HTTP simple

Un subsistema clave en OTP son las Bibliotecas de Soporte de Arquitectura del Sistema (SASL), que proporcionaron un marco para escribir aplicaciones. La versión inicial de SASL proporcionó: [ 5 ]

  • Scripts de inicio
  • Un concepto de aplicación
  • Comportamientos (patrones de diseño)
  • Manejo de errores
  • Depuración
  • Actualización de software de alto nivel en tiempo de ejecución sin apagado.

Los comportamientos proporcionan a los programadores abstracciones aún más elevadas para un diseño de programas eficiente. La versión inicial incluía: [ 5 ]

Componentes de OTP

Los componentes de OTP se pueden dividir en seis categorías: [ 6 ]

  • Aplicaciones básicas: funcionalidades básicas de Erlang/OTP.
    • Compilador: un compilador para módulos de Erlang.
    • Núcleo: Funcionalidad necesaria para ejecutar Erlang/OTP.
    • SASL (System Architecture Support Libraries): un conjunto de herramientas para la sustitución de código y el manejo de alarmas, etc.
    • Stdlib - La biblioteca estándar.
  • Operaciones y mantenimiento (OAM) tanto del sistema desarrollado por el usuario como del propio Erlang/OTP.
    • EVA: un gestor de eventos y alarmas con múltiples funciones.
    • OS_Mon: un monitor que permite inspeccionar el sistema operativo subyacente.
    • SNMP: compatibilidad con SNMP, incluyendo un compilador MIB y herramientas para crear agentes SNMP.
  • Interfaz y comunicación: compatibilidad con interoperabilidad y protocolos.
    • Asn1 - Soporte para ASN.1.
    • Comet: una biblioteca que permite a Erlang/OTP llamar a objetos COM en Windows.
    • Cripto - Soporte criptográfico
    • Erl_Interface - Interfaz de bajo nivel para C.
    • GS - Un sistema gráfico utilizado para escribir interfaces de usuario independientes de la plataforma.
    • Inets - Un conjunto de servicios como un servidor web y un cliente FTP.
    • Jinterface - Interfaz de bajo nivel para Java.
    • SSL - Secure Socket Layer (SSL), interfaz para sockets UNIX BSD
  • Gestión de bases de datos.
    • QLC: soporte para lenguaje de consulta en el sistema de gestión de bases de datos Mnesia.
    • Mnesia: una base de datos distribuida de alto rendimiento en tiempo real.
    • ODBC - Interfaz de base de datos ODBC.
  • Servicios CORBA y compilador IDL.
    • cosEvent - Servicio de eventos Orber OMG.
    • cosNotification - Servicio de notificaciones de Orber OMG.
    • cosTime - Servicios de temporizador y eventos de temporizador de Orber OMG.
    • cosTransactions - Servicio de transacciones de Orber OMG.
    • IC - Compilador IDL
    • Orber: un intermediario de solicitudes de objetos CORBA.
  • Herramientas.
    • Appmon: una utilidad que se utiliza para visualizar solicitudes de OTP.
    • Depurador: para depurar y probar programas Erlang.
    • Parsetools: un conjunto de herramientas para el análisis sintáctico y léxico.
    • Pman: un gestor de procesos utilizado para inspeccionar el estado de un sistema Erlang/OTP.
    • Runtime_Tools - Herramientas que se deben incluir en un sistema de producción.
    • Barra de herramientas: una barra de herramientas que simplifica el acceso a las herramientas de Erlang/OTP.
    • Herramientas: un conjunto de herramientas de programación que incluye un analizador de cobertura, etc.
    • TV - Un visualizador gráfico de tablas de ETS y Mnesia.

Aplicaciones en OTP

A partir de OTP 18.2, las siguientes aplicaciones están incluidas en la distribución Erlang/OTP: [ 7 ]

  • asn1
  • prueba_común
  • compilador
  • cosEvent
  • cosEventDomain
  • transferencia de archivos cos
  • cosNotificación
  • Propiedad de cos
  • cosTime
  • cosTransacciones
  • cripto
  • depurador
  • dializador
  • diámetro
  • documento electrónico
  • eldap
  • erl_docgen
  • interfaz_erl
  • erts
  • y
  • unidad electrónica
  • gs
  • hipe
  • ic
  • inets

Véase también

Referencias

  1. "Versión 29.0.3" . 2 de julio de 2026. Consultado el 3 de julio de 2026 .
  2. 1 2 "M. Logan, E. Merritt y R. Carlsson (2010) Erlang y OTP en acción" (PDF) . Archivado del original (PDF) el 14 de mayo de 2014. Recuperado el 24 de julio de 2015 .
  3. Erlang Solutions (1 de marzo de 2013). "OTP, el middleware para arquitecturas distribuidas escalables concurrentes" . Archivado del original el 20 de diciembre de 2021 , vía YouTube.
  4. "Erlang -- Compilación y carga de código" . erlang.org . Consultado el 21 de diciembre de 2017 .
  5. 1 2 3 4 "B. Däcker (2000) Programación funcional concurrente para telecomunicaciones: un estudio de caso de introducción tecnológica" . Archivado del original el 24 de septiembre de 2015. Recuperado el 23 de julio de 2015 .
  6. "Erlang -- Introducción" . erlang.org . Archivado del original el 8 de septiembre de 2019. Consultado el 6 de febrero de 2017 .
  7. "Lenguaje de programación Erlang" . www.erlang.org .