Устаревший поток данных, компромисс между стандартами, XML и производительностью - PullRequest
1 голос
/ 18 января 2010

Мы работаем с устаревшими фидами данных и приложениями, которые их используют.Мы хотим представить Xml, но дополнительные издержки производительности трудно оправдать.Как вы решили эту проблему?

Мы работаем с рядом уже существующих каналов данных, часто это файлы в хорошо известном каталоге, которые обновляются каждые несколько минут.Один из подходов к обеспечению соответствия этим унаследованным стандартам данных состоит в том, чтобы преобразовать его в Xml и опубликовать XSD, сделав его доступным для всех.Однако это означает, что мы собираемся сериализовать / десериализовать все, прежде чем мы сможем его использовать, в то время как в настоящее время приложения просто читают данные.*

Последний явно более структурирован и пригоден для повторного использования, это «лучшая» архитектура.Но хит производительности, который мы собираемся сделать, высок.

Ответы [ 3 ]

1 голос
/ 18 января 2010

Конвертировать в XML только там, где это необходимо; не конвертируйте ради "соответствия стандартам" или "лучшей архитектуры". Конечно, вы бы предпочли добавить больше функций или иным образом улучшить свой продукт, верно? Это хороший момент для размышления о принципе YAGNI .

0 голосов
/ 19 января 2010

Почему вы не создали библиотеку для таких клиентов?Может быть, с XML все в порядке в «облаке», но в вашей собственной интрасети с устаревшим форматом я бы просто позаботился о том, чтобы была предоставлена ​​библиотека. Моей первой интуицией было бы просто обернуть слой форматирования и слой провайдера.Похоже, что большая часть слоя форматирования выполнена (в конце концов, у вас есть приложения, использующие данные), и если (я допускаю большое, если) ограничения восстановления / устойчивости не слишком строги, перенос файла / потока сокета легко

0 голосов
/ 18 января 2010

Вы можете рассмотреть более «легкий» формат данных, такой как JSON. Он требует гораздо меньше усилий для анализа и может быть преобразован в XML простым XSLT, если когда-либо возникнет необходимость где-то иметь XML.

В настоящее время мы используем его в проекте встраиваемых устройств, где WWW - лишь малая часть, но мы очень довольны. Да, файлы конфигурации в формате JSON, двунаправленные JSON через сокеты и, что очень важно, JSON для статического Javascript, создающего динамическое веб-приложение для управления им.

...