Документация по SCADA системе Simp Light


Содержание:


REST API: Введение

API (Application Programming Interface) это программный интерфейс приложения. Проще говоря набор правил, которые позволяют приложениям взаимодействовать друг с другом, обеспечивая доступ к данным и функциональности через среду передачи данных.

REST расшифровывается как «передача состояния представления» (от англ. Representational State Transfer). Понятие описывает архитектурный подход к тому, как распределенные системы предоставляют интерфейс для работы с данными. Когда говорят об использовании термина «REST API» имеется в виду использование API через протокол HTTP с определенным набором ссылок (URL).

Информация доступная по этим ссылкам может быть возвращена как JSON, HTML, аудио файлы или изображения. Часто ресурсы могут иметь один или больше методов для доступа через HTTP, а именно: GET, POST, PUT, DELETE.

  • Метод GET позволяет получить коллекцию сущностей или конкретную сущность с помощью её ID. Ссылка на получение сущностей обычно выглядит как «/api/<entityName>/», в то время как получение конкретной сущности выглядит так «/api/<entityName>/<entityID>».

  • Метод POST предназначен для добавления новых сущностей. Тело такого запроса должно содержать свойства нового объекта. Сервер реализующий поведение должен вернуть ID добавленной сущности. Пример ссылки: «/api/<entityName>/».

  • Метод PUT необходим для обновления сразу всех свойств сущности на сервере. Допустимо обновления одной сущности за раз с указанием идентификатора(ID). Пример ссылки: «/api/<entityName>/<entityID>».

  • Метод DELETE реализует удаление сущности на сервере. Пример ссылки: «/api/<entityName>/<entityID>». Реализация метода для удаления всех сущностей сразу не рекомендуется.

  • Метод PATCH предназначен для обновления произвольного числа свойств сущности с указанием их в теле запроса. Обычно реализуется обновление конкретной сущности. Пример ссылки: «/api/<entityName>/<entityID>».

Web-сервер СИМП Лайт предоставляет REST API для доступа к системе контроля и сбора данным, к таким ресурсам как: текущие каналы системы, их паспорта, история каналов, расписания, книги рецептов и т. д.

 Пример GET запроса паспортов проекта СИМП Лайт на JavaScript промисах


 Пример GET запроса паспортов проекта СИМП Лайт с использованием async-await

      

  Организация работы с API SImpLight

1. В каталоге "c:\slProject\WebClient\public_html" размещаем два файла:

  • html-файл, имеющий имя отличное от имени "index.html", например: "api.html"
  • js-файл, содержащий скрипт, например: "API_Passports.js".

   В файле "api.html" вызывается на исполнение файл со скриптом "API_Passports.js". Содержимое этого файла можно посмотреть выше на этой странице.

 
2. Проверяем настройки модуля "Редактор каналов": web-сервер должен быть активизирован, запоминаем назначенный порт.


3. Запускаем модуль "Монитор" на исполнение.

4. Запускаем браузер и в строке браузера набираем "localhost:81/api.html"

5. В браузере открываем отладчик. По правой клавише мыши вызываем контекстное меню, в котором выбираем пункт "Посмотреть код".  

6. В отладчике открываем вкладку "Сеть". Затем в нижнем списке отыскиваем наименование нашего набора, который получаем в API-запросе. В данном случае это имя "passports". Кликаем на этом имени.

7. И в отладчике браузера Chrome смотрим полученный набор данных - это паспорта каналов демо-проекта, исполняемого в модуле "Монитор".


Примечание
Больше информации по использованию Fetch API может быть найдено на MDN или других ресурсах сети.