Интеграция

Материал из SMath Wiki
(перенаправлено с «Сервис вычислений»)
Перейти к навигации Перейти к поиску

SMath Studio для организаций, при наличии соответствующей лицензии, поддерживает интеграцию с другими приложениями путём предоставления сервиса вычислений. Сервис вычислений - это процесс, который может быть запущен вызывающим приложением для немедленного выполнения вычислений. Поддерживается запуск нескольких сервисов вычислений одновременно.

Важно понимать, что сервис вычислений не прописывается в операционной системе как сервис, а его жизненный цикл полностью зависит от вызывающего приложения. Для обеспечения максимальной простоты взаимодействия с сервисом вычислений для сторонних разработчиков вместе с SMath Studio для организаций поставляется и удобный API в виде файла в установочной директории программы:

 SMath.UI.Service.Api.dll

В ОС Windows во время установки дистрибутива программы библиотека API сервиса вычислений регистрируется для взаимодействия с COM, что даёт возможность реализовать интеграцию со SMath Studio практически любому внешнему приложению.

Примеры использования API сервиса вычислений SMath Studio для разных языков программирования можно найти в открытом SVN репозитории.

Жизненный цикл сервиса вычислений

С помощью предоставляемого API работа с сервисом вычислений делится на следующие шаги:

  1. Запуск сервиса вычислений с указанием используемого порта.
    В момент запуска процесса происходит загрузка компонентов приложения, что может занаять несколько секунд, в зависимости от характеристик и производительности оборудования, а также от количества установленных в SMath Studio дополнений.
  2. Запросы на вычисление .sm файлов с указанием начальных данных и возвращением результатов вычислений.
    Вычисление расчётов происходит максимально быстро, т.к. компоненты приложения уже загружены в памяти и готовы к выполнению запросов.
  3. Завершение процесса сервиса вычислений.
    По завершении сервиса вычислений его процесс выгружается из памяти и более не ожидает взаимодействия с внешними приложениями.