Web Services and AIXM
Introduction
Subramanyam “Subbu” Nadavala
Contractor, L-3 Communications
FAA Air Traffic Organization (ATO) Information Technology
Engineering & Configuration Management
[email protected]
+1 405 464 3545
What is a Web Service?
•
A Web Service is a URL-addressable software resource that
performs functions (or a function)
•
Web Services are platform independent
•
Web Service interfaces are defined in Web Service Description
Language (WSDL) and communicate using standard protocol
known as SOAP (Simple Object Access Protocol)
•
A Web Service performs a set of tasks, query/request information,
update information and much more
–
Example : Get list of FIXES in Texas
Web Services
Development Process
• Popular technologies used WSDL, XML, XSLT,
SOAP, AXIS, J2EE and OC4J
• Define web service business requirements –
service functionality
– Web service provider
– Web service consumer
Web Services Architecture
Oracle ESB
Service Providers
Service Consumers
Web Feature Request
SIAP
AIXM Response
Web Feature Request
AIXM Response
FIX
AIXM Response
AIXM Response
Web Feature Request
Procedure Tracking System
Web Feature Request
Web Feature Request
AIXM Response
Enterprise Service Bus
Instrument Procedure
Development System
Web Feature Request
AIXM Response
Web Feature Request
AIXM Response
FIX Web service
Airport Web service
Obstacle Web service
Web Service Provider Tasks
• Design and develop WSDL and XML
Schemas
• Publish WSDL and XML Schemas
• Develop web service provider functionality
according to the WSDL
• Deploy web service provider code to the
server
Provider Functionality Flow
Receive Web Feature Request
Determine the request
Invalid Request
Sends SOAP Fault Response
Valid Request
Call database or external
system to get the information
Construct AIXM Object using
XSLT
Sends AIXM Object
Response
Web Service Client Tasks
• Generate web service client programs
using WSDL
• Access the web service
• Send request as WFS, receive response
as AIXM Message
Request and Response Objects
• Web Feature Request Object
• AIXM Response Object
• Examples
Web Feature Request Payload
<?xml version="1.0" encoding="UTF-8"?>
<req:GetFeatureRequest xmlns:aixm="http://www.aixm.aero/schema/5.0"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:req="http://www.faa.gov/avnis/ipws/messages"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:ows="http://www.opengis.net/ows"
xsi:schemaLocation="http://www.faa.gov/avnis/ipws/messages ..\..\..\wsdl\faa\1.0.0\ipws-messages.xsd"
Encoding="UTF-8">
<wfs:GetFeature outputFormat="text/xml; subtype=gml/3.1.1" resultType="results" traverseXlinkDepth="0">
<wfs:Query typeName="aixm:DesignatedPoint">
<ogc:Filter>
<ogc:BBOX>
<!-- wfs:GetFeature: Retrieve all aixm:DesignatedPoint types that are within 25 Square miles of (39.8719444,75.2411389). -->
<ogc:PropertyName />
<gml:Envelope srsName="NAD83">
<gml:lowerCorner>39.45527773333333 -75.65780556666667</gml:lowerCorner>
<gml:upperCorner>40.28861106666666 -74.82447223333332</gml:upperCorner>
</gml:Envelope>
</ogc:BBOX>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
</req:GetFeatureRequest>
AIXM Response Object
<?xml version="1.0" encoding="UTF-8"?>
<fix:FixHoldingDataMessage xmlns:dpshare="http://www.faa.gov/avnis/dpshare"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:faa="http://faa.gov/infra/fix/ipws/logical/beans"
xmlns:aixm="http://www.aixm.aero/schema/5.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:fix="http://www.faa.gov/avnis/fixes"
gml:id="FixHoldingDataMessage"
xsi:schemaLocation="http://www.faa.gov/avnis/fixes
U:/AVNCommon/ITS_Projects/App_Support/WebService/AIXM/11062007 schemas/FPP-Fix_Holding_Data.xsd">
<fix:hasMember>
<aixm:DesignatedPoint gml:id="DesignatedPoint-26973">
<gml:identifier codeSpace="http://www.faa.gov/AVNIS/Fix"/>
<aixm:timeSlice>
<aixm:DesignatedPointTimeSlice gml:id="DesignatedPoint-26973-0">
<gml:validTime>
<gml:TimePeriod gml:id="DesignatedPoint-26973-0-TimePeriod">
<gml:beginPosition indeterminatePosition="unknown"/>
<gml:endPosition>2006-08-03T00:00:00</gml:endPosition>
</gml:TimePeriod>
</gml:validTime>
<aixm:interpretation>BASELINE</aixm:interpretation>
<aixm:designator>JUNES</aixm:designator>
<aixm:name>JUNES</aixm:name>
AIXM Response Object
<aixm:isLocatedAt>
<aixm:Point>
<gml:pos srsName="NAD83">+39.92460555555555 -74.953325</gml:pos>
</aixm:Point>
</aixm:isLocatedAt>
<aixm:extension>
<fix:DesignatedPointExtension gml:id="DesignatedPoint-26973-0-Extension">
<fix:provides>
<fix:DesignatedPointNASUse/>
</fix:provides>
<fix:extends>
<dpshare:featureExtension>
<dpshare:productionStatus>H</dpshare:productionStatus>
<dpshare:revision>0</dpshare:revision>
<dpshare:lastUpdateDate>2007-11-14T10:24:48</dpshare:lastUpdateDate>
<dpshare:lastUpdatedBy>VARGASS</dpshare:lastUpdatedBy>
<dpshare:stateTerritory>NJ</dpshare:stateTerritory>
<dpshare:country>US</dpshare:country>
</dpshare:featureExtension>
</fix:extends>
</fix:DesignatedPointExtension>
</aixm:extension>
</aixm:DesignatedPointTimeSlice>
</aixm:timeSlice>
</aixm:DesignatedPoint>
</fix:hasMember>
</fix:FixHoldingDataMessage>
Web Services Security
• SOAP Headers with Tokens
• Transport level security, HTTPS
• Authentication, Authorization and
Confidentiality
Web Services Demo
Questions ?
Contact Information
[email protected]
+1 405 464 3545
Descargar

Slide 1