Testing OGC Web Feature and Coverage Service performance: Towards efficient delivery of geospatial data

OGC Web Feature Service (WFS) and Web Coverage Service (WCS) specifications allow interoperable access to distributed geospatial data made available through spatial data infrastructures (SDIs). To ensure that a service is sufficiently responsive to fulfill users’ expectations and requirements, performance of services must be measured and monitored to track latencies, bottlenecks, and errors that may negatively influence its overall quality. Despite the importance of data retrieval and access, little research has been published on this topic and mostly concentrates on the usability of services when integrating distributed data sources. Considering these issues, this paper extends and validates the FOSS4G approach to measure the server-side performance of different WFS and WCS services provided by various software implementations; and provides guidance to data providers looking to improve the quality of their services. Our results show that performance of tested implementations is generally satisfactory and memory tuning/data and storage optimization are essential to handle increased efficiency and reliability of services.


Introduction
Facilitating access and making geospatial data interoperable are recognized as important factors in determining the future success of spatial data infrastructures (SDI) [5,7,33,48].Indeed, geospatial data is extensively used in various domains such as environmental monitoring, disaster management, and decision-making processes, requiring seamless integration in geographic information systems (GIS) and sharing of data across organizations and providers [50].Geospatial data can be a shared resource maintained continuously and made accessible for different purposes in both the public and private sectors [49].SDIs aim to support sharing and exchange of geospatial data across institutional, regional, and/or national borders, mostly through service-oriented architecture (SOA) principles [24,53].SOAs are defined as an architectural approach where standardized interfaces give access to functionalities as a set of independent, interoperable, loosely-coupled, distributed services that can be reused.The rapid evolution of web-based communication technology allows for easier access to distributed geospatial data sources and related services, and results in an increasing use of geospatial data in many areas [46].
To improve interoperability within the GIS community, the Open Geospatial Consortium (OGC) introduced various standards specifications covering data sharing, retrieval, processing, content, visualization, and cataloging [9,11].These standards are: Web Map Service (WMS) [38], Web Feature Service (WFS) [37], Web Coverage Service (WCS) [39], Catalog Service for the Web (CSW) [40], Web Processing Service (WPS) [42], and Web Coverage Processing Service (WCPS).These standards are built around web services technologies.A web service is a stateless application containing a collection of operations that is accessible through the web and that users can discover and invoke [50].In other words, interoperable web services aim to provide users with the functionality they need independently of the specific computing platform and programming language.Moreover, the composability and reusability of standard components offered by web services allow for building applications specific to the needs of domain and/or community of users, overcoming disadvantages and inflexibilities of monolithic GIS [53].OGC web services (OWS) are based on XML (extended markup language) to encode calls and HTTP (hypertext transfer protocol) for communicating.
Several studies [8,13,21] have shown that projects that have adopted and implemented geospatial interoperability standards saved around 25% of their time, compared to those who rely on proprietary standards.These reports also showed that using geospatial interoperability standards lowers the transaction costs for sharing data and information.The fact that exchange of data and information is performed on standardized interfaces enhances flexibility and adaptability of projects over time.These benefits provided by geospatial interoperability standards probably contribute to their growing success.The recently published INSPIRE State of Play 2010 [56] highlights that European countries are increasingly focusing their attention on interoperability issues.
View services appear to be very well developed and download services have recently begun to emerge.Consequently, we assume that WMS [38] is now well accepted among different communities to make their data viewable in an interoperable manner, but this is not yet the case for download using WFS [37] and WCS [39] standards.Only in a few cases have data been made available through these standards [4,10,12,14,27].
Currently SDIs are mainly concerned with data retrieval, data processing, and data visualization [2,52], allowing data discoverability using Catalog Service for the Web (CSW) www.josis.org[40], retrieval with WFS and WCS, processing and analysis through WPS [42] and WCPS, and visualization through WMS.Initiatives at the regional and global scale such as IN-SPIRE (Infrastructure for Spatial Information in the European Community) [17] and the Global Earth Observation System of Systems (GEOSS) [25] are good examples of what can be done in terms of geospatial interoperability standards.These initiatives are seeking to relate environmental data providers to the widest possible audience, with the objective to enhance and improve decision-making.In these two examples, as in many others, OWS are key enablers providing interoperable access to data in an efficient and timely manner.However, having interoperable access to data is only a first step towards data integration.To satisfy users' expectations, it is obviously also required to have services of sufficient quality, especially in terms of performance [36].To ensure that a service is sufficiently responsive to fulfill users' needs and requirements, performance of a given service must be measured and monitored.This includes tracking latencies, bottlenecks, and errors that may negatively influence its overall quality.
Despite the importance of data retrieval and access, little research has been conducted on benchmarking and evaluating the quality of WFS and WCS services [29,53,55,57,59].These studies mostly concentrate on the usability of OGC Web Services (OWS) when integrating distributed data sources, but provide neither a framework nor guidance to measure the performance of data services.Moreover, the only published papers specifically on this topic examine the WMS [26] and the WFS [3] specifications, to our knowledge.Consequently, a framework to assess the usability and performance of download services through a set of quantitative measures is required that allows for the quantification, repeatability, comparability, and understandability of results.Based on these considerations the aims of this paper are to: (1) extend the FOSS4G approach for measuring the server-side performance of different WFS and WCS services provided by two widely-used software implementations; (2) provide some guidance to data providers aiming at improving the quality of their services; and (3) encourage other users to contribute to completing this benchmark by setting up other scenarios and performing other tests (e.g., client-side, different parameters).
All developed material (benchmark scripts, data, and procedures) are freely available by contacting the authors.

Geospatial data interoperability
Data accessibility, availability and compatibility are among the most frequent difficulties encountered while preparing strategic environmental assessments (SEA) and environment impact assessments (EIA) in Europe [5].Moreover, it is estimated that up to 50% of users' time is spent in data discovery and transformation to make data compatible and harmonized [32,58].These authors emphasize various reasons leading to such problems, including: (1) geospatial data is voluminous; (2) geospatial data is geographically distributed (e.g., various data collector/providers around the world); (3) geospatial data is heterogeneous (e.g., formats, schemas, coordinate systems); (4) geospatial data is complex (e.g., geometries, relationships, attributes); and (5) institutional arrangements and policies (e.g., copyright) are lacking or restricting access to (meta)data.
All these factors may influence the way data providers store, publish, and deliver geospatial data.Hence, making data interoperable and improving the quality of this interoperability can potentially enhance the above-mentioned situation, allowing data users to spend more time in data analysis than in data discovery, which would enable more people to benefit from using geospatial data.To be fully interoperable a system must be syntactically, semantically, and schematically interoperable.However, OGC specifications concentrate mostly on syntactical interoperability allowing exchanging data with other components or systems.To reach semantic and schematic interoperability, both components of a system must agree on a common reference model providing the possibility to interpret accurately, unambiguously, and meaningfully the information exchanged.These levels of interoperability are important issues that have been extensively studied [22,28,31,60].Hence, to enable effective and syntactically interoperable access to geospatial data, OGC WFS (for vector data) and WCS (for raster data) specifications are essential components and a prerequisite for testing performance of different software implementations.
The OGC WFS specification [37] defines an interface for accessing feature-based geospatial data, commonly known as vector (e.g., rivers, country borders, and cities), encoded in geography markup language (GML) [50,58].A WFS interface is invoked through a URL and can perform a certain number of operations (e.g., retrieving, creating, deleting, updating) allowing a client to handle data [51].
The OGC WCS specification [39] defines a web interface allowing a client to access raster data sets.A raster data set represents a matrix of cells in continuous space organized in rows and columns where each cells contains a value.Thus WCS services give access to different types of space and/or temporal-varying data such as a digital elevation model (DEM) or remote sensing imagery.WCS delivers raw data and does not have transactional capabilities [50,58].

Quality of service (QoS)
Satisfaction of users is a major objective of any service provider.However, even if a system is fully interoperable (e.g., syntax, semantics, schema), this satisfaction would not necessarily be guaranteed.Evaluating and predicting users' satisfaction is a complex task because quality can be based on quantitative and qualitative attributes [29].The overall performance of the service is dependent on the combination of server, network, and client components.In particular, the overall performance will be affected by the slowest component that needs to be identified first.Quality can be interpreted both as a measure that represents accessibility/performance and also as a perceived quality of a service [53].Despite the importance of qualitative perceptions (e.g., good description, easy access to a service) it is undeniable that unresponsiveness or slowness of a service will negatively affect users' satisfaction [34].With the expected increasing diffusion of OWS, quality of service (QoS) will be an important factor to distinguish between reliable services and others.Therefore, QoS can be referred as a set of measurable attributes related to the individual behavior of a web service that guarantees sufficient availability and performance of a service [53].This excludes all qualitative perceptions and concentrates on technical aspects www.josis.orgthat are easily measurable and replicable under different conditions or environments.A detailed overview of testing methods both on the server-and client-sides is given in [26].These authors recognize the importance of testing to evaluate characteristics that identify measurable or quantifiable parameters.
INSPIRE is a legal framework (that entered into force in May 2007 and will be fully operational by 2019) for the establishment of a European Union SDI.The directive provides five sets of implementing rules that set out how the various elements of the system (metadata, data sharing, data specification, network services, monitoring, and reporting) will operate, and ensures that spatial data infrastructures of the member states are compatible and usable in a community and trans-boundary context [6].
To ensure sufficient availability and accessibility to data, the European Commission [19,20] has adopted regulations on network services and specifically on download services.Annex I of the regulation on download services sets out QoS criteria and corresponding values that any service must achieve: (1) Performance refers to how fast a request can be completed.The response time for sending the initial response shall be a maximum of 30 seconds in a normal situation (e.g., periods out of peak load).and shall maintain a sustained response greater than 0.5MB (or 500 spatial objects) per second.(2) Capacity is the limit of simultaneous requests that a service can handle with guaranteed performance [26].For a download service, the minimum number of served simultaneous services shall be 10 requests per second.The number of requests processed in parallel may be limited to 50.(3) Availability measures the probability that a network service is available and shall be 99% at any given time.
These measurements are important as they allow easy quantification, repeatability, comparability, and understandability [26,35].QoS criteria can be measured either on the serverside (e.g., number of visits, session duration, and average time per page) or the client-side (e.g., load testing, capacity testing).In general, the tested service is considered as a black box receiving requests and providing responses without considering software implementation at all.

Methodology of testing
Currently, even if regional initiatives such as INSPIRE are highlighting the importance of QoS there is no commonly agreed framework to measure performance of download services.Consequently, it is important to measure performance with approaches that [18] are: (1) sufficiently generic to be independent of infrastructure and application design; (2) independent of the communication between the service and client; and (3) based on request-response pairs and avoid complex transactions.
Our proposed approach is based on the one developed by the FOSS4G (Free and Open Source for Geospatial) community 1 to test WMS services.The aim is to extend this open approach to WFS and WCS services by testing various OWS implementations on a common set of geospatial data located on the same platform.Obviously, to fulfill the requirements mentioned previously, it is important that these tests are based on realistic usage scenarios.For that purpose, load testing (also known as stress testing) is generally performed simulating multiple concurrent queries to a service.This approach allows analyzing the behavior of a service under various conditions that are beyond normal usage patterns [26].
In our case, WMS testing was achieved through the use of the GetMap query, which returns to a client a raster map of selected layers based on parameters including map extent, coordinate system, width and height of the map, and image format.The query was used for the purpose of calibrating our resulting curves with those of FOSS4G2 2009 shootout.Regarding WFS and WCS testing, the use of the GetFeature (returns a GML result set with geometry and feature attributes) and GetCoverage (returns a response to a client that either contains or references the requested coverage) queries placed the emphasis on actual access to the data.
Our general methodology was to take one case as a basic case, and to vary one by one a given set of parameters related to data characteristics (geometry type, data resolution, complexity and number of attributes, field indexation, input, and output formats) and computer memory.Due to their small impact on WFS robustness [3], complexity and completeness of metadata were not tested.Random screen-sized requests were performed, on commonly used scales and extents corresponding to the bounding box of various countries.Concerning the WCS, the proposed methodology focuses on 2D data delivery.However, the WCS specification defines an interface to serve n-dimensional coverages that are important when going beyond maps into 3D time series or voxel data (e.g., 4D/5D climate data).To represent realistic usage scenarios, two groups of users were simulated: (1) a small team (e.g., people working within the same laboratory) with a workload varying from 1 to 16 concurrent requests, and (2) a larger set of 150 users simultaneously retrieving data such as in an emergency situation (e.g., after Haiti or Japan earthquakes).Each test was performed three times but only the last measure, considered as the most stable one, was retained.

Technical architecture and software
One of the aims of the proposed approach is to provide some guidance to service providers who are looking to share their data in an interoperable manner.In particular, vast amount of geospatial data is available within institutions, such as universities, research centers, that do not have means and/or do not want to develop complex infrastructures.Consequently, the proposed architecture to serve OWS must be simple, reflecting these conditions and showing that with little effort it is feasible to provide download services of sufficient quality.Therefore, the measurements will reflect performance of the server-side component of the architecture.The technical architecture (Figure 1) is based on a three-tiered model: (1) a data layer, (2) a service layer, and (3) a client layer.
In the data layer, vector and raster data can be stored directly either in a database or in file directories.PostGIS 1.5.13 and ArcSDE 9.3.1 4 were used with PostgreSQL 8.4.45 database management system (DBMS) to support geospatial data.Interoperable access to data is provided through the service layer using GeoServer 2.1.1 6 and ArcGIS Server 9.3.1 7 , Figure 1: Architecture used for testing different OWS implementations.
which are able to manage different data sources such as PostGIS, ArcSDE, or files in folders.Even though there are many available solutions to publish WFS and WCS services (e.g., MapServer, Deegree) we decided to focus on ArcGIS Server and GeoServer because they are widely used in the GIS community and they allowed us to test "native" solutions (e.g., ArcGIS Server/ArcSDE, GeoServer/PostGIS) as well as "crossed" solutions (e.g., ArcGIS Server/PostGIS, GeoServer/ArcSDE).
The client requesting services were simulated using JMeter 8 , a Java open source software designed to test servers, networks, and services performance under various load conditions on static and dynamic resources (e.g., files, servlets, scripts, databases and queries, FTP servers).JMeter was originally designed to test web applications but has since expanded to other testing functions using plugins.Despite the fact that this is a desktop application, it is important to note that JMeter is not a browser; it does not execute Javascript nor do HTML rendering.Its usage is very simple, requiring only the URL querying a specific service.Users can design their testing plan using variables, counters, logs, or other parameters to be tested.A JMeter test then corresponds to a script that can be easily executed and maintained through the JMeter graphical user interface.Once tests have been executed, performance logs can be accessed through text files providing various types of information such as number of requests, number of threads, or execution time.This information can be used to draw results as graphs or tables.JMeter scripts provided by the FOSS4G WMS 2009 benchmark have been used, extended, and adapted to test our WFS and WCS instances.Components and characteristics of the test environment are summarized in Table 1.

Testing scenarios
Testing scenarios were developed to simulate users' behavior when downloading data through WFS and WCS services.The testing scenarios are based on: (1) common vector and raster input and output formats: shapefile, ESRI geodatabase, ArcSDE, GML, TIFF, GeoTIFF, and JPEG; (2) popular data sets, such as the Blue Marble New Generation (BMNG) [54] and Global Lakes and Wetlands Database Level 2 (GLWD-2) [30], chosen for their potential use in many fields and their availability at global scale in WGS 84 spatial reference; (3) widely used platforms implementing OWS: ArcGIS Server and GeoServer.
Various conditions were defined according to (a) our daily experience using OWS; and (b) past experiments made during the development of the PREVIEW geoportal [23].The different testing scenarios developed to test WFS services are summarized in Table 2 and those concerning WCS in Table 3.Each scenario is tested both under ArcGIS Server and GeoServer platforms.
Further tests were also performed on memory configuration by varying the allowed memory and by comparing performance of each of the three runs of case #1 with varying memory.An ArcGIS Server endpoint is for WFS: http://<server>/arcgis/services/<service>/MapServer/ WFSServer?and for WCS: http://<server>/arcgis/services/<service>/MapServer/ WCSServer?while a GeoServer endpoint corresponds to: <server>/geoserver/ows?
As an example, the following WFS request executed under ArcGIS Server allows one to retrieve all rivers of Switzerland (i.e., "cntry name" field equal to "Switzerland") present in the data set "WFS GDB:river."This query uses the OGC filter encoding specification capabilities [37] to extract data based on their attributes:  In GeoServer, the same request shows differences (e.g., "ogc" term mandatory in Arc-GIS) in the syntax for the expression of the filter, which already highlights a potential problem in terms of interoperability and universality of semantic:

Data sets
To fit the GIS community's common users practices, we have selected widely used data sets with a global extent and a large number of features (e.g., attributes, resolution, formats).Therefore vector data sets (used for WFS tests) were extracted from: (1) the GLWD-2 as a polygon data set.This very popular data set, used by numerous governmental and non-governmental organizations, contains about 250,000 natural lakes and human-made reservoirs, and 8,500 rivers-respectively 4,000,000 and 350,000 vertices.By default, the polygonal layer includes a dozen textual and numeric attributes.
(2) the European Space Agency (ESA-ESRIN) World Fires Atlas Program (ATSR) as a point data set.This represents an estimation of fire events around the world between 1997 and 2008, and is available in a compiled form on the PREVIEW Global Risk Data Platform [23].This data set is composed of around 1,000,090 points.
For the WCS testing, the raster data set we selected as a base case was the BMNG.This data set is provided into 240 GeoTIFF tiles each of 12MB and 15 decimal degrees (DD), spatially referenced on the WGS 84 ellipsoid, with a 0.008DD pixel size, for a total of 2.87GB of data.The BMNG is traditionally used not only in education and research, but also often as a base map, and has a relatively high spatial resolution.

Results
The tests performed with JMeter consist of sending requests for data with random geographical extent to the different services and measuring the response time.The performance indicator is expressed in data served per second in the case of WFS and in map images served per second in the case of WCS.Different load conditions ranging from 1 to 40 simultaneous threads allow evaluating the server response.Vector data sets were used for testing WMS and WFS, and raster data sets for WCS.www.josis.org

WMS
First, it is important to validate the proposed architecture by comparing results obtained in the FOSS4G Benchmark with the system used in the experiment.For that, the same data set storing edge polylines (roads, rivers) for Texas (shapefile with spatial index) was used.The performance tests show that the results for shapefiles from FOSS4G WMS benchmark 2009 are similar for Mapserver CGI and FCGI on the Linux platform and for Mapserver CGI and FCGI on Windows9 (Figure 2, Table 4).This means that the infrastructure used for the benchmark is comparable in terms of performance.

WFS
WFS 1.1.0services have been tested through different scenarios on an ArcGIS Server and Geoserver including different data sets (e.g., points and polygons), stored in different formats: ArcSDE, Shapefile, ESRI FGDB, and PostgreSQL/PostGIS.
The fire points data set (in shapefile format) containing about 1,090,000 features for a size of 99MB is about four times slower than the lake data set (shapefile of 117MB) containing about 250,000 polygons and 4,000,000 vertices.This means that the relationship between the storage size of a data set and the performance is not straightforward."The bigger in file size the slower" is not always true, as performance also depends on the number of features.
On ArcGIS Server, using the "lake polygon" data set, performance was only slightly affected by the storage format, with a small advantage for the ESRI file geodatabase format (Figure 3, Table 5).Compared to ArcGIS Server, Geoserver WFS runs are about three times faster.The polygon data set representing lakes is more efficient when stored in PostGIS.A small decrease www.josis.org in performance is observed when the number of simultaneous threads exceeds 4, but performance remains good (Figures 4 and 5, Table 6).This phenomenon may come from a disk access bottleneck.An increasing number of service errors have been observed when the simultaneous threads increase.

Comparison on memory
Comparative tests on memory show that the performance of WFS depends on memory configuration.The variation is significant with ArcGIS Server: by allowing 4 instances instead of 2 (which is the default value), performance improved by about 35% with 4 or more simultaneous threads.Because each separate process uses the same amount of RAM, giving more RAM allow more processes to run independently.With GeoServer, memory configuration shows ambiguous results on WFS performance.Adding 25% of memory, results in gains that are smaller than the variation between the different runs of measures.
However, GeoServer appears more stable in term of throughput.The three runs of each of the previous tests on memory generate comparable throughputs.Variations in performance range from 6% to 9%.First runs are slower than the two others with an increasing number of simultaneous requests.

WCS
The performance of WCS 1.1.1 is tightly linked to the size and resolution of the data set.
The BMNG 8-bit color image was stored in low-resolution 3600×1800 pixels and highresolution.Medium resolution was produced by directly resampling the high-resolution image through the WCS instance and requesting a smaller number of pixels in height and width.Different storage options have been tested for the high resolution image consisting of (1) one large GeoTIFF image 45,688×22,509 pixels (2.87GB), and (2) 240 tiles of GeoTIFF images 1876×1876 pixels (10MB each tile).
Setting up a responsive WCS instance involves efficiently accessing the raster data set.On the ArcGIS Server platform, the WCS is faster when the data set is stored in ESRI file geodatabase raster than in flat TIFF file (Figure 6, Table 7).This is true for low resolution, although in medium and high resolution the file geodatabase is approximately the same as the flat TIFF file.One hypothesis to explain this pattern is that heavy load, the server is limited by other factors such as CPU or memory rather than data access.Overall, the best result are obtained with ArcGIS Image Server with TIFF tiled in high resolution.This result is explained by the overview images created automatically when the ArcGIS Image Service is built.These overview images speed up the service for the WCS requests that cover a large area at small scale.Geoserver has been tested on Linux with Tomcat and on Windows with Jetty.Tomcat and Jetty are open-source HTTP servers and Java Servlet containers.These two applications provide a pure Java web server environment as well as services such as load balancing, data services, and security.It seems that GeoServer performs faster on Linux.When the load on the server increases in terms of simultaneous threads and with higher resolution, the number of service errors increases and the throughput decreases to very small values.It takes more than one minute to produce each image when the WCS server is overloaded (Figure 7).

Discussion
Geospatial data is valuable in various domains, particularly in multi-disciplinary research activities that require integrating different data sets from different sources and in different formats.Therefore, having this data readily available and easily accessible is a key require- Even though the two tested solutions (GeoServer and ArcGIS Server) show substantial differences in performance, our aim is not to focus on the debate of proprietary versus open source licensed software.Instead we wish to give a first insight concerning serverside WFS and WCS implementations of two of the most widely used solutions within the GI community.We also wish to contribute to: (1) improving the quality of these services independently on the platform used, (2) discussing the possibilities to test performance of these services, and finally (3) sharing our testing scripts and data used with the scientific community (e.g., FOSS4G and other testers) to improve the proposed framework of testing.
The proposed extended approach can be considered as relevant because results obtained from calibration of our architecture against WMS services show similar values as those of the FOSS4G community (Section 5.1).The stability of our results is also positive, meaning that what has been measured is differences in performance caused by the various tested parameters.
Our tests have highlighted that globally these different implementations can provide fairly good performance directly "out of the box," regarding the vast amount of data (up to 4,000,000 rows), the retrieval extent (worldwide in some cases), and the high number of simultaneous requests (up to 1600).However they clearly show that memory is a critical factor to control and that many elements can influence the response of a given service.Therefore, simplifying the instance (e.g., turning off extraneous services or options), configuring suitable memory parameters (e.g., image rendering, type of data served), and managing the number of requests (e.g., limiting the number of concurrent requests that could prevent timely responses, workload manager) are factors that can improve the overall quality of web services [16,45].Various other factors may affect performance, in particular if implementations use containers such as Java virtual machine (JVM) 10 or Jetty 11 .Tuning the different options provided by these containers may significantly improve performance of the proposed services, as well as increasing network speed [3].
Serving large amounts of data efficiently requires optimizing data and storage [16,45].Our results show that ESRI file geodatabase appears a suitable format, both for vector and raster data, as it provides good performance compared to flat files or ArcSDE.Knowing that FGDB could potentially become a common and cross-platform format with the recent release of an open API 12 reveals interesting perspectives for stakeholders.Native solutions like ArcGIS Server/ArcSDE and GeoServer/PostGIS also give globally good results and may be reliable solutions to efficiently serve data using WFS and WCS standards.When storing vector data in databases, indexing geometry and attributes significantly improves performance by accelerating data delivery.This is also particularly important because the relationship between storage size of the data set and overall performance of the download service (e.g., number of features, attributes) is not linear.Regarding raster data, building pyramids, caches, and overviews can improve the performance of the proposed service.These operations will decrease the amount of data sent when panning or zooming by tiling and down-sampling an image to a standardized size and creating overviews as separate image files in a hierarchy [15].In the same direction, on-the-fly re-projection can be CPU intensive and storing data in the most frequently requested projection may also improve performance.Finally, symbology can also influence the performance of services.In this study we have decided to not test this parameter, because (1) this is not the most sensitive parameter (compared to memory) and ( 2) lots of factors need to be tested to achieve a reliable symbology (e.g., classes, forms, texture, and size).
In a more general context, WFS and WCS specifications are suitable standards to share and access data in an interoperable manner.However, even if data and storage are tuned and optimized, some bottlenecks may appear when transferring large volumes of data (e.g., geographical extent, attributes, features, or resolution).Indeed, WFS uses GML encoding [1,41,47] to serve data.Due to its verbose nature, transferring large amounts of data might be problematic and lead to high latencies and low performance.Similarly WCS is very sensitive to data resolution.Consequently, these standards are more suited to share local medium-resolution data than global high-resolution data because of the limitation cause by file formats, file size, and network bandwidth.Additionally, differences in OGC specifications have been noted in the various implementations tested (e.g., filter encoding, parameters).This may lead to interoperability problems, especially if clients do not implement the different flavors of these specifications, and may limit seamless data integration capabilities.Although it was not the purpose of this study, we noted differences between clients (e.g., ArcGIS Desktop, QGIS, uDig) when accessing a layer provided by a given service.This can be potentially caused by differences in ways of reading data in the various client software implementations.This should be further investigated as it may influence the way users perceive the quality of a service.Concerning the versions of WFS and WCS, we tested the available implementation of these standards in ArcGIS Server and GeoServer, respectively 1.1.1 and 1.1.0.However these standards are not the current versions specified by the OGC.WFS and WCS are now both available in version 2.0 [43,44].This is a current limitation, as data providers may be dependent on the version implemented in the selected software.Even in the most recent version of ArcGIS Server (10.1)WCS 2.0 is not currently implemented.This limitation can be tackled by testing other software implementations such as RasDaMan (http: www.rasdaman.com)or Deegree (http: www.deegree.org) thanks to the open approach proposed in our work (by providing access to our testing scripts and data sets).This can allow users to test mot recent standard versions.
In this study, we have focused our attention on the performance criteria, which is the most critical factor to test when assessing QoS.As stated by the European Commission [19,20], the two other factors are capacity and availability.Further research should then consider measuring these two factors.Capacity is the limit of simultaneous requests that a service can handle with guaranteed performance.Measuring capacity is possible with the two tested implementations, as they manage threads with queuing functionality.After a certain number of threads, the throughput is stable and the service seems to wait until a worker is free and then handles the request.Availability (i.e., the probability that a network service is available) is more difficult to measure as it is strongly related to the architecture of a system.Having multiple instances, load balancers, and high availability routers will help to ensure reliability of services.Monitoring and measuring the status of these components requires further investigation.

Conclusions
Spatial data infrastructures seek to facilitate the access and integration of geospatial data coming from various sources.To achieve this objective, systems must be interoperable.OGC specifications are key enablers providing interoperable access to data in an efficient and timely manner.Syntactical, semantic, and schematic interoperability are not enough to ensure that a given service is sufficiently responsive to fulfill users' expectations and requirements.Performance of a given service must also be measured and monitored to track latencies, bottlenecks and errors that may negatively influence its overall quality.The objectives of this study were to (1) extend the FOSS4G approach to measure the performance of different WFS and WCS implementations, (2) provide some guidance to data providers looking to improve the quality of their services, and (3) share our testing scripts and test data to the community (e.g., FOSS4G and others) to improve the proposed framework of testing.
Our work has shown that overall server-side performance of the tested implementations is globally satisfactory already "out-of-the-box" (e.g., without tuning different serverside parameters).This can be interpreted as a positive sign for data providers that may potentially be reluctant (due to too much complexity) to publish their data using OWS with these software.However, our tests have shown that to achieve reliable services, tuning memory is a critical factor, even as default software installations continue to improve usage of memory.Additionally, optimizing data (e.g., attributes indexation and reduction, projection) and storage (e.g., FGDB for flat file, PostGIS for database, Image Server for raster) are factors that can easily increase efficiency of services.Some differences have been www.josis.orghighlighted regarding the various implementations of WFS and WCS specifications.This can potentially limit data integration if clients do not implement the different flavors of these specifications.Finally, by nature these specifications are not well suited to transfer large volumes of data and the current specifications are more appropriate to share local medium-resolution data than global high-resolution data.This may increasingly become an issue in the near future, especially given the ever-increasing volume of high-resolution data available.

Figure 2 :
Figure 2: WMS results under various conditions (OWS implementation and file formats).

Figure 5 :
Figure 5: Comparison of best result obtained on each software implementation: GeoServer and ArcGIS Server.

Table 1 :
Characteristics of the test environment.All network interfaces between computers were based on 1GB LAN connections.

Table 3 :
Summary of the WCS testing scenarios.Case #1 is the "base case."

Table 5 :
WFS ArcGIS Server tests results.Refer to Table4for acronyms.

Table 7 :
WCS Geoserver (GS) and ArcGIS Server (AGS) tests results.An ArcGIS Server Image Service (IS) has also been tested.Tests have been executed on Linux and Windows (win) operating systems.lr: low-resolution, mr: medium-resolution, hr: high-resolution.