УСПОКОИТЕЛЬНЫЙ API

УСПОКОИТЕЛЬНЫЙ API использует модель ответа запроса Протокола передачи гипертекста (HTTP) для связи с MATLAB® Production Server™. Эта модель включает методы запроса, коды ответа, заголовки сообщения и тексты сообщений. УСПОКОИТЕЛЬНЫЙ API имеет следующие характеристики:

  • Методы HTTP — POST, GET и DELETE — формируют первичный режим из связи между клиент-сервером.

  • Ресурсы, созданные сервером, однозначно определяются с помощью Унифицированных идентификаторов ресурса (URIs).

  • Метаданные, такие как content-type запроса передаются через заголовок сообщения. Единственным поддерживаемым типом контента является application/json.

  • Входные параметры к функции MATLAB, содержавшей в развернутом архиве, представляются в JSON и инкапсулируются в теле сообщения.

  • Текст сообщения ответа содержит информацию о запросе, таком как состояние или результаты.

  • Это поддерживает и синхронное и асинхронные режимы сервера.

API

ВводЦель

Синхронное выполнение

Выполните синхронные запросы к серверу

Асинхронное выполнение

Выполните асинхронные запросы к серверу

Сервис открытия

Узнайте функции MATLAB, развернутые на сервере

Синхронное выполнение

В синхронном режиме, после того, как клиент отправляет запрос, сервер блокирует все дальнейшие запросы, пока это не завершило обработку исходного запроса. После того, как обработка завершена, сервер автоматически возвращает ответ клиенту.

УСПОКОИТЕЛЬНЫЕ вызовы API синхронного режима

ВызватьЦель
POST Synchronous Request

Выполните синхронный запрос к серверу и ожидайте ответа

Следующая диаграмма иллюстрирует, как УСПОКОИТЕЛЬНЫЙ API работает в синхронном режиме.

Пример: синхронное выполнение магического квадрата Используя УСПОКОИТЕЛЬНЫЙ API и JSON

Этот пример показывает, как использовать УСПОКОИТЕЛЬНЫЙ API и JSON путем обеспечения двух отдельных реализаций — одно использование JavaScript® и другое использование Python® . Когда вы выполняете этот пример, сервер возвращает список 25 разделенных от запятой значений. Этими значениями является вывод развернутой функции MATLAB mymagic, представленный в главном столбцом формате. Код MATLAB для функции mymagic следует.

function out = mymagic(in)
out = magic(in);

Для этого примера, чтобы запуститься, экземпляр MATLAB Production Server, содержащий развернутую функцию MATLAB должен запускаться mymagic. Для получения дополнительной информации о том, как создать развертываемый архив, смотрите, Создают Развертываемый Архив для MATLAB Production Server. Для получения дополнительной информации о подготовке сервера смотрите, Создают Сервер (MATLAB Production Server).

Реализация JavaScript

С реализацией JavaScript УСПОКОИТЕЛЬНОГО API вы включаете скрипт в тегах <script> </script> страницы HTML. Когда эта страница HTML открыта в веб-браузере, значения функции mymagic возвращены. Обратите внимание на то, что серверу нужно было позволить CORS для кода JavaScript работать. Для получения дополнительной информации смотрите cors-allowed-origins.

Код:

 restApiSyncMagicJavaScript.html

Реализация Python

Этот пример использует Python 2.x. Если вы используете Python 3.x, необходимо изменить некоторые фрагменты кода.

Код:

 restApiSyncMagicPython.py

Чтобы изучить, как развернуть функцию MATLAB на MATLAB Production Server и вызвать его с помощью УСПОКОИТЕЛЬНОГО API и JSON, смотрите Пример: веб-Инструмент Оценки Связи Используя JavaScript.

Асинхронное выполнение

В асинхронном режиме клиент может отправить несколько запросов, и в каждом случае сервер отвечает путем создания нового ресурса и возврата уникального URI, соответствующего каждому запросу. URI инкапсулируется в теле сообщения ответа. Клиент может использовать URI, возвращенный сервером в целях запроса и получения результатов среди другого использования.

УСПОКОИТЕЛЬНЫЕ вызовы API асинхронного режима

ВызватьЦель
POST Asynchronous Request

Выполните асинхронный запрос к серверу

GET Representation of Asynchronous Request

Просмотрите, как представлен асинхронный запрос, выполненный к серверу

GET Collection of Requests

Просмотрите набор запросов

GET State Information

Получите информацию состояния запроса

GET Result of Request

Получите результаты запроса

POST Cancel Request

Отмените запрос

DELETE Request

Удалите запрос

Следующая диаграмма иллюстрирует, как УСПОКОИТЕЛЬНЫЙ API работает в асинхронном режиме. Диаграмма не покрывает все УСПОКОИТЕЛЬНЫЕ вызовы API. Для полного списка вызовов см. предыдущую таблицу.

Пример: асинхронное выполнение магического квадрата Используя УСПОКОИТЕЛЬНЫЙ API и JSON

Этот пример показывает, как использовать УСПОКОИТЕЛЬНЫЙ API и JSON для асинхронного выполнения с помощью JavaScript. Когда вы выполняете этот пример, сервер возвращает список 100 разделенных от запятой значений. Этими значениями является вывод развернутой функции MATLAB mymagic, представленный в главном столбцом формате. Код MATLAB для функции mymagic следует.

function out = mymagic(in)
out = magic(in);

Для этого примера, чтобы запуститься, экземпляр MATLAB Production Server, содержащий развернутую функцию MATLAB должен запускаться mymagic. Для получения дополнительной информации о том, как создать развертываемый архив, смотрите, Создают Развертываемый Архив для MATLAB Production Server. Для получения дополнительной информации о подготовке сервера смотрите, Создают Сервер (MATLAB Production Server).

Код:

 restApiAsyncMagicJavaScript.html

Сервис открытия

Можно использовать сервис открытия узнать о функциях MATLAB, развернутых на сервере. Сервис открытия возвращает информацию о развернутых функциях MATLAB как объект JSON. Объект является многоуровневой вложенной структурой, и на высоком уровне отображает версию схемы открытия и список развернутых архивов. Информация о развернутых функциях MATLAB и их функциональных подписях содержится в каждом из перечисленных архивов. Для получения дополнительной информации см. Объект Ответа JSON (MATLAB Production Server).

Чтобы использовать сервис открытия, необходимо включить сервис открытия на сервер. Можно сделать это путем некомментария опции --enable-discovery в файле main_config сервера.

Чтобы получить полезную информацию при использовании сервиса открытия, необходимо включать файл JSON, содержащий функциональные подписи развернутых функций MATLAB при создании развертываемого архива. Для получения дополнительной информации смотрите, Создают Развертываемый Архив для MATLAB Production Server. Для получения информации о создании файла JSON, содержащего функциональные подписи, смотрите Подписи функции MATLAB в JSON.

Можно вызвать сервис открытия с помощью метода GET HTTP.

УСПОКОИТЕЛЬНЫЕ вызовы API сервиса открытия

ВызватьЦель
GET Discovery Information

Узнайте функции MATLAB, развернутые на сервере

Ответ с сервера является объектом JSON.

Объект ответа JSON

 Object {;}

Архивы

 archives

Определения типов

 typedefs

Функции

 functions

Похожие темы