Веб- Инструмент с использованием RESTful API, JSON и JavaScript

В этом примере показано, как создать веб-приложение, которое вычисляет цену облигации из простой формулы. Он использует MATLAB® Production Server™ RESTful API и JSON Representation of Типы Данных MATLAB, чтобы изобразить сквозной рабочий процесс использования MATLAB Production Server. Этот пример запускается путем ввода следующих известных значений в веб-интерфейс:

  • Номинальное значение (или значение облигации на срок) - M

  • Выплата купона - C

  • Количество платежей - N

  • Процентная ставка - i

Приложение рассчитывает цену (P) на основе следующего уравнения:

P = C * ( (1 - (1 + i)^-N) / i ) + M * (1 + i)^-N
Используйте ползунки в веб-приложении, чтобы оценить различные облигации.

Шаг 1: Запись кода MATLAB

Напишите следующий код в MATLAB для ценовых облигаций. Сохраните код с помощью имени файла pricecalc.m.

function price = pricecalc(face_value, coupon_payment,...
                           interest_rate, num_payments)
    M = face_value;
    C = coupon_payment;
    N = num_payments;
    i = interest_rate;
    
    price = C * ( (1 - (1 + i)^-N) / i ) + M * (1 + i)^-N;

Шаг 2: Создайте развертываемый архив с помощью приложения Production Server Compiler

Чтобы создать развертываемый архив для этого примера:

  1. На вкладке Apps выберите Приложение Production Server Compiler.

  2. В списке Application Type выберите Deployable Archive.

  3. В поле Exported Functions добавить pricecalc.m.

  4. В разделе Archive information измените pricecalc на BondTools.

  5. Нажмите Package.

Сгенерированный развертываемый архив, BondTools.ctf расположен в for_redistribution папка проекта.

Шаг 3. Поместите развертываемый архив на сервер

  1. Загрузите среду MATLAB Runtime, если необходимо, в https://www.mathworks.com/products/compiler/mcr. Дополнительные сведения см. в разделе Поддерживаемые версии MATLAB Runtime (MATLAB Production Server).

  2. Создайте сервер, используя mps-new. Дополнительные сведения см. в разделе Создание образце сервера (MATLAB Production Server). Если вы еще не настройка окружения сервера, см mps-setup (MATLAB Production Server) для получения дополнительной информации.

  3. Если вы еще не сделали этого, укажите местоположение MATLAB Runtime на сервере путем редактирования файла строения сервера main_config и определение пути для --mcr-root. Для получения дополнительной информации см. раздел «Настройка сервера» (MATLAB Production Server).

  4. Запустите сервер с помощью mps-start (MATLAB Production Server) и проверьте, работает ли он с mps-status(Производственный сервер MATLAB).

  5. Скопируйте BondTools.ctf файл к auto_deploy папка на сервере для хостинга.

Шаг 4: Включите совместное использование ресурсов (CORS) для разных Origin на сервере

Включите совместное использование ресурсов (CORS) через файл строения сервера, main_config и определение списка области источников, из которых могут быть сделаны запросы к серверу. Для примера установите cors-allowed-origins опция для --cors-allowed-origins * позволяет запросам из любой области получить доступ к серверу. См. cors-allowed-origins (MATLAB Production Server) и Настройка сервера (MATLAB Production Server) для получения дополнительной информации.

Шаг 5: Запись кода JavaScript с помощью RESTful API и JSON

Написание следующего JavaScript® код с использованием RESTful API и JSON Representation of Типы Данных MATLAB в качестве руководства. Сохраните этот код как файл JavaScript с именем calculatePrice.js.

Код:

 calculatePrice.js

Шаг 6: Встраивайте JavaScript в HTML код

Встройте JavaScript с предыдущего шага в следующий HTML кода с помощью следующего синтаксиса:

<script src="calculatePrice.js" type="text/javascript"></script>

Сохраните этот код как HTML с именем bptool.html.

Код:

 bptool.html

Шаг 7: Запуск примера

Подтвердите, что сервер с развернутой функцией MATLAB работает. Откройте HTML файла bptool.html в веб-браузере. Цена облигаций по умолчанию NaN поскольку значения еще не введены. Попробуйте следующие значения, чтобы оценить облигацию:

  • Номинальное значение = $1000

  • Выплата купона = $100

  • Количество платежей = 5

  • Процентная ставка = 0.08 (Соответствует 8%)

Получившаяся цена облигаций составляет $1079,85.

Используйте ползунки в инструменте цены различных облигаций. Изменение процентной ставки приводит к наиболее резкому изменению цены облигации.

Похожие темы