Öppna telekomplattformen
Utvecklare | Ericsson |
---|---|
Initial release | 1998 |
Stabil frisättning | |
Förvar | |
Skrivet i | Erlang |
Operativ system | Cross-plattform |
Plattform | Cross-plattform |
Typ | Programmeringsram (mellanprogram, bibliotek, verktyg, databas) |
Licens | Apache License 2.0 (sedan OTP 18.0) Erlang Public License 1.1 (tidigare utgåvor) |
Hemsida |
|
OTP är en samling användbar mellanprogram , bibliotek och verktyg skrivna i programmeringsspråket Erlang . Det är en integrerad del av open source- distributionen av Erlang. Namnet OTP var ursprungligen en akronym för Open Telecom Platform , vilket var ett varumärkesförsök innan Ericsson släppte Erlang/OTP som öppen källkod. Men varken Erlang eller OTP är specifika för telekomapplikationer.
OTP-distributionen stöds och underhålls av OTP-produktenheten på Ericsson , som släppte Erlang/OTP som öppen källkod i slutet av 90-talet, för att säkerställa dess oberoende från en enda leverantör och för att öka medvetenheten om språket.
Det innehåller:
- en Erlang- tolk (som kallas BEAM );
- en Erlang -kompilator ;
- ett protokoll för kommunikation mellan servrar (noder);
- en CORBA Object Request Broker ;
- ett statiskt analysverktyg som heter Dialyzer;
- en distribuerad databasserver ( Mnesia ); och
- många andra bibliotek.
Historia
Tidiga dagar
Ursprungligen kallat Open System, startades det av Ericsson i slutet av 1995 som ett prototypsystem som syftade till att välja från en rad lämpliga programmeringsteknologier och systemkomponenter , inklusive datorer, språk , databaser och hanteringssystem, för att stödja ett fjärråtkomstsystem som utvecklas på Ericsson. Samma år, efter kollapsen av ett annat gigantiskt C++ -baserat projekt, beordrades Open System att ge support när det startade om från början med Erlang . Resultatet blev det mycket framgångsrika AXD301-systemet, en ny ATM-växel , som tillkännagavs 1998. Open System-systemet fick senare namnet Open Telecom Platform (OTP) när den första prototypen levererades i maj 1996. OTP har också blivit en specifik produktenhet inom Ericsson sedan dess tillhandahåller ledning, stöd och vidareutveckling.
De tidiga OTP-systemkomponenterna 1998:
- Distribuerad applikationshantering
- SASL - felloggning, releasehantering
- OS resursövervakning
- EVA - protokolloberoende händelse/larmhantering
- Mnesia - aktiv datareplikering i realtid
- SNMP - gränssnitt för drift och underhåll
- INETS - enkelt HTTP-stöd
Ett viktigt delsystem i OTP är System Architecture Support Libraries (SASL), som gav ett ramverk för att skriva applikationer. Den tidiga versionen av SASL gav:
- Uppstartsskript
- Ett applikationskoncept
- Beteenden (designmönster)
- Felhantering
- Felsökning
- Programvaruuppgradering på hög nivå under körning utan avstängning
Beteendena ger programmerare ännu högre abstraktioner för effektiv programdesign. Den tidiga versionen innehöll:
- Övervakning
- Servrar
- Eventhantering
- Finite-state maskiner
OTP-komponenter
OTP-komponenterna kan delas in i sex kategorier:
- Grundläggande applikationer - Grundläggande Erlang/OTP-funktionalitet.
- Kompilator En kompilator för Erlang-moduler.
- Kärnfunktionalitet som krävs för att köra Erlang/OTP själv.
- SASL (System Architecture Support Libraries) En uppsättning verktyg för kodbyte och larmhantering mm.
- Stdlib Standardbiblioteket.
- Drift och underhåll - OAM både av systemet utvecklat av användaren och av Erlang/OTP själv.
- EVA En multifunktionell händelse- och larmhanterare.
- OS_Mon En monitor som tillåter inspektion av det underliggande operativsystemet.
- SNMP SNMP-stöd inklusive en MIB-kompilator och verktyg för att skapa SNMP-agenter.
- Gränssnitt och kommunikation - Stöd för interoperabilitet och protokoll.
- Asn1 Stöd för ASN.1.
- Comet Ett bibliotek som gör det möjligt för Erlang/OTP att anropa COM-objekt på Windows
- Stöd för kryptokryptering
- Erl_Interface Lågnivågränssnitt till C.
- GS Ett grafiksystem som används för att skriva plattformsoberoende användargränssnitt.
- Inets En uppsättning tjänster som en webbserver och en FTP-klient.
- Jinterface Lågnivågränssnitt till Java.
- SSL Secure Socket Layer (SSL), gränssnitt till UNIX BSD-sockets
- Databashantering.
- QLC Query-språkstöd för Mnesia DBMS.
- Mnesia En kraftig realtidsdistribuerad databas.
- ODBC ODBC databasgränssnitt.
- CORBA-tjänster och IDL-kompilator.
- cosEvent Orber OMG Event Service.
- cosNotification Orber OMG Notification Service.
- cosTime Orber OMG Timer och TimerEvent Services.
- cosTransactions Orber OMG Transaction Service.
- IC IDL-kompilator
- Orber En CORBA-objektförfråganmäklare.
- Verktyg.
- Appmon Ett verktyg som används för att visa OTP-applikationer.
- Debugger För felsökning och testning av Erlang-program.
- Parsetverktyg En uppsättning verktyg för analys och lexikal analys.
- Pman En processledare som används för att inspektera tillståndet för ett Erlang/OTP-system.
- Runtime_Tools Verktyg att inkludera i ett produktionssystem.
- Verktygsfält Ett verktygsfält som förenklar åtkomsten till Erlang/OTP-verktygen.
- Verktyg En uppsättning programmeringsverktyg inklusive en täckningsanalysator etc.
- TV En grafisk tabellvisualiserare för ETS och Mnesia.
Applikationer i OTP
Från och med OTP 18.2 ingår följande applikationer i Erlang/OTP-distributionen:
- asn1
- vanligt_test
- kompilator
- cosEvent
- cosEventDomain
- cosFileTransfer
- cosNotifikation
- cosProperty
- cosTime
- cosTransaktioner
- krypto
- felsökare
- dialysator
- diameter
- edoc
- eldap
- erl_docgen
- erl_interface
- erts
- et
- eunit
- gs
- hipe
- ic
- inets