Presentation is loading. Please wait.

Presentation is loading. Please wait.

Contents Digital-SNOWTAM Trial Introduction REST Introduction

Similar presentations


Presentation on theme: "Contents Digital-SNOWTAM Trial Introduction REST Introduction"— Presentation transcript:

1

2 Contents Digital-SNOWTAM Trial Introduction REST Introduction
REST in the Digital-SNOWTAM Trial Why it is used Architecture How it is used Example AIXM XML Developers' Seminar

3 Digital-SNOWTAM Trial Introduction

4 Demo AIXM XML Developers' Seminar

5 REST Introduction

6 REST Representational State Transfer An architectural style REST
It is an architectural style. OFTEN LEAD TO REStful Web Services E.g. Amazon S3 REST API. AIXM XML Developers' Seminar

7 Main definitions Resources Representations Actions – Verbs
Type of data AIXM XML Developers' Seminar

8 Resources A resource is a real thing that can be acted upon with a request Anything that can be named can be a resource e.g. PDF, XML, SVG, HTML page, today’s weather report. They are found using URIs (see These are represented using URIs (see purl.org) Anything can be a resource e.g. PDF, XML, SVG, HTML page. A resource is a real thing that can be acted upon with a request AIXM XML Developers' Seminar

9 Resources and time Resources can vary over time.
The only thing that must be static is the semantic of the mapping (name). AIXM XML Developers' Seminar

10 Representations The data transmitted to and from the resource is called a representation Captures the current or intended state of the resource It can be a copy of the file or a description of it The data transmitted to and from the resource is called a representation. It can be a copy of the file or a description of it. The interaction of the representation on the resource is determined by the verb. AIXM XML Developers' Seminar

11 Transparency How the representation is found should be transparent to the user It could involve the server parsing the URL, constructing a database query and returning the result AIXM XML Developers' Seminar

12 Actions - Verbs Once the representation of the resource has been returned, an action can be performed The interaction is determined by the HTTP verbs: GET, PUT, POST and DELETE The interaction is stateless Once the resource has been found, an action can be performed. These use the HTTP verbs: GET, PUT, POST and DELETE AIXM XML Developers' Seminar

13 Type of data When performing an action on a resource it is important to know what the resource is MIME types can help here (e.g. text/xml) The format of the request/response can be specified in a schema When performing an action on a resource it is important to know what the resource is. MIME types can help here (text/xml). The format of the response can be specified in a schema. Likewise, a schema can define the format of the response. AIXM XML Developers' Seminar

14 Actions GET Used to read a resource or as a query
Should be side-effect free PUT Replaces the target resource in its entirety DELETE Removes the resource POST Has a variety of meanings e.g. it can be used when only a subset of a resource has to be modified AIXM XML Developers' Seminar

15 REST in the Digital-SNOWTAM Trial

16 Why it is used Support the provision of AIXM 5.1 data to end-user applications The REST interface shall enable digital users to: Query the Digital SNOWTAM database for the list of airports contained in the database and select one of these airports; Get the list of airport’s features for a selected airport; Get the surface contamination records for each such feature; Get the feature related through xlink:href; Get the SNOWTAM text and the free text translation associated with an Airport. Read-Only Except for the list of Airports always returns an AIXM Basic Message which contains features There is no AIXM message yet for list of airports AIXM XML Developers' Seminar

17 Architecture The REST implementation framework used is Struts 2 REST plug-in which in turn uses the Convention plug-in. See for more information. Please note the REST plug-in is only available for Struts or above. AIXM XML Developers' Seminar

18 Implementation Only GET is need for the trial.
AIXM XML Developers' Seminar

19 Workflow In order to interrogate the database:
request the list of airports select one airport and use the xlink:href to get the details about this airport select a runway and use the corresponding xlink:href to get the details about this feature The xlink:href is a URL compliant to the Digital SNOWTAM REST request structure AIXM XML Developers' Seminar

20 Base URL Base: http://<server>/<app>
E.g. Then add a Suffix: /<REST suffix> Will work on HTTPS AIXM XML Developers' Seminar

21 Find Airports Suffix: /airportheliports[?designator=<pattern>]
There are about airports/heliports in the database so… Optional Parameter: The pattern is of the form [A-Z*]{1,4} where * is the wildcard character. Pattern samples: EB* matches any designator beginning with EB *BBR matches any designator ending in BBR E*R matches any designator beginning with E and ending with R The response to this request is not AIXM5.1-compliant since AIXM5.1 doesn’t define the concept of list of airports/heliports. Can add date&time if needed. AIXM XML Developers' Seminar

22 Query an Airport Suffix:
/airportheliports/<gml:identifier>[?features=yes/no&contaminations=yes/no&date=<date&time>] Mandatory parameter: gml:identifier – UUID Optional parameters: date - <date&time> is the search date&time features - specify if xlink:href pointing to related features must be included in the results, e.g. runways, taxiways, etc contaminations - specify if contaminations must be included or not in the result Use the gml identidfier from the Find Airport stage Here are a few remarks valid for all the suffixes described below: date is an optional parameter and <date&time> is the search date&time in the format dd/mm/yyyy hh:mm (e.g.: 11/06/ :35). In each case, the response will be limited to data valid at that date&time. If no date&time is provided, the current date and time is used. features is an optional parameter to specify if xlink:href pointing to related features must be included in the results,e.g. runways, taxiways, apron of an airport or runway directions of a runway. Possible values are yes and no. If missing, no is assumed. contaminations is an optional parameter to specifiy if contaminations must be included or not in the result. Possible values are yes and no. If missing, no is assumed. AIXM XML Developers' Seminar

23 Examples

24 1 – Create Contamination
Use Bromma to create a contamination AIXM XML Developers' Seminar

25 2 – Use REST to find the airport
<ResultList> <AirportHeliportFeature designator="ESSB" id="77a0de0e-277a-4824-a561-2ba779a3658c" href=" </ResultList> Use FireFox with text link plug in: AIXM XML Developers' Seminar

26 3 – Find SNOWTAM Text <aixm:annotation> <aixm:Note> <aixm:definition>snowtam-icao</aixm:definition> <aixm:translatedNote> <aixm:LinguisticNote> <aixm:note lang="eng"> SW** ESSB (SNOWTAM A)ESSB B) C)12 F)3/2/2 G)1/1/1 H)2/3/3 BRD ) </aixm:note> </aixm:LinguisticNote> </aixm:translatedNote> </aixm:Note> </aixm:annotation> AIXM XML Developers' Seminar

27 4 – Get Airport data <aixm:associatedRunways> <aixm:associatedRunway id="12/30" xlink:href=" </aixm:associatedRunways> AIXM XML Developers' Seminar

28 5- Get Runway contamination
<aixm:areaContaminant> <aixm:RunwaySectionContamination> <aixm:observationTime> T09:00:00Z</aixm:observationTime> <aixm:depth uom="MM">1</aixm:depth> <aixm:frictionEstimation>MEDIUM</aixm:frictionEstimation> <aixm:frictionDevice>BRD</aixm:frictionDevice> <aixm:obscuredLights>NO</aixm:obscuredLights> <aixm:layer> <aixm:SurfaceContaminationLayer> <aixm:layerOrder>1</aixm:layerOrder> <aixm:type>WATER</aixm:type> </aixm:SurfaceContaminationLayer> </aixm:layer> <aixm:section>2_THIRD</aixm:section> </aixm:RunwaySectionContamination> </aixm:areaContaminant> AIXM XML Developers' Seminar

29 6 - Time based AIXM XML Developers' Seminar

30 AIXM 5.1 TEMPDELTA and a BASELINE AIXM XML Developers' Seminar


Download ppt "Contents Digital-SNOWTAM Trial Introduction REST Introduction"

Similar presentations


Ads by Google