УСПОКОИТЕЛЬНЫЙ 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 путем обеспечения двух отдельных реализаций — одно использование JavaScript®
и другое использование Python®
. Когда вы выполняете этот пример, сервер возвращает список 25 разделенных от запятой значений. Этими значениями является вывод развернутой функции MATLAB mymagic
, представленный в главном столбцом формате. Код MATLAB для функции mymagic
следует.
function out = mymagic(in)
out = magic(in);
Для этого примера, чтобы запуститься, экземпляр MATLAB Production Server, содержащий развернутую функцию MATLAB должен запускаться mymagic
. Для получения дополнительной информации о том, как создать развертываемый архив, смотрите, Создают Развертываемый Архив для MATLAB Production Server. Для получения дополнительной информации о подготовке сервера смотрите, Создают Сервер.
С реализацией JavaScript УСПОКОИТЕЛЬНОГО API вы включаете скрипт в тегах <script> </script>
страницы HTML. Когда эта страница HTML открыта в веб-браузере, значения функции mymagic
возвращены. Обратите внимание на то, что серверу нужно было позволить CORS
для кода JavaScript работать. Для получения дополнительной информации смотрите cors-allowed-origins
.
Код:
Этот пример использует Python 2.x. Если вы используете Python 3.x, необходимо изменить некоторые фрагменты кода.
Код:
Чтобы изучить, как развернуть функцию 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 для асинхронного выполнения с помощью JavaScript. Когда вы выполняете этот пример, сервер возвращает список 100 разделенных от запятой значений. Этими значениями является вывод развернутой функции MATLAB mymagic
, представленный в главном столбцом формате. Код MATLAB для функции mymagic
следует.
function out = mymagic(in)
out = magic(in);
Для этого примера, чтобы запуститься, экземпляр MATLAB Production Server, содержащий развернутую функцию MATLAB должен запускаться mymagic
. Для получения дополнительной информации о том, как создать развертываемый архив, смотрите, Создают Развертываемый Архив для MATLAB Production Server. Для получения дополнительной информации о подготовке сервера смотрите, Создают Сервер.
Код:
Можно использовать сервис открытия узнать о функциях MATLAB, развернутых на сервере. Сервис открытия возвращает информацию о развернутых функциях MATLAB как объект JSON. Объект является многоуровневой вложенной структурой, и на высоком уровне отображает версию схемы открытия и список развернутых архивов. Информация о развернутых функциях MATLAB и их функциональных подписях содержится в каждом из перечисленных архивов. Для получения дополнительной информации см. Объект Ответа JSON.
Чтобы использовать сервис открытия, необходимо включить сервис открытия на сервер. Можно сделать это путем некомментария опции --enable-discovery
в файле main_config
сервера.
Чтобы получить полезную информацию при использовании сервиса открытия, необходимо включать файл JSON, содержащий функциональные подписи развернутых функций MATLAB при создании развертываемого архива. Для получения дополнительной информации смотрите, Создают Развертываемый Архив для MATLAB Production Server. Для получения информации о создании файла JSON, содержащего функциональные подписи, смотрите Подписи функции MATLAB в JSON.
Можно вызвать сервис открытия с помощью метода GET HTTP.
УСПОКОИТЕЛЬНЫЕ вызовы API сервиса открытия
Вызвать | Цель |
---|---|
GET Discovery Information |
Узнайте функции MATLAB, развернутые на сервере |
Ответ с сервера является объектом JSON.