The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital...

33
The European Organisation for the Safety of Air Navigat REST and WFS Interfaces Usage in Digital SNOWTAM Trial

Transcript of The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital...

Page 1: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

The European Organisation for the Safety of Air Navigation

REST and WFS InterfacesUsage in Digital SNOWTAM Trial

Page 2: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 2

Trial – Application architecture

AIXM 5.1 data

WFS

soon

Page 3: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 3

Contents• REST and WFS

• WFS Introduction• REST Introduction

• REST and WFS in the Digital SNOWTAM Trial

• Examples

Page 4: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 4

WFS

• Web Feature Service

• Geographic information service implementation specification based on XML and GML

• Allows a client to retrieve and update geospatial data encoded in GML from multiple Web Feature Services.

• Specification from OGC and now ISO

Page 5: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 5

WFS – What does it enable?

• A client can query a data source and then display the result. Data can be combined from many different sources. The ability to display data from many sources allows the data to be combined in new and interesting ways.

• Web Feature service has two functions: • First, it can implement geospatial data web service, data

provider can establish a web feature service upon on spatial database to provide online data service.

• Second, it can implement interoperability between heterogeneous system. Two different GIS software can realise heterogeneous data interoperability, including query, browse, update etc.

Page 6: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 6

WFS – Basic Functions

• GetCapabilities • operation describes capabilities of the WFS using XML, it

indicates which feature types it can service and what operations are supported on each feature type

• DescribeFeatureType • operation describes the structure of any feature type it can

service • GetFeature

• operation services a request to retrieve feature instances

Page 7: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 7

REST• Representational State Transfer• An architectural style• A technology agnostic abstraction• The Web is RESTful

Page 8: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 8

REST - Key principles

• Identifiable Resources• Representations • Hypermedia• Uniform Interface• Actions – Verbs• Client-server• Transparency and layering• Type of data

Page 9: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 9

REST - Resources

• A resource is a real thing that can be acted upon with a request

• Anything that can be named and identified can be a resource

• They are found/identified using URIs• Unified Resource Identifier• = network address ~ URL

• Collection URI (../airports)• Member URI (/airports/732d64d4-cd11)

Page 10: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 10

Contents• REST and WFS

• WFS Introduction• REST Introduction

• REST and WFS in the Digital SNOWTAM Trial

• Examples

Page 11: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 11

WFS - Implementation

Page 12: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 12

REST - Resources and time

• Resources can vary over time.• The only thing that must be static is the

semantic of the mapping (name).

Page 13: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 13

REST - Representations

• Resources are always accessed through a representation

• Captures the current or intended state of the resource

• There can be more than one (html, xml, pdf…)

• HTTP provides well known/standardized content types and content negotiation

Page 14: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 14

REST - Hypermedia

• Allows access to related resources• Master-detail and other connections

• URIs in hypertext links• Links should always be provided by the

server• Enables seemless evolution and distribution

• Different application and servers

Page 15: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 15

REST - Uniform Interface

• Once you know a resource’s ID, you can interact with it in a single standard way

• Limited set of operations (verbs) in HTTP: GET, PUT, POST, DELETE

• Pre-defined semantics allows for optimizations

Page 16: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 16

REST - Actions

• GET• Used to read a resource or as a query• Should be side-effect free

• POST• Creates a new resource or invoke arbitrary processing

• PUT• Updates the resource with new data and create it if

necessary

• DELETE• Removes the resource

Page 17: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 17

REST - Client Server Interactions

• Interactions in both directions: from and to the server

• Interactions are stateless: • no client context stored on the server between

requests

Page 18: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 18

REST - Transparency / Layering

• An application can interact with a resource by knowing two things: the identifier of the resource and the action required. That’s all!

• How the representation is found should be transparent to the user

Page 19: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 19

REST - 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 related feature through xlink:href;• Get the SNOWTAM text and the free text translation

associated with an Airport.

Page 20: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 20

REST - Architecture

• The REST framework used is Struts 2 REST plugin.• See http://struts.apache.org/2.x/docs/rest-plugin.html for more

information.

Page 21: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 21

REST - Implementation

• Only GET is needed for the trial.

Page 22: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 22

REST - 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 related feature and use the corresponding xlink:href

to get the details about it

• The xlink:href is a URL compliant to the Digital SNOWTAM REST request structure

• Use the UUID for subsequent calls

Page 23: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 23

REST - Base URL

• Base:

• http://<server>/<app>• E.g. http://l-accept-04.pulsar.be/ec-xsnowtam-rest-accept

• Then add a Suffix:

• /<REST suffix>

Page 24: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 24

REST - Find Airports

• Suffix:• /airportheliports[?designator=<pattern>]

• There are about 15000 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

Page 25: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 25

REST - 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

Page 26: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 26

Contents• REST and WFS

• WFS Introduction• REST Introduction

• REST and WFS in the Digital SNOWTAM Trial

• Examples

Page 27: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 27

REST - 1 – Create Contamination

• Use Bromma to create a contamination

Page 28: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 28

REST - 2 – Use REST to find the airport

• http://l-accept-04.pulsar.be/ec-xsnowtam-rest-accept/airportheliports?designator=ESSB

<ResultList> <AirportHeliportFeature designator="ESSB" id="77a0de0e-277a-4824-a561-2ba779a3658c" href="http://l-accept-04.pulsar.be/ec-xsnowtam-rest-accept/airportheliports/77a0de0e-277a-4824-a561-2ba779a3658c"/></ResultList>

Page 29: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 29

REST - 3 – Find SNOWTAM Text

• http://l-accept-04.pulsar.be/ec-xsnowtam-rest-accept/airportheliports/77a0de0e-277a-4824-a561-2ba779a3658c?features=yes&contaminations=yes

<aixm:annotation> <aixm:Note> <aixm:definition>snowtam-icao</aixm:definition> <aixm:translatedNote>

<aixm:LinguisticNote> <aixm:note lang="eng">SW** ESSB 10090900 (SNOWTAM A)ESSB B)10090900 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>

Page 30: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 30

REST - 4 – Get Airport data

• http://l-accept-04.pulsar.be/ec-xsnowtam-rest-accept/airportheliports/77a0de0e-277a-4824-a561-2ba779a3658c?features=yes

… <aixm:associatedRunways> <aixm:associatedRunway id="12/30" xlink:href="http://l-accept-04.pulsar.be/ec-xsnowtam-rest-accept/runways/58ea128d-1bbe-47f6-92fe-a8961b4bf5ee"/> </aixm:associatedRunways>…

Page 31: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 31

REST - 5- Get Runway contamination

• http://l-accept-04.pulsar.be/ec-xsnowtam-rest-accept/runways/58ea128d-1bbe-47f6-92fe-a8961b4bf5ee?contaminations=yes

<aixm:areaContaminant> <aixm:RunwaySectionContamination>

<aixm:observationTime>2009-10-09T09: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>

Page 32: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 32

REST - 6 - Time based

• http://l-accept-04.pulsar.be/ec-xsnowtam-rest-accept/runways/58ea128d-1bbe-47f6-92fe-a8961b4bf5ee?date=9/10/2009%2009:00&contaminations=yes

Page 33: The European Organisation for the Safety of Air Navigation REST and WFS Interfaces Usage in Digital SNOWTAM Trial.

REST and WFS Interfaces 33

AIXM 5.1

• TEMPDELTA and a BASELINE