Compliance Testing of Open Source Software for Web Processing Services  Theodor Foerster Institute for Geoinformatics (ifg...
<ul><li>No Shootout! </li></ul>
<ul><li>Compliance! </li></ul>
History Class WPS 0.4.0 Candidate (09/2005) WPS 1.0.0 (06/2007) Deegree WPS (deegree 2.2) (12/08) Deegree WPS (deegree 2.3...
Compliance is crucial <ul><li>Open Source products </li></ul><ul><li>Transparency </li></ul><ul><li>Flexibility for the us...
Compliance a prerequisite
WPS 101 <ul><li>Data    Information </li></ul><ul><li>HTTP / XML </li></ul>GetCapabilities DescribeProcess Execute WPS Pr...
Interoperability <ul><li>OGC WPS Compliance </li></ul><ul><ul><li>Compliant WPS responses </li></ul></ul><ul><ul><li>Full ...
SETUP
Test environment <ul><li>Intel Dual core CPU @ 1.66 GHz on a Dell laptop </li></ul><ul><li>Ubuntu 10.4 </li></ul><ul><li>T...
Candidate Services
Service facts Environment Java/Tomcat Python/Apache Java/tomcat C/Apache Tested version 2.0.0 rc 5 3.2 rc: 3.0 1.0 Stated ...
Remote endpoints http://deegree3-testing.deegree.org/deegree-wps-demo/services http://apps.esdi-humboldt.cz/cgi-bin/wps/wp...
Not tested... Sorry!
Candidate Clients Version Results XML Clients n/a yes uDig 1.3 yes 52N OpenLayers 1.0 yes QGIS 1.5.0 no gvSIG 1.10 no JUMP...
Client Test procedure <ul><li>Server Login </li></ul><ul><li>Process selection </li></ul><ul><li>Process Execution </li></...
OGC Compliance <ul><li>Validated with XMLSpy </li></ul><ul><li>GetCapabilities (HTTP-GET) </li></ul><ul><li>DescribeProces...
RESULTS <ul><li>Product Compliance </li></ul>
XML Clients
XML Clients - results Deegree Client 52°North test client
uDig Input/Output not supported Metadata not compliant Metadata not compliant
OpenLayers ProcessID not found Dummy/literal data process work No processes found
JUMP Input/Output not supported Metadata not compliant Metadata not compliant
RESULTS <ul><li>OGC Compliance </li></ul>
GetCapabilities <ul><li>HTTP-GET Query  REQUEST=GetCapabilities&SERVICE=WPS&version=1.0.0 </li></ul>processVersion=&quot;1...
DescribeProcess <ul><li>HTTP-GET Query </li></ul><ul><li>REQUEST=DescribeProcess&Service=WPS&version=1.0.0&identifier= XXX...
Execute <ul><li>HTTP-POST </li></ul><ul><li>Example process buffer </li></ul>Sync Store async
CONCLUSION
Conclusion <ul><li>Compliance a prerequisite for successful Open Source software </li></ul><ul><ul><li>Compliance between ...
Conclusion (contd.) OGC Compliance Caps Desc store sync async Client-Server interoperability XML uDig OL
Invitation… <ul><li>Compliance testing with volunteers </li></ul><ul><li>Stand up with demo servers </li></ul><ul><li>Join...
Thanks for your attention! <ul><li>swsl.uni-muenster.de </li></ul><ul><li>Dr. Theodor Foerster </li></ul><ul><li>[email_ad...
Upcoming SlideShare
Loading in …5
×

Compliance Testing of Open Source Software for Web Processing Services

2,191 views

Published on

Presentation @ Foss4G 2010

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,191
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Compliance Testing of Open Source Software for Web Processing Services

  1. 1. Compliance Testing of Open Source Software for Web Processing Services Theodor Foerster Institute for Geoinformatics (ifgi) Foss4G 2010 9th September 2010
  2. 2. <ul><li>No Shootout! </li></ul>
  3. 3. <ul><li>Compliance! </li></ul>
  4. 4. History Class WPS 0.4.0 Candidate (09/2005) WPS 1.0.0 (06/2007) Deegree WPS (deegree 2.2) (12/08) Deegree WPS (deegree 2.3) (04/10) 2005 2007 PyWPS 1.0.0 (11/06) PyWPS 2.0.0 (09/07) 52N WPS 0.x (05/06) PyWPS 3.0.0 (09/08) PyWPS 3.1.0 (01/09) 52N WPS 2.0 (01/09) 52N WPS 1.0 (12/07) 2008 2009 2010 It‘s time for compliance!
  5. 5. Compliance is crucial <ul><li>Open Source products </li></ul><ul><li>Transparency </li></ul><ul><li>Flexibility for the users </li></ul><ul><li>Supports the community! </li></ul><ul><li>THE argument over proprietary standards </li></ul>
  6. 6. Compliance a prerequisite
  7. 7. WPS 101 <ul><li>Data  Information </li></ul><ul><li>HTTP / XML </li></ul>GetCapabilities DescribeProcess Execute WPS Process 1 Process 2 Process n
  8. 8. Interoperability <ul><li>OGC WPS Compliance </li></ul><ul><ul><li>Compliant WPS responses </li></ul></ul><ul><ul><li>Full support of the specification </li></ul></ul><ul><ul><ul><li>Store, asynchronous, synchronous </li></ul></ul></ul><ul><li>Product interoperability </li></ul><ul><ul><li>Real-world problem </li></ul></ul>
  9. 9. SETUP
  10. 10. Test environment <ul><li>Intel Dual core CPU @ 1.66 GHz on a Dell laptop </li></ul><ul><li>Ubuntu 10.4 </li></ul><ul><li>Tomcat 6.0.26/Apache2 </li></ul><ul><li>Java 6 </li></ul>
  11. 11. Candidate Services
  12. 12. Service facts Environment Java/Tomcat Python/Apache Java/tomcat C/Apache Tested version 2.0.0 rc 5 3.2 rc: 3.0 1.0 Stated compliance Full Full – with limitations Full Full Installation successful yes yes yes - Requires tomcat 6 Internal Server error: cannot find libjavaplugin_jni.so Remote endpoint yes yes yes yes
  13. 13. Remote endpoints http://deegree3-testing.deegree.org/deegree-wps-demo/services http://apps.esdi-humboldt.cz/cgi-bin/wps/wps http://giv-wps.uni-muenster.de:8080/wps/WebProcessingService http://zoo-project.org/zoosoo/
  14. 14. Not tested... Sorry!
  15. 15. Candidate Clients Version Results XML Clients n/a yes uDig 1.3 yes 52N OpenLayers 1.0 yes QGIS 1.5.0 no gvSIG 1.10 no JUMP 1.3.2 w/ 2.0 rc1 yes
  16. 16. Client Test procedure <ul><li>Server Login </li></ul><ul><li>Process selection </li></ul><ul><li>Process Execution </li></ul><ul><ul><li>Buffer </li></ul></ul><ul><li>Applied data </li></ul><ul><ul><li>LineString Features from WFS (Tasmanian roads) </li></ul></ul><ul><ul><li>No raster data </li></ul></ul>
  17. 17. OGC Compliance <ul><li>Validated with XMLSpy </li></ul><ul><li>GetCapabilities (HTTP-GET) </li></ul><ul><li>DescribeProcess (HTTP-GET) </li></ul><ul><li>Execute (HTTP-POST) </li></ul><ul><ul><li>Store </li></ul></ul><ul><ul><li>Synchronous </li></ul></ul><ul><ul><li>Asynchronous </li></ul></ul>
  18. 18. RESULTS <ul><li>Product Compliance </li></ul>
  19. 19. XML Clients
  20. 20. XML Clients - results Deegree Client 52°North test client
  21. 21. uDig Input/Output not supported Metadata not compliant Metadata not compliant
  22. 22. OpenLayers ProcessID not found Dummy/literal data process work No processes found
  23. 23. JUMP Input/Output not supported Metadata not compliant Metadata not compliant
  24. 24. RESULTS <ul><li>OGC Compliance </li></ul>
  25. 25. GetCapabilities <ul><li>HTTP-GET Query REQUEST=GetCapabilities&SERVICE=WPS&version=1.0.0 </li></ul>processVersion=&quot;1.0.0“ missing <ows:Metadata xlink:Test=&quot;Demo&quot;/> invalid
  26. 26. DescribeProcess <ul><li>HTTP-GET Query </li></ul><ul><li>REQUEST=DescribeProcess&Service=WPS&version=1.0.0&identifier= XXX </li></ul><ul><li>Example process buffer </li></ul>MimeType wrong namespace wrong element dataType in Format
  27. 27. Execute <ul><li>HTTP-POST </li></ul><ul><li>Example process buffer </li></ul>Sync Store async
  28. 28. CONCLUSION
  29. 29. Conclusion <ul><li>Compliance a prerequisite for successful Open Source software </li></ul><ul><ul><li>Compliance between products </li></ul></ul><ul><ul><ul><li>pair-wise </li></ul></ul></ul><ul><ul><ul><li>Client-Server </li></ul></ul></ul><ul><ul><li>Spec compliance </li></ul></ul><ul><li>Results are not OGC certified! </li></ul><ul><li>Standardized test suite required </li></ul><ul><li>Output/Input problem </li></ul><ul><li>Validate your schemas! </li></ul>
  30. 30. Conclusion (contd.) OGC Compliance Caps Desc store sync async Client-Server interoperability XML uDig OL
  31. 31. Invitation… <ul><li>Compliance testing with volunteers </li></ul><ul><li>Stand up with demo servers </li></ul><ul><li>Join the team </li></ul><ul><ul><li>Mailing list </li></ul></ul><ul><ul><li>Wiki </li></ul></ul>
  32. 32. Thanks for your attention! <ul><li>swsl.uni-muenster.de </li></ul><ul><li>Dr. Theodor Foerster </li></ul><ul><li>[email_address] </li></ul>

×