Описание формата и структуры входных и выходных файлов. Выбор языка программирования и Perl модуля для генерации документов в формате pdf. Валидация почтового адреса. Процесс создания алгоритма обработки данных. Структура штрихкодового идентификатора.
Аннотация к работе
Разрабатываемая система позволит самостоятельно формировать почтовые отправления по заданному макету, а также создавать отчетную документацию, электронные списки для ПО «Партионная почта», отчет для клиента о количестве отправленных писем и присвоенных им кодах ШПИ (штриховой почтовый идентификатор). Данные устройства принимают на вход файлы только в формате afp. Поэтому для обработки почтовых отправлений, необходимо ПО, которое может создавать файлы в формате Advanced Function Presentation (afp). В основном, ПО использовалось для простой конвертации pdf файлов в формат afp. Программный продукт может создавать отчетную документацию, имеет возможность рассылки отчетов на E-Mail, факс; может наносить на отправления бар-коды, OMR метки для реза, автоматически распределять задания между печатающими машинами, сортировать и группировать отправления по разным признакам, архивировать обработанные данные.Произведен обзор существующих решений для формирования и подготовки к печати почтовых отправлений. Изучены руководящие технические материалы, содержащие требования Почты Росси к оформлению почтовых отправлений. Проведен обзор языков программирования высокого уровня, в результате которого был выбран язык Perl. Выбраны общедоступные модули для формирования файлов формата pdf, работы с сокетами, многопоточной обработки данных, работы с файлами в формате Microsoft Excel, работы с файлами XML. Модули можно использовать для обработки данных любого клиента, что значительно упрощает создание новых систем обработки данных.
План
Примерное содержимое файла:
Введение
Обработкой и печатью партионных отправлений занимается ЦГП - филиал ФГУП «Почта России». Одним из клиентов филиала ЦГП (Центры гибридной почты) является компания ОАО «Ростелеком». ОАО «Ростелеком» рассылает коды активации учетных записей с сайта. Код активации отправляется заказным письмом, которое является регистрируемым почтовым отправлением с нанесением на отправление штрихкодового почтового идентификатора (ШПИ) для отслеживания сроков прохождения почтового отправления. Обработкой отправлений занимается аутсорсинговая компания. Работа со сторонней компанией влечет риск утечки персональных данных, а также накладывает дополнительные финансовые расходы на филиал ЦГП. Обработка и формирование отправлений силами филиала позволит сократить сроки обработки и отправки писем, разгрузит операторов печати в цехе от неэффективной работы по ручному созданию отчетов, а также уменьшит затраты на производство.
Разрабатываемая система позволит самостоятельно формировать почтовые отправления по заданному макету, а также создавать отчетную документацию, электронные списки для ПО «Партионная почта», отчет для клиента о количестве отправленных писем и присвоенных им кодах ШПИ (штриховой почтовый идентификатор).
1. Аналитический обзор аналогичных программных продуктов
Среди компьютерного программного обеспечения есть большое количество программных продуктов, предназначенных для обработки файлов и формирования отправления, на основе макета. В компании имеется два типа печатающих устройств: листовые машины и рулонные. Печать большого количества отправлений обычно осуществляют на рулонной машине, т.к. скорость печати на ней выше, а себестоимость одного отпечатка ниже. В компании установлены рулонные печатающие устройства фирмы IBM. Данные устройства принимают на вход файлы только в формате afp. Это специальный потоковый формат печати, разработанный компанией IBM. Поэтому для обработки почтовых отправлений, необходимо ПО, которое может создавать файлы в формате Advanced Function Presentation (afp).
Рассмотрим некоторые программные продукты, предназначенные для формирования почтовых отправлений.
1. DOCBRIDGE Mill от компании Compart [1]. Программное обеспечение состоит из нескольких компонентов: · DOCBRIDGE Mill WORKBENCH. Графическая среда для создания схем преобразования данных. Используется для отрисовки схем, по которым будет производиться преобразование данных, упаковки этих схем в формат mia для последующего использования в продукте DOCBRIDGE Mill Server.
· DOCBRIDGE Mill Server. Программное обеспечение, устанавливаемое в системе в качестве демона (программа, работающая в фоновом режиме). В данном продукте возможно реализовать «горячие папки», в одну папку складываются исходные файлы, а в другой папке после обработки появляются готовые файлы. Для настройки горячей папки, в ПО загружается схема преобразования данных, созданная с помощью DOCBRIDGE Mill WORKBENCH, а также указываются пути к папкам для входных и выходных файлов. Доступ к настройкам ПО осуществляется через web интерфейс.
· Cpmcopy. Консольная утилита, предназначенная в основном для конвертации файлов из одного формата в другой.
Продукт заявлен как универсальный обработчик документов. Предназначен он для обработки данных и создания на основе шаблона, готовых отправлений. В качестве входных форматов может принимать как xml, xsl-fo, pdf, data-file, csv, так и множество других форматов, на выходе получаются файлы формата afp, pdf, csv. ПО было куплено в компании и использовалось для формирования отправлений некоторых клиентов. В основном, ПО использовалось для простой конвертации pdf файлов в формат afp. Возможные форматы, а также количество используемых для обработки ядер процессора, лицензируется и покупается отдельно. В компании была приобретена лицензия на 1 ядро, входные форматы: pdf, xsl-fo; выходной формат: afp. Главными недостатками Docbridge Mill являются: · Невозможность создания отчетной документации, электронных списков для прогрузки в ПО «Партионная почта».
· Невозможность нанесения на отправления специальных меток реза (OMR метки, DATAMATRIX).
· Необходимость лицензирования каждого используемого ядра процессора.
· Невозможность работы с данными в формате xml.
· Невозможность сортировки почтовых отправлений по индексам во время обработки.
2. Bta Print Machine от компании ITS Neopost [2]. Программное обеспечение от Neopost специально предназначено для обработки почтовых отправлений. ПО легко интегрируется в корпоративную сеть, автоматически принимает исходные данные из различных баз данных. Для написания программ, в Bta Print Machine используется язык, похожий на Visual Basic. В качестве форматов исходных данных можно использовать: xml, текстовые файлы, csv. На выходе получаются форматы: PCL, PDF, PS, TIFF, AFP. Программный продукт может создавать отчетную документацию, имеет возможность рассылки отчетов на E-Mail, факс; может наносить на отправления бар-коды, OMR метки для реза, автоматически распределять задания между печатающими машинами, сортировать и группировать отправления по разным признакам, архивировать обработанные данные. Основным недостатком продукта является его высокая цена, а также необходимость интеграции всех цехов и печатающих устройств в единую сеть и закупку на все станции данного ПО. В данный момент объединение всех печатающих устройств и рабочих станций, используемых для печати отправлений, невозможно по соображениям информационной безопасности.
3. Комплексное решение от компании GMC [3]. Компания GMC занимается разработкой программного обеспечения, предназначенного для обработки персонифицированных данных. GMC предлагет множество программных продуктов, таких как: · Inspire Designer. Обладает многофункциональным интерфейсом для создания высококачественных, персонализированных документов прямого маркетинга, деловой документации и документов по требованию. Выполняется ввод данных, импортирование проектов, подготовка данных, проектирование и многосложный графический макет страниц.
· Inspire Print Output. Осуществляет всеобъемлющую поддержку потока данных печати документов, включая Advanced Function Presentation™ (AFP™), POSTSCRIPT, PCL, Metacode, XML и PDF.
· Inspire Automator. Осуществляет выполнение разнообразных операций, таких как отправка документов по email, верификация данных посредством web-сервера, загрузка данных с/на ФТП сервер, в автоматическом режиме.
Для выполнения требуемого функционала по подготовке писем и отчетной документации для нашей компании, потребуется приобрести два программных продукта: Inspire Designer и Inspire Automator. Система имеет возможность расширения, за счет покупки дополнительных модулей. Есть возможность написания дополнительных модулей/функций на языке Java. Главным недостатком данной системы является ее высокая стоимость (ок. 1 млн. евро).
Сравнительная характеристика продуктов представлена в таблице 1.
Таблица 11 - Сравнение различных продуктов для формирования почтовых отправлений
Название системы Возможность получения формата afp на выходе Возможность создания отчетной документации Стоимость системы Простота в использовании Возможность валидации адреса, используя запросы к web-сервису
DOCBRIDGE Mill - - -
BTA PRINTMACHINE - -
GMC Inspire -
На рынке ПО для печати и подготовки почтовых отправлений нет большого количества программных продуктов. Многие компании заказывают разработку программного продукта «под себя». Как видно, из таблицы 1, основным недостатком готовых программных решений для обработки данных является их стоимость, а также в некоторых случаях негибкость системы, невозможность настройки под определенные задачи.
Среди рассмотренных систем, только система GMC Inspire имеет возможность удовлетворить все требования к функционалу системы. Главным недостатком данной системы является ее высокая цена, а также необходимость объединения всех цехов в единую сеть. На данном этапе развития филиала ЦГП, нет технической возможности реализовать объединение всех цехов компании в единую сеть. Без объединения в единую сеть, система может обрабатывать данные локально на каждом ПК, но тогда встает проблема синхронизации данных, создания единых отчетов, подсчета затрат на печать.
В компании идут процедуры покупки и установки ПО GMC Inspire, а также настройки оборудования, но данный процесс займет, по крайней мере, не менее года, поэтому на данном этапе было решено разработать собственную систему подготовки печатных отправлений.
2.
Формирование требований к системе
2.1 Описание формата и структуры входных файлов
2.1.1 Дизайн-макет отправления
Клиент предоставляет дизайн-макет почтового отправления. Для передачи дизайн-макетов используются композитные PDF файлы, соответствующие стандарту PDF/x-1a.
Требования к макету
· Размер документа должен соответствовать обрезному формату издания.
· Во избежание появления муара и зубчатости все изображения должны быть заверстаны в 100%-м масштабе.
· Все шрифты должны быть представлены в формате TRUETYPE или POSTSCRIPT Type 1.
· Разрешение изображений 600-1200 dpi.
· Все элементы дизайн - макета документов должны быть выполнены в цветовых пространствах CMYK или Grayscale.
· Значащие элементы дизайн - макета документов должны быть расположены не ближе 5 мм относительно линий реза, фальцовки и перфорации.
· Размер макета: А4 (210х297мм).
Большинство полей в макете являются статическими, т.е. они присутствуют во всех письмах, отправляемых клиентам. Поля, содержимое которых уникально для каждого клиента называются полями персонализации.
В макете несколько полей персонализации: · Фамилия, имя, отчество клиента.
· Код активации.
· Адресный блок.
· Код ШПИ.
· Поле служебной информации (содержит имя файла, дату отправки, порядковый номер отправления в файле).
Внешний вид дизайн - макета документа представлен в приложении А.
2.1.2 Формат файла данных
Клиент передает нам файл, зашифрованный при помощи ПО Верба. Основным каналом обмена данными предполагается обмен данными по телекоммуникационным каналам по протоколу FTP/FTPS. Расшифровкой файла занимаются администраторы в цехе, расположенном в Подольском АСЦ (автоматический сортировочный центр). После расшифровки, получается архив формата zip, внутри которого располагаются файлы в формате xml. Один файл содержит не более 500 клиентов, при количестве отправлений более 500, данные размещаются в нескольких файлах. Кодировка файла: UTF-8.
Файл имеет древовидную структуру. Примерный вид файла:
*****
Жерлицин
Александр
Сергеевич
********
101000
17
65
……
Корневым элементом документа является элемент с именем . Данные клиентов располагаются в элементах . userid - код клиента lastname - фамилия firstname - имя middlename - отчетство code - код активации (наносится в теле почтового сообщения) zip - почтовый индекс region - название региона district - область city - город street - улица bulding1 - дом bulding2 - строение bulding3 - корпус apartment - квартира
Данные в элементах region, district, city, street закодированы в HTML Entities. Каждому символу слова соответствует соответствующий цифровой код, который записывается в виде сущности &#;. Например буква "Ю", закодированная в HTML Entities будет выглядеть как &2E;, причем кодируются не все символы, а только символы со 128-255 номера из таблицы ASCII. Все перечисленные сущности должны присутствовать в исходном документе, даже если адрес не содержит квартиры, то элемент apartment должна быть в документе.
Формат именования файла
XXXFILYYMMDDNNNN.ZIP, где XXX - код клиента (любая трехбуквенная последовательность из латинских букв). Для клиента ОАО «Ростелеком» принимает значение RTK.
FIL - код филиала/подразделения предприятия (например MOS)
YYMMDD - дата в формате последние две цифры года, номер месяца и число из двух цифр (если значение месяца или числа содержит менее двух цифр, требуется дополнить их ведущими нулями до нужного количества символов)
NNN - порядковый номер файла в день
.ZIP - признак архивного файла
Для обмена данными используется внутренний ftp сервер ФГУП «Почта России». Клиент заблаговременно предупреждает о размещении файлов на ftp. Пример уведомления: ОАО «Ростелеком»
Подтверждение успешной приемки.
Имя файла: RTKMOS1502060000.zip
Идентификатор: 001-000-245
Дата приемки: 21.03.2015 09:15:43 UTC
2.2 Описание формата и структуры выходных файлов
На выходе программа должна формировать следующие файлы: 1. Файлы для печати почтовых отправлений
2. Списки для загрузки данных в ПО Партионная почта
3. Акт приема-передачи данных
4. Список соответствия id клиента и присвоенного ему ШПИ
5. Печатные списки формы 103
2.2.1 Файлы для печати почтовых отправлений
Формат файла: afp
Количество документов в файле: не более 500
Формат имени файла: ymmddnn.afp, где ymmdd - дата формирования файла nn - порядковый номер файла за текущий день
Необходимо сформировать спул печатных файлов для передачи непосредственно в печатный цех. Получить файлы в формате afp можно при помощи ПО DOCBRIDGEMILL, путем конвертации из формата pdf. При конвертации необходимо указать Form Definition в параметрах программы.
Form Definition - это правило раскладки полученного файла на печатном рулоне. При помощи него определяется формат отпечатка, его ориентация, формат печати (односторонний, двухсторонний), расположение отпечатка на бумаге. Используя таблицу соответствия (Form Definitions and Page Definitions Supplied with Infoprint), получим название требуемого Form Definition: F1N20010[4].
2.2.2 Списки для загрузки данных в ПО Партионная почта
Формат файла: ini, txt
Формат имени файла: Соответствует формату имени файла для печати почтовых отправлений, только имеет формат zip
Списки представляют из себя два файла, упакованные в архив формата zip. Оба файла имеют одинаковое имя, за исключением того, что в конце имени файла формата ini пишется буква "h".
Первый файл формата ini содержит в себе общую информацию об отправлениях: категория отправления, ИНН клиента, количество отправлений, общий вес отправлений, цена отправлений.
Вывод
В ходе дипломного проектирования были решены следующие задачи: 1. Произведен обзор существующих решений для формирования и подготовки к печати почтовых отправлений. Произведен анализ достоинств и недостатков существующих систем.
2. Изучены руководящие технические материалы, содержащие требования Почты Росси к оформлению почтовых отправлений.
3. Проведен обзор языков программирования высокого уровня, в результате которого был выбран язык Perl.
4. Выбрана СУБД MYSQL для хранения данных. Спроектирована общая структурная схема данных и связей таблиц в БД.
5. Выбраны общедоступные модули для формирования файлов формата pdf, работы с сокетами, многопоточной обработки данных, работы с файлами в формате Microsoft Excel, работы с файлами XML.
6. Разработаны основные модули для формирования почтовых отправлений и создания сопроводительной документации (актов приема-передачи данных, отчета для клиента, списков по ф. 103). Модули можно использовать для обработки данных любого клиента, что значительно упрощает создание новых систем обработки данных.
7. Проведено автоматическое тестирование системы, проверено поведение системы в нестандартных ситуациях (неверный формат данных, неверная структура данных, недоступность сервера валидации данных).
8. Разработана общая схема работы системы.
9. Проведено тестирование скорости работы системы, выявлены «узкие» места.
10. Разработана документация к системе - руководство пользователя, текст программы.
11. В разделе «Охрана труда» изучено вредное влияние ПК на человека и проведено исследование механизмов утилизации компонентов ПК в России и на Западе.
После решения всех поставленыых задач, была достугнута цель дипломного проектирования - разработать систему обработки данных, которая позволяет
· Обрабатывать поступающие от клиента ОАО «Ростелеком» данные и формировать на основе заданного макета почтовые отправления готовые к печати и упаковке в конверты.
· Создавать сопроводительную документацию на обработанные данные и автоматически рассылать их, посредством электронной почты, всем задействованным в процессе сотрудникам.
· Получать уведомления об ошибках в работе программы, посредством протокола XMPP на любой Jabber клиент.
· Автоматизировать работу операторов связи в цехах производства.
· Формировать отчет для клиента об отправленных письмах.
Список литературы
11. Compart - информация о продукте DOCBRIDGEMILL. Официальный сайт компании compart
22. ITS neopost - информация о продукте BTA Print Machine. Официальный сайт компании ITS neopost
33. GMC Inspire - информация о продукте GMC Inspire Designer. Официальный сайт компании GMC
44. Таблица выбора FORMDEFINITION
55. Руководящий технический материал ФГУП «Почта России». «Коды и атрибуты почтовых отправлений». РТМ 0002.11-14. Москва, 2014.
66. Основные характеристики СУБД MYSQL / MYSQL Одобрено лучшими российскими программистами
77. PHPMYADMIN - Википедия / Википедия.
88. Макконел С. Совершенный код. Мастер-класс / Пер. с англ. - М.: Издательско-торговый дом «Русская редакция»; СПБ.: Питер, 2005. - 896 стр. ISBN 5-7502-0064-7 ISBN 5-469-00822-3 стр. 59
99. Уолл Л., Кристиансен Т., Орвант Д. Программирование на Perl, 3-е издание. - СПБЖ: Символ-Плюс, 2010 стр. 23.
1010. Уолл Л., Кристиансен Т., Орвант Д. Программирование на Perl, 3-е издание. - СПБЖ: Символ-Плюс, 2010 стр. 4.
1111. Шварц Р., Феникс Т., брайан д фой. Изучаем Perl, 5-е издание . - Пер. с англ. - СПБ: Символ-Плюс, 2009. - 384 с., ил. ISBN: 978-5-93286-154-7, стр. 25
1212. Wine - Википедия. / Википедия.
1313. CAM::PDF - PDF manipulation library
1414. PDF::API2 - Facilitates the creation and modification of PDF files / metcpan.org
1515. PDF::Reuse - Reuse and mass produce PDF documents / metcpan.org
1616. КЛАДР - Википедия. / Википедия.
1717. Руководящий технический материал ФГУП «Почта России». Структура штрихкодовой идентификации почтовых отправлений. РТМ 0001.01.99 от 11.02.2000
1818. Тидуэлл Д. XSLT, 2-е издание. - Пер. с англ. - СПБ.: Символ-Плюс, 2010. - 960 с., ил. ISBN: 978-5-93286-150-9 стр. 19.
1919. XMPP - Википедия. / Википедия.
2020. Идентификатор процесса / Википедия
2121. Надежность программного средства по ГОСТ 28806-90 / Термины и определения из ГОСТОВ
2222. Завершенность программного средства по ГОСТ 28806-90
2424. Восстанавливаемость программного средства по ГОСТ 28806-90 / Термины и определения из ГОСТОВ
2525. Требования охраны труда при работе на персональных электронно вычислительных машинах. 2 е изд., перераб. и доп. М. : Издательство «Альфа-Пресс» 2008. ISBN 978 5 94280.