Должен ли я использовать WFS, WMS или SOS, учитывая производительность и безопасность?

10

Моя задача - разработать веб-приложение, которое будет визуализировать временные данные на карте и создавать своего рода поток данных (или анимацию) из изображений / данных, полученных с сервера.

Для этой цели я собираюсь использовать API OpenLayers и веб-сервисы OGC WFS, WMS или SOS.

Одним из основных требований является безопасная и быстрая отправка данных с высокой производительностью.

У меня вопрос: какой сервис из WFS, WMS и SOS будет хорошо использовать для такого веб-приложения с точки зрения производительности, безопасности, надежности и т. Д.?

Я знаю, что каждый веб-сервис предоставляет различные функции. Но если я использую WMS для своих временных данных для получения изображений карты, выполняя некую агрегацию в базе данных (так как это временная визуализация), то мое приложение будет работать медленно на некоторых устройствах, таких как мобильные телефоны / планшеты, поскольку это может занять много времени. время для загрузки изображений.

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

Было бы здорово, если бы кто-нибудь мог дать мне совет или мысли по этому поводу.

Если вы думаете, что на этот вопрос нельзя просто ответить, то может ли кто-нибудь дать мне представление о том, как мне поступить дальше для такой проблемы, основанной на исследованиях?

Раджат Арора
источник
определить «высокую производительность» и какой объем данных мы говорим / отличается для ключевого кадра анимации?
Раги Язер Бурхум

Ответы:

7

Я знаю, что каждый веб-сервис предоставляет различные функции. Но если я использую сервис WMS для своих временных данных, чтобы получить изображения карты, выполняя какое-либо агрегирование в базе данных (так как это временная визуализация), то мое приложение будет работать медленно на некоторых устройствах, таких как мобильные телефоны / планшеты, поскольку это может занять много времени, чтобы получить изображения. "

Я не согласен с этим утверждением по трем причинам.

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

Другая причина заключается в том, что, поскольку выходные данные WFS имеют тенденцию быть многословными - поскольку для передачи данных используется GML , который является «диалектом» XML, - вы можете прекратить отправку большего количества необработанных байтов, чем при использовании WMS.

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

dariapra
источник
1
пока я не увидел этот ответ, я собираюсь добавить что-то подобное. Векторные функции могут быть чрезвычайно сложными, и передача этих данных через WFS может привести к огромным нагрузкам XML. С WMS ваша главная задача - время обработки, необходимое для генерации изображения на вашем толстом сервере (тонком клиенте), но, по крайней мере, изображение может быть кэшировано для повышения производительности. При использовании WFS вам необходимо каждый раз загружать один и тот же XML, и этот сетевой трафик может повлиять на воспринимаемую производительность в той же или большей степени, чем генерация изображений (поэтому тонкий сервер / толстый клиент не обязательно сделает вас более масштабируемым).
tomfumb
4
Вам не нужно использовать GML с WFS, например, можно отправлять GeoJOSN и шейп-файлы. Хороший сервер также сжимает данные. Но WMS все равно будет быстрее для любого реалистичного набора данных.
Ян Тертон
Большое спасибо за ваши ответы. Проведя немного больше исследований, я обнаружил, что использование WMS в таком веб-приложении будет хорошим вариантом. Будет более эффективно передавать изображение рендеринга клиенту. Особенно для больших наборов данных передача визуализированного изображения может быть быстрее, чем кодирование, передача и декодирование больших файлов XML.
Раджат Арора
6

Безопасный WMS / WFS с HTTPS использует клиентские сертификаты для аутентификации отдельных пользователей для каждого запроса к серверу. Преимущество заключается в том, что вам не нужно менять реализацию WMS / WFS (за исключением размещения на сервере HTTPS ), но имеет существенный недостаток, заключающийся в том, что вам нужно распространять сертификаты для своих пользователей - обычно это неприемлемо, за исключением ситуаций с высоким уровнем безопасности ,

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

query a dataset and retrieve the features
find the feature definition (feature’s property names and types)
add features to dataset
delete feature from a dataset
update feature in a dataset
lock features to prevent modification

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

Producing Maps
Very simple Querying of data

Это становится немного сложнее при работе с WMS и HTTPS

http://idlastro.gsfc.nasa.gov/idl_html_help/HTTP_Authentication_Security_and_Encodinga.html

и http://www.w3.org/Protocols/HTTP/1.0/draft-ietf-http-spec.html#AA

Использовали WMS с сервером FME и Geosever с HTTPS, и оба работают хорошо.

Mapperz
источник