540 likes | 771 Views
Étude comparative de serveurs open source conformes WPS : GeoServer, ZooWPS, Deegree et 52 North. Kaboro SAMASSE Encadré par: -Dr. Tierry Badard -Dr. Frédéric Hubert GMT6006 – Automne 2012. Plan de l’exposé. Introduction Objectifs Serveur WPS Description des serveurs
E N D
Étude comparative de serveurs open source conformes WPS : GeoServer, ZooWPS, Deegree et 52 North Kaboro SAMASSE Encadré par: -Dr. Tierry Badard -Dr. Frédéric Hubert GMT6006 – Automne 2012
Plan de l’exposé • Introduction • Objectifs • Serveur WPS • Description des serveurs • Critères de comparaison • Réalisation des tests • Tableau de synthèse • Conclusion
Introduction • OGC=Open Geospatial Consertium • 483 membres (OGC,2012) • Interopérabilité des SIG • Spécifications des interfaces • de services Web interopérables • OWS (OGC Web Services) Architecture type d’un service Web OGC. Source=http://geoconnexions.rncan.gc.ca/1022
Introduction • Exemples de OGC Web Services • WMS: Web Map Service • WFS: Web Feature Service • WCS: Web Coverage Service • WPS: Web Processing Service
Objectifs • Décrire les caractéristiques des serveurs GeoServer, Deegree, 52 North et ZooWPS • Vérifier la conformité des serveurs pré-cités à la spécification OGC WPS • Établir une grille des forces et des faiblesses dans l’utilisation du service WPS à partir de ces serveurs
Serveur WPS • Rôle: • Distributeur des fonctionnalités de traitementsgéospatiaux (Process) • Exemples de Process: Calcul de distance, Fonctiond’interpolation IDW, Buffer, Contour… • Possède 3 opérations • GetCapabilities • DescribeProcess • Execute
Serveur WPS • Échange entre Serveur et Client WPS: http://www.rencontres-sig-la-lettre.fr/wp-content/uploads/2012/01/R2012-WPS-Cauchy.pdf
Description des serveurs • GeoServer: • Certifié conforme OGC • Implémente les services WMS, WFS, WCS et WPS comme une extension • Développé en Java avec GeoTools
Description des serveurs • Deegree: • Plateforme de service web développée en Java • JTS Topology Suite pour le WPS • Implémente WMS, WFS… www.deegree.org
Description des serveurs • 52 North: • Basésur une plateforme Java • Possède une communauté52 North Geoprocessing • Plug-in WPS pour uDig et JUMP • JTS Topology Suite pour les Process
Description des serveurs • ZooWPS: • Projetorientéuniquementvers WPS • Composé de 3 parties: http://zoo-project.org/
Critères de comparaison • Récupération et installation des serveurs • Disponibilité de documentation et de support • Type de licence • Maturité du serveur WPS • Systèmes d’exploitation supportés • Test de conformité au standard WPS • Support de plusieurs langages de programmation • Traitement asynchrone • Complexité de déploiement des traitements spatiaux • Intégration dans des applications SIG
Réalisation des tests • Ordinateurutilisé: • Processeur Dual Core • Windows 7 • RAM= 3Go • Disquedur = 500 Go • Donnéesgéographiques • Linéaire: route.gml • Ponctuelle: village.gml • Surfacique: parcelle.gml
Réalisation des tests • Récupération et installation des serveurs GeoServer: • http://sourceforge.net/projects/geoserver/files/GeoServer/2.2.2/geoserver-2.2.2.exe/download?use_mirror=garr • Prérequis: JAVA6 ou plus récent
Réalisation des tests • Récupération et installation des serveurs Deegree: • http://www.deegree.org/Download • Pas de prérequis
Réalisation des tests • Récupération et installation des serveurs 52 North WPS: • http://52north.org/downloads/geoprocessing/wps • Prérequis: JAVA6 ou plus récent
Réalisation des tests • Récupération et installation des serveurs ZooWPS: • http://zoo-project.org/site/Downloads • Prérequis: Autoconf, cgic, cURL, FastCGI, Flex et Bison, libxml2, OpenSSL, Python. • Installé à partir de OsGeo Live DVD5.5
Réalisation des tests • Test de conformité au standard WPS • Exigencesselon le document OGC 05-007r7 • http://portal.opengeospatial.org/files/?artifact_id=24151
Réalisation des tests • Test de conformité au standard WPS GeoServer: • GetCapabilities • Requête: http://localhost:8083/geoserver/ows?service=wps&version=1.0.0&request=GetCapabilities • Réponse du serveur:
Réalisation des tests • Test de conformité au standard WPS GeoServer: • DescribeProcess • Requête: http://localhost:8083/geoserver/ows?service=WPS&version=1.0.0&request=DescribeProcess&Identifier=JTS:buffer • Réponse du serveur:
Réalisation des tests • Test de conformité au standard WPS GeoServer: • Execute • Requête et Réponse
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd"> <ows:Identifier>JTS:buffer</ows:Identifier> <wps:DataInputs> <wps:Input> <ows:Identifier>geom</ows:Identifier> <wps:Data> <wps:ComplexDatamimeType="text/xml; subtype=gml/3.1.1"><![CDATA[LINESTRING(-139.0542539399907 59.99968406467396, - 139.0954933825154 60.02169517499379, -139.1406646325113 60.05079987316714, -139.178418355588 60.07506760268618, -139.1990047524417 60.08827870457464)]]></wps:ComplexData> </wps:Data> </wps:Input> <wps:Input> <ows:Identifier>distance</ows:Identifier> <wps:Data> <wps:LiteralData>0.1</wps:LiteralData> </wps:Data> </wps:Input> <wps:Input> <ows:Identifier>capStyle</ows:Identifier> <wps:Data> <wps:LiteralData>Round</wps:LiteralData> </wps:Data> </wps:Input> </wps:DataInputs> <wps:ResponseForm> <wps:RawDataOutputmimeType="text/xml; subtype=gml/3.1.1"> <ows:Identifier>result</ows:Identifier> </wps:RawDataOutput> </wps:ResponseForm> </wps:Execute>
Réalisation des tests • Test de conformité au standard WPS Deegree: • GetCapabilities • Requête: http://localhost:8082/services?service=wps&version=1.0.0&request=GetCapabilities • Réponse du serveur:
Réalisation des tests • Test de conformité au standard WPS Deegree: • DescribeProcess • Requête: http://localhost:8082/services?service=wps&version=1.0.0&request=DescribeProcess&Identifier=Buffer • Réponse du serveur:
Réalisation des tests • Test de conformité au standard WPS Deegree: • Execute • Requête et Réponse
<wps:Executexmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows/1.1" service="WPS" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsExecute_request.xsd"> <ows:Identifier>Buffer</ows:Identifier> <wps:DataInputs> <wps:Input> <ows:Identifier>GMLInput</ows:Identifier> <wps:Referencexlink:href="http://192.168.1.161:8084/geoserver/ipr/wfs?service=WFS&version=1.1.0&request=GetFeature&TypeName=ipr:routes&Format=GML"/> </wps:Input> <wps:Input> <ows:Identifier>BufferDistance</ows:Identifier> <wps:Data> <wps:LiteralDatauom="unity" dataType="double">0.1</wps:LiteralData> </wps:Data> </wps:Input> </wps:DataInputs> </wps:Execute>
<gml:PolygonsrsName="urn:x-ogc:def:crs:EPSG:4326"><gml:exterior><gml:LinearRingsrsName="urn:x-ogc:def:crs:EPSG:4326"><gml:posList>60.107982 -139.044783 60.134862 -139.086502 60.134920 -139.086593 60.159188 -139.124347 60.159228 -139.124409 60.172439 -139.144996 60.181359 -139.162452 60.186701 -139.181314 60.188262 -139.200855 60.185980 -139.220325 60.179943 -139.238976 60.170384 -139.256091 60.157669 -139.271012 60.142288 -139.283165 60.124831 -139.292085 60.105970 -139.297427 60.086429 -139.298988 60.066958 -139.296706 60.048308 -139.290669 60.031193 -139.281110 60.016272 -139.268395 60.004118 -139.253014 59.990943 -139.232484 59.937607 -139.149615 59.933475 -139.142580 59.911464 -139.101341 59.903973 -139.083225 59.900160 -139.063996 59.900171 -139.044392 59.904007 -139.025168 59.911520 -139.007061 59.922421 -138.990768 59.936291 -138.976915 59.952597 -138.966034 59.970713 -138.958542 59.989942 -138.954730 60.009546 -138.954741 60.028770 -138.958577 60.046877 -138.966090 60.063170 -138.976991 60.077023 -138.990861 60.087904 -139.007167 60.107982 -139.044783 </gml:posList></gml:LinearRing></gml:exterior></gml:Polygon>
Réalisation des tests • Test de conformité au standard WPS 52North WPS: • GetCapabilities • Requête: http://localhost:8080/wps/WebProcessingService?Request=GetCapabilities&Service=WPS • Réponse du serveur:
Réalisation des tests • Test de conformité au standard WPS 52North WPS: • DescribeProcess • Requête: http://localhost:8080/wps/WebProcessingService?Request=DescribeProcess&Service=WPS&Version=1.0.0&Identifier=org.n52.wps.server.algorithm.SimpleBufferAlgorithm • Réponse du serveur:
Réalisation des tests • Test de conformité au standard WPS 52North WPS: • Execute • Requêteet Réponse du serveur:
Réalisation des tests • Test de conformité au standard WPS ZooWPS: • Getcapabilities: • Requête: http://localhost/zoo/?Request=GetCapabilities&service=WPS&version=1.0.0 • Réponse du serveur:
Réalisation des tests • Test de conformité au standard WPS ZooWPS: • DescribeProcess: • Requête: http://localhost/zoo/?Request=DescribeProcess&service=WPS&version=1.0.0&Identifier=Buffer • Réponse du serveur:
Conclusion 1) Les quatre plateformes GeoServer, Deegree, 52°North et ZOOWPS ont l’avantage d’être distribuées sous licence open source et facilement téléchargeables sur Internet
Conclusion 2) Les tests des opérations GetCapabilities, DescribeProcess et Execute ont montré que les serveurs sont conformes à la spécification WPS