Как мы интегрируем SaaS решение с учетной системой заказчика

    На этапе проектирования сервиса мы приняли решение: интеграция сервиса должна быть максимально простой и не требовать от бизнеса установки утилит и тем более изучения нашего API. Пользователь, который принимает решение об использовании ПО на предприятии, должен максимально быстро импортировать свои данные в сервис, обработать их и увидеть результат. С другой стороны при ежедневной работе интеграция должна выполнятся в один клик и не требовать заполнения дополнительных форм.

    Поскольку мы не встречали заказчиков, у которых нет Excel, то для первого случая мы выбрали именно его. В будущем мы планируем добавить поддержку Calc (OpenOffice, LibreOffice) и несколько облачных решений, таких как Google SpreadSheet и MS Excel Web App. Заполнение электронной таблицы для бизнес пользователя максимально удобно и занимает минимум времени.

    Алгоритм интеграции очень простой, его техническую реализацию мы описывали тут:
    • заполняем таблицу по шаблону
    • перетаскиваем её в форму импорта

    Для второго случая требуется решение, которое могло бы установить соединение с СУБД заказчика и выполнить экспорт и импорт данных. Наш опыт подсказывал написать утилиту, которая бы вызывала методы API сервиса с одной стороны и API учётной системы с другой. Задача достаточно проста для реализации, но не удобна в использовании, т.к. пользователь должен переключится с Web-браузера на утилиту, что-то нажать, вернуться назад и обновить интерфейс. Мы остановились на Java-applet. По-моему, это единственное решение, которое позволяет установить соединение с промышленными СУБД прямо в браузере, так сказать мост между мирами. От заказчика в данном случае требуется создать на сервере СУБД две хранимые процедуры для импорта и экспорта соответственно, завести пользователя, у которого будут права на их запуск, и указать это всё в параметрах настройки SaaS. Единственный отрицательный момент такого решения — выполнять такой обмен пользователь сможет только находясь в рабочей сети, т.к. сервер доступен по обычному (внутреннему) имени.

    В архитектуре сервиса это выглядит вот так:
    image

    А вот видео как процесс выглядит на сервисе:


    На видео видна загвоздка, с которой я столкнулся в процессе реализации решения:
    image
    возможно кто-то из пользователей уважаемого сообщества сталкивался с данной проблемой и нашёл способ её одолеть, подскажите решение в комментах.
    Сертификат которым подписан Java-applet установлен на клиентской машине как trusted.

    А как вы интегрируете свои SaaS решения с учетными системами заказчика?
    Метки:
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 2
    • 0
      Вот тут на Хабре совсем недавно был детальный разбор проблем с подписыванием апплетов. У меня эта статья в закладках, и вам советую…

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.