Paul Crocker, professor from University of Beira Interior (UBI) and an EPOS TCS GNSS Data and Products member, presented a poster about GLASS at AGU Fall Meeting. The event, hosted from December 10th to 14th, at Walter E Washington Convention Center, had the poster presentation addressed at Hall A-C (Poster Hall) on Wednesday (December 12th, 2018), from 13:40 to 18:00 (Washington, D.C. time).
As explained in previous EPOS newsletter articles, the TCS GNSS Data & Products has been developing a software package called GLASS (Geodetic Linking Advanced Software System) to connect various nodes with GNSS data and make their metadata and their download URL available to the public. To do so, the EPOS TCS GNSS Data and Products team have been developing for the past months the new version of GLASS Application Programming Interface (API) to accomplish three main objectives: a reduction of the number of endpoints, an improvement in the response times of those endpoints and to standardize the input parameters of the Uniform Resource Identifier (URI). This API will also be used by ICS to harvest the GNSS metadata.
User interface – “Through the swagger user interface page, present in our website, it is possible to test the new endpoints, that can be identified by the presence of “v2” (version 2) in the URI”, explains José Manteigueiro, from UBI and the developer in charge of this improvement. Manteigueiro assures that compared to the previous GLASS version, the number of the available endpoints was greatly reduced, whilst retaining all the previous functionality. This makes it more transparent and easier to use.
According to Paul Crocker, from UBI and member of EPOS TCS GNSS, a request usually requires as parameters many values that determine the size of the output, and also specifies the format of the response, such as JSON, CSV or TXT. He also added that the algorithms that retrieve the data from our database have also been improved, being much faster now. It's now possible to obtain large amounts of data in less than one second, also thanks to a cache system, developed at project partners CNRS that stores precomputed data ready to be delivered. This ensures that in the operational phase of EPOS, when metadata of thousands of GNSS stations will be stored in the GLASS database, the API response to the user’s queries is sufficiently quick.
EPOS GLASS framework – The new version of the EPOS GLASS Framework is already available on the WP10 Software Repository at GitLab and can be found online at installed Glass Nodes and also at the TCS GNSS Data Portal. “Once the source-code repository is not public, a registration (and sign in) in GitLab is required but it also demands an authorization request to the repository maintainers to be able to have access to EPOS GLASS Framework stored on the WP10 Software Repository”, explains Rafael Couto, IT developer from UBI team.
Application Programming Interface (API) – a set of functions, routines, subroutines, procedures, methods used by computer programs to request services from the operating system. A computer programmer uses API to make application programs. It allows the interaction with the software.
Endpoints –The endpoint of a webservice is the URL (Uniform Resource Locator or web address) where the service can be accessed by a client application enabling the features to be accessed by the user.
Uniform Resource Identifier (URI) – is a sequence of characters that identifies a logical or physical resource. A URL (Uniform Resource Locator or web address) is a type of URI, which begins by stating which protocol should be used to locate and access the physical or logical resource on a network. Uniform Resource Names are also a type of URI, but has persistent significance so the owner of the URN can expect that someone else (or a program) will always be able to find the resource.
Swagger user interface – allows development team and end-user to visualize and interact with the API’s resources in a user-friendly way. It is automatically generated from OpenAPI (formerly known as Swagger).
Algorithms –a set of instructions and rules that precisely define a sequence of operations to be executed, in this case, by a software running in a server.