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

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

  • View
    218

  • Download
    1

Embed Size (px)

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

  • Geodaten prozessieren mitWPS (Web Processing Service)Matthias Lendholt6. Januar 2010

  • Geodatenprozessierung

  • GeodatenprozessierungWarum auslagern?

    PerformanzgewinnHoher RessourcenbedarfParallelisierbarkeit

    Wiederverwendbarkeit

    Komplexittsreduktion

    bersichtlichere ArchitekturStrkere KohsionHhere KapselungLosere Kopplung

  • RemoteCorba ()RPCWeb Services: SOAP REST (direct HTTP)Sprachspezifisch, z.B. Java RMI

    WPS

  • WPSOGC StandardSpezifiziert fr HTTPSOAP optionalGeoDaten (XML) direkt in Prozessaufruf Typsicherheit! (jenseits von int und String)Synchroner AufrufRckgabewerteEntweder direkt in Antwort Oder als separater Download (URL)

  • WPS - OperationenGetCapabilities Liste verfgbarer Prozesse

    Describe Process Liste Eingabe- und Rckgabeparameter

    Execute Operation

  • Anwendungsfall 1:Eigenen Prozess auslagern

    Anwendungsfall 2:Fremden WPS integrieren

  • AAIS (I)Projekt DEWS:Affected Area Identification Service (AAIS)+

  • AAIS (II)DEWSGUIAWI-SimulationResource-ServiceAAIS

  • AAIS (III)DEWSGUIAWI-SimulationResource-ServiceAAIS

  • AAIS (IV)DEWSGUIAWI-SimulationResource-ServiceAAISWPS Execute Process

  • AAIS (V)DEWSGUIAWI-SimulationResource-ServiceAAIS

  • AAIS (VI)DEWSGUIAWI-SimulationResource-ServiceAAIS+

  • AAIS (VII)DEWSGUIAWI-SimulationResource-ServiceAAIS

  • AAIS wps:Execute (I)

    AffectedAreaIdentificationProcess ISOCountryCode TH SimulationResultURL http://dews-services/resources/docs/foo.zip

  • AAIS wps:Execute (II) EtaAttribute arrivaltim SshAttribute ssh_max MinSsh 0.5

  • AAIS wps:ExecuteResponse

    AffectedAreaIdentificationProcess NumberOfIdentifiedAffectedAreas 61 FeatureCollection UEsDBBQAC1ycDsAAA =

    ~500.000 BytesBase64 encodiertes und zuvor geziptes Shapefile

  • Diskussion Anwendungsfall AAIS+ Service ausgelagert+ Separation of Concerns+ Przisere Architektur (Nutzung von Standards) + Wiederverwendbarkeit+ Erhhte Flexibilitt+ Server Performance > Client Performance- Zweifelhaft: Prozessor-Geschwindigkeit? Parallelisierung? RAM?- Up- und DownloadzeitenNONSENSE

  • Fazit Anwendungsfall AAIS (I)Sinnvolle Auslagerung / bessere ArchitekturClient unabhngig von GeoDaten

    Keine volle Nutzung der WPS Fhigkeiten (Shapefiles statt GML)Kein PerformancegewinnZu hoher Anteil von Up- und DownloadNur geringer Gewinn bei ProzessierungszeitAlternative wre leichter zu realisierenKein Deegree WPS Serverz.B. Java RMI oder XML RPC

  • Fazit Anwendungsfall AAIS (II)Warum auslagern?

    PerformanzgewinnHoher RessourcenbedarfParallelisierbarkeit

    Wiederverwendbarkeit

    Komplexittsreduktion

    bersichtlichere ArchitekturStrkere KohsionHhere KapselungLosere Kopplung? ?

  • Anwendungsfall 1:Eigenen Prozess auslagern

    Anwendungsfall 2:Fremden WPS integrieren

  • AWI-Simulation (I)DEWSGUIAWI-Simulationals WPSResource-ServiceAAISSensordaten

  • AWI-Simulation (I)GUIAWI-Simulationals WPSSensordatenobservations

    2007-12-12T01:12:00+02 DLR 104.095 -6.2522

    2007-12-12T01:12:00+02,109.12,8,104.095 [email protected]@ 2007-12-12T01:20:00+02

  • AWI-Simulation (III)GUIAWI-Simulationals WPSSensordaten

    R

    R

    WPS

    GeoDaten

    Client

    WPS Wrapper

    SOAP/HTTP

    ...

    Java

  • Komplexittsfalle

  • 104.095 -6.2522

  • Java Code XMLXML-Schema Java Bibliothek (z.B. XMLBeans) Nicht mglich

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

    Templates mit String Ersetzung Wie bitte?

    ExecuteProcess-XML kann nicht sinnvoll erzeugt werden

  • AWI-SimulationGUIAWI-Simulationals WPSSensordatenNicht sinnvoll realisierbar

    R

    R

    WPS

    GeoDaten

    Client

    WPS Wrapper

    SOAP/HTTP

    ...

    Java

  • WPSGeoDaten (XML) direkt in Prozessaufruf Typsicherheit! (jenseits von int und String) Generik = Beliebigkeit (XML Schema zu mchtig fr Java)

    Warum auslagern?KomplexittsreduktionKomplexitt wird weitergereicht(schlechtes Schnittstellendesign)

  • Fazit Anwendungsfall AWI-SimulationWarum auslagern?

    PerformanzgewinnHoher RessourcenbedarfParallelisierbarkeit

    Wiederverwendbarkeit

    Komplexittsreduktion

    bersichtlichere ArchitekturStrkere KohsionHhere KapselungLosere Kopplung

  • WPS Fazit

    Wann lohnt sich ein WPS?

    Einzelfallentscheidung

  • WPS FazitPerformanzgewinn beiHoher Parallelisierung Hohem Arbeitsspeicher-BedarfAbwgung gegenber TransferzeitenTypsicherheit nur beiNutzung von GML (statt Shapefiles)in Java erzeugbarem XML (Schema Bibliothek)Verbesserung der Architekturbersichtlichkeit, VerstndlichkeitFunktionale TrennungFlexibilitt und Wiederverwendbarkeit