Publication Date: 2017-06-15
Approval Date: 2016-09-15
Posted Date: 2016-07-31
Reference number of this document: OGC 16-018
Reference URL for this document: http://www.opengis.net/doc/PER/t12-E005
Category: Public Engineering Report
Editor: Charles Chen, Skymantics
Contributor: Thomas Forbes, Snowflake Software
Title: Testbed-12 Aviation Architecture ER
Copyright © 2017 Open Geospatial Consortium. To obtain additional rights of use, visit http://www.opengeospatial.org/
This document is not an OGC Standard. This document is an OGC Public Engineering Report created as a deliverable in an OGC Interoperability Initiative and is not an official position of the OGC membership. It is distributed for review and comment. It is subject to change without notice and may not be referred to as an OGC Standard. Further, any OGC Engineering Report should not be referenced as required or mandatory technology in procurements. However, the discussions in this document could very well lead to the definition of an OGC Standard.
Document type: OGC Engineering Report
Document stage: Approved for public release
Document language: English
Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement.
If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.
THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD. THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.
This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.
Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications.
This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.
None of the Intellectual Property or underlying information or technology may be downloaded or otherwise exported or reexported in violation of U.S. export laws and regulations. In addition, you are responsible for complying with any local laws in your jurisdiction which may impact your right to import, export or use the Intellectual Property, and you represent that you have complied with any regulations or registration procedures required by applicable law to make this license enforceable.
- 1. Introduction
- 2. References
- 3. Terms and definitions
- 4. Overview
- 5. Component Descriptions
- 5.1. Data Broker [F006]
- 5.2. Catalog [F003]
- 5.3. Aviation Client [F004] (Aviation Client for Data Broker and CSW)
- 5.4. Aviation Client [F008] (Aviation Client for Asynchronous Messaging)
- 5.5. Asynchronous Messaging Server [F009]
- 5.6. AMXM WFS [F005]
- 5.7. AIXM WFS-TE [E006]
- 5.8. FIXM WFS [F012]
- 5.9. WMS/WMTS/WCS [F007]
- 6. Engineering Report Topics
- 6.1. Catalog ER
- 6.2. Data Broker ER
- 6.3. Asynchronous Messaging ER
- 6.4. SBVR ER
- 6.5. Aviation Security ER
- 6.6. Aviation Semantics ER
- 6.7. FIXM GML ER
- 7. Demonstration Scenarios
- 7.1. Scenario 0
- 7.2. Scenario 1
- 7.3. Scenario 2
- 7.4. Scenario 3
- 8. Lessons Learned
- Appendix A: Revision History
This Open Geospatial Consortium (OGC)® Engineering Report (ER) describes the architecture implemented in the OGC Testbed 12 Aviation thread. This report provides an overview of the technical architecture for the interoperable exchange of flight and aeronautical information using OGC services. The aviation architecture consists of multiple components developed by the Aviation thread, as well as specialized engineering reports per each work area. This report will provide an introduction to each work area and contain references to applicable reports. This report also describes the Aviation thread demonstration scenarios, outcomes, and benefits.
This ER documents the work activities of the OGC testbed relative to the topics of interest to the aviation thread sponsors. The outcome of this report may be referenced by future sponsors and the aviation community at large to promote the development of future work, adoption of OGC standards, and inform the public of research conducted on behalf of sponsors.
This ER supports the overall objective of the OGC Aviation DWG to deliver recommendations on how to best use OGC standards in the context of System Wide Information Management (SWIM) and Air Traffic Management (ATM) information exchanges. The content of this ER is therefore expected to be used as appropriate by standardization organizations and/or governance bodies in charge of the development of ATM standards for SWIM.
ogcdocs, testbed-12, PubSub, asychronous messaging, brokering, data broker, SBVR, Catalog, CSW, Registry, Aviation, AIXM, AMXM, FIXM, GML
This OGC® document describes the architecture implemented in the OGC Testbed 12 Aviation thread. The document:
Describes a high-level overview of the architecture, its components and their interactions;
Contains a summary description of the various components within the architecture;
Provides summaries for the various subject areas that the Aviation thread was concerned with and which are documented in detail in other Testbed 12 engineering reports;
Documents lessons learned; and
Describes the scenario as well as use cases that have been designed for the demonstration of the Aviation thread developments.
All questions regarding this document should be directed to the editor or the contributors:
It is expected that the work contained within this document will inform future Aviation-related architectures and initiatives. For further details, see related OGC documents (16-024, 16-045, 16-017, 16-061, 16-040, 16-039, and 16-028).
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.
The following documents are referenced in this document. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. For undated references, the latest edition of the normative document referred to applies.
OGC: OGC 06-121r9, OGC® Web Services Common Standard, 2010.
|This OWS Common Standard contains a list of normative references that are also applicable to this Implementation Standard.|
OGC: [OGC 15-025] OGC Testbed 11 Aviation Architecture Engineering Report, 2016.
OGC: OGC Testbed 12 RFQ Annex B, 6 November 2015
OGC: [OGC 16-024] Testbed-12 Catalog Services for Aviation, 2017.
OGC: [OGC 16-045] Testbed-12 Data Broker Engineering Report, 2017.
OGC: [OGC 16-017] Testbed-12 Asynchronous Messaging for Aviation, 2017.
OGC: [OGC 16-061] Testbed-12 SBVR Engineering Report, 2017.
OGC: [OGC 16-040] Testbed-12 Aviation Security Engineering Report, 2017.
OGC: [OGC 16-039] Testbed-12 Aviation Semantics Engineering Report, 2017.
OGC: [OGC-16-028] Testbed-12 FIXM GML Engineering Report, 2017.
OGC: [OGC 07-110r4] CSW-ebRIM Registry Service - Part 1: ebRIM profile of CSW, 2009.
OGC: [OGC 07-144r4] CSW-ebRIM Registry Service - Part 2: Basic extension package (1.0.1), 2009.
OGC: [OGC 13-131] OGC Publish/Subscribe Interface Standard 1.0 - Core, 2017.
OGC: [OGC 13-133] OGC Publish/Subscribe Interface Standard 1.0 - SOAP Protocol Binding Extension, 2017.
OGC: [OGC 09-026r2] OGC Filter Encoding 2.0 Standard - With Corrigendum, 2014.
For the purposes of this report, the definitions specified in Clause 4 of the OWS Common Implementation Standard [OGC 06-121r9] shall apply. In addition, the following terms and definitions apply.
DEX - Harris system product used by the FAA SWIM program
NEMS - FAA SWIM infrastructure made up of a constellation of networked DEX systems.
PubSub - Publish Subscribe standard. When referenced as PubSub1.0, refers to OGC standard for PubSub.
AIXM - Aeronautical Information Exchange Model
AMDB - Aerodrome Mapping Data Base
AMXM - Aerodrome Mapping Exchange Model
AMXS - Aerodrome Mapping Exchange Schema
API - Application Programming Interface
ATM - Air Traffic Management
BBOX - Bounding Box
CCI - Cross-Community Interoperability
COTS - Commercial Off the Shelf
CRUD - create, read, update, delete
DEX - Data Exchange
DNOTAM - Digital NOTAM
EFB - Electronic Flight Bag
EUROCAE - European Organisation for Civil Aviation Equipment
FAA - Federal Aviation Administration
FES - Feature Encoding Standard
FIXM - Flight Information Exchange Model
FNS - Federal NOTAM Service
FPS - Feature Portrayal Service
GML - Geography Markup Language
HTML - HyperText Markup Language
HTTP - HyperText Transfer Protocol
ICAO - International Civil Aviation Organization
ISO - International Organization for Standardization
JDK - Java Development Kit
NAS - National Airspace System
NEMS - NAS Enterprise Messaging Service
NOTAM - Notice to Airmen
OGC - Open Geospatial Consortium
RDF - Resource Description Framework
RTC - Radio Technical Commission for Aeronautics
SBVR - Semantics of Business Vocabulary and Business Rules
SQL - Structured Query Language
SWIM - System Wide Information Management
UUID - Universally Unique Identifier
WCS - Web Coverage Service
WFS - Web Feature Service
WFS-T - WFS-Transactional
WMTS - Web Map Tile Service
WPS - Web Processing Service
WXXM - Weather Information Exchange Model
XMI - XML Metadata Interchange
XML - Extensible Markup Language
XSLT - Extensible Stylesheet Language Transformations
The tasks for the Testbed 12 Aviation thread are to:
Develop and document advanced use cases for an OGC Service Data Broker;
Advance the use of Catalog Service for Web (CSW) in the context of SWIM Common Registry;
Explore asynchronous messaging for geospatial queries of aviation data using OGC PubSub 1.0;
Advance use of semantics for aviation;
Advance use of SBVR using Testbed-11 SBVR work as a baseline;
Advance use of OGC Web Service Security for the aviation domain; and
Investigate the use of GML for the FIXM data model.
These tasks have been accomplished in Testbed 12. Chapters 5 & 6 provide summaries with references to further details. The components that enable the functionality required by each task are described in chapter 5. A high-level overview of the Aviation thread architecture and its components is given in the following figures. The Aviation thread architecture can be separated into three tiers (see Figure 1).
The Client Tier contains the client applications.
The Business Process Tier contains components that offer services on top of the Access Tier: Catalog, Data Broker, and PubSub Service Providers.
The Access Tier contains Web Feature Services serving aeronautical data compliant to data models AIXM 5.1, AMXM 2.0, and FIXM 3.0.1 with GML. Also included for this thread is the first implementation of the WFS-TE for temporality extensions.
Figure 1 shows the links between the tiers and the general functionality that is invoked. It also shows which participants provided which components. A more detailed view of the interaction between the different components is shown in Figure 2. Each component is labeled with a deliverable number (e.g. F003 for Catalog). The "WPS" and "Tool SBVR-Schematron" components are not funded deliverables, but are carried over from OGC Testbed-11 for continuity of the SBVR effort in Testbed-12.
The Aviation Architecture references several activities occurring as a result of OGC Testbed 12. The Engineering Reports generated from these activities detail the developments, observations, and lessons learned. Chapter 6 provides overviews of each Testbed-12 Aviation thread Engineering Report.
The architecture for the Testbed 12 Aviation thread consists of components for each topic referenced in the Testbed 12 RFQ Annex B Section 4.11 Aviation Summary.
In OGC Testbed 11, a Data Broker concept was developed using the WFS 2.0 specification with augmented features to enable a data chain of cascading web service requests, in which the Data Broker would provide the client-interfacing web service and execute additional requests "behind-the-scenes" to other WFS instances to obtain required data.
The Data Broker is intended to provide a single interface for clients to connect to multiple WFS (or WMS/WMTS) web services. The long-term vision for Data Broker is to provide a central interface for filtering, conflating, and brokering all requests to any OGC web service to simplify queries by a client and implement secure connections based on business rules functionality. For the scope of Testbed 12, the Data Broker must satisfy two requirements:
A request to separate WFS with heterogeneous data using AMXM and AIXM to demonstrate the conflation of two heterogeneous data sets from the same type of web service; and
A request to a WFS and another type of service (e.g. WMS or WCS) with a heterogeneous response. In this second approach, the participant shall determine and propose a suitable secondary service type prior to implementation according to the available data provided.
Additionally, the following requirements are derived or assumed from Testbed-12 meetings: * Use of CSW is required for endpoint and feature discovery; and * Use of semantic mediation is of interest to the sponsors.
Luciad was selected to provide the Data Broker for Testbed 12, building off their implementation in Testbed 11.
The Data Broker provided by Luciad has the following functionality.
OGC-compliant WFS 1.1.0 & 2.0.0 service interface with support for the following requests: GetCapabilities, DescribeFeatureType and GetFeature. Supported request encodings are HTTP GET and POST.
OGC-compliant WMS 1.1.1 & 1.3.0 service interface with support for the following requests: GetCapabilities, GetMap, GetFeatureInfo. Support is also provided for the WMS' Styled Layer Descriptor profile: users can supply an SLD with user-defined layers and styles. Supported request encodings are HTTP GET and POST.
Data Broker capabilities
Support for brokering of OGC WFS data sources complying with versions 1.1.0 and / or 2.0.0 and supporting data exchange formats AIXM 5.1 and / or AMXM 2.0.
Automated data source discovery by means of OGC CSW integration.
Conflation based on unique identifiers.
Aggregation of similar features types from different OGC WFS data sources in to one feature type.
Semantic mediation between AIXM 5.1 and AMXM 2.0 feature data.
Addition of provenance by integrating lineage information on the feature type level in the capabilities and on the feature level by adding ISO 19115-based lineage metadata to AIXM 5 features.
The Luciad Data Broker is based on Java Servlet technology. To run, it requires a Java servlet container or application server compatible with Java Servlet 3.0 or higher. Apache Tomcat 7 has been used by Luciad during Testbed 12. Other than being capable of running a Java Virtual Machine 1.7 (or higher) and an appropriate servlet container / application server, no requirements are posed on the underlying hardware or operating system.
The Luciad Data Broker for Testbed 11 was built based on WFS 2.0 specification. For Testbed 12, the requirements include investigation in implementing additional features that are not part of the WFS 2.0 specification. For example, the inclusion of a URL in which the client may use to request a map from a Web Map Service (WMS).
Additional challenges were met when considering how to semantically search across multiple WFS of differing data models. In the demonstration use cases, one WFS contained AIXM data while the other contained AMXM data. Both data sets contain aerodrome information, and the client requests all aerodrome information for an area defined by a geospatial filter query. The Data Broker must be able to implement a data transformation chain to convert AMXM to AIXM (or vice-a-versa) and return the entire feature sets back to the client.
The Luciad Data Broker implements the following capabilities.
The capability to request maps from the Data Broker using the WMS protocol.
The capability to support mediation and brokering of semantically equivalent data formats, which enables users to gather data in a single format from the Data Broker, while the data source formats can be different.
The capability to include portrayal information in its WFS response.
The capability to broker across semantically similar data models such as AIXM 5.1 and AMXM 2.0.
The capability to store information about the source of the data, known as lineage information, to inform clients about the original provider.
The capability to mediate data responses to the broker to offer heterogenous data formats into a single format to the client.
The capability to include feature data in a WMS response using processing instructions.
The Galdos catalog service component is based on the CSW-ebRIM profile (OGC 07-110r4, OGC 07-144r4). The CSW-ebRIM profile marries the CSW catalog interface to the OASIS ebXML registry information model (ebRIM 3.0). This component provides support for publishing and discovering a wide variety of metadata resources, including descriptions of data sets and related services such as WFS 2.0 implementations (F005, E006, and F012) as well as the Data Broker component (F006). The essential purpose of the catalog in the Aviation thread is to demonstrate a central registry for finding and accessing service-related metadata in multiple aviation domains (e.g. FAA and Eurocontrol).
Existing SWIM registries developed by the FAA and Eurocontrol are based on the Drupal content management system and incorporate concepts from the Service Description Conceptual Model (SDCM). However, they do not currently support spatial queries and do not readily accommodate OGC service descriptions.
Section 4.5 in Appendix B of the RFQ is concerned with advancing the use of catalog services in the aviation domain. Several functional requirements are presented:
demonstrate a CSW-based registry solution integrated with the existing FAA registry (NSRR v2) so as to provide a single entry point for service discovery;
provide a simple user interface for executing geospatial queries such as bounding box queries and "semantic querying of geospatial data";
enable discovery of content provided by web services, including pub-sub content (i.e. JMS topics);
search across multiple SWIM domain registries deployed by the FAA and Eurocontrol;
implement the harmonized Service Description Conceptual Model (SDCM); and
facilitate cost-effective governance of service metadata, including quality and integrity.
The following figure is a simple UML component diagram summarizing the CSW-ebRIM interfaces.
A CSW-ebRIM implementation can process the service requests summarized below, most of which are common to all CSW-based catalog services.
GetCapabilities: This request allows a client to retrieve a resource that describes the essential capabilities and non-computational characteristics of the service.
DescribeRecord: This request allows a client to discover the information model(s) supported by the catalog and to retrieve type definitions.
GetRecords: This request allows a client to search the registry and retrieve all or some of the items in the result set.
GetRecordById: This request allows a client to retrieve a representation of one or more registry objects by identifier.
GetDomain: This request produces a description of the value domain for a specified data element or request parameter.
GetRepositoryItem: This requests allows a client to retrieve the repository item corresponding to some extrinsic object.
Harvest: This request enables a "pull" style of registration whereby a resource is retrieved from some remote location and inserted into the catalog.
Transaction: This request allows a client to directly insert, update, or delete catalog content.
The component provided for this thread is a complete implementation.
The catalog component exposes HTTP service endpoints as specified in the CSW-ebRIM specification. The implementation is Java-based and requires a Servlet container such as Apache Tomcat. It can be deployed in any operating environment for which the Java Development Kit (JDK) 8 is available.
The initial expectation was that the catalog would also harvest metadata from existing SWIM registries provided by FAA (NAS Service Registry/Repository - NSRR 2.0) and Eurocontrol. However, an API remains under development so no harvesting mechanism was available during the testbed.
Key accomplishments are listed below.
A specialized harvester for WFS 2.0 services. The source must refer to a WFS service description (an OGC capabilities document). The corresponding resource type is "http://www.opengis.net/def/serviceType/ogc/wfs/2.0", which is the service type assigned by the OGC Naming Authority (OGCNA).
Automatic classification of services that support temporal processing (e.g. WFS-TE).
A periodic harvest facility that enables automatic updates.
Aviation Client for Data Broker and CSW is the GUI component for interfacing with the CSW (F003) and Data Broker (F006). It is expected that the Aviation client is capable of performing queries for AIXM and AMXM data, allowing the Data Broker to conflate the response to the client.
The Testbed 12 Aviation Client is built on top existing LuciadLightspeed Commercial Off The Shelf (COTS) components. The Testbed 12 Aviation Client is a continuation of the Aviation Client built for previous years, capable of connecting to various OGC Services and many file formats required by the thread.
The Testbed 12 Aviation Client requires the following functionality:
Connection and interaction with the CSW (catalogue service);
Connection and interaction with the Data Broker to:
Retrieve Flight Trajectory maps;
Retrieve feature data of aerodromes (with OGC filters); and
Retrieve feature data of flight trajectories (with OGC filters);
Send temporal queries to WFS-TE services; and
Visualization of FIXM 4.0, AIXM 5.1, AMXM data.