Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DSD-NL 2018 Delft-FEWS & Web Services - Van Dijk, Ekkelenkamp, Hummel

577 views

Published on

Presentatie door Marc van Dijk, Stef Hummel en Rudie Ekkelenkamp, Deltares, op de Delft-FEWS NL Gebruikersdag 2018, tijdens de Deltares Software Dagen - Editie 2018. Dinsdag, 5 juni 2018, Delft.

Published in: Software
  • Be the first to comment

  • Be the first to like this

DSD-NL 2018 Delft-FEWS & Web Services - Van Dijk, Ekkelenkamp, Hummel

  1. 1. Delft-FEWS & Web Services… Presentatie Delft-FEWS Gebruikersdag 2018 Marc van Dijk, Rudie Ekkelenkamp, Stef Hummel 5 Juni 2018
  2. 2. Delft-FEWS & (Web) Services 1. Delft-FEWS 2. Roadmap 3. Standaarden 15 juni 2018
  3. 3. Verzamelen en delen van tijdreeksen • Tijdreeksen worden op een ftp klaargezet en via scripts opgehaald • Huidige leveringen van externe partijen • Wat willen we naartoe database script Export naar ftp FEWS FEWS databaseFTP Folder Import in FEWS FEWS beschikbaar via service database FEWS database 15 juni 2018
  4. 4. Delft-FEWS en (Web) Services • Delft-FEWS kan tijdreeksen importeren via de standaard Delft-FEWS import module • Steeds meer import types die ook (Web) Services ondersteunen • OpenDAP, TMX, LMW, WIWB, FEWS-PI, .. 15 juni 2018
  5. 5. Delft-FEWS en WIWB • Momenteel ontwikkelen we een import van meteo data van WIWB • https://publicwiki.deltares.nl/display/FEWSDOC/WIWB • De WIWB Import gebruikt de Hydronet WIWB API om metingen en verwachtingen te downloaden en importeren voor zowel scalaire als grid data. WIWB gebruikt het concept van DataSources welke als ‘property’ van een import. 15 juni 2018
  6. 6. Delft-FEWS en Web Services Is een Web Service een goede vervanger van de ‘oude’ ftp data leveringen? • Vereenvoudigd het beheer van de data uitwisselingen • Meer flexibiliteit: aanbieder zet data set open en gebruiker kan hier uit kiezen • Toegang tot beschikbare Web Services kan probleem zijn: autorisatie en authenticatie (username/password, Firewall, ..) • Wildgroei aan Web Services • Performance valt vaak tegen: voor operationeel gebruik vaak niet de beste oplossing 15 juni 2018
  7. 7. Delft-FEWS en Web Services • Delft-FEWS PI-Service wordt momenteel voornamelijk gebruikt om data te leveren voor Viewers • Als je organisatie een FEWS PI Service heeft draaien kan je het ook intern gebruiken om met andere applicaties data uit de FEWS database te gebruiken: Python, Excel, .. 15 juni 2018 Lizard HydroNet App
  8. 8. Delft-FEWS Web Services
  9. 9. Delft-FEWS Roadmap Ontwikkelingen database compute nodes Archive server Archive data admin gateway External applications operator clientpi web service rest web service Delft-FEWS Backend Delft-FEWS PI Web service Deltares Open Archive 15 juni 2018
  10. 10. Delft-FEWS Roadmap Ontwikkelingen database compute nodes archive server archive data admin gateway external applications operator clientpi web service rest web service Delft-FEWS Backend Delft-FEWS PI Web service Deltares Open Archive • Eenvoudig beschikbaar stellen van web service APIs • Ondersteuning voor moderne data formaten • Connectie voor externe systemen 15 juni 2018
  11. 11. Delft-FEWS PI-Web Service Overzicht • Geschiedenis van de FEWS web services • Belangrijkste doelstellingen Roadmap • Extra doelstellingen Roadmap • Nieuwe Web Service Architectuur • Ontwikkelingen: • Huidige status (2017.02) • In ontwikkeling (2018.01) • Gepland (2018.02) • Documentatie en voorbeelden 15 juni 2018
  12. 12. Geschiedenis van de Delft-FEWS Web Services Geschiedenis van de Delft-FEWS Web Services: • PI SOAP Embedded (gekoppeld met OC) (SOAP, PI-XML) • PI SOAP in Tomcat (SOAP, PI-XML) • WaterML2 (Servlet, OGC WaterML2) • UmAquo (Servlet, Aquo Csv and XML) • PI REST (REST, PI-XML) • JSON Service (SOAP JSON, deprecated!) 15 juni 2018
  13. 13. Nieuwe Delft-FEWS Web Service Architectuur tomcat WAR file PI-SOAP WaterML2PI-REST UM-AQUO client client client client Delft-FEWS directory config cache database archive data datastore Delft-FEWS binaries … 15 juni 2018
  14. 14. Delft-FEWS PI-Web Service Ontwikkelingen 2017.02 2018.01 2018.02 Simplify installation and configuration Part of install procedure Delft-FEWS (optional) Part of install procedure Delft-FEWS (optional) Improved testability Improved performance and stability Data streaming/chunking/thinning PI SOAP/REST alignment JSON Support Improved security and authentication Seamless integration of grid data Web Mapping Tile Service (WMTS) Improved documentation Improved documentation Improved documentation 15 juni 2018
  15. 15. Ontwikkelingen: huidige status (2017.02) 2017.02 2018.01 2018.02 Simplify installation and configuration Part of install procedure Delft-FEWS (optional) Part of install procedure Delft-FEWS (optional) Improved testability Improved performance and stability Data streaming/chunking/thinning PI SOAP/REST alignment JSON Support Improved security and authentication Seamless integration of grid data Web Mapping Tile Service (WMTS) Improved documentation Improved documentation Improved documentation 15 juni 2018
  16. 16. Vereenvoudigde installatie en configuratie • Ondersteuning voor Tomcat 7 en Tomcat 8 • FewsWebServices.war in de webapps folder voor alle web services • In Tomcat hoeft nog maar 1 directory te worden aangemaakt: • fews/Region_Home • In deze directory is de clientConfig.xml verplicht waarmee een direct database access client wordt geconfigureerd. (standalone alleen voor test doeleinden) • Een default filter is verplicht: • RegionConfig/Filters.xml • PiClientConfigFiles/FewsPiService.properties 15 juni 2018
  17. 17. FEWS clientConfig.xml • Elke FEWS applicatie heeft een verplichte clientConfig.xml in de region directory • Voor Stand Alone applicaties heeft deze file de volgende inhoud • Dezelfde clientConfig.xml kan worden gebruikt door de FEWS PI-Web Service • Wanneer de PI-Web Service wordt gebruikt in een FEWS client-server systeem, dan moet de clientConfig.xml hetzelfde zijn als voor een FEWS Operator Client met Direct Database Access 15 juni 2018
  18. 18. Verbeterde Testbaarheid • Er is een test page voor alle web services: • http://localhost:8080/FewsWebServices/ • Test pagina’s voor PI REST, PI SOAP, WaterML, Digitale Delta, UmAQUO. • De Public wiki bevat zogenaamde “cURL” voorbeelden van alle beschikbare methodes • De PI REST Web Service kan eenvoudig met een browser worden getest. • Test scripts kunnen eenvoudig worden gemaakt op basis van de cURL voorbeelden of door gebruik te maken van de test pagina. • De PI REST Web Service is de aanbevolen web service om te gebruiken 15 juni 2018
  19. 19. PI SOAP/REST zelfde functionaliteit • PI SOAP methods zijn nu allemaal beschikbaar in de PI REST Web Service • https://publicwiki.deltares.nl/display/FEWSDOC/FEWS+PI+REST+Web+Service • GET filters • GET locations • GET parameters • GET timeseries • POST timeseries • GET taskruns • GET taskrunstatus • POST runtask • GET timeseriesmodifiers • GET modifiers • POST modifiers • GET workflows 15 juni 2018
  20. 20. Verbeterde Documentatie • Algemene Public Wiki pagina over alle FEWS Web Services: • https://publicwiki.deltares.nl/display/FEWSDOC/FEWS+Web+Services • Migratie van releases voor 201702 • Veranderingen die impact hebben op bestaande versies: • URL wijziging voor de PI REST service • Standaard PI versie is nu altijd de laatste versie (als geen versie was gespecificeerd, versie 1.9 was de standaard. 1.23 is de huidige versie) • PI REST en PI SOAP Web Services zijn volledig gedocumenteerd op de public WIKI met voorbeelden. • Wij horen graag van andere voorbeelden om ze op de public wiki te zetten! 15 juni 2018
  21. 21. Delft-FEWS PI-Web Service Planning 2017.02 2018.01 2018.02 Simplify installation and configuration Part of install procedure Delft-FEWS (optional) Part of install procedure Delft-FEWS (optional) Improved testability Improved performance and stability Data streaming/chunking/thinning PI SOAP/REST alignment JSON Support Improved security and authentication Seamless integration of grid data Web Mapping Tile Service (WMTS) Improved documentation Improved documentation Improved documentation 15 juni 2018
  22. 22. Voorbeelden van de PI Webservice Met de PI JSON is eenvoudig een kaart of grafiek te maken. Voorbeelden staan op de WIKI 15 juni 2018
  23. 23. JSON Ondersteuning • PI-JSON ondersteuning voor een aantal methodes in 2017.02 • Gebruik de document format parameter in de URL: documentFormat=PI_JSON • Afgeleid van de PI-XML schema’s. Er is geen PI-JSON schema of definitie. • Vooral handig voor gebruik in web viewers en scripts (python) • Ondersteunde methods (alleen lezen): • filters • parameters • locations • timeseries 15 juni 2018
  24. 24. JSON met Python • PI-JSON is eenvoudig te gebruiken met python. Tijdseries lezen: 15 juni 2018
  25. 25. Ontwikkelingen: in progress (2018.01) 2017.02 2018.01 2018.02 Simplify installation and configuration Part of install procedure Delft-FEWS (optional) Part of install procedure Delft-FEWS (optional) Improved testability Improved performance and stability Data streaming/chunking/thinning PI SOAP/REST alignment JSON Support Improved security and authentication Seamless integration of grid data Web Mapping Tile Service (WMTS) Improved documentation Improved documentation Improved documentation 15 juni 2018
  26. 26. Ontwikkelingen: gepland (2018.02) 2017.02 2018.01 2018.02 Simplify installation and configuration Part of install procedure Delft-FEWS (optional) Part of install procedure Delft-FEWS (optional) Improved testability Improved performance and stability Data streaming/chunking/thinning PI-XML SOAP/REST alignment JSON Support Improved security and authentication Seamless integration of grid data Web Mapping Tile Service (WMTS) Improved documentation Improved documentation Improved documentation 15 juni 2018
  27. 27. Demo + Test Pagina 15 juni 2018
  28. 28. Nuttige links • Standaard FEWS Web Service testpagina: http://localhost:8080/FewsWebServices/. • FEWS Web Services installatie en migratie: https://publicwiki.deltares.nl/display/FEWSDOC/FEWS+Web+Services • FEWS PI REST Web Service documentatie: https://publicwiki.deltares.nl/display/FEWSDOC/FEWS+PI+REST+Web+Service • Voorbeelden (javascript, python) van Web Service gebruik: https://publicwiki.deltares.nl/display/FEWSDOC/FEWS+PI-JSON+REST+Examples 15 juni 2018
  29. 29. Gebruik van testpagina: Delft-FEWS PI-Web Service 1. Open de Fews Web Services pagina in een browser: http://localhost:8080/FewsWebServices/ 2. Ga naar de test pagina voor de REST services: http://localhost:8080/FewsWebServices/test/fewspiservicerest/index.jsp 3. Kies GET locations, kies het PI_JSON formaat en SUBMIT 4. Kopieer de gegenereerde URL in een browser: http://localhost:8080/FewsWebServices/rest/fewspiservice/v1/locations?documentFormat =PI_JSON&documentVersion=1.24 15 juni 2018
  30. 30. Locaties tonen op een kaart Op de publieke wiki staat voorbeeld code om een map met locaties te tonen. 1. Bekijk de map.html file in een tekst editor en bekijk hoe de REST url wordt gebruikt om de locaties te bepalen. 2. Open het map.html bestand in een browser (Chrome of Firefox) en zie de locaties op de map. 3. Open timeSeries.html in a tekst editor en bekijk hoe tijdseries worden opgevraagd. 4. Open de timeSeries.html in a browser (Chrome or Firefox) en bekijk de plot in de browser. De eerste tijdserie die door de PI Web Service wordt geretourneerd, wordt in deze plot getoond. Advies: Gebruik de FEWS Web Service test pagina om geldige URLs te genereren. 15 juni 2018

×