Web Services and AIXM
Introduction
Subramanyam “Subbu” Nadavala
Contractor, L-3 Communications
FAA Air Traffic Organization (ATO) Information Technology
Engineering & Configuration Management
+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 ServicesDevelopment 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
FIX Web service
Airport Web service
Oracle ESB
Ent
e rpr
i se
Se r
vice
Bu s
Web Feature Request
Web Feature Request
AIXM Response
AIXM Response
Service ProvidersService Consumers
SIAP
Web Feature Request
AIXM Response
Web Feature Request
Web Feature Request
AIXM Response
AIXM Response Obstacle Web serviceWeb Feature Request
AIXM Response
FIXWeb Feature Request
AIXM Response
Instrument Procedure Development System
Procedure Tracking System
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 FlowReceive Web Feature Request
Determine the request
Call database or external system to get the information
Valid Request
Sends SOAP Fault Response
Construct AIXM Object using XSLT
Sends AIXM Object Response
Invalid Request
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
+1 405 464 3545
Top Related