Функциональная совместимость и обмен информацией между различными программными системами – в числе главных целей предприятий, которые активно применяют в своей работе CAD/CAM/CAPP/PDM-системы [1]. Многие приложения используют собственные форматы данных, что затрудняет или даже делает невозможным взаимодействие с другими приложениями. Проблема обмена информацией между различными программными системами вызывает необходимость многократного ввода одной и той же информации, что закономерно ведет к снижению производительности технологических и производственных процессов.
Постановка задачи
Для решения этой проблемы предлагается метод обмена информацией между программными системами, основанный на применении универсального интерфейса управления информаци- онными потоками на базе языка XML [2, 3]. Так, объединяя ПО в единую систему и создавая единое информационное пространство, можно облегчить и ускорить работу с программными системами технологических и производственных процессов [4]. Создание единого информационного простран- ства подразумевает, во-первых, единую базу знаний, во-вторых, универсальный интерфейс для всего ПО, используемого в производственном процессе.
Реализация универсального интерфейса подразумевает управление информационными потоками между отдельными программными средствами. По типу используемых информационных потоков в технологических и производственных процессах различают текстовые, графические и специфичные потоки [5].
В настоящее время обмен данными между отдельными программными средствами в некоторых программах автоматизированного проектирования осуществляется посредством языка STEP [6, 7]. Так, с его помощью реализован обмен данными между отдельными CAD- и CAM-программами. Однако следует отметить, что язык STEP применя- ется прежде всего для обмена данными об изделиях, что существенно ограничивает область его применения. Во-вторых, STEP-файлы плохорасширяемые, то есть при добавлении нового параметра в уже используемый файл необходимо полностью переписывать код во всех экземплярах файла. В-третьих, для освоения языка STEP работникам потребуются дополнительные знания в области программирования, но на производстве далеко не все технологи и конструкторы их имеют.
Описание метода обмена информацией между программами
Для выполнения обмена информационными потоками предлагается использовать язык XML [1], у которого нет перечисленных выше недостатков. На рисунке 1 представлен обмен информацией между тремя программами (CAPP-PDM-MES) с помощью XML. Полученные XML-документы при работе конкретной программной системы могут быть обработаны Java- или Python-приложениями для создания универсального XML-документа на основе набора унифицированных XSD-схем [8, 9].
XML-схема (XSD-документ) содержит информацию о характере данных в XML-документе, таким образом, XSD является базой знаний, содержащей метаданные [9]. С помощью универсального XML-документа можно осуществлять обмен информацией между любыми программными системами.
Передачу информации от CAPP-системы с использованием универсальных XML-документа и XSD рассмотрим на примере использования программы СПРУТ-ТП. Результатом работы с данной программой является комплект технологических документов: маршрутная карта, операционные карты, карты эскизов, контрольные карты и т.д.
Маршрутную карту (см. по ссылке http://www. swsys.ru/uploaded/image/2016-4/2016-4-dop/1.jpg) можно разграничить на две части: шапка, содержащая основную информацию по изделию, и строки, в которых описывается последовательность технологического процесса. Каждая часть, в свою очередь, состоит из областей. Так, в шапку маршрутной карты входят области «Создатели», «Главная информация», «Данные по материалу M01», «Данные по материалу M02» и «Изменения». Каждой области соответствует свой элемент XSD. На рисунке 2 показана XML-схема области «Главная информация». Она содержит поля «Обозначение номера изделия», «Обозначение основного документа» и другие.
В полях XSD отображается тип данных, например, поле «Обозначение номера изделия» имеет строковый формат (string), поле «Количество листов» – целочисленный (integer) и т.д. Помимо этого, XML-схема может содержать ограничения на вводимую информацию. Так, в поле «Литера1» может быть введена информация, состоящая только из символов А и Б.
Аналогичным образом создаются XSD операционной карты, карты эскизов и других технологических документов. На основе XSD с использованием JAXB-приложений создаются XML-документы, содержащие конкретную информацию. Таким образом, набор XSD-файлов формирует базу знаний предметной области.
Использование протокола SOAP
С целью обеспечения взаимодействия программ между собой необходимо применять про- токол SOAP, использующий для этого XML-до- кументы, называемые сообщениями SOAP [10]. Применение протокола SOAP инвариантно к используемой модели, поскольку он включает в себя только функции, необходимые для взаимодействия программ. Таким образом, SOAP не зависит от используемой платформы, и его реализация может быть осуществлена на любом языке программирования. Надо отметить, что в рамках протокола SOAP поддерживается транспортный протокол любого типа. Также протокол SOAP поддержи- вает любые методы кодирования данных, что позволяет посылать в сообщениях SOAP информа- цию любого типа. На рисунке 3 показана схема SOAP-взаимодействия.
Технологии web-сервисов включают протокол SOAP в качестве главной составляющей, обеспечивающей доставку данных. Он дает возможность поддерживать общий протокол передачи данных и отправителю, и получателю XML-документов, что обеспечивает согласованную передачу сообщений и эффективность сетевой связи. Спецификация протокола SOAP содержит соглашения по преобразованию однонаправленного обмена сообщениями с использованием принципа «запрос/ответ», а также определяет процедуру передачи всего XML-документа.
SOAP-сообщение является XML-документом и состоит из трех частей: конверт (SOAP Envelope), заголовок (SOAP Header) и тело (SOAP Body) [10].
![](phpThumb/phpThumb.php?w=300&src=//uploaded/image/2016-4/2016-4-img/48.jpg)
Представим пример с приведенной выше маршрутной картой, создав SOAP-сообщения типа «запрос» и «ответ». В теле запроса содержится всего одна строчка, в которой передается идентификационная информация о требуемом элементе (рис. 4). В нашем примере – это обозначение основного документа.
В ответ на запрос получен SOAP-ответ, который содержит XML-документ со всей информацией, хранящейся в маршрутной карте (рис. 5). Для примера показана основная информация маршрутной карты, остальная скрыта.
Таким образом, для организации информационных потоков между раз- личными програм- мными средствами рекомендуется использовать файлы в формате XML, ко-торые отображают данные в виде XML-документа и знания в виде XML-схемы. Эти файлы легко расширяемы, понятны человеку и компьютеру и потому удобны в использовании. Обмен информацией через XML-документы между программными средствами организуется с помощью SOAP-сообщений.
Предложенный метод организации информационных потоков между программными системами является универсальным с точки зрения обмена информацией и формирования знаний.
Применение метода обмена информацией между программами с помощью XML позволяет получить ряд преимуществ.
Средства разработки и стандартные библиотеки для XML существуют практически на всех платформах и для большинства популярных языков программирования. Методы работы с XML достаточно распространены, поэтому в разных системах используются одинаковые приемы. XML-информация может обрабатываться и восприниматься не только ПЭВМ, но и человеком. Интеграция по XSD формирует базу знаний предметной области. Представленная информация в формате XML не зависит от аппаратных и программных платформ, поэтому XML-формат позволяет связывать разнородные системы. К тому же высокая сте- пень выразительности XML-документа дает возможность использовать XML-технологию для описания данных практически любой сложности.
Литература
1. Лютов А.Г., Рябов Ю.В. Применение интеллектуального управления для обеспечения качества производственных процессов // СТИН. 2015. № 7. С. 2–4.
2. Старых В.А., Дунаев С.Б., Коровкин С.Д. Спецификация и форматы обмена данными в разнородных информационных системах на базе XML-технологий. Библиотека портала CIT Forum. URL: http://www.citforum.ru/internet/xml/xmltech/ (дата обращения: 10.11.2015).
3. Погорелов В.И., Щеглов Д.К., Рындин А.А. Методы обмена данными между системами поддержки жизненного цикла изделий на основе языка XML // Третьи Уткинские чтения: тез. докл. Рос. науч.-технич. конф. СПб: Изд-во БГТУ «Военмех», 2007. 171 с.
4. Скворцов А.В., Схиртладзе А.Г., Чмырь Д.А. Автоматизация управления жизненным циклом продукции: учебник для студ. ВПО. М.: Академия, 2013. 320 c.
5. Васенев К.А. Анализ информационных потоков промышленного предприятия в контроллинге // Управление компанией. 2003. № 2. С. 40–45.
6. Куликов Д.Д., Соболев С.Ф. Интеллектуальные программные комплексы для технической и технологической подготовки производства. СПб: Изд-во СПбГУ ИТМО, 2012. 80 с.
7. Хабибуллин И. Самоучитель XML. СПб: БХВ-Петербург, 2003. 333 с.
8. W3C Extensible Markup Language (XML). URL: http:// www.w3.org/XML/ (дата обращения: 10.11.2015).
9. W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures W3C Recommendation 5 April 2012. URL: http://www.w3.org/TR/xmlschema11-1/ (дата обращения: 10.11.2015).
10. Simple Object Access Protocol (SOAP) 1.1. URL: http://www.w3.org/TR/2000/NOTE-SOAP-20000508/ (дата обращения: 10.11.2015).