...

вторник, 24 декабря 2013 г.

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

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



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

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



  • заполняем таблицу по шаблону

  • перетаскиваем её в форму импорта




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

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

image


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


На видео видна загвоздка, с которой я столкнулся в процессе реализации решения:

image

возможно кто-то из пользователей уважаемого сообщества сталкивался с данной проблемой и нашёл способ её одолеть, подскажите решение в комментах.

Сертификат которым подписан Java-applet установлен на клиентской машине как trusted.


А как вы интегрируете свои SaaS решения с учетными системами заказчика?


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Комментариев нет:

Отправить комментарий