Dovrei usare WFS, WMS o SOS considerando prestazioni e sicurezza?


10

Il mio compito è quello di sviluppare un'applicazione web che visualizzi i dati temporali sulla mappa e produca una sorta di flusso di dati (o animazione) dalle immagini / dati che sono stati ricevuti dal server.

A tale scopo, sto pensando di utilizzare i servizi Web OpenLayers API e OGC WFS o WMS o SOS.

Uno dei requisiti principali è l'invio di dati in modo sicuro e veloce con prestazioni elevate.

La domanda che ho è: quale servizio di WFS, WMS e SOS sarà utile per un'applicazione Web di questo tipo in termini di prestazioni, sicurezza, affidabilità ecc.?

So che ogni servizio web offre funzionalità diverse. Ma, se uso WMS per i miei dati temporali per ottenere immagini di mappe eseguendo una sorta di aggregazione nel database (in quanto si tratta di visualizzazione temporale), la mia applicazione rallenterà su alcuni dispositivi come telefoni cellulari / tablet in quanto potrebbe richiedere molto tempo di recuperare le immagini.

D'altra parte, se uso SOS o WFS, ci sarà il rischio che la nostra applicazione invii dati non elaborati, il che non è sicuro.

Sarebbe davvero fantastico se qualcuno potesse darmi un consiglio o pensieri su di esso.

Se pensi che a questa domanda non si possa semplicemente rispondere, allora qualcuno può darmi un'idea come dovrei procedere ulteriormente per un tale problema basato sulla ricerca?


definire "alte prestazioni" e di quanti dati stiamo parlando / differisce per fotogramma chiave di animazione?
Ragi Yaser Burhum,

Risposte:


7

So che ogni servizio web offre funzionalità diverse. Ma, se uso il servizio WMS per i miei dati temporali per ottenere immagini di mappe eseguendo un qualche tipo di aggregazione nel database (in quanto si tratta di visualizzazione temporale), allora la mia applicazione rallenterà su alcuni dispositivi come telefoni cellulari / tablet come potrebbe richiedere molto tempo per recuperare le immagini ".

Non sono d'accordo con questa affermazione per tre motivi.

Anche il tempo necessario per recuperare i dati WFS può essere elevato, poiché anche le query spaziali possono essere lente. Voglio dire, la quantità di byte grezzi inviati non è l'unico fattore limitante.

Un altro motivo è che, poiché l'output di WFS tende ad essere dettagliato - poiché utilizza GML , che è un "dialetto" di XML, per il trasporto di dati -, si potrebbe finire per inviare più byte non elaborati rispetto a quando si utilizzava WMS.

Infine, i dati vettoriali - come l'output WFS - richiederanno più potenza di calcolo dai dispositivi client, poiché dovranno renderizzare le funzionalità; d'altra parte, le risposte WMS alle richieste GetMap vengono già rese, il che implica meno lavoro sul lato client. Pertanto, l'utilizzo di dati vettoriali su client con potenza di calcolo limitata può essere un problema.


1
fino a quando ho visto questa risposta aggiungerò qualcosa di simile. Le funzionalità vettoriali possono essere enormemente complesse e il trasferimento di questi dati tramite WFS può comportare enormi payload XML. Con WMS la tua preoccupazione principale è il tempo di elaborazione richiesto per generare l'immagine sul tuo server spesso (thin client), ma almeno l'immagine potrebbe essere memorizzata nella cache per ottenere miglioramenti delle prestazioni. Con WFS devi caricare lo stesso XML ogni volta e questo traffico di rete potrebbe potenzialmente influire sulle prestazioni percepite in misura pari o superiore alla generazione di immagini (quindi thin-server / thick-client potrebbero non renderti necessariamente più scalabile).
tomfumb,

4
Non è necessario utilizzare GML con un WFS, GeoJOSN e gli shapefile possono essere inviati ad esempio. Un buon server comprime anche i dati. Ma WMS sarà ancora più veloce per qualsiasi set di dati realistico.
Ian Turton

Grazie mille per le tue risposte. Dopo aver fatto un po 'più di ricerca, ho scoperto che l'uso di WMS in tale applicazione Web sarà una buona opzione. Sarà più efficiente trasmettere un'immagine di rendering al client. Soprattutto per insiemi di dati di grandi dimensioni, la trasmissione di un'immagine di rendering potrebbe essere più rapida della codifica, della trasmissione e della decodifica di file XML di grandi dimensioni.
Rajat Arora,

6

WMS / WFS sicuri con HTTPS utilizzano certificati lato client per autenticare i singoli utenti per ogni richiesta al server. Ha il vantaggio di non dover modificare l'implementazione WMS / WFS (tranne inserendola su un server HTTPS ) ma presenta il notevole svantaggio di dover distribuire certificati ai propri utenti - normalmente non accettabile se non in situazioni di elevata sicurezza .

Un WFS consente un accesso diretto uniforme alle funzionalità memorizzate su un server. Utilizzare un WFS quando vogliono eseguire azioni come:

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 consente un accesso di rendering uniforme alle funzionalità archiviate su un server. Utilizzare un WMS quando si desidera eseguire azioni come:

Producing Maps
Very simple Querying of data

Diventa un po 'più complesso quando si ha a che fare con WMS e HTTPS

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

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

Ho usato WMS con FME Server e Geosever con HTTPS ed entrambi funzionano bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.