Продолжается подписка на наши издания! Вы не забыли подписаться?

Использование SOAP в высокопроизводительных бизнес-приложениях: торговые системы реального времени

Авторы: Christopher Kohlhoff "Tenermerx Pty Ltd" Австралия
Robert Steele "Сиднейский технологический университет" Австралия

Введение

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

Для успеха в конкурентной борьбе существующие организации вынуждены формировать альянсы и разрабатывать единые укрупненные сервисы. Однако b2b-интеграция – это не новая концепция для финансовых рынков. В финансовом секторе индустриальные стандарты протоколов используются для интеграции распределенных приложений с 70-х годов прошлого века [26].

В настоящее время веб-сервисы развиваются как технология систематичной и гибкой интеграции приложений[5]. Веб-сервисы отличаются от большинства существующих ныне методов интеграции приложений тем, что используют хорошо устоявшиеся, проверенные веб-протоколы и открытые XML-стандарты.

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

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

Существующие исследования производительности SOAP были посвящены применению SOAP в областях, связанных с решением научных вычислительных задач (например, таких как распределенные вычисления (grid computing)), где основной задачей SOAP-сообщений была передача числовых данных. Учитывая это, наибольшие затраты и основные недостатки XML-сообщений связывались с кодированием/декодированием значений с плавающей запятой [4].

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

В этой работе для определения производительности SOAP ее оценка сравнивается с аналогичной оценкой для устоявшегося и широко распространенного в финансовой области протокола FIX. Оценка производительности SOAP относительно производительности FIX может быть полезна при определении степени соответствия SOAP требованиям финансовых рынков.

В данном исследовании особое внимание было уделено изучению ограничений производительности, характерных для различных форматов передачи данных. И SOAP и FIX используют текстовый формат передачи данных; в силу этого представляется уместным основанное на данных проведенных исследований предположение о том, что оба эти протокола подвержены одним и тем же факторам, ограничивающимих производительность. По этой причине, для оценки затрат, обусловленных текстовым форматом передачи данных, в перечень сравниваемых протоколов был включен также двоичный формат передачи данных CDR.

Исследование показало, что по сравнению с двоичным протоколом передачи данных CDR для бизнес-приложений SOAP демонстрирует, несомненно, довольно низкую производительность. Размер SOAP-сообщений превышает размер эквивалентных CDR-сообщений в 2-4 раза. Время, необходимое сообщению для преодоления пути от источника до приемника (пункта назначения), при передаче по локальным сетям существенно больше, при этом кодирование сообщения является более затратным в 8-10 раз, а декодирование - в 5 раз. Данные результаты схожи с результатами более ранних исследований, хотя и показывают несколько меньшие отличия между характеристиками SOAP и CDR нежели при передаче числовых данных.

По сравнению с FIX, SOAP также показывает меньшую производительность. SOAP-сообщения в 3,5-4,5 раза больше аналогичных FIX-сообщений, время, необходимое сообщению для преодоления пути от источника до приемника, больше в 2-3 раза, а увеличение затрат на кодирование/декодирование доходит примерно до 9 раз.

Учитывая, что FIX, как и SOAP, использует текстовый формат передачи данных, тот факт, что производительность FIX сравнима с производительностью CDR, кажется неожиданным. Отсюда можно заключить, что низкая производительность SOAP при его использовании в реальном бизнес-приложении не может быть вполне объяснена недостатками текстового формата передачи данных по сравнению с двоичным. Это позволяет предположить, что улучшение характеристик производительности кодировщиков/декодировщиков SOAP может сделать его использование в высокопроизводительных бизнес-приложениях обоснованным.

.........

Выводы

В этой работе мы представили результаты оценки производительности SOAP в случае его использования в бизнес-приложении. Данные результаты показали, что пока SOAP имеет производительность худшую нежели двоичный формат протокола CDR и устоявшийся индустриальный протокол FIX. При этом разница в производительности указанных форматов меньше, чем в случае их использования для осуществления научных вычислений. Более того, в реальных бизнес-средах текстовые форматы передачи данных могут иметь производительность, сравнимую с производительностью двоичных форматов. Это говорит о том, что текстовая природа XML сама по себе не является существенным ограничивающим фактором эффективности кодирования/декодирования SOAP. Следует предположить, что дальнейшие разработки, направленные на улучшение производительности кодировщиков/декодировщиков SOAP, могут сделать этот протокол вполне жизнеспособным для использования в высокопроизводительных бизнес-приложениях. Несмотря на это, в случае проектирования чувствительных к производительности интеграционных систем, взаимодействующих по WAN-сетям, в общем случае, фактором, ограничивающим производительность, является пропускная способность сети. Поэтому при выборе наиболее подходящего формата передачи данных следует руководствоваться оценкой размеров кодированных сообщений.

"С полным содержанием данной статьи можно ознакомиться в печатной версии журнала"

Copyright © 1994-2016 ООО "К-Пресс"