¿Debo usar WFS, WMS o SOS teniendo en cuenta el rendimiento y la seguridad?

10

Mi tarea es desarrollar una aplicación web que visualice los datos temporales en el mapa y produzca un tipo de flujo de datos (o animación) a partir de las imágenes / datos que se han recibido del servidor.

Para este propósito, estoy pensando en usar los servicios web OpenLayers API y OGC WFS o WMS o SOS.

Uno de los requisitos principales es enviar datos de forma segura y rápida con un alto rendimiento.

La pregunta que tengo es: ¿Qué servicio de WFS, WMS y SOS será bueno para una aplicación web de este tipo en términos de rendimiento, seguridad, confiabilidad, etc.?

Sé que cada servicio web ofrece diferentes funciones. Pero, si uso WMS para mis datos temporales para obtener imágenes de mapas realizando algún tipo de agregación en la base de datos (como es la visualización temporal), entonces mi aplicación se ralentizará en algunos dispositivos como teléfonos móviles / tabletas, ya que puede tomar mucho tiempo. hora de buscar imágenes.

Por otro lado, si uso SOS o WFS, nuestra aplicación correrá el riesgo de enviar datos sin procesar, lo que realmente no es seguro.

Será realmente genial si alguien me puede dar un consejo o reflexionar sobre ello.

Si piensa que esta pregunta no puede ser respondida, ¿alguien me puede dar una idea de cómo debo seguir adelante para un problema tan basado en la investigación?

Rajat Arora
fuente
define "alto rendimiento" y ¿de cuántos datos estamos hablando / difiere por fotograma clave de animación?
Ragi Yaser Burhum

Respuestas:

7

Sé que cada servicio web ofrece diferentes funciones. Pero, si uso el servicio WMS para mis datos temporales para obtener imágenes de mapas realizando algún tipo de agregación en la base de datos (como es la visualización temporal), entonces mi aplicación se ralentizará en algunos dispositivos como teléfonos móviles / tabletas, ya que puede tomar mucho tiempo para buscar imágenes ".

No estoy de acuerdo con esta declaración por tres razones.

El tiempo necesario para recuperar datos WFS también puede ser alto, ya que las consultas espaciales también pueden ser lentas. Quiero decir, la cantidad de bytes sin procesar enviados no es el único factor limitante.

Otra razón es que, dado que la salida WFS tiende a ser detallada, porque usa GML , que es un 'dialecto' de XML, para transportar datos, puede terminar enviando más bytes sin procesar que si se usara WMS.

Por último, los datos vectoriales, como la salida WFS, exigirán más potencia de cómputo de los dispositivos del cliente, ya que tendrán que representar las características; Por otro lado, las respuestas de WMS a las solicitudes de GetMap ya se presentan, lo que implica menos trabajo del lado del cliente. Por lo tanto, el uso de datos vectoriales en clientes con potencia informática limitada puede ser un problema.

dariapra
fuente
1
hasta que vi esta respuesta voy a agregar algo similar. Las características vectoriales pueden ser enormemente complejas y la transferencia de estos datos a través de WFS puede generar enormes cargas de XML. Con WMS, su principal preocupación es el tiempo de procesamiento requerido para generar la imagen en su servidor grueso (cliente ligero), pero al menos la imagen podría almacenarse en caché para obtener ganancias de rendimiento. Con WFS, debe cargar el mismo XML cada vez, y este tráfico de red podría afectar el rendimiento percibido tanto o más que la generación de imágenes (por lo que el servidor delgado / cliente grueso no necesariamente lo hace más escalable).
tomfumb
44
No tiene que usar GML con un WFS, GeoJOSN y se pueden enviar archivos de forma, por ejemplo. Un buen servidor también comprimirá los datos. Pero WMS seguirá siendo más rápido para cualquier conjunto de datos realista.
Ian Turton
Muchas gracias por sus respuestas. Después de investigar un poco más, descubrí que usar WMS en dicha aplicación web será una buena opción. Será más eficiente transmitir una imagen renderizada al cliente. Especialmente para grandes conjuntos de datos, la transmisión de una imagen renderizada puede ser más rápida que la codificación, transmisión y decodificación de grandes archivos XML.
Rajat Arora
6

Secure WMS / WFS con HTTPS utiliza certificados del lado del cliente para autenticar usuarios individuales para cada solicitud al servidor. Tiene la ventaja de que no tiene que cambiar su implementación de WMS / WFS (excepto al ponerlo en un servidor HTTPS ) pero tiene la desventaja considerable de que necesita distribuir certificados a sus usuarios, normalmente no es aceptable, excepto en situaciones de alta seguridad .

Un WFS permite un acceso directo uniforme a las funciones almacenadas en un servidor. Utilice un WFS cuando quiera realizar acciones como:

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 permite un acceso de representación uniforme a las funciones almacenadas en un servidor. Use un WMS cuando desee realizar acciones como:

Producing Maps
Very simple Querying of data

Se vuelve un poco más complejo cuando se trata con WMS y HTTPS

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

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

He usado WMS con FME Server y Geosever con HTTPS y ambos funcionan bien.

Mapperz
fuente