Возможности:
В связи с тем, что проект является профессиональным и узконаправленным, добавляем расшифровку основных аббревиатур, используемых в тексте:
Реализовать на платформе 1С-Битрикс: Управление сайтом сервис NPF, Реализовать авторизацию операторов НПФ с помощью ключей ЭЦП, организовать генерацию сертификатов для ПФР и сделать новую версию API для клиентских приложений, оставив обратную совместимость с старыми продуктами, работающими с сервисом NPF.
Первая версия проекта была написана на языке Python и выполняла основные задачи по автоматизации передачи заявлений физических лиц от негосударственных пенсионных фондов в пенсионный фонд России. Заявления подтверждались электронной подписью с помощью РУТОКЕН, имеющегося у каждого НПФ, имела своё API, но была неудобна в работе в связи с особенностями поддержки проекта на языке Python и развитием технологий в IT индустрии, поэтому было принято решение реализовать проект на более популярной платформе с более распространенным языком программирования.
Для создания проекта была выбрана платформа «1С-Битрикс» версии Стандарт, для которой требовалось реализовать следующий функционал:
Задача получилась функционально насыщенной и очень интересной для нас. Мы взялись за дело.
Мы начали сбор информации у клиента о том, как работает продукт, а также о его основных алгоритмах, пользовательских сценариях и ожидаемых результатах работы.
Параллельно, для реализации проекта был предоставлен исходный код первой версии системы, на языке Python. Наши программисты внимательно его изучали для понимания технических нюансов работы сервиса, который нам предстояло заново создать.
В результате работы по сбору логической и технической информации, мы составили основной алгоритм работы главного модуля, а также наборы действий для работы дочерних модулей приложения, и все действия пользовательских сценариев вывели в виде прототипов.
Для прототипирования использовался продукт от Axure, который позволяет делать динамические прототипы. С его помощью можно быстро и удобно воссоздать логическое представление проекта.
В рамках динамического прототипирования, каждый шаг работы оператора НПФ корректировался и совершенствовался до получения удобной и функциональной рабочей модели. Разработка происходила с учетом пользовательского опыта, собранного командой EKEY.RU в процессе использования первой версии.
Прототип главной страницы проекта сделан максимально легким в плане функциональности.
После успешного проектирования началась разработка дизайна для проекта.
Каждый макет обсуждался с клиентом на предмет легкой и удобной верстки, для максимального облегчения выполнения задачи оператором системы. Обязательные для ввода поля получили проверку на правильность введенных данных, необязательные поля проверяются только на соответствие типа данных.
Для SMS-подтверждения были написаны тексты сообщений на несколько видов событий.
Для хранения данных были созданы highload-блоки. В них хранится информация о всех заявлениях и клиентах.
Из составленных блок-схем был разработан уникальный код, который был интегрирован в платформу 1С-Битрикс: Управление сайтом.
Для написания элемента «авторизация в системе», нашей команде потребовалось изучить принципы работы Ключей ЭЦП, а также разобрать API системы РУТОКЕН. Вход на сайте NPF должен происходить с помощью физического usb-носителя – «токена», на котором находится сертификат для авторизации. Это решение позволяет увеличить удобство для оператора, которому не требуется вводить стандартную пару «логин-пароль». Для входа в систему по физическому токену необходимо знать его PIN, т.е. в случае кражи токена, злоумышленник не сможет попасть в систему, если он не знает нужную комбинацию.
Были разработаны формы для работы с данными, которые становятся доступны только после авторизации.
Для операторов было создано несколько прототипов – «шагов» для формирования заявки в ПФР.
Прототип страницы, позволяющий оператору заполнить заявку на перевод клиента из ПФР в НПФ или из одного НПФ в другой, в который пришел пользователь.
У каждого оператора свой набор НПФ, от лица которых он может отправлять на переоформление пользователя.
При вводе полей СНИЛС и ИНН проверяется не только формат заполнения, но и контрольная сумма. В случае, если в полях контрольная сумма не сходится – оператор видит сообщение о ошибке.
Некоторые поля обязательны для подтверждения и без них сохранение формы будет невозможно.
Заполнение полей E-mail и номер телефона проверяется в соответствии с правилами заполнения этих полей. В поле e-mail учтена ситуация, когда логин (до @) может состоять из одного символа.
Файлы документов загружаются особым образом – на отдельный сервер и посредством своего API.
Все заполненные заявления попадают сюда. Отсюда можно сформировать PDF-файл, который передается в Пенсионный Фонд России. Формирование возможно только в случае полного и корректного заполнения всех полей, а также подтверждения операции по SMS, отправляемой на телефон физического лица – заявителя.
Фильтр реализован по ряду критериев, состоящих из полей формы заявления, которые можно использовать как вместе, так и по отдельности. В списке выводятся все заявки, сделанные оператором под определенным токеном, а также текущий статус заявки и другая полезная информация.
Также команда Itees настроила серверное оборудование, на котором установлен 1С-Битрикс с функционалом NPF. Для качественной работы была установлена ОС на базе ядра LINUX, установлены необходимые для работы Web-сервиса пакеты. Для генерации сертификатов был установлен пакет openSSL и подключены плагины, позволяющие производить шифрование алгоритмами, указанными в ГОСТ.
Клиентские приложения NPF используют API, которое было создано и входило в состав сервиса, написанного на Python, а поскольку клиент решил отказаться от Python и при этом нельзя было потерять эту функциональность, то перед нами встала задача реализовать API на 1С-Битрикс: Управление сайтом, причем организовав обратную совместимость со старыми приложениями, и дать возможность развития для новых продуктов.
Мы собрали информацию о работе в API старого продукта, и начали реализацию сервиса. Мы воссоздали сценарий авторизации, добавили определение версии, оставили все текущие поля для обратной совместимости со старой версией, и добавили новые для расширения возможностей. API научилось отвечать как в формате XML, так и в JSON. У него появились функции добавления и обновления данных о клиенте, а также модификации списка клиентов.
Также для удобства работы был подготовлен список НПФ с идентификаторами, для облегчения работы с запросами. Субъекты РФ были представлены в форме автомобильных кодов регионов. Республика Крым получила код 91, а город Севастополь – 92.
Создание новой системы управления позволило упростить работу пользователей системы. Новая система стала легкой как с точки зрения повседневного использования, так и её дальнейшего развития. Мы полностью перенесли весь необходимый функционал и сделали красивую оболочку.
Десятки операторов НПФ подают сотни заявок для перевода пенсионных накоплений граждан из ПФР в НПФ посредством удобного сервиса с Web-интерфейсом. Проверка прав доступа осуществляется с помощью ключей РУТОКЕН, что позволяет обезопасить личные данные граждан от несанкционированного доступа. И главное: мы решили проблему клиента, связанную с невозможностью дальнейшего развития сервиса и с наличием неудобств в работе с существующим сервисом. Система 1С-Битрикс позволила улучшить производительность работы сервиса и упростить развитие продукта, давая новые возможности для увеличения доходов компании.