Sollte ich WFS, WMS oder SOS unter Berücksichtigung von Leistung und Sicherheit verwenden?

10

Meine Aufgabe ist es, eine Webanwendung zu entwickeln, die die zeitlichen Daten auf der Karte visualisiert und aus den vom Server empfangenen Bildern / Daten eine Art Datenfluss (oder Animation) erzeugt.

Zu diesem Zweck denke ich darüber nach, OpenLayers API und OGC-Webdienste WFS oder WMS oder SOS zu verwenden.

Eine der Hauptanforderungen besteht darin, Daten sicher und schnell mit hoher Leistung zu senden.

Die Frage, die ich habe, lautet: Welcher Dienst aus WFS, WMS und SOS ist für eine solche Webanwendung in Bezug auf Leistung, Sicherheit, Zuverlässigkeit usw. gut geeignet?

Ich weiß, dass jeder Webdienst unterschiedliche Funktionen bietet. Wenn ich jedoch WMS für meine zeitlichen Daten verwende, um Kartenbilder durch eine Art Aggregation in der Datenbank zu erhalten (da es sich um eine zeitliche Visualisierung handelt), wird meine Anwendung auf einigen Geräten wie Mobiltelefonen / Tablets langsam, da dies möglicherweise viel Zeit in Anspruch nimmt Zeit zum Abrufen von Bildern.

Wenn ich dagegen SOS oder WFS verwende, besteht für unsere Anwendung das Risiko, Rohdaten zu senden, was wirklich nicht sicher ist.

Es wird wirklich großartig sein, wenn mir jemand einen Rat oder Gedanken dazu geben kann.

Wenn Sie denken, dass diese Frage nicht einfach beantwortet werden kann, kann mir dann jemand eine Idee geben, wie ich bei einem solchen forschungsbasierten Problem weiter vorgehen soll?

Rajat Arora
quelle
Definieren Sie "hohe Leistung" und wie viele Daten sprechen wir / unterscheiden sich pro Animationsschlüsselbild?
Ragi Yaser Burhum

Antworten:

7

Ich weiß, dass jeder Webdienst unterschiedliche Funktionen bietet. Wenn ich jedoch den WMS-Dienst für meine zeitlichen Daten verwende, um Kartenbilder durch Ausführen einer Aggregation in der Datenbank abzurufen (da es sich um eine zeitliche Visualisierung handelt), wird meine Anwendung auf einigen Geräten wie Mobiltelefonen / Tablets möglicherweise langsam viel Zeit zum Abrufen von Bildern. "

Ich bin mit dieser Aussage aus drei Gründen nicht einverstanden.

Die zum Abrufen von WFS-Daten erforderliche Zeit kann ebenfalls hoch sein, da räumliche Abfragen auch langsam sein können. Ich meine, die Menge der gesendeten Rohbytes ist nicht der einzige begrenzende Faktor.

Ein weiterer Grund ist, dass Sie möglicherweise mehr Rohbytes senden, als wenn WMS verwendet wurde , da die WFS-Ausgabe in der Regel ausführlich ist - da GML , ein 'Dialekt' von XML, für den Datentransport verwendet wird.

Schließlich erfordern Vektordaten - wie die WFS-Ausgabe - mehr Rechenleistung von Clientgeräten, da diese die Funktionen rendern müssen. Auf der anderen Seite werden WMS-Antworten auf GetMap-Anforderungen bereits gerendert, was weniger Arbeit auf der Clientseite bedeutet. Daher kann die Verwendung von Vektordaten auf Clients mit begrenzter Rechenleistung ein Problem sein.

Dariapra
quelle
1
Bis ich diese Antwort sah, werde ich etwas Ähnliches hinzufügen. Vektorfunktionen können enorm komplex sein und die Übertragung dieser Daten über WFS kann zu riesigen XML-Nutzdaten führen. Bei WMS ist Ihr Hauptanliegen die Verarbeitungszeit, die erforderlich ist, um das Image auf Ihrem Thick-Server (Thin-Client) zu generieren. Zumindest könnte das Image jedoch für Leistungssteigerungen zwischengespeichert werden. Mit WFS müssen Sie jedes Mal dasselbe XML hochladen, und dieser Netzwerkverkehr kann die wahrgenommene Leistung möglicherweise genauso stark oder stärker beeinträchtigen als die Bilderzeugung (sodass Thin-Server / Thick-Client Sie möglicherweise nicht unbedingt skalierbarer machen).
Tomfumb
4
Sie müssen GML nicht mit einem WFS verwenden, GeoJOSN und Shapefiles können beispielsweise gesendet werden. Ein guter Server komprimiert auch die Daten. WMS ist jedoch für jeden realistischen Datensatz immer noch schneller.
Ian Turton
Vielen Dank für Ihre Antworten. Nachdem ich ein bisschen mehr recherchiert hatte, fand ich, dass die Verwendung von WMS in einer solchen Webanwendung eine gute Option ist. Es ist effizienter, ein Renderbild an den Client zu übertragen. Insbesondere bei großen Datenmengen kann die Übertragung eines gerenderten Bildes schneller sein als das Codieren, Übertragen und Decodieren großer XML-Dateien.
Rajat Arora
6

Sicheres WMS / WFS mit HTTPS verwendet clientseitige Zertifikate, um einzelne Benutzer für jede Anforderung an den Server zu authentifizieren. Hat den Vorteil, dass Sie Ihre WMS / WFS-Implementierung nicht ändern müssen (außer indem Sie sie auf einen HTTPS-Server stellen ) , hat jedoch den erheblichen Nachteil, dass Sie Zertifikate an Ihre Benutzer verteilen müssen - normalerweise nur in Situationen mit hoher Sicherheit akzeptabel .

Ein WFS ermöglicht einen einheitlichen direkten Zugriff auf die auf einem Server gespeicherten Funktionen. Verwenden Sie ein WFS, wenn Sie Aktionen ausführen möchten, z.

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

Ein WMS ermöglicht einen einheitlichen Renderzugriff auf auf einem Server gespeicherte Funktionen. Verwenden Sie ein WMS, wenn Sie Aktionen ausführen möchten, z.

Producing Maps
Very simple Querying of data

Beim Umgang mit WMS und HTTPS wird es etwas komplexer

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

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

Habe WMS mit FME Server und Geosever mit HTTPS verwendet und beide funktionieren gut.

Mapperz
quelle