32
Geodaten prozessieren mit WPS (Web Processing Service) Matthias Lendholt 6. Januar 2010

Geodaten prozessieren mit WPS (Web Processing Service)

  • Upload
    mrinal

  • View
    32

  • Download
    1

Embed Size (px)

DESCRIPTION

Matthias Lendholt 6. Januar 2010. Geodaten prozessieren mit WPS (Web Processing Service). Geodatenprozessierung. Geodatenprozessierung. Warum auslagern? Performanzgewinn Hoher Ressourcenbedarf Parallelisierbarkeit Wiederverwendbarkeit Komplexitätsreduktion Übersichtlichere Architektur - PowerPoint PPT Presentation

Citation preview

Page 1: Geodaten prozessieren mit WPS  (Web Processing Service)

Geodaten prozessieren mitWPS (Web Processing Service)

Matthias Lendholt6 Januar 2010

Geodatenprozessierung

Geodatenprozessierung

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

- Corba (dagger)- RPC- Web Services SOAP - REST (direct HTTP)- Sprachspezifisch zB Java RMI

- WPS

Remote

WPS

- OGC Standardndash Spezifiziert fuumlr HTTPndash SOAP optional

- GeoDaten (XML) direkt in Prozessaufruf Typsicherheit (jenseits von int und String)

- Synchroner Aufruf- Ruumlckgabewerte

ndash Entweder direkt in Antwort ndash Oder als separater Download (URL)

WPS - Operationen

- GetCapabilities Liste verfuumlgbarer Prozesse

- Describe Process Liste Eingabe- und Ruumlckgabeparameter

- Execute Operation

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

AAIS (I)

+

Projekt DEWSAffected Area Identification Service (AAIS)

DEWS

AAIS (II)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (III)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (IV)

GUIAWI-Simulation Resource-Service

AAIS

WPS Execute Process

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 2: Geodaten prozessieren mit WPS  (Web Processing Service)

Geodatenprozessierung

Geodatenprozessierung

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

- Corba (dagger)- RPC- Web Services SOAP - REST (direct HTTP)- Sprachspezifisch zB Java RMI

- WPS

Remote

WPS

- OGC Standardndash Spezifiziert fuumlr HTTPndash SOAP optional

- GeoDaten (XML) direkt in Prozessaufruf Typsicherheit (jenseits von int und String)

- Synchroner Aufruf- Ruumlckgabewerte

ndash Entweder direkt in Antwort ndash Oder als separater Download (URL)

WPS - Operationen

- GetCapabilities Liste verfuumlgbarer Prozesse

- Describe Process Liste Eingabe- und Ruumlckgabeparameter

- Execute Operation

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

AAIS (I)

+

Projekt DEWSAffected Area Identification Service (AAIS)

DEWS

AAIS (II)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (III)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (IV)

GUIAWI-Simulation Resource-Service

AAIS

WPS Execute Process

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 3: Geodaten prozessieren mit WPS  (Web Processing Service)

Geodatenprozessierung

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

- Corba (dagger)- RPC- Web Services SOAP - REST (direct HTTP)- Sprachspezifisch zB Java RMI

- WPS

Remote

WPS

- OGC Standardndash Spezifiziert fuumlr HTTPndash SOAP optional

- GeoDaten (XML) direkt in Prozessaufruf Typsicherheit (jenseits von int und String)

- Synchroner Aufruf- Ruumlckgabewerte

ndash Entweder direkt in Antwort ndash Oder als separater Download (URL)

WPS - Operationen

- GetCapabilities Liste verfuumlgbarer Prozesse

- Describe Process Liste Eingabe- und Ruumlckgabeparameter

- Execute Operation

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

AAIS (I)

+

Projekt DEWSAffected Area Identification Service (AAIS)

DEWS

AAIS (II)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (III)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (IV)

GUIAWI-Simulation Resource-Service

AAIS

WPS Execute Process

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 4: Geodaten prozessieren mit WPS  (Web Processing Service)

- Corba (dagger)- RPC- Web Services SOAP - REST (direct HTTP)- Sprachspezifisch zB Java RMI

- WPS

Remote

WPS

- OGC Standardndash Spezifiziert fuumlr HTTPndash SOAP optional

- GeoDaten (XML) direkt in Prozessaufruf Typsicherheit (jenseits von int und String)

- Synchroner Aufruf- Ruumlckgabewerte

ndash Entweder direkt in Antwort ndash Oder als separater Download (URL)

WPS - Operationen

- GetCapabilities Liste verfuumlgbarer Prozesse

- Describe Process Liste Eingabe- und Ruumlckgabeparameter

- Execute Operation

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

AAIS (I)

+

Projekt DEWSAffected Area Identification Service (AAIS)

DEWS

AAIS (II)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (III)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (IV)

GUIAWI-Simulation Resource-Service

AAIS

WPS Execute Process

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 5: Geodaten prozessieren mit WPS  (Web Processing Service)

WPS

- OGC Standardndash Spezifiziert fuumlr HTTPndash SOAP optional

- GeoDaten (XML) direkt in Prozessaufruf Typsicherheit (jenseits von int und String)

- Synchroner Aufruf- Ruumlckgabewerte

ndash Entweder direkt in Antwort ndash Oder als separater Download (URL)

WPS - Operationen

- GetCapabilities Liste verfuumlgbarer Prozesse

- Describe Process Liste Eingabe- und Ruumlckgabeparameter

- Execute Operation

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

AAIS (I)

+

Projekt DEWSAffected Area Identification Service (AAIS)

DEWS

AAIS (II)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (III)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (IV)

GUIAWI-Simulation Resource-Service

AAIS

WPS Execute Process

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 6: Geodaten prozessieren mit WPS  (Web Processing Service)

WPS - Operationen

- GetCapabilities Liste verfuumlgbarer Prozesse

- Describe Process Liste Eingabe- und Ruumlckgabeparameter

- Execute Operation

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

AAIS (I)

+

Projekt DEWSAffected Area Identification Service (AAIS)

DEWS

AAIS (II)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (III)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (IV)

GUIAWI-Simulation Resource-Service

AAIS

WPS Execute Process

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 7: Geodaten prozessieren mit WPS  (Web Processing Service)

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

AAIS (I)

+

Projekt DEWSAffected Area Identification Service (AAIS)

DEWS

AAIS (II)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (III)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (IV)

GUIAWI-Simulation Resource-Service

AAIS

WPS Execute Process

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 8: Geodaten prozessieren mit WPS  (Web Processing Service)

AAIS (I)

+

Projekt DEWSAffected Area Identification Service (AAIS)

DEWS

AAIS (II)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (III)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (IV)

GUIAWI-Simulation Resource-Service

AAIS

WPS Execute Process

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 9: Geodaten prozessieren mit WPS  (Web Processing Service)

DEWS

AAIS (II)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (III)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (IV)

GUIAWI-Simulation Resource-Service

AAIS

WPS Execute Process

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 10: Geodaten prozessieren mit WPS  (Web Processing Service)

DEWS

AAIS (III)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (IV)

GUIAWI-Simulation Resource-Service

AAIS

WPS Execute Process

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 11: Geodaten prozessieren mit WPS  (Web Processing Service)

DEWS

AAIS (IV)

GUIAWI-Simulation Resource-Service

AAIS

WPS Execute Process

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 12: Geodaten prozessieren mit WPS  (Web Processing Service)

DEWS

AAIS (V)

GUIAWI-Simulation Resource-Service

AAIS

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 13: Geodaten prozessieren mit WPS  (Web Processing Service)

DEWS

AAIS (VI)

GUIAWI-Simulation Resource-Service

AAIS

+

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 14: Geodaten prozessieren mit WPS  (Web Processing Service)

DEWS

AAIS (VII)

GUIAWI-Simulation Resource-Service

AAIS

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 15: Geodaten prozessieren mit WPS  (Web Processing Service)

ltxml version=10 encoding=utf-8gtltwpsExecute service=WPS version=100

xmlnswps=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11

xmlnsxlink=httpwwww3org1999xlinkgt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsDataInputsgt ltwpsInputgt ltowsIdentifiergtISOCountryCodeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtTHltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSimulationResultURLltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt httpdews-servicesresourcesdocsfoozipltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt

AAIS ndash wpsExecute (I)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 16: Geodaten prozessieren mit WPS  (Web Processing Service)

ltwpsInputgt ltowsIdentifiergtEtaAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtarrivaltimltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtSshAttributeltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagtssh_maxltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsInputgt ltowsIdentifiergtMinSshltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt05ltwpsLiteralDatagt ltwpsDatagt ltwpsInputgt ltwpsDataInputsgtltwpsExecutegt

AAIS ndash wpsExecute (II)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 17: Geodaten prozessieren mit WPS  (Web Processing Service)

ltwpsExecuteResponse hellip gt ltwpsProcess wpsprocessVersion=100gt ltowsIdentifiergt AffectedAreaIdentificationProcessltowsIdentifiergt ltwpsProcessgt ltwpsProcessOutputsgt ltwpsOutputgt ltowsIdentifiergt NumberOfIdentifiedAffectedAreasltowsIdentifiergt ltwpsDatagt ltwpsLiteralDatagt61ltwpsLiteralDatagt ltwpsDatagt ltwpsOutputgt ltwpsOutputgt ltowsIdentifiergtFeatureCollectionltowsIdentifiergt ltwpsDatagt ltwpsComplexDatagtUEsDBBQAC1ycDsAAA hellip =ltwpsComplexDatagt ltwpsDatagt ltwpsOutputgt ltwpsProcessOutputsgtltwpsExecuteResponsegt

AAIS ndash wpsExecuteResponse

~500000 BytesBase64 encodiertes und zuvor geziptes Shapefile

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 18: Geodaten prozessieren mit WPS  (Web Processing Service)

Diskussion Anwendungsfall AAIS

+ Service ausgelagert+ Separation of Concerns+ Praumlzisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhoumlhte Flexibilitaumlt

+ Server Performance gt Client Performance

- Zweifelhaft Prozessor-Geschwindigkeit Parallelisierung RAM

- Up- und Downloadzeiten

NONSENSE

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 19: Geodaten prozessieren mit WPS  (Web Processing Service)

Fazit Anwendungsfall AAIS (I)

bull Sinnvolle Auslagerung bessere Architekturbull Client unabhaumlngig von GeoDaten

bull Keine volle Nutzung der WPS Faumlhigkeiten (Shapefiles statt GML)

bull Kein Performancegewinnbull Zu hoher Anteil von Up- und Downloadbull Nur geringer Gewinn bei Prozessierungszeit

bull Alternative waumlre leichter zu realisierenbull Kein Deegree WPS Serverbull zB Java RMI oder XML RPC

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 20: Geodaten prozessieren mit WPS  (Web Processing Service)

Fazit Anwendungsfall AAIS (II)

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 21: Geodaten prozessieren mit WPS  (Web Processing Service)

Anwendungsfall 1Eigenen Prozess auslagern

Anwendungsfall 2Fremden WPS integrieren

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 22: Geodaten prozessieren mit WPS  (Web Processing Service)

DEWS

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Resource-Service

AAIS

Sensordaten

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 23: Geodaten prozessieren mit WPS  (Web Processing Service)

AWI-Simulation (I)

GUIAWI-Simulationals

WPS

Sensordaten

ltowsIdentifiergtobservationsltowsIdentifiergtltDatagt ltComplexDatagt ltomObservationCollection gmlid=oc_1234gt ltommembergt ltomObservation gmlid=obs_seismic_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T011200+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt ltomprocedure xlinkhref=urnGFZGITEWSdefprocedureSeiscomp3 gt ltomobservedPropertygt ltsweCompositePhenomenon gmlid=comp_123 dimension=1gt ltgmlcsNamegtDLRltgmlcsNamegt ltswebase xlinkhref=urnDLRGITEWSdefphenomenonSeismicComposite gt ltswecomponent xlinkhref=urnGFZGITEWSdefquantitydepthBelowEpicenter gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltswecomponent xlinkhref=urnDLRGITEWSdefphenomenonoriginLocation gt ltsweCompositePhenomenongt ltomobservedPropertygt ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongt ltomfeatureOfInterestgt ltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord xmlnsns=httpwwwopengisnetswe00gt

ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

ltnsuom xlinkhref=m gt ltnsQuantitygt ltnsfieldgt ltnsfield name=gt ltnsQuantity definition=urnDLRGITEWSdefphenomenonuniversalMagnitude gt ltnsfieldgt ltnsfield name=gt ltnsText definition=urnDLRGITEWSdefphenomenonoriginLocation gt ltnsfieldgt ltnsSimpleDataRecordgt ltswecomponentsgt ltsweencodinggt ltsweTextBlock decimalSeparator= blockSeparator= tokenSeparator= gt ltsweencodinggt ltsweDataBlockDefinitiongt ltomresultDefinitiongt ltomresultgt2007-12-12T011200+02109128104095 -625229ltomresultgt ltomObservationgt ltommembergt ltommembergt ltomObservation gmlid=obs_buoy_003_1234567gt ltomsamplingTimegt ltgmlTimeInstantgt ltgmltimePositiongt 2007-12-12T012000+02ltgmltimePositiongt ltgmlTimeInstantgt ltomsamplingTimegt

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 24: Geodaten prozessieren mit WPS  (Web Processing Service)

AWI-Simulation (III)

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 25: Geodaten prozessieren mit WPS  (Web Processing Service)

Komplexitaumltsfalle

ltExecute xmlns=httpwwwopengisnetwps100 xmlnsows=httpwwwopengisnetows11 xmlnsxsi=httpwwww3org2001XMLSchema-instance xmlnsxlink=httpwwww3org1999xlink xmlnssmf=httpwwwawidetsunamismf10 xmlnsom=httpwwwopengisnetom00 xmlnsgml=httpwwwopengisnetgml xmlnsswe=httpwwwopengisnetswe00 service=WPS version=100gt

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 26: Geodaten prozessieren mit WPS  (Web Processing Service)

ltomfeatureOfInterestgt ltgmlFeatureCollection gmlid=foi_earthquakegt ltgmllocationgt ltgmlPointgt ltgmlpos srsName=urnogccrsepsg4328gt104095 -62522ltgmlposgt ltgmlPointgt ltgmllocationgt ltgmlFeatureCollectiongtltomfeatureOfInterestgtltomresultDefinitiongt ltsweDataBlockDefinitiongt ltswecomponents name=gt ltnsSimpleDataRecord

xmlnsns=httpwwwopengisnetswe00gt ltnsfield name=gt ltnsTime definition=urnogcdatatimeiso8601 gt ltnsfieldgt ltnsfield name=gt ltnsQuantity

definition=urnGFZGITEWSdefquantitydepthBelowEpicentergt

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 27: Geodaten prozessieren mit WPS  (Web Processing Service)

Java Code XML

1 XML-Schema Java Bibliothek (zB XMLBeans) Nicht moumlglich

2 Generische Objektbaumlume (Map-List-Schachtelung) Nicht typsicher und nicht praktikabel

3 Templates mit String Ersetzung Wie bitte

ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 28: Geodaten prozessieren mit WPS  (Web Processing Service)

AWI-Simulation

GUIAWI-Simulationals

WPS

Sensordaten

WPS

GeoDaten

Client

WPS WrapperR

SOAPHTTP

Java

Nicht sinnvoll realisierbar

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 29: Geodaten prozessieren mit WPS  (Web Processing Service)

WPS- GeoDaten (XML) direkt in Prozessaufruf

Typsicherheit (jenseits von int und String)

Generik = Beliebigkeit (XML Schema zu maumlchtig fuumlr Java)

Warum auslagern- KomplexitaumltsreduktionKomplexitaumlt wird weitergereicht

(schlechtes Schnittstellendesign)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 30: Geodaten prozessieren mit WPS  (Web Processing Service)

Fazit Anwendungsfall AWI-Simulation

Warum auslagern

ndash Performanzgewinn- Hoher Ressourcenbedarf- Parallelisierbarkeit

ndash Wiederverwendbarkeit

ndash Komplexitaumltsreduktion

ndash Uumlbersichtlichere Architektur- Staumlrkere Kohaumlsion- Houmlhere Kapselung- Losere Kopplung

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 31: Geodaten prozessieren mit WPS  (Web Processing Service)

WPS Fazit

bdquoWann lohnt sich ein WPSldquo

Einzelfallentscheidung

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32
Page 32: Geodaten prozessieren mit WPS  (Web Processing Service)

WPS Fazit

- Performanzgewinn beindash Hoher Parallelisierung ndash Hohem Arbeitsspeicher-Bedarfndash Abwaumlgung gegenuumlber Transferzeiten

- Typsicherheit nur beindash Nutzung von GML (statt Shapefiles)ndash in Java erzeugbarem XML (Schema

Bibliothek)

- Verbesserung der Architekturndash Uumlbersichtlichkeit Verstaumlndlichkeitndash Funktionale Trennungndash Flexibilitaumlt und Wiederverwendbarkeit

  • Folie 1
  • Geodatenprozessierung
  • Slide 3
  • Remote
  • WPS
  • WPS - Operationen
  • Folie 7
  • AAIS (I)
  • AAIS (II)
  • AAIS (III)
  • AAIS (IV)
  • AAIS (V)
  • AAIS (VI)
  • AAIS (VII)
  • AAIS ndash wpsExecute (I)
  • AAIS ndash wpsExecute (II)
  • AAIS ndash wpsExecuteResponse
  • Diskussion Anwendungsfall AAIS
  • Fazit Anwendungsfall AAIS (I)
  • Fazit Anwendungsfall AAIS (II)
  • Folie 21
  • AWI-Simulation (I)
  • Slide 23
  • AWI-Simulation (III)
  • Komplexitaumltsfalle
  • Folie 26
  • Java Code XML
  • AWI-Simulation
  • Folie 29
  • Fazit Anwendungsfall AWI-Simulation
  • WPS Fazit
  • Slide 32