REST/REST API
REST (Representational State Transfer) to standard używany w systemach webowych do wymiany danych (przez HTTP) między systemami oprogramowania (klient-serwer). Działa on w oparciu o czyste technologie internetowe oraz na podstawie logiki bezstanowej. Zaletą REST jest brak sesji. Bez sesji, systemy klienckie i serwerowe mogą być swobodnie skalowane, ponieważ każde wywołanie REST jest wykonane oraz zrozumiałe samo w sobie, bez poprzedzających lub następujących po sobie wywołaniach.
W kontekście automatyki przemysłowej pozwala na:
- Integrację systemów OPC UA z aplikacjami chmurowymi.
- Udostępnianie danych w przeglądarkach internetowych.
- Łatwe łączenie się z systemami ERP i MES.
REST API
API (Application Programming Interface) to odpowiednia implementacja architektury REST konkretnego systemu. Jest on wówczas nazywany RESTful API. Zasoby, które mogą być adresowane przez REST, są definiowane w interfejsie.
Dla poszczególnych zasobów istnieją powiązane parametry, które opisują zasób i są modyfikowane przez REST.
Interfejs API obsługuje standardowe metody HTTP:
- GET – pobiera jeden lub więcej zasobów,
- POST- tworzy nową instancję zasobu,
- PUT – zapisuje dane do zasobu i w ten sposób je zmienia,
- DELETE – usuwa instancję zasobu.
Endpoint
Endpointy to pełne URI (Uniform Resource Identifier), które odnosi się do konkretnego zasobu na serwerze. Endpoint umożliwia wykonanie określonej akcji na danym zasobie, ponieważ REST API może obsługiwać wiele zasobów.
Format danych
Odpowiedź zwrócona przez konkretny endpoint REST może posiadać dowolny format danych. Natomiast w praktyce format zależy od funkcji endpointu. W większości przypadków dane są dostarczane w formacie JSON lub XML. W przypadku gdy zwykła strona internetowa jest odpytywana za pomocą wywołania REST, odpowiedź jest zwracana w formacie HTML.
Parametry
Zapytanie REST może być wzbogacone o dodatkowe parametry, które są zależne od funkcji endpointu. Dzięki parametrom w zapytaniu REST można wskazać konkretne dane , które mają zostać zwrócone z określonego zasobu.
MQTT i REST są często stosowane jako dodatkowe technologie w nowoczesnych systemach przemysłowych.
Oprogramowanie takie jak OPC Router umożliwia wywoływanie żądań REST w oparciu o podstawowe oraz zaawansowane metody HTTP. Pozwala również na utworzenie własnego bardziej zawansowanego REST API. Podobnym rozwiązaniem jest KEPServerEX, który może być klientem jak i serwerem REST. Obsługuje tylko podstawowe metody HTTP (GET, POST, PUT).
Przykład zastosowania oprogramowania OPC Router do pobrania danych z REST API: