My task is to develop a web application which will visualize the temporal data on map and produce a kind of data flow (or animation) from the images/data which have been received from server.

For this purpose, I am thinking to use OpenLayers API and OGC web services WFS or WMS or SOS.

One of the main requirements is to send data securely and fast with high performance.

The question I have is: Which service out of WFS, WMS and SOS will be good to use for such a web application in terms of performance, security, reliability etc.?

I know each web service provides different features. But, if I use WMS for my temporal data to get map images by performing some kind of aggregation in database (as it is temporal visualization), then my application will get slow on some devices like mobile phones/tablets as it may take lot of time to fetch images.

On the other hand, If I use SOS or WFS, there will be risk for our application to send raw data, which is really not secure.

It will be really great if anyone can give me an advice or thoughts on it.

If you think, this question can't be just answered, then can anyone give me an idea how should I proceed further for such an research based problem?

  • define "high performance" and how much data are we talking about / differs per animation key frame? Oct 15, 2011 at 18:20

2 Answers 2


I know each web service provides different features. But, If I use WMS service for my temporal data to get map images by performing some kind of aggregation in database(as it is temporal visualization), then the my application will get slow on some devices like mobile phones/tablets as it may take lot of time to fetch images."

I disagree with this statement for three reasons.

The time needed to fetch WFS data can also be high, since spatial queries can also be slow. I mean, the amount of raw bytes sent is not the only limiting factor.

Another reason is that since WFS output tends to be verbose - because uses GML, which is a 'dialect' of XML, for transporting data -, you may end sending more raw bytes than if WMS was used.

Last, vector data - like WFS output - will demand more computing power from client devices, because they will have to render the features; on the other hand, WMS responses to GetMap requests come already rendered, which implies less work on client side. Thus, using vector data on clients with limited computing power can be an issue.

  • 1
    until I saw this answer I going to add something similar. Vector features can be enormously complex and transferring this data via WFS can result in huge XML payloads. With WMS your main concern is the processing time required to generate the image on your thick-server (thin-client), but at least the image could be cached for performance gains. With WFS you have to upload the same XML every time, and this network traffic could potentially affect perceived performance as much or more than image generation (so thin-server / thick-client may not necessarily make you more scalable).
    – tomfumb
    Oct 15, 2011 at 1:58
  • 4
    You don't have to use GML with a WFS, GeoJOSN and shapefiles can be sent for example. A good server will also compress the data. But WMS will still be faster for any realistic dataset.
    – Ian Turton
    Oct 15, 2011 at 20:09
  • Thank you very much, for your answers. After doing a bit more research, I found that using WMS in such web application will be a good option. It will be more efficient to transmit a render image to client. Especially for large data sets the transmission of a rendered image might be faster than encoding, transmitting and decoding large XML files. Oct 18, 2011 at 9:12

Secure WMS/WFS with HTTPS use client-side certificates to authenticate individual users for each request to the server. Has the advantage that you don't have to change your WMS/WFS implementation (except by putting it on an HTTPS server) but has the considerable disadvantage that you need to distribute certificates to your users - not normally acceptable except in high-security situations.

A WFS allows uniform direct access to the features stored on a server. Use a WFS when they want to perform actions such as:

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

A WMS allows for uniform rendering access to features stored on a server. Use a WMS when you want to perform actions such as:

Producing Maps
Very simple Querying of data

It gets a little more complex when dealing with WMS and HTTPS


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

Have used WMS with FME Server and Geosever with HTTPS and both work well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.