1 / 34

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. Digital SNOWTAM Trial 2009-2010. SNOWTAM Message Sample  

saskia
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. Digital SNOWTAM Trial 2009-2010 • SNOWTAM Message Sample   0902020400 ESSA S ESSA S0C)01L F)71/71/71 G)01/01/01 H)69/63/60 SFH N)71/GOODC)08 F)71/71/71 G)01/01/01 H)62/65/68 SFH N)71/GOODC)01R F)71/71/71 G)01/01/01 H)70/66/68 SFH N)71/GOODR)7/MEDIUM-GOODT)RWYS AND TWYS CONT 10 PER CENT. APRONS CONT 25 PER CENT

  4. Scope Execution: Winter 2009-2010 • Service provider • Briefing • FPL • chart • FMS data • etc. • End user • Pilot • Airline OPS • ATC • etc. Originator (Digital NOTAM) Image Text Application AIXM 5 (Digital NOTAM) xNOTAM Trial (origination only) xSNOWTAM Trial (end-to-end)

  5. Trial – application architecture

  6. Digital SNOWTAM Trial (2009-2010)

  7. REST Introduction

  8. REST • Representational State Transfer • An architectural style • A technology agnostic abstraction • The Web is RESTful AIXM XML Developers' Seminar

  9. Key principles • Identifiable Resources • Representations • Hypermedia • Uniform Interface • Actions – Verbs • Client-server • Transparency and layering • Type of data AIXM XML Developers' Seminar

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

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

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

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

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

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

  16. Client Server Interactions • Interactions in both directions: from and to the server • Interactions are stateless: • no client context stored on the server between requests AIXM XML Developers' Seminar

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

  18. REST in the Digital-SNOWTAM Trial

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

  20. Architecture • The REST framework used is Struts 2 REST plugin. • See http://struts.apache.org/2.x/docs/rest-plugin.html for more information. AIXM XML Developers' Seminar

  21. Implementation • Only GET is needed for the trial. AIXM XML Developers' Seminar

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

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

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

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

  26. Examples

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

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

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

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

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

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

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

More Related