Для обслуживания взаимодействия с системой необходимо выполнение некоторых формальных требований:
- выход в INTERNET со скоростью от 256 кбит/с и выше;
- наличие личного кабинета в системе ЕГАИС;
- наличие аппаратного крипто-ключа с встроенным криптопровайдером PKI/ГОСТ;
- наличие усиленной квалифицированной электронной подписи;
- проинсталлированное программное обеспечение ЕГАИС (Универсальный транспортный модуль — УТМ) на компьютерном блоке, с операционной системой от компании Microsoft, версией не ниже Windows 7.
Поскольку, в данном случае мы говорим о типичном встраиваемом решении, тем более из индустрии ритейла, возникло желание в качестве платформы использовать одну из ОС семейства Microsoft Windows Embedded — POSReady 7. Windows Embedded POSReady 7 – это операционная система, выполненная на ядре Windows 7, но обладающая возможностями по встраиванию и, а также, самый экономичный на данный момент вариантом лицензирования профессиональной Windows 7 для индустрии торговли.
Теперь выбираем аппаратную платформу. Взгляд становился на компьютерных блоках с пассивным охлаждением — Intel NUC DE3815TYKE и NFD10. Впрочем это не принципиально – можно использовать и другое устройство – планшет, ноутбук и т.п.
Используя готовый дистрибутив Microsoft Windows POSReady 7 стандартным процессом производим инсталляцию ОС. Для тех, кто не знаком с этим процессом – видеоинструкция здесь.
Далее следует процедура инсталляции компонент ЕГАИС (подробно описано в видео инструкции egais.ru/news/view?id=8). В процессе мы активируем наш аппаратный ключ JaCarta, для этого получаем ключ ГОСТ, необходимый для взаимодействия с программным обеспечением «Универсальный транспортный модуль» (далее — УТМ) и получаем RSA-ключ ФСРАР. Все это подробно описано по приведенной выше ссылке.
Далее, определяем себя как организацию розничной торговли:
Рис. 1
Затем входим в личный кабинет и приступаем к инсталляции требуемых компонент:
Рис. 2
Нажимаем клавишу и ожидаем стремительного окончания инсталляции. На этапе инсталляции необходимого пакета JAVA8 возникла небольшая проблема:
Рис. 3
Значит, входящий в комплект поставки IE8 – не лучшее решение. Это не страшно. Заходим по ссылке blogs.msdn.com/b/windows-embedded/archive/2014/01/08/internet-explorer-11-optional-update-is-now-available-for-standard-7-sp1-and-posready7.aspx и выбираем операционную систему нужной разрядности:
Рис. 4
Загружаем апдейт и инсталлируем его. Убедились, что процесс прошел успешно. Возвращаемся в Личный кабинет и пробуем провести проверку снова, следуя указаниям на Рис. 2. И…. Превосходный результат — тест показывает, что инсталляция прошла успешно!
Далее на аппаратной платформе, из IE выполняем запрос: localhost:8080 и получаем следующее:
Рис. 5
Процесс закончен. Теперь мы обладаем необходимым программно-аппаратным комплексом, на который можем установить прикладное ПО, как на обычный ПК с Windows, и защитить устройство дополнительно, используя специальные возможности POSReady 7.
Однако, хотелось бы протестировать работу модуля более серьезно. Обратимся к документу; «Универсальный транспортный модуль ЕГАИС (УТМ). ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ. Техническая документация для организаций оптовой и розничной торговли.»: www.hlvz.ru/files/upfiles/documentation1_1.pdf
В указанном документе, в процессе создания тестовых запросов, широко используется утилита cURL и приводится пример ее использования: cURL -X GET localhost:8080. cURL — свободная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL: ru.wikipedia.org/wiki/CURL. Одним из вариантов является скачивания утилиты с внешних ресурсов. При этом выяснилось, что очень часто утилиты curl – представлены просто как бинарные файлы, предназначенные для сборки приложения. При еще этом надо четко понимать – для какой разрядности Вашей операционной системы Вы выбираете утилиту.
Мы воспользовались ресурсом: curl.haxx.se/gknw.net/7
Рис. 6
Так как мы использовали 32-двух разрядную версию операционной системы нам надо использовать соответствующую сборку, перейдя в нужное дерево – dist-w32. В нашем случае положительный результат тестов был получен при выборе сборки: curl-7.40.0-ssl-sspi-zlib-static-bin-w32.zip.
Исполнение тестовых команд из документа www.hlvz.ru/files/upfiles/documentation1_1.pdf показало полную работоспособность модуля УТМ.
Комментарии (15)
Delphinum
11.12.2015 22:03+5Люблю наше государство. Сначало они брыжут слюной в связи с импорто-замещением и переход на СПО, а потом заказывают ПО, работающее только на базе импортной ОСи и всеми любимого браузера.
Aclz
11.12.2015 23:29+4О чем пост? О том, что вы справились с установкой УТМ и скачали curl? Поздравляю, вы прошли 0.0001% веселой миссии под названием «Внедрение ЕГАИС». Веселье, в основном, состоит в хождении по поляне, густо посыпанной граблями, любезно раскиданным нашим государством в виде очередной прикормленной конторки «Центр-Информ», (занявшей достойное место в ряду таких компаний, как «РТ-Инвест», «МФИ-Софт» и т.д.), обеспечивающей техническое обеспечение проекта. И как водится с нашим государством, обеспечивающей его за миллионные контракты и на привычно дилетантском уровне, что программисты всея руси бьются головами об стенку от неработающих сервисов, отсутствующих и постоянно меняющихся форматов обмена данными, ужасно разработанного УТМа, написанного на кастрированном и некастомизируемом Jetty и прочими радостями. Впрочем, «алкоголиков» давно мурыжат всяческими декларациями, так что это уже лирика.
Если говорить по теме, то использовать curl (фактически в статье больше нечего обсуждать) — это худшее, что можно в этой связи придумать в целях HTTP-обмена в корпоративном документообороте (неудивительно, что этот вариант и предложил Центр-Информ). Curl — это пользовательская утилита с очень длинной бородой, тянущейся из Unix-экосистемы, она не предназначена для встраивания в корпоративные системы (хотя технически это и возможно). Если уж писать под Win, то для этого есть куча куда более удобных и надежных родных средств (да хоть пауэршелл, да хоть в том же фреймворке есть куча классов для работы с HTTP, да хоть на коленке из скриптов, написанных в блокноте, вариантов миллион).Zapped
12.12.2015 03:28+1это ещё хорошо, что cURL там приведён в качестве примера как можно посылать запрос
curl -F xml_file=@<файл> <сервер>
что даёт хоть представление, что запрос должен идти сContent-Type: multipart/form-data;...
потому как другого не описано, а curl в COM-объектах использовать — муахаха!..
а, по словам коллеги, который пилит взаимодействие с ЕГАИС, на любой неверный параметр в запросе — jetty выдаёт неинформативную белиберду…
и да, пост — ниачомAclz
12.12.2015 05:17Всё так. Кое-что пришлось даже реверсить, т.к. интегратор создал форум, но сам там не пишет. Коль скоро зашла речь об альтернативах curl'у, мы запилили хранилище XML-ек в базу MS SQL (коль скоро корпоративные 1Сы обычно и так живут в нём, плюс данная СУБД понимает колонки таблицы типа XML: входящие/исходящие XML'и можно хранить в первозданном виде напрямую в базе, докучи сразу валидируя по XSD) с закачкой-выкачкой данных через написанный к нему же родной пакет SSIS (HTTP-часть на базе System.Net.HttpWebRequest — единственный класс в .NET, умеющий слать multipart/form-data и вменяемо обрабатывать статусы, т.к. УТМ нет-нет да любит выкинуть на какой-нибудь урл 404). Из таблиц с XML-колонкой вьюхи через cross apply парсят XML'и в обычные табличные представления, с которыми работает 1С.
perfectdaemon
14.12.2015 06:04Даже ваш комментарий информативнее чем этот пост :)
cURL явно приведен в документации для примера, я с ужасом представляю себе, как кто-то реально использует его в связке со своей учетной системой.
Я тут тоже вожусь по работе с ЕГАИСом, нам нужен опт и 400 точек розницы. Взяли за основу китайские планшеты на x86 чипсетах с Windows 10. Используем самописный сервис на C#.Quarta
14.12.2015 15:17Главная задача поста – предложить путь, как легко получить работающую программно-аппаратную платформу, за конечное число шагов, с использованием операционной системы POSReady 7 и конкретных аппаратных решений. А далее, конечно, интеграция платформы в учетные системы, в корпоративный документооборот и тд и тп. Но это уже другая тема.
Quarta
14.12.2015 15:12Коллеги, цель поста – описать процесс инсталляции УТМ ЕГАИС для тех, кто использует POSReady 7 в своих ритейловых решениях. На просторах нашей Родины таких много. Взаимодействие с ЕГАИС, периодически, приводит этих пользователей в замешательство и не на все вопросы может дать ответ «киноверсия» инсталляционного процесса. Именно для них – использующих POSReady 7 – мы описали пошаговый путь, путь гарантированной установки базовых компонент ЕГАИС.
сURL – действительно тестовая утилита и мы ее использовали для тестирования получившегося решения. И в статье утилита приведена для примера. Надо же проверить инсталлированный софт?! Наш опыт показывает — есть много специалистов, которые вынуждены искать на форумах ответы – а как проверить, где взять, у меня ничего не получилось и т.п… Мы же предложили описание последовательности действий, без суеты, приводящих к получению позитивного результата тестирования.
Quarta
14.12.2015 15:02POSReady 7 – это и надежно, и функционально. И, кстати, дешевле, чем классические OS Microsoft! Надежно — есть специальные возможности повышения устойчивости встраиваемых решений (их нет в обычной, настольной версии) – Keyboard Filter, Enhanced Write Filter и т.п. Функционально — есть масса готовых возможностей для использования в ритейле (например: POS for .NET – сканеры, весы и т.п.), что дает возможность исключить использование внешних или дополнительных средств для достижения требуемого результата.
Quarta
14.12.2015 15:04Главная задача поста – предложить путь, как легко получить работающую программно-аппаратную платформу, за конечное число шагов, с использованием операционной системы POSReady 7 и конкретных аппаратных решений. А далее, конечно, интеграция платформы в учетные системы, в корпоративный документооборот и тд и тп. Но это уже совсем другая тема.
grossws
14.12.2015 21:49Количество комментариев с рекламой POSReady так велико, что я аж удивился, что вы не пишете TM или около каждого.
Delphinum
Так надежные или функциональные?
Quarta
POSReady 7 – это и надежно, и функционально. И, кстати, дешевле, чем классические OS Microsoft! Надежно — есть специальные возможности повышения устойчивости встраиваемых решений (их нет в обычной, настольной версии) – Keyboard Filter, Enhanced Write Filter и т.п. Функционально — есть масса готовых возможностей для использования в ритейле (например: POS for .NET – сканеры, весы и т.п.), что дает возможность исключить использование внешних или дополнительных средств для достижения требуемого результата.
Delphinum
Спасибо.