1 / 30

Contents

Contents. Digital-SNOWTAM Trial Introduction REST Introduction REST in the Digital-SNOWTAM Trial Why it is used Architecture How it is used Example. Digital-SNOWTAM Trial Introduction. Demo. REST Introduction. REST. Representational State Transfer An architectural style.

lblack
Download Presentation

Contents

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Digital-SNOWTAM Trial Introduction

  3. Demo AIXM XML Developers' Seminar

  4. REST Introduction

  5. REST • Representational State Transfer • An architectural style AIXM XML Developers' Seminar

  6. Main definitions • Resources • Representations • Actions – Verbs • Type of data AIXM XML Developers' Seminar

  7. 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 www.purl.org) AIXM XML Developers' Seminar

  8. 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

  9. 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 AIXM XML Developers' Seminar

  10. 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

  11. 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 AIXM XML Developers' Seminar

  12. 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 AIXM XML Developers' Seminar

  13. 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

  14. REST in the Digital-SNOWTAM Trial

  15. 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. AIXM XML Developers' Seminar

  16. Architecture • The REST implementation framework used is Struts 2 REST plug-in which in turn uses the Convention plug-in. • See http://struts.apache.org/2.x/docs/rest-plugin.html for more information. • Please note the REST plug-in is only available for Struts 2.1.1 or above. AIXM XML Developers' Seminar

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

  18. 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

  19. Base URL • Base: • http://<server>/<app> • E.g. http://l-accept-04.pulsar.be/ec-xsnowtam-rest-accept • Then add a Suffix: • /<REST suffix> AIXM XML Developers' Seminar

  20. 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 AIXM XML Developers' Seminar

  21. 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 AIXM XML Developers' Seminar

  22. Examples

  23. 1 – Create Contamination • Use Bromma to create a contamination AIXM XML Developers' Seminar

  24. 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> AIXM XML Developers' Seminar

  25. 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> AIXM XML Developers' Seminar

  26. 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> … AIXM XML Developers' Seminar

  27. 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> AIXM XML Developers' Seminar

  28. 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 AIXM XML Developers' Seminar

  29. AIXM 5.1 • TEMPDELTA and a BASELINE AIXM XML Developers' Seminar

More Related