Интеграция

Материал из SMath Wiki
Версия от 14:53, 21 августа 2024; Andrey.Ivashov (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

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. Завершение процесса сервиса вычислений.
    По завершении сервиса вычислений его процесс выгружается из памяти и более не ожидает взаимодействия с внешними приложениями.