Основное направление нашей деятельности - разработка программных инструментов для обработки XML для разных языков программирования.
Так уж сложилось, что обмен данных на базе XML появился исторически раньше чем JSON. Во многом это связано с распространением на заре WEB языка HTML.
Повсеместное распространение XML получил вместе с технологией WEB-сервисов, где в качестве протокола обмена используется обмена сообщениями используется протокол SOAP на базе XML. С распространением REST-подхода, JSON, как более простой язык, существенно потеснил XML в клиент-серверном взаимодействии. В областях же, где требуется жесткая фиксация формата обмена данными (как правило на уровне интеграции различных крупных информационных систем, в том числе и по соображениям информационной безопасности), за счет возможности строгого описания структуры документа с помощью XSD, применение XML более уместно. К тому же существует большое количество унаследованных систем где используется API на базе XML.
Одновременно с этими процессами, широкое распространение в настоящее время получил язык GO, как язык специально спроектированный для упрощения разработки многопоточных программ и управлением параллелизмом, особенно актуально в контексте современных многопроцессорных и сетевых систем. Конечно же, сама по себе поддержка работы с XML в GO есть. Проблема в том, что в GO нет поддержки для работы с XML, содержащим множественные пространства имен (multinamespace XML). При этом значительная часть информационных обменов как раз использует такие возможности XML.
Получается парадоксальная ситуация – есть большие нагрузки - используйте GO. Но если у вас серьёзный и строгий обмен (что как правило сопряжено с большими нагрузками) – используйте медленную JAVA, потому что в ней исторически есть все необходимые инструменты.
Наша компания «ДекабрьДевелопмент» разрабатывает инструменты для разрешения указанного противоречия и ищет партнеров заинтересованных во внедрении наших продуктов.
Мы предлагаем всем заинтересованным:
* мы не стремимся создать универсальное решение, покрывающее на 100% всю спецификацию XSD; наша цель – создание быстрого и надежного инструмента для решения задач информационного обмена
** существующие решения для GO основаны на нативной библиотеке libxml2