Научная статья на тему 'Применение технологии websocket в web-приложениях технологического назначения'

Применение технологии websocket в web-приложениях технологического назначения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
922
116
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АСТПП / WEBSOCKET / ОПТИМИЗАЦИЯ / OPTIMIZATION / СОВМЕСТНАЯ РАБОТА / ПЛАНИРОВКИ ПРОИЗВОДСТВ / САПР ТП / ТИС-ПРОЦЕСС / CAPP / COLLABORATION / PRODUCTION PLANNING / TIS-PROCESS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шестаков В.С., Сагидуллин А.С.

Для решения задачи повышения эффективности передачи данных в webприложения, реализующие совместную работу нескольких пользователей над одним проектом, исследована технология websocket. Выявлено основное преимущество этой технологии осуществления сетевой связи между клиентом и сервером по сравнению с наиболее часто используемыми технологиями http и ajax. Преимущество заключается в отсутствии необходимости прикрепления к каждому запросу заголовка с информацией для распознавания сервером. Применение технологии websocket позволило значительно повысить эффективность передачи данных благодаря уменьшению размеров запросов за счет отсутствия заголовка.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Шестаков В.С., Сагидуллин А.С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Using websocket technology in web-applications of technological destination

The use of websocket technology to development of web-based applications of technological destination is considered. The basic advantage of the technology over the technologies in current use (http and ajax) is shown to be the lack of duplicated information in the request header, the advantage makes it possible to improve the data transfer efficiency.

Текст научной работы на тему «Применение технологии websocket в web-приложениях технологического назначения»

328

В. С. Шестаков, А. С. Сагидуллин

УДК 658.512.011.56 DOI: 10.17586/0021-3454-2015-58-4-328-330

ПРИМЕНЕНИЕ ТЕХНОЛОГИИ WEBSOCKET В WEB-ПРИЛОЖЕНИЯХ ТЕХНОЛОГИЧЕСКОГО НАЗНАЧЕНИЯ

В. С. Шестаков, А. С. Сагидуллин

Университет ИТМО, 197101, Санкт-Петербург, Россия E-mail: shestakoffvs@gmail.com

Для решения задачи повышения эффективности передачи данных в web-приложения, реализующие совместную работу нескольких пользователей над одним проектом, исследована технология websocket. Выявлено основное преимущество этой технологии осуществления сетевой связи между клиентом и сервером по сравнению с наиболее часто используемыми технологиями http и ajax. Преимущество заключается в отсутствии необходимости прикрепления к каждому запросу заголовка с информацией для распознавания сервером. Применение технологии websocket позволило значительно повысить эффективность передачи данных благодаря уменьшению размеров запросов за счет отсутствия заголовка.

Ключевые слова: АСТПП, websocket, оптимизация, совместная работа, планировки производств, САПР ТП, ТИС-Процесс.

Информационные технологии внедрились во все сферы деятельности человека, применение новых технологий позволяет находить новые способы решения задач либо повышать эффективность существующих методов. В связи с этим использование новых информационных технологий при решении технологических задач является одним из приоритетных направлений в исследованиях, проводимых на кафедре ТПС. В частности, изучается транспонирование приложений технологического назначения из ,,десктопной“ среды (приложение функционирует в среде операционной системы компьютера) в браузерную (приложение функционирует только в среде браузера) [1, 2]. Подробнее о специфике web-ориентированного проектирования приложений технологического назначения можно прочесть в работе [3].

Специалисты прогнозируют новый виток в развитии АСТПП, связанный с применением информационных технологий [4, 5]. В настоящей статье описан подход к реализации web-приложений технологического назначения с использованием технологии websocket.

Сетевое взаимодействие „сервер—клиент“ является очень важной частью любого web-приложения. Его реализация в большинстве существующих проектов происходит на основе одной из двух технологий — http или ajax. В основе синхронного протокола прикладного уровня http лежит клиент-серверная технология. Потребители (клиенты) инициируют соединение и отсылают запрос. Поставщик (сервер) ожидает соединения для получения запроса, производит необходимые действия и возвращает результат. Ajax — технология отправки http-запросов в асинхронном режиме с помощью языка программирования javascript. Запрос отправляется, не блокируя основной цикл выполнения приложения. Полученный ответ севера обрабатывается в фоновом режиме.

Следует отметить, что при использовании обеих технологий запрос снабжается заголовком, содержащим различного рода информацию для обработки его сервером. Наличие заголовка увеличивает размер каждого запроса, негативно сказываясь на скорости его передачи и последующей обработки.

При разработке авторами настоящей статьи двух web-приложений технологического назначения — ТИС-Процесс и IECAD — возникли схожие проблемы. ТИС-Процесс — открытая web-ориентированная и модульная, легко расширяемая система, предназначенная для автоматизированного проектирования технологических процессов (САПР ТП), она позволяет

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2015. Т. 58, № 4

Применение технологии websocket в web-приложениях технологического назначения 329

вести разработку ТП, хранить, редактировать и обрабатывать общую информацию о ТП, информацию о заготовке, маршруте обработки (операций) и пр. Распределенное хранение данных целесообразно при корпоративном использовании системы, т.е. совместной работе сотрудников разных предприятий с общей базой данных [1].

IECAD (industrial engineering CAD) — web-приложение для проектирования трехмерной планировки производства. Подобная разработка стала возможной благодаря технологии WebGl, позволяющей использовать графический процессор компьютера для создания трехмерной графики и вывода ее через окно браузера.

В ТИС-Процесс и IECAD осуществляется связь с сервером, в процессе которой происходит первичная загрузка большого объема данных (базы знаний, базы данных: марки материалов, трехмерные модели и т.п.) с последующей синхронизацией данных при совместной работе двух и более пользователей над одним проектом. В связи с этим необходимо обеспечить максимальную производительность механизма передачи данных.

Websocket — сравнительно новый протокол полнодуплексной связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и web-сервером в режиме реального времени. Отличительная особенность этого протокола в том, что в процессе сетевого взаимодействия перестают существовать такие сущности, как сервер и клиент, и все участники сетевого диалога становятся равноправными. Помимо того, заголовочный файл для установления соединения с сервером отправляется только один раз, все последующие запросы отправляются без заголовка, что положительно сказывается на размере отправляемых запросов.

Технология websocket:

1) обеспечивает интенсивный обмен данными, требовательный к скорости передачи и пропускной способности канала;

2) позволяет сравнительно легко разрабатывать сложные одностраничные web-приложения со множеством различных асинхронных элементов на странице;

3) значительно снижает потребление ресурсов (как вычислительной мощности ЭВМ, так и пропускной способности канала) по сравнению с другими способами передачи данных.

К числу недостатков websocket можно отнести:

1) поддержку в браузерах;

2) нерегламентируемый срок жизни пакета.

Реализацию websocket упрощенно можно описать следующим образом. Клиент с целью установления связи с сервером создает объект специализированного класса на языке программирования javascript. Объект содержит функции, вызываемые в момент открытия и закрытия соединения, а также функции обработки полученных от сервера данных. Далее браузер подключается к серверу с помощью протокола TCP и передает запрос. Поддерживающий технологию websocket сервер отсылает ответ, после чего канал обмена данными готов, TCP-соединение открыто. Как только одна сторона хочет передать другой информацию, она отправляет фрейм данных следующего вида:

0x00, <строка в кодировке UTF-8>, 0xFF.

В начало строки с запросом добавляется нулевой байт 0x00, а в конец — 0xFF. Отправлять таким образом можно такие виды структур данных, как XML, JSON и т. д.

Проанализировав возможности технологии websocket, можно сделать вывод о том, что с ее помощью возможно более эффективно, в сравнении с http и ajax, реализовывать сетевое взаимодействие в приложениях технологического назначения. Отсутствие дублируемой информации в заголовках запросов при использовании websocket оптимизирует механизм передачи данных в случае совместной работы нескольких пользователей над одним проектом через сеть.

Также websocket в большей степени подходит для разработки web-приложений технологического назначения, в силу того что подобные приложения представляют собой сложные html-страницы с большим количеством активных элементов, взаимодействующих с сервером.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2015. Т. 58, № 4

330

В. С. Шестаков, А. С. Сагидуллин СПИСОК ЛИТЕРАТУРЫ

1. Филюков Н. Е. Система администрирования web-ориентированной автоматизированной системы технологической подготовки производства // Изв. вузов. Приборостроение. 2014. Т. 57, № 8. С. 15—17.

2. Куликов Д. Д., Сагидуллин А. С., Носов С. О. Интеграция CAD-системы с системами автоматизированного проектирования // Изв. вузов. Приборостроение. 2014. Т. 57, № 8. С. 18—20.

3. Brown J. Стратегии основных PLM-поставщиков в 2014 году и дальше // CAD/CAM/CAE Observer. 2014. Vol. 1(85). P. 30—36.

4. Chaniotis I. K., Tselikas N. D. Is Node.js a viable option for building modern web applications? A performance evaluation study // Computing. Springer. 2014. March. Р. 1—22.

5. Куликов Д. Д., Падун Б. С., Яблочников Е. И. Перспективы автоматизации технологической подготовки производства // Изв. вузов. Приборостроение. 2014. Т. 57, № 8. С. 7—11.

Сведения об авторах

Виктор Сергеевич Шестаков — аспирант; Университет ИТМО; кафедра технологии приборостроения;

E-mail: shestakoffvs@gmail.com

Александр Сергеевич Сагидуллин — аспирант; Университет ИТМО; кафедра технологии приборостроения;

E-mail: sagi.pochta@gmail.com

Рекомендована кафедрой технологии приборостроения

Поступила в редакцию 22.10.14 г.

Ссылка для цитирования: Шестаков В. С., Сагидуллин А. С. Применение технологии websocket в web-приложениях технологического назначения // Изв. вузов. Приборостроение. 2015. Т. 58, № 4. С. 328—330.

USING WEBSOCKET TECHNOLOGY IN WEB-APPLICATIONS OF TECHNOLOGICAL DESTINATION

V. S. Shestakov, A. S. Sagidullin

ITMO University, 197101, Saint Petersburg, Russia E-mail: shestakoffvs@gmail.com

The use of websocket technology to development of web-based applications of technological destination is considered. The basic advantage of the technology over the technologies in current use (http and ajax) is shown to be the lack of duplicated information in the request header, the advantage makes it possible to improve the data transfer efficiency.

Keywords: CAPP, websocket, optimization, collaboration, production planning, TIS-process.

Data on authors

Viktor S. Shestakov — Post-Graduate Student; ITMO University; Department of Instrumentation

Technology; E-mail: shestakoffvs@gmail.com

Alexander S. Sagidullin — Post-Graduate Student; ITMO University; Department of Instrumentation

Technology; E-mail: sagi.pochta@gmail.com

Reference for citation: Shestakov V. S., Sagidullin A. S. Using websocket technology in web-applications of technological destination // Izvestiya Vysshikh Uchebnykh Zavedeniy. Priborostroenie. 2015. Vol. 58, N 4.

P. 328—330 (in Russian).

DOI: 10.17586/0021-3454-2015-58-4-328-330

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2015. Т. 58, № 4

i Надоели баннеры? Вы всегда можете отключить рекламу.