arcgis als wps server aktueller stand der umsetzung stefan haberer (ahk)
TRANSCRIPT
ArcGIS als WPS Server
Aktueller Stand der Umsetzung
Stefan Haberer (AHK)
Folie 2, 30.09.2010
Ablauf
• Aufbau der RIPS Dienste Architektur, Integration WPS
• WPS-konforme XML-Verarbeitung
• WPS Schnittstelle
• WPS Fehlerbehandlung und Testmodul
Folie 3, 30.09.2010
RIPS Webdienste
WPS
XML-Webservice (SOAP/WSDL)
Zentrale GDB
HTTP/XML
GISterm, ArcGIS…
DGM
AWGN
ArcGIS Server Geoprocessing
Datenprüfung,Aufbereitung Input/Output
Fachlogik
Polyline Z
Folie 4, 30.09.2010
XML Data Binding
Problem: Wie erzeugt man WPS-konforme XML-Dokumente?
1) Document Object Model (DOM) - Parsing
+ wird von allen Sprachen unterstützt
- genaue Kenntnisse des XSD-Schemas notwendig
- hoher Codierungsaufwand
- fehleranfällig
2) XML Data Binding Erzeugung einer Klassenbibliothek aus dem Schema
+ automatische, WPS-konforme XML-Serialisierung der Objekte
+ deutlich weniger Code notwendig
+ intuitive Erstellung der XML-Dateien
- (kostenpflichtige) Zusatzsoftware notwendig
Tools: xsd.exe, XsdObjectGen (Microsoft), Liquid Technologies, XMLSpy, JAXB (Java)
Folie 5, 30.09.2010
WPS Schnittstelle - Aufbau
Client
RequestManager
GetCapabilities
http Request/
Response
WPS Web Application
DescribeProcess
Execute WPSProcess
ProcessManagerSOAP/WSDL-
Schnittstelle der RIPS Webservices
Authentifzierung,Fehlerbehandlung
GetCapabilities_Response.xml
DescribeProcess_Response.xml
POST Request
GET Request
Folie 6, 30.09.2010
WPS Schnittstelle - GetCapabilities
Client
RequestManager GetCapabilities
HTTP GET Request
WPS Web AppHTTP Response
Folie 7, 30.09.2010
WPS Schnittstelle - DescribeProcessClient
RequestManager DescribeProcess
HTTP GET Request
WPS Web AppHTTP Response
Folie 8, 30.09.2010
WPS Schnittstelle - Execute
Client
RequestManager Execute
HTTP POST Request
WPS Web AppHTTP Response
WPSProcess
ProcessManager
SOAP/WSDL-Schnittstelle der
RIPS Webservices
Folie 9, 30.09.2010
WPS Fehlerbehandlung
• WPS definiert Standard-Fehlertypen, die in der Implementierung berücksichtigt werden müssen:
z.B. MissingParameterValue, ServerBusy, OperationNotSupported…
• Definition weiterer Fehlertypen möglichz.B. ReadExecutePostFailed, DescribeProcessException,…
• WPS-Exception besitzt drei EigenschaftenExceptionCode, ExceptionText, Locator
• Bei Auftreten eines Fehlers wird ein ExceptionReport geliefert
Folie 10, 30.09.2010
WPS Server Test Modul
• WPS Spezifikation definiert abstrakte Testfälle
• Diese Testfälle müssen für Client- und Server-Implementierungen umgesetzt werden, um die Interoperabilität zwischen WPS-Komponenten zu gewährleisten
• Beispiele:
Funktioniert HTTP-Kommunikation?
Wird bei Fehler ein ExceptionReport
geliefert?
Funktioniert der GetCapabilities-
Aufruf?
…
Folie 11, 30.09.2010
Vielen Dank!