Dois-je utiliser WFS, WMS ou SOS compte tenu des performances et de la sécurité?

10

Ma tâche est de développer une application web qui visualisera les données temporelles sur la carte et produira une sorte de flux de données (ou animation) à partir des images / données reçues du serveur.

À cette fin, je pense utiliser l'API OpenLayers et les services Web OGC WFS ou WMS ou SOS.

L'une des principales exigences est d'envoyer des données en toute sécurité et rapidement avec des performances élevées.

Ma question est la suivante: quel service parmi WFS, WMS et SOS sera bon à utiliser pour une telle application Web en termes de performances, de sécurité, de fiabilité, etc.?

Je sais que chaque service Web offre des fonctionnalités différentes. Mais, si j'utilise WMS pour mes données temporelles pour obtenir des images de carte en effectuant une sorte d'agrégation dans la base de données (comme c'est la visualisation temporelle), alors mon application ralentira sur certains appareils comme les téléphones mobiles / tablettes car cela peut prendre beaucoup de temps. le temps de récupérer des images.

En revanche, si j'utilise SOS ou WFS, notre application risque d'envoyer des données brutes, ce qui n'est vraiment pas sécurisé.

Ce sera vraiment génial si quelqu'un peut me donner un avis ou des réflexions à ce sujet.

Si vous pensez qu'il est impossible de répondre à cette question, est-ce que quelqu'un peut me donner une idée de la marche à suivre pour un tel problème basé sur la recherche?

Rajat Arora
la source
définir "haute performance" et combien de données parlons-nous / diffère-t-elle par image clé d'animation?
Ragi Yaser Burhum du

Réponses:

7

Je sais que chaque service Web offre des fonctionnalités différentes. Mais, si j'utilise le service WMS pour mes données temporelles pour obtenir des images de carte en effectuant une sorte d'agrégation dans la base de données (comme c'est la visualisation temporelle), alors mon application ralentira sur certains appareils comme les téléphones mobiles / tablettes car cela peut prendre beaucoup de temps pour récupérer des images. "

Je ne suis pas d'accord avec cette affirmation pour trois raisons.

Le temps nécessaire pour récupérer les données WFS peut également être élevé, car les requêtes spatiales peuvent également être lentes. Je veux dire, la quantité d'octets bruts envoyés n'est pas le seul facteur limitant.

Une autre raison est que, puisque la sortie WFS a tendance à être détaillée - car elle utilise GML , qui est un `` dialecte '' de XML, pour le transport des données -, vous pouvez mettre fin à l'envoi de plus d'octets bruts que si WMS était utilisé.

Enfin, les données vectorielles - comme la sortie WFS - demanderont plus de puissance de calcul aux appareils clients, car ils devront restituer les fonctionnalités; d'autre part, les réponses WMS aux requêtes GetMap sont déjà rendues, ce qui implique moins de travail côté client. Ainsi, l'utilisation de données vectorielles sur des clients avec une puissance de calcul limitée peut être un problème.

dariapra
la source
1
jusqu'à ce que je vois cette réponse, je vais ajouter quelque chose de similaire. Les fonctionnalités vectorielles peuvent être extrêmement complexes et le transfert de ces données via WFS peut entraîner d'énormes charges utiles XML. Avec WMS, votre principale préoccupation est le temps de traitement requis pour générer l'image sur votre serveur lourd (client léger), mais au moins l'image pourrait être mise en cache pour des gains de performances. Avec WFS, vous devez télécharger le même XML à chaque fois, et ce trafic réseau peut potentiellement affecter les performances perçues autant ou plus que la génération d'images (donc le serveur léger / client lourd ne vous rend pas nécessairement plus évolutif).
tomfumb
4
Vous n'avez pas besoin d'utiliser GML avec un WFS, GeoJOSN et des fichiers de formes peuvent être envoyés par exemple. Un bon serveur compressera également les données. Mais WMS sera toujours plus rapide pour tout ensemble de données réaliste.
Ian Turton
Merci beaucoup pour vos réponses. Après avoir fait un peu plus de recherche, j'ai trouvé que l'utilisation de WMS dans une telle application Web serait une bonne option. Il sera plus efficace de transmettre une image de rendu au client. Surtout pour les grands ensembles de données, la transmission d'une image rendue peut être plus rapide que l'encodage, la transmission et le décodage de gros fichiers XML.
Rajat Arora
6

Le WMS / WFS sécurisé avec HTTPS utilise des certificats côté client pour authentifier les utilisateurs individuels pour chaque demande adressée au serveur. A l'avantage de ne pas avoir à modifier votre implémentation WMS / WFS (sauf en la mettant sur un serveur HTTPS ) mais présente l'inconvénient considérable de devoir distribuer des certificats à vos utilisateurs - ce qui n'est normalement pas acceptable sauf dans des situations de haute sécurité .

Un WFS permet un accès direct uniforme aux fonctionnalités stockées sur un serveur. Utilisez un WFS lorsqu'ils souhaitent effectuer des actions telles que:

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

Un WMS permet un accès de rendu uniforme aux fonctionnalités stockées sur un serveur. Utilisez un WMS lorsque vous souhaitez effectuer des actions telles que:

Producing Maps
Very simple Querying of data

Cela devient un peu plus complexe lorsqu'il s'agit de WMS et HTTPS

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

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

J'ai utilisé WMS avec FME Server et Geosever avec HTTPS et les deux fonctionnent bien.

Mapperz
la source