21
Building SWIM B2B web services using Open Standards Debbie Wilson Snowflake Software

SWIM MasterClass - Building SWIM B2B web services using Open Standards

Embed Size (px)

Citation preview

Page 1: SWIM MasterClass - Building SWIM B2B web services using Open Standards

Building SWIM B2B web services using Open Standards

Debbie Wilson

Snowflake Software

Page 2: SWIM MasterClass - Building SWIM B2B web services using Open Standards

The Problem

• Development of SWIM is going to be complex and time consuming

• To realise the benefits, organisations need to freely exchange ATM data in a interoperable manner– Both within and outside the industry

• The AIRM and ISRM provide the conceptual blueprint– Data exchange models (AIRM)– Service operations (ISRM)

• SWIM must be developing using Open Standards:– OGC/ISO– W3C

Page 3: SWIM MasterClass - Building SWIM B2B web services using Open Standards

Prototype Primary Goals

• Reduce costs of creating and consuming SWIM services– Replicate the NOP B2B Airspace Activation services

• OGC web services backbone• Provide flexible, open API• Chain tailored services for specific ATM application• Pave the way for ‘model driven’ service creation from the ISRM

• Encourage a dynamic eco-system around ATM data– Demonstrate multiple ways of deploying NOP services

• One logical service, many implementations• Implementations designed for communities consuming them• Demonstrate the benefits of existing open standards

Page 4: SWIM MasterClass - Building SWIM B2B web services using Open Standards

SESAR SWIM B2B Airspace

Service

SWIM Master Class

Download Java Client

EAUP CDR/RSA AIXM 5.1 Response

Data MaintenanceData Maintenance

Oracle 11g Express Edition

OGC WFS 2.0OGC WFS 2.0

RESTful ServicesRESTful Services

SWIM NOP Services

SWIM NOP Services

Airspace Management

Flight Planning

Airspace Design

EAUP CDR/RSA Request/Response

ATM Viewer

Data PublicationData Publication

WFS Stored QueriesWFS Stored QueriesWFS Filter Query

WFS Filter Query

Page 5: SWIM MasterClass - Building SWIM B2B web services using Open Standards

Data Maintenance Architecture• The prototype connected to the EAUP

Condition Routes (CDR) and Restricted Airspace (RSA) web services

• A custom Java client was developed to connect to the B2B Services

• An AIXM 5.1 extension was developed to store EAUP Change Date and Sequence Number

• GO Loader was configured to load BASELINEs & TEMPDELTAs into Oracle

SESAR SWIM B2B Airspace

Service

SWIM Master Class

Download Java Client

EAUP CDR/RSA

Page 6: SWIM MasterClass - Building SWIM B2B web services using Open Standards

Loading data using GO Loader

Configure database schema mapping from

AIXM 5.1 Schema

AIXM 5.1 Extension to support• chainDate• sequenceNumber

Page 7: SWIM MasterClass - Building SWIM B2B web services using Open Standards

Data Publication Architecture

• Two tier web services architecture

Oracle 11g Express Edition

OGC WFS 2.0OGC WFS 2.0

RESTful ServicesRESTful Services

SWIM NOP Services

SWIM NOP Services

Airspace Management

Flight Planning

Airspace Design

EAUP CDR/RSA Request/Response

ATM Viewer

WFS Stored QueriesWFS Stored QueriesWFS Filter Query

WFS Filter Query

Page 8: SWIM MasterClass - Building SWIM B2B web services using Open Standards

OGC Web Feature Service (WFS)

• An OGC WFS is a generic web service that allows users to submit requests to retrieve and maintain features or properties using queries that contain XPath and filter expressions:

IdentifierLogical Comparison

Spatial Temporal

Example Retrieval Requests: • Get all CDR for the EAUP Chain 2012-04-25”, sequence number = 2

• Get all active FIR airspaces that are valid between 2012-04-12 to 2012-04-22 that intersect Route “abc1234”

Page 9: SWIM MasterClass - Building SWIM B2B web services using Open Standards

WFS Stored Queries• Stored queries can be used to limit or tailor the request

for specific applications

• Stored queries were developed to replicate the EAUP requests:– EAUPCDR– EAUPRSA

• Stored queries defined using the CreateStoredQuery operation containing a standard wfs:Query and fes:Filter

Page 10: SWIM MasterClass - Building SWIM B2B web services using Open Standards

CreateStoredQuery Request

and contains request parameters:

• chainDate• sequenceNumber

Each Stored query has an identifier and title

Page 11: SWIM MasterClass - Building SWIM B2B web services using Open Standards

Swim EAUPCDR request

• HTTP Get - KVP request

http://demo.snowflakesoftware.com:8081/SwimEAUPCDR/GOPublisherWFS?

service=WFS&

version=2.0.0&

request=GetFeature&

STOREDQUERY_ID=EAUPCDR&

chainDate=2012-04-25&

sequenceNumber=4

Page 12: SWIM MasterClass - Building SWIM B2B web services using Open Standards

SwimEAUPCDR WFS response

Page 13: SWIM MasterClass - Building SWIM B2B web services using Open Standards

Data Publication Architecture

• Stored queries are used by the RESTful API and SWIM SOAP Wrapper

Oracle 11g Express Edition

OGC WFS 2.0OGC WFS 2.0

RESTful ServicesRESTful Services

SWIM NOP Services

SWIM NOP Services

Airspace Management

Flight Planning

Airspace Design

EAUP CDR/RSA Request/Response

ATM Viewer

WFS Stored QueriesWFS Stored QueriesWFS Filter Query

WFS Filter Query

Page 14: SWIM MasterClass - Building SWIM B2B web services using Open Standards

RESTful API

• REST is a lightweight, loosely couple API • Requests are simply URIs • EAUP RESTful URI Design

– /SwimEAUPCDR/{chainDate}/{sequenceNumber}– /SwimEAUPRSA/{chainDate}/{sequenceNumber}

• RESTful URI pattern was designed to ensure it is "hackable up the tree":

• /SwimEAUPCDR/2012-04-22/

return all EAUPs for specified chainDate

Page 15: SWIM MasterClass - Building SWIM B2B web services using Open Standards

SWIM SOAP Wrapper

• Designed to replicate SWIM B2B Airspace SOAP Service

Transform request into a WFS HTTP Get request (stored query) and submit

Receive WFS Response

If response contains a set of features, extract feature and insert into relevant

SWIM response document (EAUPCDRReply or EAUPRSAReply)

If response contains no features, generate relevant response document

Page 16: SWIM MasterClass - Building SWIM B2B web services using Open Standards

SWIM SOAP Wrapper

Transform request into a WFS HTTP Get request (stored query) and submit

Receive WFS Response

If response contains a set of features, extract feature and insert into relevant

SWIM response document (EAUPCDRReply or EAUPRSAReply)

If response contains no features, generate relevant response document

Page 17: SWIM MasterClass - Building SWIM B2B web services using Open Standards

SWIM SOAP Wrapper

Transform request into a WFS HTTP Get request (stored query) and submit

Receive WFS Response

If response contains a set of features, extract feature and insert into relevant

SWIM response document (EAUPCDRReply or EAUPRSAReply)

If response contains no features, generate relevant response document

Page 18: SWIM MasterClass - Building SWIM B2B web services using Open Standards

Visualising data using ATM Viewer• EAUP CDR & RSA

Page 19: SWIM MasterClass - Building SWIM B2B web services using Open Standards

Visualising data using ATM Viewer• Baseline Points

Page 20: SWIM MasterClass - Building SWIM B2B web services using Open Standards

Technology Benefits

• Single Conceptual service deployed in many styles: SOAP Services, RESTful Services, OGC Services– One logical service, many types of end-point to encourage an eco-

system around ATM data– Fit for purpose services removing barriers for data consumers– Standards based services enabling off the shelf clients– Richer services for finer grained access

• All deployed through standards based configuration– Minimal software development required– Reduced costs and timeframe of implementing SWIM Web Services– Proving the way towards model driven service generation directly

from the ISRM