API

Application Programming Interface

Rozhraní Služby a architektura

API je standardizovaná sada definic a protokolů pro vytváření a integraci softwarových aplikací v systémech 3GPP, která umožňuje vystavování služeb, interakci síťových funkcí a přístup třetích stran.

Popis

V kontextu standardů 3GPP je aplikační programové rozhraní (Application Programming Interface – API) formálně specifikované rozhraní, které definuje, jak spolu mohou interagovat různé softwarové komponenty, síťové funkce nebo externí aplikace. Poskytuje smlouvu, která specifikuje metody komunikace, včetně datových formátů (požadavky a odpovědi), operací, které lze vyvolat, a podkladových protokolů (často RESTful HTTP nebo gRPC). API abstrahují složitou vnitřní implementaci síťových funkcí a vystavují dobře definované schopnosti jako znovupoužitelné služby. Tato abstrakce je zásadní pro architektury založené na službách (service-based architectures – SBA) přijaté v 5G Core (5GC), kde síťové funkce (Network Functions – NFs) jako AMF, SMF a UDM interagují prostřednictvím rozhraní založených na službách, což jsou v podstatě sady standardizovaných API.

Architektura API 3GPP je podrobně dokumentována v technických specifikacích, které detailně popisují vše od URL adres koncových bodů API a HTTP metod (GET, POST, PUT, DELETE) až po přesné schéma JSON nebo XML pro vyměňované zprávy. Klíčové komponenty zahrnují producenta API (síťovou funkci, která hostuje a implementuje API), konzumenta API (entitu, která API vyvolává) a vrstvu správy API, která může řešit aspekty jako autentizace, autorizace, omezení rychlosti (rate limiting) a analytika. API jsou často popisována pomocí strojově čitelných formátů, jako je OpenAPI Specification (OAS), což umožňuje automatizovanou generaci kódu a validaci. Fungují přes rozhraní založené na službách (Service-Based Interface – SBI) uvnitř 5G Core, využívají pro přenos HTTP/2 a pro serializaci datové části JSON, čímž zajišťují efektivní a flexibilní komunikaci.

Role API v síti je mnohostranná. Interně umožňují modulární, oddělený návrh základní sítě, což operátorům dovoluje nasazovat a upgradovat síťové funkce nezávisle. Externě jsou mechanismem pro vystavování služeb, umožňujícím autorizovaným poskytovatelům aplikací třetích stran (např. v podnikových, IoT nebo edge computing scénářích) přistupovat k síťovým schopnostem, jako je správa kvality služeb (quality of service – QoS), informace o poloze nebo stav sítě, kontrolovaným způsobem prostřednictvím frameworků jako je Network Exposure Function (NEF). API jsou také klíčová pro správu a orchestraci sítě, umožňují automatizované poskytování, konfiguraci a správu životního cyklu síťových zdrojů jako součást širších frameworků, jako je ETSI NFV-MANO. V konečném důsledku API transformují síť ze statické infrastruktury na programovatelnou platformu, což podporuje inovace a vytváření nových služeb.

K čemu slouží

Standardizace API v rámci 3GPP byla motivována potřebou odklonu od monolitických, dodavatelům specifických síťových architektur směrem k otevřeným, interoperabilním a softwarově řízeným systémům. Před rozšířeným přijetím API spolu síťové funkce komunikovaly prostřednictvím rigidních, bod-bod, protokolově specifických rozhraní (často založených na binárních protokolech jako SS7 nebo Diameter), což činilo integraci složitou, zpomalovalo inovace a vytvářelo závislost na dodavateli. Účelem definice společných API je tyto problémy řešit stanovením univerzálního ‘jazyka’ pro komunikaci softwarových komponent, čímž se umožní interoperabilita mezi více dodavateli, rychlejší nasazování služeb a síťová agilita.

Historicky koncept získal významnou podporu s nástupem webových technologií a cloud-native principů. Přechod na plně IP sítě a poptávka po programovatelnosti ve stylu internetu vedly 3GPP k přijetí RESTful API a architektur založených na službách, zejména od 4G Evolved Packet Core (EPC) pro některá rozhraní a plně v 5G Core. API řeší omezení předchozích ‘uzavřených’ systémů tím, že poskytují standardizovanou, dobře dokumentovanou a často na HTTP založenou metodu interakce, která je známá obrovskému ekosystému vývojářů softwaru. To snižuje bariéru vstupu pro inovace a umožňuje jak síťovým operátorům, tak externím vývojářům vytvářet nové aplikace a služby, které využívají jedinečné schopnosti mobilních sítí, jako je nízká latence, vysoká přenosová kapacita a podpora mobility.

Navíc jsou API nezbytná pro umožnění klíčových paradigmat 5G, jako je síťové dělení (network slicing), edge computing a massive IoT. Poskytují potřebné háčky pro orchestrační systémy, aby na požádání instancovaly a spravovaly end-to-end síťové řezy. Umožňují edge aplikacím žádat o specifické síťové zacházení. Stručně řečeno, API existují proto, aby transformovaly telekomunikační sítě na otevřené platformy, řeší problémy složité integrace, provozní rigidity a omezené inovace služeb, a tím odemykají plný ekonomický a technologický potenciál systémů 3GPP.

Klíčové vlastnosti

  • Standardizovaná rozhraní založená na službách pro komunikaci mezi síťovými funkcemi (např. Nnrf, Nsmf)
  • Návrh podle principů RESTful s využitím HTTP/2 a JSON pro datovou část
  • Strojově čitelná definice prostřednictvím OpenAPI Specification (OAS) 3.0
  • Podpora vystavování síťových schopností třetím stranám prostřednictvím NEF
  • Umožňuje správu životního cyklu a orchestraci síťového dělení (network slicing)
  • Usnadňuje cloud-native nasazení síťových funkcí založené na mikroslužbách

Definující specifikace

  • TR 21.905 (Rel-19) — 3GPP Technical Terms and Definitions
  • TS 22.038 (Rel-19) — USIM Application Toolkit (USAT) Stage 1
  • TS 22.057 (Rel-19) — Mobile Execution Environment (MExE) Stage 1
  • TS 22.121 (Rel-5) — Virtual Home Environment Requirements
  • TS 22.127 (Rel-9) — Open Service Access (OSA) Requirements
  • TS 22.228 (Rel-19) — IP Multimedia Service Requirements
  • TR 22.907 (Rel-4) — UMTS IC Card and Terminal Concepts
  • TS 23.039 (Rel-5) — SMSC to SME Interface Protocols
  • TS 23.057 (Rel-19) — Mobile Execution Environment (MExE) Specification
  • TS 23.127 (Rel-6) — Virtual Home Environment Stage 2 Specification
  • TS 23.198 (Rel-9) — Open Service Access (OSA); Stage 2
  • TS 23.218 (Rel-19) — IMS Call Model Specification
  • TS 23.222 (Rel-19) — Common API Framework for 3GPP Northbound APIs
  • TS 23.228 (Rel-19) — IMS Stage-2 Service Description
  • TS 23.479 (Rel-19) — MBMS API for Mission Critical Services
  • … a dalších 75 specifikací

📖 Anglický originál a plná specifikace: API na 3GPP Explorer