Você está na página 1de 88

Le Service Web de gotraitement

Stage effectu du 1 Mars au 28 Juillet 2010 au CRENAM


Centre de REcherche sur lENvironnement et lAMnagement



Tarek BENNOUR


Sous la direction de :
M. Thierry JOLIVEAU (CRENAM)
M. Renaud MAYOUD

Septembre 2010

Master 2 SIG et Gestion de lEspace,
Parcours Recherche


Master SIG et gestion de lespace Service Web de gotraitement
2
REMERCIEMENTS

Je tiens remercier particulirement Thierry JOLIVEAU pour sa disponibilit, ses
conseils et plus globalement pour son accompagnement tout au long de ce stage.
Ses comptences et ses grandes qualits humaines auront fortement contribu
rendre cette priode de stage trs enrichissante et trs agrable.
Merci galement Renaud MAYOUD pour sa disponibilit et ses conseils ainsi qu
toute lquipe du CRENAM et du projet Crateurs de Drme.
Je souhaite galement remercier Nicolas BOZON avec qui jai eu des changes
concernant les WebSIG durant cette priode de stage.
Merci Eric FAVIER qui me fait lhonneur de participer au jury.
Merci mes collgues et amis de la DRD, ainsi que ma famille, pour avoir rendu
cette aventure possible
Master SIG et gestion de lespace Service Web de gotraitement
3
Rsum
Le dveloppement des bases de donnes gographiques en ligne permet denvisager un
travail collaboratif distance. Si les fonctions les plus couramment disponibles concernant
essentiellement la visualisation et linterrogation distance, lmergence du standard de
lOGC le Web Processing Service (WPS) permet denvisager de raliser en mode Service Web
des traitements gnriques sur des donnes spatiales et attributaires.
Ce travail vise en premier lieu faire le point sur les concepts, standards et outils
disponibles, libres et propritaires, permettant de fournir des traitements gnriques des
donnes spatiales au format OGC ou non, tout en mettant laccent sur la solution propritaire
ArcGIS Server, en deuxime lieu tudier la norme WPS afin de dduire ses lacunes et de
proposer des solutions. Enfin, de prsenter des mthodes dutilisation de cette norme dans
un contexte collaboratif.
Mots-cls: WPS, ArcGIS Server, Service Web, gotraitement distance, normes Open
Geospatial Consortium, ZOO-Project, PyWPS, Deegree.
Abstract
The development of the on-line geographical databases allows envisaging a remote
collaborative work. If the most usual functions available concerning essentially the
visualization and the remote access, the emergence of the standard of the OGC Web
Processing Service (WPS) allows the intent in Web Service mode a generic treatments on
spatial and attribute data.
This work aims primarily to give a progress report on the concepts, standards and tools
available, free and owners, making it possible to provide generic spatial data processing to
format OGC or not, while stressing the solution owner ArcGIS Server, secondly, to study WPS
standard in order to deduce its gaps and to propose solutions. Finally, to present methods of
use of this standard in a collaborative context.
Keywords: WPS, ArcGIS Server, Web Service, remote geoprocessing, Open Geospatial
Consortium standards, ZOO-Project, PyWPS, Deegree.
Master SIG et gestion de lespace Service Web de gotraitement
4
Sommaire
INTRODUCTION7
Problmatique 8
Chapitre 1 : Les services Web ..10
1. LArchitecture Oriente Service (AOS).11
2. Les services Web.12
2.1 Dfinition..12
2.2 Les piliers des Services Web..13
2.2.1 HTTP ..13
2.2.2 XML. 13
2.2.3 SOAP14
2.2.4 WSDL..15
2.2.5 UDDI15
2.3 Description en couche des services Web.16
2.4 REST ..17
2.5 Avantages des services Web.18
3. Service Web gographique..19
3.1 Les spcifications de lOGC 19
3.2 LInternational Organization for Standardisation (ISO)..20
3.3 Les Standard de services Web .20
A. Les services des applications mobiles et des capteurs...20
B. Le service de visualisation WMS (Web Map Service)20
C. Les services daccs aux donnes..23
D. Le service de catalogage CSW (Catalog Service Web)25
E. Les services de traitement de donnes..26
3.4 Les standards de format..26
3.5 Les versions actuelles des standards de lOGC.27
4. Conclusion..27
Chapitre 2: Le Web Processing Service (WPS)28
1. Dfinition29
2. Les requtes dun WPS..29
2.1 GetCapabilities..30
2.2 DescibeProcess.30
2.3 Execute.30
3. Le document du statut31
4. Description fonctionnelle33
5. Les solutions SIG et les services Web.37
6. Le projet ZOO..38
7. PyWPS..40
Master SIG et gestion de lespace Service Web de gotraitement
5
8. Deegree ..43
8.3 Autres projets WPS 44
9. Conclusion..44
Chapitre 3 : Les approches similaires au WPS ArcGis Server.45
1. Architecture dArcGIS Server46
2. Le Model Builder et le gotraitement..47
3. Outil de script pour les tches de gotraitement..49
4. Les couches doutils..50
5. Le gotraitement avec ArcGIS Server.51
5.1 Les clients du service du gotraitement..51
5.2 Conception des modles publier dans ArcGis Server...53
5.3 Mthodes de publication dune ressource..53
5.4 Cration de services de gotraitement.54
5.6 Cration dune application Web avec la tche de gotraitement55
6. les bonnes pratiques pour amliorer les performances dune application cartographique
Web ArcGIS Server.56
7. Conclusion..56
Chapitre 4 : Aspect Recherche de WPS..57
1. Synthse des quelques travaux de recherche sur le WPS58
2. Les insuffisances de la version 1.0 de WPS.63
2.1 La scurit ..63
2.2 La gestion des processus.63
2.3 Lhistorique des traitements raliss..63
3. Lutilisation possible du WPS dans un SIGWeb collaboratif.64
3.1 Chanage de processus.64
3.2 Re-projection/Conversion.64
3.3 La Norme WFS-T..65
3.4 Gestion des droits utilisateurs65
4. Conclusion..66
Conclusion gnrale..67
Bibliographie..69
Annexes.72
Annexe1 : Structure dun message SOAP ..73
Annexe2 : Exemple de cration dun processus..74
Annexe3 : les types de donnes de paramtres en entre et en sortie 75
Annexe4 : amliorer les performances dune application cartographique Web77
Master SIG et gestion de lespace Service Web de gotraitement
6
Tables des figures
Figure 1 : Interactions principales SOA .. 12
Figure 2: Structure dun message SOAP ..15
Figure 3 : le fonctionnement dune SOA17
Figure 4 : Architecture gnrale dun service Web gographique.19
Figure 5 : diagramme de classe de linterface WPS30
Figure 6. Fonctionnement dun WPS .33
Figure 7 : Interface de lopengeoprocessing .35
Figure 8 : La liste des traitements disponible 36
Figure 9 : Formulaire de saisie des paramtres ncessaires .36
Figure 10 : Rsultat de lopration RouteProfile37
Figure 11 : Exemple dmo de loutil de profil.40
Figure 12 : Architecture dArcGIS Server..47
Figure 13 : Vue densemble conceptuelle dun modle.48
Figure 14 : Fentre ModelBuilder.48
Figure 15 : Exemple dun script Python (outil Intersecter deux classes dentits)49
Figure 16 : Cration dune couche doutil.. 50
Figure 17 : Service Web de gotratiement utilis dans ArcGIS Desktop.51
Figure 18 : Service Web de gotratiement utilis dans une application personnalise52
Figure 19 : Service Web de gotratiement utilis dans ArcGis Explorer. 52
Figure 20 : les trois configurations possibles dun service de gotraitement54
Figure 21 : mthodes de cration dun service.54
Figure 22 : Cration dun service de gotraitement avec ArcGis Server Manager.55
Figure 23 : choix de tche de gotraitement.55
Figure 24 : Diagramme de collaboration - WPS pour orchestrer une chane de services..64
Figure 25 : diagramme de collaboration dune fonctionnalit Consultation WMS .66

Table des tableaux
Tableau 1 : les versions des standards OGC.27
Tableau 2 : implmentation des standards OGC.37
Tableau 3 : les recherches portent sur le WPS.62
Master SIG et gestion de lespace Service Web de gotraitement
7








INTRODUCTION








Master SIG et gestion de lespace Service Web de gotraitement
8
Nous disposons actuellement dune quantit toujours plus importante de donnes
gographiques sous forme numrique, et un grand nombre dorganisations travaillent avec
de telles donnes. La technologie Internet a considrablement particip lchange et la
publication de ces donnes. Cependant, la non-interoprabilit constitue toujours un obstacle
et mobilise aujourdhui des groupes de rflexion tous les niveaux afin de construire un
cadre pour permettre lchange de ces donnes.
Les Architectures Orientes Services (Service Oriented Architecture- SOA) se proposent de
rpondre ces exigences dinteroprabilit en mettant la notion de service au cur de
larchitecture du Systme dInformation de lentreprise qui est gnralement constitu des
applications logicielles et de donnes, la brique gographique ntant quun lment de
ces composants. Mettre en place une Architecture Oriente Services consiste concevoir et
construire un systme dinformation et les applications qui la composent partir dun
ensemble de service logiciels indpendants, mais capables de communiquer les uns avec les
autres.
C'est dans ce contexte que L'Open Geospatial Consortium (OGC) a vu le jour, en 1994. Cest
une organisation internationale but non lucratif fonde en rponse au problme reconnu de
la non-interoprabilit des systmes et des applications dans le domaine de linformation
gographique. La vision de lOGC est la pleine intgration des donnes gographiques
(geospatial data), et des ressources pour leur exploitation (geoprocessing resources), dans le
courant des technologies de linformation, avec une utilisation large de systmes
goinformatiques commerciaux et interoprables au sein de linfrastructure globale de
linformation. [Gilg2001]
Aujourdhui, grce aux normes de lOGC, les donnes gographiques diffuses par des
serveurs distants sont accessibles via des services Web (WMS, WFS.) depuis des
applications clientes. La prochaine tape pour amener les avantages du Web dans des
applications SIG ct client est de permettre lexcution de code distance pour le
gotraitement.
Dans ce contexte, le prsent travail vise au premier lieu faire le point sur les concepts,
standards et outils disponibles, libres et propritaires, permettant de fournir des traitements
gnriques des donnes spatiales au format OGC ou non, tout en mettant laccent sur la
solution propritaire ArcGIS Server, en deuxime lieu tudier la norme WPS afin de dduire
ses capacits et ses lacunes et de proposer des solutions. Enfin de prsenter des mthodes
dutilisation de cette norme dans un contexte collaboratif.
Master SIG et gestion de lespace Service Web de gotraitement
9
Le mmoire se divise en quatre chapitres successivement intituls : les services Web, le
service Web de gotraitement, approche similaire au WPS (cas dArcGIS Server), et, Aspect
recherche WPS. Le premier chapitre propose, dans sa premire partie, des notions
techniques permettent de comprendre les principes des services Web en gnral, tandis que
sa deuxime partie traite les services Web de lOGC. Quant au deuxime chapitre, le service
Web de gotraitement, il traite de la norme WPS en dtail. Alors que le troisime chapitre
propose une tude sur la capacit de gotraitement distance du logiciel ArcGIS Server.
Enfin, le dernier chapitre prsente une piste de rflexion sur les amliorations et les
utilisations possibles de la norme WPS.
Problmatique
La spcification de Web Processing Service de lOGC a t propose pour rpondre aux
besoins de dveloppement de modules de gotraitement par Internet, et de faciliter le
partage des algorithmes et des fonctionnalits de gotraitement. [Chris2007]
Le standard WPS est relativement jeune et pas encore aussi connu que les autres standards
(WMS, WFS), ce qui fait quun certain nombre de questions sont souleves autour de ce
standard :
- Est-ce que la norme WPS dans sa forme actuelle permettra de rpondre ses objectifs
initiaux ?
- Est-elle implmente par des diteurs ou par la communaut Open source ?
- Est-il possible de raliser un gotraitement distance sans WPS ?
- Y-a-tils des points amliorer dans cet interface ?
- Peut-on exploiter ses capacits dans une application WebSIG collaborative ?
Notre contribution est de rpondre ce genre de questions.


Master SIG et gestion de lespace Service Web de gotraitement
10








Les services Web
Master SIG et gestion de lespace Service Web de gotraitement
11
Les services Web
Avant daborder le cas spcifique des systmes dinformation gographique, il semble
intressant de fournir les principaux concepts de Services Web et dArchitecture Oriente
Services.
Lide de concevoir des architectures oriente services est ne au dbut des annes 1990
avec lapparition des solutions Client / Serveur. Cette architecture est apparue pour palier les
limites des architectures distribues.
1. LArchitecture Oriente Service (AOS)
LAOS est une approche architecturale permettant la cration des systmes bass sur une
collection de services dvelopps dans diffrents langages de programmation, hbergs sur
diffrentes plates-formes avec divers modles de scurit et processus mtier. [Doug2003]
Chaque service reprsente une unit autonome de traitement et de gestion de donnes,
communiquant avec son environnement laide de messages. Les changes de messages
sont organiss sous forme de contrats dchange. Lide matresse de larchitecture oriente
service est que tout lment du systme dinformation doit devenir un service identifiable,
document, fiable, indpendant des autres services, accessible, et ralisant un ensemble de
tches parfaitement dfinies [Booth2004].
Ladoption de la SOA a t grandement facilite par lmergence opportune de la technologie
des services web et leurs standards bien dfinis.
1.1 Les partenaires LAOS est axe autour de trois concepts fondamentaux, savoir le
fournisseur de services, le client de services, et lannuaire de publication.
- Le fournisseur de service cre le service Web, puis publie son interface ainsi que les
informations daccs au service dans un annuaire de services Web.
- Lannuaire de service rend disponible linterface du service ainsi que ses informations
daccs, pour nimporte quel demandeur potentiel de service.
- Le demandeur de service accde lannuaire de service pour effectuer une recherche
afin de trouver les services dsirs. Ensuite, il se lie au fournisseur pour invoquer le
service. [tata2010]

Master SIG et gestion de lespace Service Web de gotraitement
12







2. Les services Web
Le Web ne se restreint plus la prsentation statique de pages textuelles et dimages. En
effet, avec lapparition du concept de service Web au dbut des annes 2000 dans le monde
des systmes dinformation, des nouvelles infrastructures distribues voient le jour. Les
services Web relient des sites aux applications pour apporter des fonctionnalits que des
composants individuels ne pourraient fournir. Ils permettent de faire communiquer des
programmes tournant sur des machines diffrentes et crits dans des langages de
programmation diffrents. Ils le font en reprenant certaines principes du Web (transport sur
HTTP, formatage en XML) mais en mettant laccent sur la communication entre applications,
pas entre humains. Autant de notions indispensables pour tirer profit des services Web
2.1 Dfinition
Plusieurs dfinitions des services Web ont t mises en avant par diffrents auteurs. Ci-
dessous, je cite une dfinition gnralement fournie par le consortium W3C
1
:
Definition: A Web service is a software system designed to support interoperable machine-
to-machine interaction over a network. It has an interface described in a machine-
processable format (specifically WSDL). Other systems interact with the Web service in a
manner prescribed by its description using SOAP messages, typically conveyed using HTTP
with an XML serialization in conjunction with other Web-related standards.
2


1
World Wide Web Consortium : est un organisme de standardisation but non-lucratif, fond en octobre 1994
comme un consortium charg de promouvoir la compatibilit des technologies du World Wide Web telles que
HTML, XHTML, XML, CSS, PNG, SVG et SOAP.
2
Source : http://www.w3.org/TR/ws-arch/
Lannuaire
Le
demandeur
Le
fournisseur
Lier et invoquer
Rechercher Publier
Figure 1 : Interactions principales SOA
Master SIG et gestion de lespace Service Web de gotraitement
13
Il faut noter que WSDL et SOAP sont des standards dfinis par le consortium W3C, ce qui
explique que la dfinition ci-dessus essaye dimposer ces standards. Dautres dfinitions
similaires adoptent un point de vue plus gnral en ne prescrivant pas lusage exclusif de
WSDL pour la description des interfaces de service ou celui de SOAP pour le traitement des
messages. Ainsi par exemple, certains auteurs proposent lutilisation de messages XML (sans
les extensions apportes par SOAP) changs directement sur le protocole HTTP.
2.2 Les piliers des Services Web
Comment bnficier dun protocole de communication et dun descriptif de services
standards pour linteraction entre des applicatifs distants et htrognes ? Pour atteindre cet
objectif, les Web services utilisent les standards technologiques suivants:
2.2.1 HTTP (Hypertext Transfer Protocol) : Cest le protocole dj mis en uvre pour le
transport des formulaires sur le web (pages HTML). Nanmoins, avec les services Web
lutilisation dautres protocoles de transport comme JMS (Java Message Service) est possible,
mais de manire gnrale le protocole HTTP est le protocole le plus utilis.
2.2.2 XML (Extensible Markup Language) :
Pour mieux comprendre ce qui a amen XML aux services Web, un bref rappel des
principales tapes de lhistorique de XML est propos dans cette section :
La proccupation du SGML (Standrad Generalized Markup Language) dans les annes 80
tait de sparer le contenu dun document de sa forme. Cette spcification a permis lcriture
du langage le plus connu du Web : HTML qui ntait pas prvu pour des applications
complexes. Il servait uniquement publier des informations sur le Web. Aprs la naissance
de HTML 2 et le Javascript en 1992, les sites ont devenus interactifs avec lutilisation des
formulaires.
Avec les interfaces CGI (Common Geteway Interface), la construction des pages dynamiques
est devenue possible, puisque le serveur Web peut dialoguer avec nimporte quel
programme. Et finalement la naissance des sites B2C (Business to Consumer) et B2B
(Business to Business) a augmente le nombre de donnes transitant par le Web. W3C a
voulu naturellement concevoir un langage possdant la facilit de mise en uvre du HTML
et la richesse smantique du SGML et permettant dchanger facilement des informations et
de pallier les dfauts de HTML, en sparant le fond de la forme. Cest ainsi quest n XML.
Master SIG et gestion de lespace Service Web de gotraitement
14
XLM est un langage de balises. Contrairement HTML, XML nest pas limit un balisage
prdfini, nous pouvons crer nos propres balises. Il a t dvelopp pour Internet au
dpart, mais aujourdhui il est utilis pour beaucoup dautres applications, la description des
messages changs entre les applicatifs et le stockage des donnes par exemple. Dans les
premiers temps, un fichier XML, si on voulait le standardiser en utilisant un vrai langage
gnral de description, devait dpendre dune DTD (Document Type Definition). Mais ce
format de description, hrit de SGML, souffre de nombreuses dficiences. Premirement,
les DTD ne sont pas au format XML. Cela signifie quil est ncessaire dutiliser un outil spcial
pour manipuler un tel fichier, diffrent de celui utilis pour ldition du fichier XML. Ainsi,
avec les DTD le typage des donnes (la possibilit de spcifier le type dun attribut) est
extrmement limit. Pour pallier ces dficiences cest XML Schema qui est mis en uvre;
il sagit dune standardisation, sous la forme XML, des anciennes DTD qui dcrivent la
structure des documents. Le XML Schema contient les types de base pour les donnes
manipuls dans un applicatif : chane de caractres, entier, date mais aussi des types
complexes et leurs contraintes comme les plages de valeurs. XML Schema est la prolongation
du XML documentaire pour la reprsentation et la manipulation de donnes structures
et types.
2.2.3 SOAP (Simple Object Access Protocol): est un protocole dappel et transmission de
messages bas sur XML, indpendant de la plate-forme utilise, permettant plusieurs
applications diffrentes de communiquer entre elles. Classiquement on dploie du SOAP sur
le protocole HTTP mais on peut aussi le faire sur du SMTP ou du JMS. SOAP dfinit de quelle
manire un document XML complexe peut tre converti et expdi en HTML.
Ce protocole orient objet tire profit la fois de XML et de HTTP, Il est constitu de trois
parties :
- Une enveloppe qui dfinit un cadre de description du contenu des messages et du
mode de traitement utiliser ;
- Un ensemble de rgles de codage pour exprimer les instances de types de donnes
dfinis par les applications ;
- Une convention de reprsentation des appels de procdure et des rponses
distance.


Master SIG et gestion de lespace Service Web de gotraitement
15






Figure 2: Structure dun message SOAP
3

2.2.4 WSDL (Web Service Definition Language):
Le langage WSDL est une syntaxe XML utilise pour dfinir linterface gnrale des services
web. Cette dfinition intgre les composants fondamentaux suivants :
- Informations sur toutes les fonctions disponibles publiquement
- Dfinitions abstraites des donnes transmettre
- Informations sur le type de donnes pour tous les messages XML
- Informations obligatoires sur le protocole de transfert utiliser
spcifiquement
- Informations de type Adresse pour localiser le service spcifier
Les dfinitions WSDL facilitent lapplication des services web en les rendant "autodescriptifs".
Autrement dit, WSDL permet aux services web de dcrire ce quils font, comment ils le font
et comment les clients peuvent les exploiter.
2.2.5 UDDI (Universal Description, Discovery and Integration) : annuaire mondial des
prestations de services en ligne, UDDI est une base de donnes de type XML, permettant de
btir de vritables annuaires des entreprises e-business, de leurs produits et de leurs
services ; UDDi contient galement des informations sur les standards les mieux adapts aux
diffrentes procdures daffaires.
La description WSDL dun service web nest pas une finalit en soi : il faut encore que le
client puisse trouver facilement le service web quil souhaite exploiter. Cette procdure est
appele Dcouverte (discovery).

3
Source : http://www-inf.int-evry.fr/cours/WebServices/

Master SIG et gestion de lespace Service Web de gotraitement
16
Cest ici quintervient lannuaire de services UDDI (Universal Despcription, Discovery and
Integration) conu comme un registre consultable, rpertoriant les services web disponibles
ainsi que leurs descriptions. UDDI permet ainsi de dcouvrir les services dsirs de manire
entirement automatique.
Lannuaire UDDI peut tre compar un moteur de recherche sauf que les documents sont
remplacs par des services. Pour tre complet, indiquons que le langage WSDL peut
galement schanger manuellement, au sein dune entreprise par exemple, et que lannuaire
UDDI est alors dpourvu dutilit.
2.3 Description en couche des services Web [zero]
Les services Web emploient un ensemble de technologies qui ont t conues afin de
respecter une structure en couches sans tre dpendante de faon excessive de la pile des
protocoles. Cette structure est forme de quatre couches majeures :
Dcouverte de services UDDI
Description de services WSDL
Communication SOAP
Transport HTTP
Couches technologiques des services Web.
- Le transport de messages XML-RPC ou SOAP est assur par le standard HTTP.
- SOAP ou XML-RPC prvoit la couche de communication base sur XML pour
accder des services Web.
- La description dun service Web se fait en utilisant le langage WSDL. WSDL
expose linterface du service.
- La publication et la dcouverte des services Web sont assures par le biais du
rfrentiel UDDI. Un rfrentiel UDDI est un catalogue de services Web.
Master SIG et gestion de lespace Service Web de gotraitement
17

Figure 3 : le fonctionnement dune SOA
4

2.4 REST (REpresentational State Transfer)
Nous avons vu prcdemment que les Services Web sont en principe bass sur les standards
technologiques http, SOAP/XML et WSDL. En ralit, un courant alternatif merge depuis
quelques temps dans le monde des Services WEB, il sagit dutiliser HTTP pour
limplmentation dun Web Service, non plus seulement comme simple protocole de
transport, mais galement pour dfinir lAPI de chaque service, cest dire la dfinition
mme des messages entre clients et serveur (et non plus lchange de messages SOAP).
REST est une architecture de services Web, la manire de SOAP. Cette architecture part du
principe selon lequel Internet est compos de ressources accessibles partir dune URL. A la
requte de cet URL serait renvoye une reprsentation de la ressource demande. Cette
reprsentation place lapplication cliente dans un tat (state) donn. Si lapplication cliente
lance un appel sur un des liens de la reprsentation en cours, une autre ressource est
appele, dont une reprsentation est envoye. Ainsi, lapplication cliente change dtat (state
transfer) pour chaque reprsentation de ressource. On peut dire que cette architecture est
une Architecture Oriente Ressource (AOR) puisque elle est base sur des services Web

4
Source : http://www-inf.int-evry.fr/cours/WebServices/
Master SIG et gestion de lespace Service Web de gotraitement
18
RESTful (services Web qui adhrent compltement aux concepts et aux standards REST) au
lieu des services Web SOAP. [creos]
Il faut bien noter que REST est un style darchitecture, ce nest ni une technologie ni un
standard : il nexiste pas de spcification du W3C pour la dcrire. Il sagit plutt dun style
darchitecture sur lequel le dveloppeur expose des ressources sur le web.
2.5 Avantages des services Web
Grce aux services web, les applications peuvent tre vues comme un ensemble de services
mtiers, structurs et correctement dcrits, dialoguant selon un standard international plutt
quun ensemble dobjets et de mthodes entremls.
Le premier bnfice de ce dcoupage est la facilit de maintenance de lapplication, ainsi que
linteroprabilit permettant de modifier facilement un composant (un service) pour le
remplacer par un autre, ventuellement dvelopp par un tiers. Qui plus est, les services
web permettent de rduire la complexit dune application car le dveloppeur peut se
focaliser sur un service, indpendamment du reste de lapplication.
Les services web facilitent non seulement les changes entre les applications de lentreprise
mais surtout permettent une ouverture vers les autres entreprises. Les premiers fournisseurs
de services web sont ainsi les fournisseurs de services en ligne (mto, bourse, planification
ditinraire, etc.), mettant disposition des dveloppeurs des API (Application Programmable
Interface) payantes ou non, permettant dintgrer leur service au sein dapplications tierces.
Les services Web utilisent essentiellement des normes qui permettent toute application ou
toute plateforme informatique de participer. Peu importent le matriel et les logiciels utiliss.
Cette caractristique favorise linteroprabilit entre systmes informatiques htrognes.
Par exemple, un service Web ralis en langage Java sexcutant sur un serveur Linux, peut
sans problme tre exploit par un logiciel client bas sur lenvironnement .NET sous
Windows. Puisquil sagit de services qui communiquent par protocoles rseaux standardiss,
ils peuvent tre dploys sur tout rseau informatique, indpendamment de la technologie
(rseaux cbls, sans-fil, etc.) ce qui les rend idaux pour les systmes rpartis (n-tiers) et
lutilisation mobile. Les fournisseurs de donnes peuvent publier des donnes en utilisant les
spcifications des services Web, les utilisateurs peuvent consommer les donnes et les
services quels que soit les formats et les applications et il est possible dintgrer de multiples
ensembles de donnes directement dans des applications au moyen du Web. Il est essentiel
Master SIG et gestion de lespace Service Web de gotraitement
19
de respecter des normes et des spcifications reconnues dans llaboration des services Web
pour en assurer linteroprabilit.
3. Service Web gographique
Dans le monde de la gomatique, les services Web gographiques constituent un sous-
ensemble des services Web et doivent se conformer aux mmes exigences. Ils permettent
de renvoyer des cartes, de donner accs des donnes gographiques ou deffectuer des
traitements. Autrement dit, le service Web gographique est un ensemble doutils (interface
normalise) permettant lchange, dune faon normalise, de donnes spatialises
distance. Il utilise les standards de lInternet (HTTP, XML) afin de permettre un utilisateur
de combiner sur son poste des donnes venant des sources locales ou distantes.

Figure 4 : Architecture gnrale dun service Web gographique
3.1 Les spcifications de lOGC :
LOpen Geospatial Consortium (OGC), est un consortium international qui rassemble prs de
400 entreprises, agences gouvernementales et universits collaborant au dveloppement de
spcifications. Les spcifications OpenGIS garantissent linteroprabilit des contenus,
des services et des changes dans le domaine de linformation gographique. Elles
permettent aux dveloppeurs de raliser des systmes et des services dinformations
complexes rendant linformation gographique accessible tous et utilisable par tout type
dapplication.
5


5
Source : http://www.forumogcfrance.org
Donnes
Application
Client
Master SIG et gestion de lespace Service Web de gotraitement
20
Il faut prciser que lOGC ne ralise pas doutils informatiques proprement parler mais btit
ces spcifications lintention des diteurs de logiciels qui revient la charge, et le choix, de
les implmenter ou non dans leurs produits.
LOGC propose des standards de services Web gographiques et dautres standards de
formats de donnes lis ces services. Ces standards sont plutt bass sur une approche
REST quune approche SOAP sauf dans le cas dun service de gotraitement, qui supporte les
standards SOAP WSDL.
3.2 LInternational Organization for Standardisation (ISO)
LISO
6
est quant elle bien plus connue. Son comit technique 211 existe depuis 1994,
comme lOGC, et a en charge la standardisation dans le domaine de linformation
gographique en tant que donne informatique. Cest ainsi une quarantaine de normes,
numrotes 191xx, qui ont t ou seront publies par le ISO/TC211
7
.
On peut stonner que deux organisations rflchissent et proposent des standards ou des
normes dans un mme domaine. Mais en fait lOGC et lISO sont en liaison permanente,
notamment grce des reprsentants communs dans leurs groupes de travail respectifs.
Cest ainsi que lISO normalise au niveau international les spcifications techniques issues de
lOGC et que lOGC utilise les standards de lISO dans le cadre de ses travaux.
3.3 Les Standard de services Web
A. Les services des applications mobiles et des capteurs : Parmi les services Web
relatifs aux applications mobiles et aux capteurs on peut citer :
A.1 OpenLS (Open Location Service) : cest le service principal pour les applications mobile,
il permet laffichage de carte, calcul ditinraire et le gocodage.
A.2 SPS (Sensor Planing Service) : il sert collecter les donnes des capteurs et de les
grer.
B. Le service de visualisation WMS (Web Map Service)
Limplmentation du service Web de cartographie permet, au moyen dune URL formate,
dinterroger un serveur cartographique afin dafficher une carte, sous forme dimage, partir
de donnes go-rfrences. Une carte tant ici une reprsentation visuelle des donnes et

6
International Organisation for Standardisation (ISO). http://www.iso.ch/
7
Technical Committee 211 - Geographic information/Geomatics (ISO/TC 211). http://www.isotc211.org/
Master SIG et gestion de lespace Service Web de gotraitement
21
non les donnes elles-mmes. Ce service permet aussi de rpondre des requtes de base
sur le contenu de la carte et dinformer le client quant aux cartes quil peut produire ou
demander.
Ce standard est bien implment par tous les diteurs des serveurs cartographiques du
march, tels quArcGis Server, GeoServer, MapServer,... Parmi les applications clientes
permettent dinterroger ce service on peut citer : OpenLayers, GoogleMap, EASYWMS,
ArcGis, MapInfo...
La spcification sur WMS dfinit trois interfaces principales pour permettre la communication
entre le client et le serveur: GetCapabilities, GetMap et GetFeatureInfo
Ces trois interfaces dfinissent prcisment les paramtres ncessaires pour commander les
trois tches du serveur. Dans un environnement Web, un client utilisant un navigateur
standard peut demander un serveur WMS de raliser lune de ces tches en lui soumettant
les paramtres de la requte sous la forme dune URL
8
. Le contenu de cette dernire dpend
de la tche demande.
Cette requte est transparente pour lutilisateur qui utilise une interface graphique lui
permettant de slectionner ses couches.
Une adresse URL revt la syntaxe suivante :
http://nom_serveur/chemin_d_acces?{nom=valeur&}
? spare ladresse du serveur des paramtres. = attribue une valeur un paramtre. &
spare les diffrents paramtres dans ladresse.
1. Paramtres disponibles
Les paramtres qui peuvent tre utiliss dpendent de la requte soumise. Ils peuvent tre
communs ou spcifiques, obligatoires ou optionnels. Les principaux paramtres utiliss sont
les suivants:
1. Paramtres communs
VERSION : numro de version du protocole (1.3)
REQUEST indique lopration demande (GetCapabilities, GetMap ou GetFeatureInfo)
2. Paramtres spcifiques GetCapabilities

8
Uniform Resource Locator
Master SIG et gestion de lespace Service Web de gotraitement
22
GetCapabilities demande au service Web de fournir ses mtadonnes et de connatre ainsi ce
quil est capable de faire ; quelles cartes il peut produire et lesquelles peuvent tre
interroges.
Le paramtre spcifique est :
SERVICE : le type de service (WMS, WFS, WCS)
A la rponse au client le serveur cartographique revoie une rponse sous forme dun fichier
XML contenant un ensemble dinformations ncessaires la cration de cartes, requtes
GetMap ou lobtention dinformations, requtes GetFeatureInfo. La partie la plus importante
de ce fichier XML est Capability , cet lment comporte deux autres lments fils :
+ Request : Liste des requtes ralisables ;
+ Layer : dans ce bloc, Les informations que lon retrouve sont notamment : Nom, SRS
(systme de coordonne gographique), Extension gographique, Style... Six paramtres
peuvent galement tre ajouts dans la balise layer:
queryable (false, true) : indique si on peut faire des requtes sur la couche ;
cascaded (n) : le layer a t transmis n fois par des Cascading Map Server ;
opaque (false, true) : indique que la couche est opaque ;
noSubsets (false, true) : indique quon ne peut avoir un sous ensemble des
donnes ;
fixedWidth (0, n) : 0 taille libre sinon n ;
fixedHeight (0, n) : 0 taille libre sinon n ;
Master SIG et gestion de lespace Service Web de gotraitement
23
Ce fichier XML, et la rponse du serveur cartographique CRENAM67 la requte de type
GetCapabilities suivante :
http://CRENAM67.univ-st-etienne.fr:8399/arcgis/services/rhone/Secteur/MapServer/
WMSServer? version=1.3.0&service=WMS&request=GetCapabilities
3. Paramtres spcifiques GetMap
GetMap retourne au client la carte quil a demande selon les paramtres passs dans lURL.
Les paramtres spcifiques sont :
FORMAT : indique le format de limage demande (png, gif)
LAYERS : liste des couches de donnes dsires
STYLE : le style de rendu des couches
WIDTH, HEIGHT : largeur et hauteur de limage en pixels
SRS (Spatial Reference Systme) : le systme de projection utilis
BBOX (Bounding Box) : lemprise de la carte
4. Paramtres spcifiques GetFeatureInfo
La requte GetFeatureInfo est une opration optionnelle. Elle permet davoir des
informations sur le contenu de la carte. GetFeatureInfo nest disponible que pour les couches
dont le paramtre queryable est gal 1 (true).
Les paramtres spcifiques sont :
X : abscisse de lobjet interroger en pixels
Y : ordonne de lobjet interroger en pixels
QUERY_LAYERS : liste des couches interroger
C. Les services daccs aux donnes
C.1 WFS (Web Feature Service)
Le WFS permet, au moyen dune URL formate, dinterroger des serveurs cartographiques
afin de pouvoir accder en dition aux donnes gographiques vectorielles qui seront
traites ensuite avec un autre outil SIG. Le format de rponse est du GML.
Master SIG et gestion de lespace Service Web de gotraitement
24
Il est not quun serveur WMS peut tre un client dun serveur WFS pour obtenir des
donnes (en GML) qui lui permettront de raliser la carte demande par le client WMS.
1. Paramtres disponibles
Paramtres obligatoires : le seul paramtre obligatoire pour que le serveur cartographique
accepte la demande du client est le nom Name de la couche interroger.
Paramtres optionnels :
BBOX : lemprise de la carte
VERSION : numro de version du protocole
SERVICE : le type de service (WFS)
SRS : le systme de projection utilis
2. Oprations possibles
Il est possible de raliser avec la spcification WFS cinq oprations
9
:
GetCapabilities : dcrit les capacits du serveur WFS et indiquer les types de
donnes ainsi que les oprations supportes par chacune dentre elles.
DescribeFeatureType : permet de retourner la structure de chaque entit
susceptible dtre fournie par le serveur.
GetFeature : permet de livrer des objets (gomtrie et/ou attributs) en GML
LockFeature : permet de bloquer laccs un objet gographique durant une
transaction par la pose dun verrou.
Transaction : permet de modifier lobjet (cration, mise jour, .).
3. Types de WFS
Si au moins les trois oprations GetCapabilities, DescibbeFeature et GetFeature sont
implmentes dans un serveur WFS, ce denier est un WFS Basic. Le WFS-T est un serveur
qui supporte en plus des oprations (basiques) les oprations de transaction telles que
lajout, la modification et la suppression des objets gographiques dans les bases de
donnes.
Limplmentation dun serveur WFS-T ne pourra pas fonctionner avec des donnes stockes
dans le format du logiciel qui les a gnres, ce type de serveur ncessite un Systme de

9
http:// http://fr.wikipedia.org/wiki/Web_Feature_Service
Master SIG et gestion de lespace Service Web de gotraitement
25
Gestion de Bases de Donnes Spatial (Postgis, Oracle Spatial,etc.) pour le stockage des
donnes.
C.2. WCS (Web Coverage Service)
Ce web service est une extension du WMS pour permettre laccs des couvertures dimages
(raster), cest--dire linformation gographique numrique reprsentant des phnomnes
variant dans lespace et le temps (MNT, orthophotos,)
La spcificit de ce service est que, contrairement aux services WMS, il fournit les donnes
dans leur smantique originale (et non uniquement une image). Les donnes retournes par
un WCS sont dautre part continues et non discrtes comme les objets renvoys par un WFS.
Trois oprations sont fournies par un service WCS :
GetCapabilities renvoie une description du service et un bref rsum des donnes
auxquelles il est possible daccder par le service.
DescribeCoverage fournit une description complte dune ou plusieurs couvertures
renvoyes par un serveur WCS.
GetCoverage renvoie une couverture dans un format quil est possible de spcifier.
D. Le service de catalogage CSW (Catalog Service Web)
Le CSW permet linteroprabilit entre diffrents catalogues de mtadonnes, des services
ou des donnes, via le protocole HTTP et SOAP.
Tout client CSW pourra interroger un ou plusieurs serveur(s) de mtadonnes implmentant
cette spcification. via trois fonctions obligatoires :
- GetCapabilities : cette opration permet de rcuprer les diffrentes mtadonnes
de services proposes par un serveur conforme au CSW.
- GetRecords : cette fonction permet au client de rechercher les diffrents
enregistrements correspondants sa requte sur le ou les serveurs CSW interrogs.
- GetRecordById Request : Cette opration de prsentation permet au client de
demander les enregistrements correspondants sa requte sur le catalogue cible.
Master SIG et gestion de lespace Service Web de gotraitement
26
E. Les services de traitement de donnes
WPS (Web Processing Service)
Le Web Processing Service est un standard de lOGC permettant de raliser en mode web
service des traitements sur les donnes spatiales pour rpondre aux besoins de
dveloppement de modules de gotraitement par Internet, de facilit le partage des
algorithmes et des fonctionnalits de gotraitement. Le prochain chapitre sera consacr
ltude de ce service Web.
3.4 Les standards de format
b. GML (Gegraphy Markup Langage)
GML est un langage crit en XML. Le but est davoir un format simple pour le transport et le
stockage de linformation rfrence spatiale (vecteur) en sparant la description du
contenu de toute considration quant sa prsentation. Ce langage a t dvelopp par
OGC.
c. KML : anciennement (Keyhole Markup Language)
KML est un schma XML de description gographique. A lorigine, ce format a t dvelopp
pour permettre la gestion de laffichage de donnes gographiques sur le globe virtuel
Google Earth. En avril 2008, il a t adopt par lOGC. Il est aujourdhui possible de
lexploiter dans bien dautres solutions comme : Virtual Earth, OpenLyers. Et il ny a pas que
Google Earth pour gnrer du KML, par exemple : OpenLyers et ArcGis Server
d. SLD (Styled Layer Descriptor)
Il Permet lapplication de styles plus riches et dfinis par lutilisateur des donnes issues
dun WMS ou WFS. Cette spcification dfinit une opration supplmentaire optionnelle -
DescribeLayer permettant lutilisateur davoir accs la description des donnes pouvant
tre reprsentes.



Master SIG et gestion de lespace Service Web de gotraitement
27
3.5 Les versions actuelles des standards de lOGC
Standard Version
OpenGISCoordinate Transformation Service Implementation Specification 1.0
OpenGISFilter Encoding Implementation Specification 1.1
OpenGISGeography Markup Language (GML) Encoding Standard 3.2.1
OpenGISSensor Observation Service (SOS) 1.0.0
OpenGISWeb Feature Service (WFS) Implementation Specification 1.1.0
OpenGISWeb Map Service (WMS) Implementation Specification 1.3.0
OpenGISWeb Map Context Implementation Specification 1.1
Web Coverage Service (WCS) Implementation Standard 1.1.2
Web Processing Service (WPS) 1.0.0
OGC KML 2.2.0
Tableau 1 : les versions des standards OGC
4. Conclusion
Les standards OGC peuvent apporter une rponse la demande dinteroprabilit entre les
outils SIG en interne, mais aussi et surtout dans un contexte de diffusion de donnes vers
des partenaires externes.
Bien quassez simples mettre en uvre, les produits rpondant aux standards de lOGC et
de lISO ncessitent tout de mme un effort de prise en main. Mais il convient surtout de
sinvestir un minimum dans la comprhension de ces normes et spcifications pour profiter
pleinement des potentialits offertes.
Face aux services fournis par ces technologies allis lutilisation croissante des normes et
standards, il semble dsormais ncessaire tout organisme cherchant acqurir un outil
SIG, et pouvant faire voluer son infrastructure SIG dans le futur, de veiller s'quiper
doutils respectant les standards OGC existants.
Les standards de services web de visualisation et daccs aux donnes gographiques (WMS,
WFS et WCS) semblent assez stables, cest ce qui explique leur implmentation par de
nombreux logiciels. En ce qui concerne les services Web de traitement de donnes, le seul
standard qui assure cette fonctionnalit le WPS est en phase de structuration, il faudra donc
prvoir quelque temps avant que ce standard soit stable et utilis par les principaux acteurs
de SIG.
Master SIG et gestion de lespace Service Web de gotraitement
28











Le Web Processing Service (WPS)
Master SIG et gestion de lespace Service Web de gotraitement
29
Le Service Web de gotraitement
La disponibilit des donnes gographiques sur le Web grce aux WFS et WCS dpend de la
puissance de calcul et des capacits de stockage des serveurs distants. Ces facteurs ont
donn naissance un nouveau type de service Web, le WPS, qui permet laccs des calculs
et des modles qui traitent des donnes rfrence spatiale.
Mais la finalit dun WPS est-elle dafficher un rsultat dans un navigateur web ? Pas
seulement. Le WPS permet au SIGWeb deffectuer un changement de paradigme, au sens o
de cartographie sur le web il devient cartographie via le web. La finalit ultime est de
pouvoir enchaner des traitements prdfinis sur les donnes distantes, pour rcuprer une
donne adapte lusage que lon souhaite en faire localement, sans avoir
tlcharger/manipuler la donne source.
1. Dfinition
Linterface standard WPS de lOGC fournit des rgles pour la normalisation des inputs et les
outputs (Requtes et rponses) pour des services de traitement de donnes gospatiales. La
norme dfinit galement comment un client peut demander lexcution dun processus, et
comment soccuper de loutput du processus. Elle dfinit une interface qui facilite, la
publication des processus gospatiales, la dcouverte et la liaison des clients ces
processus.
10

Un WPS, pour simplifier, est un service web qui offre la possibilit dutiliser des processus de
gotraitement (Buffer, Intersect, Raster to polygon) qui sont bass sur un serveur au
mme titre quun Web Map Service (WMS) ou un Web Feature Service (WFS), sans aucune
restriction sur les types ni de processus ni de donnes. Il prend en charge les donnes
Rester, Vecteur et les valeurs littrales.
Lhistoire du standard WPS est relativement courte. La premire version 0.1.0 a t
annonce le 5 mai 2004. Un autre document pour la version 0.4.0 est publi le 16
Septembre 2005. La premire norme WPS officielle est publie le 8 Juin 2007 avec la version
1.0.0.
2. Les requtes dun WPS
Comme pour les autres services Web de lOGC (WMS, WFS ou WCS), WPS a trois types de
requtes obligatoires
8

: GetCapabilities, DescribeProcess et Execute.

10
Source : http://www.opengeospatial.org/standards/wps
Master SIG et gestion de lespace Service Web de gotraitement
30
2.1 GetCapabilities : cette requte demande au serveur de lister les traitements
disponibles sur le serveur, La rponse dcrit gnralement les noms et les capacits des
processus sous forme de mtadonnes bas sur XML. Cette requte est commune tous les
services Web de lOGC, elle ne ncessite pas de paramtres. La mthode GetCapabilties de la
classe WPS est hrite de la classe OGCWebService comme le montre la Figure 5 :


Figure 5 : diagramme de classe de linterface WPS
11


2.2 DescibeProcess : Une fois quun traitement a t identifi partir de la rponse, une
requte DescribeProcess peut tre envoye, en prcisant le traitement en question comme
paramtre. La rponse cette demande retourne des informations dtailles sur les
processus, savoir, les paramtres dentre et de sortie ainsi que leurs formats disponibles.
2.3 Execute: la requte Execute est utilise pour excuter les processus spcifis, cest
avec cette requte que le serveur ralisera en ralit le traitement. Les paramtres
obligatoires incluent le nom du traitement ainsi que toute entre ncessaire pour ce
traitement particulier. La rponse est un document XML/GML ExecuteResponse.
Un autre document XML indique le statut du traitement, il retourne aussi les entres qui ont
t utilises, et fournit soit un lien vers un rsultat si ce denier est complexe, soit une simple
sortie littrale.


11

11
Source : http://www.opengeospatial.org/standards/wps
Master SIG et gestion de lespace Service Web de gotraitement
31
3. Le document du Statut
Ce document XML indique le statut dun traitement qui peut tre lun des cas suivant :
3.1 ProcessAccepted : le traitement a t reu et est mis dans la file dattente pour
lexcution, dans ce cas, le document sera accompagn dun nouveau attribut qui
indique lemplacement du document ExecuteResponse;

Exemple dun document statut (ProcessAccepted)
12

3.2 ProcessStrated : le traitement est en cours, dans ce cas, un pourcentage de
ralisation du traitement sera fourni, ainsi que lemplacement du document
ExecuteResponse ;

Exemple dun document statut (ProcessStarted)
12


3.3 ProcessSucceeded : le traitement est termin, le document inclura soit les sorties
soit les liens URL vers les sortie complexes.

12
Source : http://event.nchc.org.tw/2009/southeast_asia/


Master SIG et gestion de lespace Service Web de gotraitement
32

Exemple dun document statut (ProcessSucceeded)
13

3.4 ProcessFailed : un problme est survenu empchant la fin du traitement, et dans
ce cas, le document ExecuteResponse contient un code derreur dans llment XML
ExceptionReport, qui peut tre :
MissingParameterValue : manque dune valeur du paramtre ;
InvalidParameterValue : paramtre invalide ;
FileSizeExeceeded : taille de fichier dpasse ;
NoapplicableCode : code erron ;
ServerBusy : Serveur occup.

Exemple dun document ExecuteResponse avec un message derreur InvalidParameterValue
Une opration dexcution est utilise pour excuter les processus spcifis, qui sont
galement bass sur XML / GML.


13
Source : http://event.nchc.org.tw/2009/southeast_asia/


Master SIG et gestion de lespace Service Web de gotraitement
33
4. Description fonctionnelle
Un WPS est un moyen qui permet de mettre la disposition des clients, sur Internet, des
mthodes de calculs mathmatiques pour linformation gospatiale. Ces mthodes peuvent
tre des oprations arithmtiques simples ou des calculs plus compliqus. Le Web Processing
Service nous permet de
1) Donner une liste des calculs disponible
2) Spcifier le nom et le format des donnes en entre
3) Excuter les donnes identifies par le client travers le modle
4) Afficher un rapport sur ltat dexcution des calculs
5) Prendre, la demande, les dispositions ncessaires pour le stockage des
rsultats des calculs
6) renvoyer des rsultats ou lURL qui pointe vers les outputs.
Exemple1 : exemple de fonctionnement dun WPS : (Zone tampon)
























Figure 6. Fonctionnement dun WPS
14





14
Source: WPS RFC responses. P. Schut, prsentation the OGC TC Meeting , Huntsville 2006:

Client
Network
<Execute> request
<Execute> response
<GetCapabilities> request
<GetCapabilities> response
<DescribeProcess> request
<DescribeProcess> response
Client WPS

1
2
3
4
5
6
Master SIG et gestion de lespace Service Web de gotraitement
34
1. Le Client envoie une requte GetCapabilities au serveur :

http://geoserver:8080/wps/WebProcessingService?REQUEST=GetCapabilities&SERVICE=WPS

2. Le serveur renvoie la liste des traitements disponible :

<Capabilities version="0.4.0>
<ows:ServiceIdentification>
<ows:Title/>
<ows:Abstract/>
<ows:Keywords/>
</ows:ServiceIdentification>
<ows:ServiceProvider/>
<ows:ServiceContact/>
</ows:ServiceProvider>
<ows:OperationsMetadata>
<ows:Operation name="Execute/>
</ows:OperationsMetadata>
<ProcessOfferings>
<Process>
<ows:Identifier>Buffer</ows:Identifier>
</Process>
</ProcessOfferings>
</Capabilities>
3. Le client envoie une requte sur les informations additionnelles sur le traitement
slectionn par lutilisateur, cest la requte DescribeProcess :

http://geoserver:8080/wps/WebProcessingService?REQUEST=DescribeProcess&Identifier=Buffer
&SERVICE=WPS&VERSION=0.4.0

4. La rponse du serveur contient une description dtaille du traitement demand
(paramtres ncessaires) :

<ProcessDescriptions>
<ows:Identifier>Buffer</ows:Identifier>
<DataInputs>
<Input>
<ows:Identifier>geometry</ows:Identifier>
<ComplexData defaultSchema=schemaNS"/>
<MinimumOccurs>1</MinimumOccurs>
</Input>
<Input>
<ows:Identifier>width</ows:Identifier>
<LiteralData>
<ows:DataType ows:reference="xs:int"/>
<ProcessOutputs>
<Output>
<ows:Identifier>BufferResult</ows:Identifier> <ComplexOutput defaultSchema=schemaNS/>
</Output>
</ProcessDescriptions>

5. Aprs la saisie des paramtres en entre ncessaires, par lutilisateur, pour que le
traitement soit excut, le client envoi une requte Execute :
<Execute>
<ows:Identifier>Buffer</ows:Identifier>
<DataInputs>
<Input>
<ows:Identifier>geometry</ows:Identifier>
<ComplexValue schema=schemaNS>
Master SIG et gestion de lespace Service Web de gotraitement
35
$XML_Geometries
</ComplexValue>
</Input>
<Input>
<ows:Identifier>width</ows:Identifier>
<LiteralValue>100</LiteralValue>
</Input>
</DataInputs>
</Execute>

6. le serveur rpond par un fichier XML, ExecuteResponse
<ExecuteResponse>
<ows:Identifier>Buffer</ows:Identifier>
<Status/>
<DataInputs>
</DataInputs>
<OutputDefinitions></OutputDefinitions>
<ProcessOutputs>
<Output>
<ows:Identifier>BufferResult</ows:Identifier>
<ComplexValue schema =schemaNS>$XML_Geometries</ComplexValue>
</Output>
</ProcessOutputs>
</ExecuteResponse>
Exemple 2 : Luniversit de Heidelberg a mis en place un service Web de gotraitement
bas sur deegree2. En outre, un client WPS a t labor pour tester les fonctionnalits
gnriques et complexes disponibles.
Ladresse du site : http://www.opengeoprocessing.org/
1. lutilisateur envoie la requte GetCapabilies

Figure 7 : Interface de lopengeoprocessing

Master SIG et gestion de lespace Service Web de gotraitement
36
2. Le serveur affiche la liste des oprations disponibles
3. lutilisateur slectionne lopration (Route Profile) et envoie la requte DescibeProcess

Figure 8 : La liste des traitements disponible
4. Le serveur renvoie un formulaire de saisie des paramtres ncessaires pour lexcution
5. Lutilisateur remplit le formulaire, et le retourne au serveur (requte Execute)

Figure 9 : Formulaire de saisie des paramtres ncessaires
Master SIG et gestion de lespace Service Web de gotraitement
37
7. le serveur traite les donnes, et retourne le rsultat au client dans son navigateur.

Figure 10 : Rsultat de lopration RouteProfile
5. Les solutions SIG et les services Web
Le tableau suivant prsente une liste non exhaustive des solutions libres et propritaire
prenant en charge les Services OGC.
Services Web
Logiciel
WMS WFS WCS WFS-T CSW WPS
MapInfo X X
GeoConcept X Client
ArcGIS X X X
GeoConcept Internet Server X
ArcGIS Server X X X
P
r
o
p
r
i

t
a
i
r
e
s

Serveur
MapInfo MapXtreme X X X
OpenLyer X X
MapFish client X X Client
CartoWeb client X
MapServer X X X
GeoServer X X X X X
Deegree X X X X X X
PyWPS X
O
p
e
n

S
o
u
r
c
e

Serveur
Zoo X
Tableau 2 : implmentation des standards OGC
Master SIG et gestion de lespace Service Web de gotraitement
38
La communaut open-source a dvelopp un ensemble doutils logiciels permettant de
mettre en place tous les services WEB standards de lOGC. Par contre, les diteurs
respectant les standards ds que ceux-ci sont stables.
6. Le projet ZOO
Le projet ZOO est n pour offrir une solution technique aux besoins de go-traitement en
ligne rencontrs par Geolabs
15
et 3Liz
16
. ZOO est un logiciel open source respectant la
proposition de la norme WPS de lOGC. Il est conu pour crer et enchaner facilement des
Webservices gographiques, partir de librairies open source existantes. Il est bas sur un
noyau crit en C (aka ZOO Kernel), capable de charger des librairies dynamiques et
dorchestrer des services web cods dans diffrents langages de programmation. [ReLucBlog]
Il a pour but de fournir des fonctionnalits avances (conversion, calculs complexes...) au
SIG Web traditionnel, tout en simplifiant le travail du dveloppeur.
6.1 ZOO est compos de trois parties
17
:
1. Le noyau ZOO (ZOO Kernel): il permet de charger des librairies dynamiques et de les
utiliser sous formes de services WPS conus dans diffrents langage de programmation.
2. les services ZOO : Un service correspond un couple compos dun fichier de
mtadonnes et du code correspondant limplmentation. Le fichier de mtadonnes dcrit
toutes les fonctions qui pourront tre appeles via une requte WPS Exec. Les services
peuvent tre facilement implments en C++, Python ou Perl et contiennent les fonctions du
service. Les dveloppeurs de services seront en mesure de facilement mettre en uvre des
services dans leurs langages prfrs sans avoir se soucier des formats dentre et de
sortie, par exemple pour stocker les rsultats, il sera directement effectu par le WPS Service
Kernel.
3. ZOO API
18
(ZOO Client): Le ZOO Client est une API JavaScript conue pour communiquer
avec le ZOO Server via un proxy afin dexploiter les entres et sorties du ZOO Server
uniquement en JavaScript.


15
http://www.geolabs.fr
16
http://www.3liz.com/
17
Source : http://zoo-project.org/
18
Application Programming Interface
Master SIG et gestion de lespace Service Web de gotraitement
39
6.2 Le fonctionnement du ZOO
Le noyau du ZOO (ZOO Kernel) manipule et chane les ZOO services, Un ZOO service se
compose de:
1. Un fichier de mtadonnes .zcfg (Title, Metadata, Inputs,Output...)






2. Service Provider Service Shared Object (SSO) ( Dynamic library, Python
modules, JAVA Class, PHP script ...)




Les requtes WPS GetCapabilities et DescribeProcess sont rsolues uniquement en
analysant le fichier .zcfg avec Flex par exemple.
Le ZOO Kernel est capable de charger dynamiquement des Services Shared Objects , den
extraire les fonctions dsires, puis de les excuter pour rpondre la requte Execute.
Exemple : Outil de profil
Cet outil utilise le service Gdal_ExtractProfile pour extraire la valeur Z associe chaque
point de la ligne cre.
Exemple: Exemple.py
def ExpService(conf,inputs,outputs):
outputs["output1"]={"value": "ExempleService","datatype": "string"}
return Service_Succeeded

Exemple : Exemple.zcfg
[Exemple]
Title = Retourner une chaine la chane de caractre Exemple string.
serviceProvider = test_service
serviceType = Python
<DataOutputs>
[output1]
Title = ExempleString
<LiteralData>
DataType = string
</LiteralData>
</DataOutputs>

Master SIG et gestion de lespace Service Web de gotraitement
40

Figure 11 : Exemple dmo de loutil de profil
7. PyWPS
PyWPS est une implmentation du standard WPS de lOGC comme dfini dans le document
OGC 05-007r4. Cest un projet relativement jeune, commenc en Mai 2006 son but premier
tait de faire la connexion entre MapServer et le SIG GRASS permettant ainsi un accs
facilit aux diffrents modules de ce dernier directement depuis une interface Web, afin de
pouvoir crer une vritable application WebSIG, capable deffectuer des oprations
complexes. Avec le temps, il sest avr que mme si GRASS est un outil puissant, il nest
pas forcment le meilleur ou le seul choix possible pour toutes les tches. La conception de
PyWPS a chang de telle sorte quil puisse tre utilis sans GRASS en arrire plan, mais avec
nimporte quel autre outil.[Cepi2007]
PyWPS est une application sinterfaant avec plusieurs clients (Navigateur internet, logiciel
SIG, ligne de commande...) pouvant utiliser lensemble des outils disposition sur le serveur.
PyWPS ne traite pas lui-mme les donnes, il utilise pour cela des applications externes telles
que GRASS, GDAL, PROJ, R...
Le dveloppeur na quune seule tche faire : crire un script Python pour dfinir les
entres et les sorties dans une structure de dictionnaire.

Profil du terrain
Master SIG et gestion de lespace Service Web de gotraitement
41
7.1 LAjout dun processus personnalis
Le Process est un script python possdant une classe ayant deux mhodes :
__init__ : sert dfinir les entres et sorties
execute : les oprations de gotraitement sexcutent en appelant la mthode cette
mthode.
La configuration du processus fait partie de la mthode dinitialisation init (self) de la classe.
Les variables obligatoires sont:
# Le Nom du processus : self.Identifier = "Identif"
# La version du processus: self.processVersion = "0.1"
# Titre : self.Title=" Titre de lopration".
Les paramtres optionnels :
# La possibilit de stockage sur le serveur : self.storeSupported = "true"
# Retourner le fichier XML de Statut avant la fin de lexecution : self.statusSupported = "true"
Les donnes dentres et sorties:
Les donnes dentre et de sortie sont dfinies dune manire similaire, dans une structure
de dictionnaire complexe.
7.2 Exemple [Cepi2007]
Le client demande lexcution dune opration de calcul de ligne de vise partir de
coordonnes x et y sur un fichier raster, disponible partir dun serveur distant. Pour lancer
ce processus, nous avons besoin de savoir quel type dentre et de sortie le process
ncessite et renvoie.
7.2.1 La configuration du Processus
x de type LiteralValue ;
y de type LiteralValue ;
maxdist distance maximale lobservateur. De type LiteralValue, valeur minimale
0, maximale 5000 mtres ;
observer hauteur de lobservateur. De type LiteralValue, valeur minimale 0,
maximale 50 mtres ;
dem de type ComplexValue carte raster de modle numrique de terrain, sur
laquelle la ligne de vise doit tre calcule.
Master SIG et gestion de lespace Service Web de gotraitement
42

Exemple de donnes de type ComplexValueReference
Exemple de donnes de type LiteralData
7.2.2 Programmation du processus
Maintenant nous pouvons crire la requte dexcution, lenvoyer au serveur et attendre les
rsultats de calcul. Le serveur va tlcharger le modle numrique de terrain, faire le calcul
de ligne de vise et renvoyer le raster de rsultat au client.








Exemple dune mthode Execute pour le calcule de ligne de vise
19


19
Source : Journal de lOSGeo, Traitement gospatial sur des serveurs distants via Internet PyWPS, Mai 2007

Master SIG et gestion de lespace Service Web de gotraitement
43
8. Deegree
Deegree est un framework Open Source bas sur Java pour le dveloppement
dInfrastructures de Donnes Spatiales. Deegree est bas sur les standards de lOGC et
ISO/TC 211, il sagit de la mise en uvre la plus complte des standards OGC dans un
framework Open Source. Il contient aussi bien les services ncessaires pour un SDI (deegree
Web Service) que pour le composant dun portail (deegree iGeoPortal), ou bien un
mcanisme pour grer les problmes de scurit et de contrle daccs (deegree
iGeoSecurity) et le stockage / visualisation de donnes 3D (deegree iGeo3D).
Conceptuellement et vis vis de linterface, le framework est bas sur des composants dun
haut niveau permettant la cration flexible de solutions pour une large varit de cas
dutilisation. Deegree est le dveloppement de rfrence officiel de lOGC. La spcification
OGC WPS est disponible en diffrentes versions partir de la version 2.
8.1. Composants de Deegree
Deegree comprend cinq groupes de composants :
8.1.1 deegree Web Services: La liste des Services Web de lOGC dvelopps inclut WMS,
WFS, WCS, CS-W, WPS.
Contrairement aux services orients donnes comme le WFS et WCS ou les services orients
reprsentation comme le WMS, Le serveur Deegree WPS est principalement destin aux
dveloppeurs de routines de gotraitement. Une bonne connaissance de JAVA et XML est
ncessaire.
8.1.2 deegree iGeoPortal: iGeoPortal est capable dafficher des cartes, gre la recherche
en utilisant des identifiants gographiques ou les mta-donnes, permet laccs contrl vers
les ServicesWeb de lOGC et affiche des donnes spatiales 3D
8.1.3 deegree iGeoSecurity: iGeoSecurity est utilis pour dfinir des mcanismes daccs
en utilisant les mthodes dauthentification et dautorisation, des connections scurises et
des filtres pour les donnes spatiales.
8.1.4 deegree iGeo3D : deegree peut tre utilis pour stocker des donnes spatiales 3D.
En utilisant diffrents services web deegree, cette donne peut tre requte et affiche.
8.1.5 deeJUMP : cest la partie SIG de bureau classique de deegree.
Master SIG et gestion de lespace Service Web de gotraitement
44
8.2. Cration dun processus personnalis
Deegree offre la possibilit de crer un nouveau processus WPS, ce dernier doit contenir
deux fichiers, une classe Java qui implmente linterface Processlet et contient les
traitements et un fichier XML de configuration (Process Definition) contenant une description
dtaille du processus. Un exemple de cration dun processus daddition de deux nombre
est joint en annexe 2.
8.3 Autres projets WPS
52 North WPS
20
: Il sagit dune implmentation JAVA permettant ainsi de dployer des
services Web de gotraitement de faon interoprable.
GeoConnections WPS
21
est une implmentation de lune des anciennes versions de WPS
0.2.0.
9. Conclusion
La spcification du Web Processing Service se prsente sous la forme dune interface
gnrique permettant de dcrire et dclencher des traitements sur des donnes rfrence
spatiales. Elle nest pas limite sur le type de processus ni sur la donne, ce service peut
prendre en charge des donnes de type raster comme de type vecteur. Il renvoit une
exception standardise en cas derreur et renseigne galement sur le statut dun processus.
Lanalyse dtaille de WPS a d nous mener au constat que la norme WPS sous sa forme
actuelle soit capable de rpondre ses objectifs initiaux, en effet, les implmentations
lutilisant sont peu nombreuses. Ct open-source on trouve le ZOO Project, 52North
PyWPS et Deegree. Quant aux solutions propritaires, cette norme na t implmente par
aucun diteur, car les diteurs supportant les standards OGC quand ils sont stabiliss et
quand ils leur semblent prsenter un rel intrt.
Le Web Processing Service va beaucoup plus loin que la visualisation de couches, il peut tre
configur pour orchestrer autres services, ce qui laisse apercevoir lavantage dun tel
dispositif.


20
http://52north.org/maven/project-sites/wps/52n-wps-site/
21
http://www.geoconnections.org/en/communities/developers/standards/fa=technical.webprocessing_service
Master SIG et gestion de lespace Service Web de gotraitement
45









Les approches similaires au WPS
ArcGis Server
Master SIG et gestion de lespace Service Web de gotraitement
46
Les approches similaires au WPS : (cas dArcGis Server)
Avant le Web Processing Service, la socit ESRI dans la version 8.3 de son produit ArcInfo a
propos une approche similaire au WPS pour le gotraitement distance. Cette version
dArcInfo contient une fonctionnalit Serveur de Gotraitement qui permet de raliser
des oprations de gotraitement sur un serveur UNIX la demande de clients, mais ce
serveur a linconvnient dtre non interoprable, tel que seuls les logiciels ESRI sont en
mesure dutiliser les capacits de traitement distance. Cette fonctionnalit a t retire de
la version ArcGis 9.0.
Avec lapparition de la version 9.2 dArcGis Server, un nouveau service Web est introduit, il
sagit dun service de gotraitement qui contient des tches de gotraitement cres laide
dArcGIS Desktop comme ressources Web auxquelles les clients peuvent accder.
Ce chapitre montre la mthode permettant de servir des Gotraitement via le Web en
illustrant la manire de publication du service de Gotraitement avec ArcGis Server.
1. Architecture dArcGIS Server
22

ArcGIS Server est un serveur SIG complet avec des applications prtes lemploi et des
services SIG pour grer, visualiser et analyser des donnes spatiales. Il est si convivial que
les services peuvent tre publis sans devoir crire la moindre ligne de code. Le systme
ArcGIS Server intgre les composants suivants (Figure 12) :
1.1 Serveur SIG : Le serveur SIG hberge les ressources SIG, telles que les cartes, les
globes, les outils de gotraitement et les localisateurs dadresses, et les prsente sous forme
de services aux applications clientes.
1.2 Serveur Web : Le serveur Web hberge les applications et services Web qui utilisent
les ressources excutes sur le serveur SIG.
1.3 Clients : Les applications clientes sont des applications Web, nomades et bureautiques
qui se connectent des services Internet ou des services locaux via un rseau local (LAN)
ou tendu (WAN).
1.4 Serveur de donnes : Le serveur de donnes contient les ressources SIG qui ont t
publies sous forme de services sur le serveur SIG. Ces ressources peuvent tre des
documents ArcMap, des localisateurs dadresses, des documents de globe, des godatabases

22
Source : http://www.esrifrance.fr
Master SIG et gestion de lespace Service Web de gotraitement
47
et des jeux doutils de gotraitement. Un SGBDR est souvent utilis pour hberger une
godatabase ArcSDE au niveau du serveur de donnes afin de garantir lvolutivit, la
scurit, lintgrit et les performances des godonnes.
1.5 Administrateurs du Gestionnaire et dArcCatalog : Les administrateurs dArcGIS
Server peuvent utiliser le Gestionnaire ou ArcCatalog pour publier et grer leurs ressources
et services SIG.

Figure 12 : Architecture dArcGIS Server
23

2. Le Model Builder et le gotraitement
Le terme gotraitement fait rfrence lapplication dune ou plusieurs fonctions analytiques
spatiales sur un ou plusieurs jeux de donnes, qui fournit une rponse une question sous
la forme dun ou plusieurs nouveaux jeux de donnes.

23
http://www.esrifrance.fr/iso_album/quest-ce-que-arcgis93_part4.pdf
Master SIG et gestion de lespace Service Web de gotraitement
48
Le moyen le plus facile de crer et dautomatiser une chane de traitement ainsi que de
suivre les tches de gotraitement consiste crer un modle. Un modle est constitu dun
processus, ou plus gnralement de plusieurs processus chans. Un processus est constitu
dun outil, systme ou personnalis, et de ses valeurs de paramtre. Des donnes en entre
ou en sortie, une tolrance dagrgat, ou encore une table de reclassification sont autant
dexemples de valeurs de paramtre (Figure 13).

Figure 13 : Vue densemble conceptuelle dun modle
24

La fentre ModelBuilder est un environnement graphique qui permet la cration de modles
dans ArcGIS. La figure 14 montre un exemple simple dun ModelBuilder, il sert slectionner
des classes dentits parmi dautres selon des critres prdfinis.

Figure 14 : Fentre ModelBuilder
La fentre ModelBuilder se compose dune fentre daffichage dans laquelle nous crons le
diagramme de notre modle, ainsi que dun menu principal et dune barre doutils qui
permettent dinteragir avec les diffrents lments qui entrent dans la composition de notre
diagramme de modle.

24
Source : Gotraitement dans ArcGIS, ESRI, 2007
Donnes drive :
rsultat
Outil : fonction applique
la donne en entre
Donnes en entre
Master SIG et gestion de lespace Service Web de gotraitement
49
2.1 Pourquoi utiliser ModelBuilder
- Simple et efficace ;
- Peu de formation (pas besoin de programmation) ;
- Environnement graphique ;
- Diminution du cot (temps et erreurs) ;
- Conservation des traces des diverses oprations, des processus complexes ou dune
chane de processus ;
- Facilement modifiable, rutilisable, donc outil daide la dcision (on peut changer un
paramtre et relancer lexcution) ;
- Base dintgration doutils plus complexes.
3. Outil de script pour les tches de gotraitement
Un outil de script est quivalent un outil de modle. Au lieu dutiliser le langage de
programmation visuel ModelBuilder, nous utilisons un langage de programmation textuel.
Python est le langage de programmation textuel de choix pour le gotraitement.
La figure 15 montre un exemple dun script Python pour slectionner les classes dentits
quils ont un primtre suprieur 12561.44.

Figure 15 : Exemple dun script Python (outil Intersecter deux classes dentits)

Master SIG et gestion de lespace Service Web de gotraitement
50
3.1 Pourquoi des langages de script pour le gotraitement
- Ils peuvent tre interfacs avec dautres systmes ou dautres langages de
programmation ;
- les langages de script permettent daccder aux fonctionnalits et de les tendre (Accs
toutes les fonctionnalits du modle objet dArcGIS (ArcObject);
- Les scripts peuvent tre excuts lextrieur et au sein dArcGIS.
- Facilement partageables avec dautres utilisateurs ;
- Automatisation des tches avec possibilit dmettre une condition lexcution dun
outil.
4. Les couches doutils
Une couche doutil est le rsultat de lajout dun outil, modle ou scripte, en tant que couche
dans la table des matires dArcMap. Pour cela, il suffit de glisser-dplacer un outil, Modle
ou un script partir dArcToolbox vers la table des matires dArcMap (Figure 16).

Figure 16 : Cration dune couche doutil
4.1 Avantage :
- La rexcution dun outil sans gnrer de nouvelles donnes en sorties ;
- Lexcution de loutil sans ArcToolBox ;
- Stockage des paramtres dentes de loutil dans le document MXD;
- La symbologie est la mme pour toutes les donnes rsultantes de chaque excution
de loutil ;
- La facilit de partage des modles de gotraitement entre utilisateurs (change de
fichiers lyr ou mxd).
Glisser-
dplacer
Master SIG et gestion de lespace Service Web de gotraitement
51
- Pour ArcGIS Server une couche doutils permet dencapsuler des gotraitement avec
le document cartographique associ. Ceci prsente lavantage de grer plus finement
la symbologie et lordre daffichage des couches rsultantes du gotraitement
5. Le gotraitement avec ArcGIS Server
ArcGIS Server propose un mcanisme permettant aux utilisateurs de publier des outils et des
modles de gotraitement sur des serveurs et de les rendre disponibles sous forme de
tches excutables sur le serveur partir dapplications clientes distantes. Cest le service de
gotraitement. [EsriFrance]
Un service de gotraitement permet la publication de modles de gotraitement crs
laide dArcGIS Desktop comme ressources Web.
5.1 Les clients du service du gotraitement
Les services de gotraitement et leurs tches sont accessibles via lInternet et peuvent tre
utiliss dans ArcGIS Desktop, ArcGIS Explorer et les applications Web.
5.1.1 ArcGis Desktop :

Figure 17 : Service Web de gotraitement utilis dans ArcGIS Desktop

Rsultat
Dtails
Le service de
gotraitement
Boite de dialogue
paramtres
dentre
Master SIG et gestion de lespace Service Web de gotraitement
52
5.1.2 Application Web personnalise

Figure 18 : Service Web de gotraitement utilis dans une application personnalise
5.1.3 ArcGIS Explorer

Figure 19 : Service Web de gotraitement utilis dans ArcGis Explorer
25


25
Source : http://webhelp.esri.com/arcgisserver/9.3.1/dotNet/index.htm
Rsultat de lexcution de
la tche Bufferisation de
Point
Boite de dialogue
paramtres dentres
Rsultat de
lexcution de
la tche
Master SIG et gestion de lespace Service Web de gotraitement
53
5.2 Conception des modles publier dans ArcGis Server
Lors de la cration dun outil de gotraitement avec ArcGis Desktop destin la publication
comme un service de gotraitement, il faut tenir compte de certaines rgles sur les modles
ou les scripts pour quils soient adapts la publication dans ArcGis Server. Ces rgles
consistent :
1. Compte tenu de la lgret de certains clients comme ArcGis Explorer, les types de
donnes en entre et en sortie dArcGis Desktop ne sont pas tous disponibles pour ces
clients. Par exemple, les classes dentits ne sont pas autorises en paramtres en entres
par ArcGis Server. Par consquent, les classes dentits devront tre modifies en jeux
dentits (lesquels sont pris en charge par ArcGIS Server), avant leur publication en tant que
tches de gotraitement. Dune faon plus gnrale, Les paramtres en entre et en sortie
des modles doivent utiliser des types de donnes pris en charge par le serveur (Annexe 3).
2. Contrairement aux modles et scripts excuts en local, les donnes intermdiaires et en
sortie dun modle ou un script doivent tre stockes dans des emplacements spcifiques
pour que les outils soient excutables sur plusieurs serveurs (Annexe 3 ).
5.3 Mthodes de publication dune ressource
Pour mettre en place un service Web de gotraitement, deux mthodes sont proposes par
ESRI. La premire consiste publier un document map contenant des couches doutils,
tandis que la deuxime est base sur la publication dune boite outils de gotraitement de
la mme manire quun service Web de carte
Dans le premier cas, ladministrateur a la possibilit de publier le document map contenant
les couches doutils, Dans ce cas, la publication du fichier MXD cre la fois un service
cartographique (Map Service) et un service de gotraitement (Geoprocessing Service).
Toutes les couches doutils deviennent des tches du service de gotraitement (Figure16-cas
N3). Et si ladministrateur a dcid de publier le document map en tant que service de
gotraitement, toutes les couches doutils deviennent aussi des tches du service de
gotraitement (Figure 20- cas N2). Dans le second cas, lors de la publication dune boite
outils, tous les outils quelle contient deviennent des tches du service de gotraitement
(Figure 20-Cas N1).
Master SIG et gestion de lespace Service Web de gotraitement
54

Figure 20 : les trois configurations possibles dun service de gotraitement
26

5.4 Cration de services de gotraitement
Comme dans le cas dun service Web de carte, pour pouvoir crer un service Web de
gotraitement, avec linterface dArcCatalog, ladministrateur a le choix entre deux mthodes,
soit de publier sur un serveur ArcGIS (Figure 21 - Cas 1) ou dajouter un nouveau service
(Figure 21 - Cas 2). Cette dernire permet de configurer toutes les proprits.







Figure 21 : mthodes de cration dun service
ArcGis Server Manager permet aussi aux administrateurs de publier une ressource en tant
que service de gotraitement en slectionnant geoprocessing dans la liste droulante
type de ressource . La ressource publier, dans ce cas, est une boite outils ou un
fichier mxd contenant des couches doutils (Figure 22).

26
Source : http://webhelp.esri.com/arcgisserver/9.3.1/dotNet/index.htmtrois


Cas N1 Cas N2
Master SIG et gestion de lespace Service Web de gotraitement
55

Figure 22 : Cration dun service de gotraitement avec ArcGis Server Manager
5.6 Cration dune application Web avec la tche de gotraitement
La cration dune application Web de gotraitement se fait de la mme manire que les
autres applications Web avec ArcGis Server Manager, en ajoutant le service de gotraitement
cr prcdemment la liste des tches raliser (Figure 23).

Figure 23 : choix de tche de gotraitement

Master SIG et gestion de lespace Service Web de gotraitement
56
6. les bonnes pratiques pour amliorer les performances dune application
cartographique Web ArcGIS Server
La performance dune application Web est un sujet important pour ses utilisateurs finaux,
ainsi quun sujet passionnant pour tout dveloppeur. Bien entendu, il ne faut pas trop se
focaliser sur la performance, sous peine de devenir un optimisateur prcoce. Mais il faut
aussi utiliser les bons outils et avoir la bonne mthodologie. Nous vous proposons dans
lannexe 4 les diffrentes pratiques recommandes lors de la cration dune application
cartographique
7. Conclusion
ArcGIS Server complte ArcGIS Desktop en permettant de crer des cartes, des globes, des
modles, des outils, et des tches de gotraitement partir de Desktop et de les publier sur
ArcGIS Server laide dArcCatalog ou le Manager, pour les rendre accessibles en tant que
services.
Une notion intressante introduite par ESRI dans la version ArcGIS 9.2, la couche doutil ,
elle permet de crer la fois un service cartographique et un service de gotraitement en
publiant un seul fichier MXD. Cette technique permet dencapsuler des gotraitements avec
le document cartographique associ. Ceci prsente lavantage de grer la symbologie et
lordre daffichage des couches rsultantes du gotraitement.
ArcGIS Server n'tant pas encore compatible OGC pour les services de gotraitements, de ce
fait, la consommation des services de gotraitement publis avec ArcGIS Server nest
possible que dans un environnement ESRI (API JavaScript dAGS, ArcGIS Desktop, ArcGIS
Explorer). En revanche, avec des dveloppements, ces services seront accessibles depuis les
applications clientes qui ne proviennent pas dESRI (CartoWeb, OpenLayers, MapFich).

Master SIG et gestion de lespace Service Web de gotraitement
57









Aspect Recherche de WPS
Master SIG et gestion de lespace Service Web de gotraitement
58
Aspect Recherche de WPS
Le service Web de gotraitement est un thme dactualit de la recherche dans le domaine
des SIGWeb. En effet, la norme WPS reste jeune car encore peu utilise (en
comparaison dautres standards OGC comme WMS et WFS) et les implmentations
lutilisant sont peu nombreuses.
Le prsent chapitre a pour objet de prsenter la norme WPS comme objet de recherche,
Nous proposons donc ici un rapide bilan des publications et des projets portant sur le WPS,
ainsi que des pistes de recherche qui nous semblent intressantes. La premire partie fournit
un aperu sur les publications rcentes et les projets concernant les services Web de
gotraitement. Cette liste ne prtend pas lexhaustivit, mais devrait donner un aperu
suffisant. Tandis que la seconde partie porte sur les insuffisances remarques dans la
version actuelle du service Web de gotraitement WPS avec une solution propose pour
chaque lacune. La dernire partie traite des utilisations possibles des services Web de
gotraitement dans un SIGWeb collaboratif.
1. Synthse des quelques travaux de recherche sur le WPS
1.1 Evaluation of the OGC Web Processing , Christopher Michael et Daniel P.
Ames, (Idaho State University, USA), Mai 2007:
Christopher Michael et Daniel P. Ames dcrivent dans leur article six propositions pour le
standard WPS 0.4.0, qui tentent dajouter quelques fonctionnalits manquantes au standard.
savoir :
1. Lajout dun lment au document de rponse de la requte DescribeProcess pour
prciser les types des donnes en entre de lopration dcrite par le fichier XML
(opration demande par lutilisateur). Un lment XML PromptMethode est
propos pour rsoudre ce problme. Cet lment contient des valeurs, tels que
browseforraster, browseforvector ou getboundbingbox et getmatchingregex .
2. Un autre changement sur le mme fichier de rponse, pour lister les donnes
disponibles au niveau du serveur, afin dviter le tlchargement des donnes en
entre et pour que le client puisse faire la slection des donnes. Ce changement
consiste ajouter un lment XML AvailableData avec un lment fils pour
chaque donne contenant un nom et une brve description.
3. Toujours demander de retourner un document ExecuteResponse pour fournir une
meilleure cohrence et une simplification du dveloppement du client.
Master SIG et gestion de lespace Service Web de gotraitement
59
4. Il nest pas possible dannuler une opration demande, une URL dannulation de
requte devrait tre ajoute dans le document ExecuteResponse .
5. Chaque processus doit avoir une URL unique pour ses trois requtes.
6. Un systme de gestion des erreurs plus structur devrait tre mis en uvre. Le
systme actuel offre trs peu de types derreurs (MissingParammeterValue,
ServerBusy, FileSizeExceeded, InvalidParameterValue, NoApplicableCode).
Christopher Michael et Daniel P ont constat que la proposition du WPS 0.4.0 est solide et
efficace, nanmoins il y a plusieurs possibilits damlioration. Dans la version actuelle 1.0.0
certaines propositions ont t mises en uvre, par exemple lacceptation de la PromtMethod
(ou une mthode similaire). Cependant, la plupart non.
1.2 Distributed Geospatial Analysis through Web Processing Service: A Case Study of
Earthquake Disaster Assessment, Yichun Xie and Fuling Bian (Eastern Michigan University,
USA), Xiaoliang Meng (Wuhan University, China), Juin 2010:
Cette tude prsente une implmentation des diffrentes mthodes dutilisation de WPS pour
enchaner des services gospatiaux. Ces mthodes sont illustres par une implmentation
dun systme qui a comme objectif de piloter une infrastructure SIG systme distribue qui
permette des traitements et visualisations gospatiales afin de fournir rapidement une
assistance, une valuation et une aide la dcision aprs un sisme. Ces mthodes sont :
1.2.1 Utilisation de BPEL
27
: BPEL est un langage dexcution des processus mtier qui
dfinit les rgles de dialogue entre services Web. Il permet dorchestrer une chane de
services qui comprend en plus aux autres Web services un ou plusieurs processus WPS.
1.2.2 Utilisation Interface WPS : une interface WPS peut tre utilise pour concevoir une
suite de services web. Cette mthode dorchestration dune chane de services peut couvrir le
problme de transfert de donnes binaires pos par la mthode BPEL
1.2.3 Simple chane de service en cascade cre via lopration GET WPS: Cette mthode
permet aux services dchanger des donnes gospatiales directement parce que chacun
communique des services un autre.

27
Business Process Execution Language

Master SIG et gestion de lespace Service Web de gotraitement
60
1.3 OGC Web Processing Service Interface for Web Service Orchestration, Aggregating
geo-processing services in a bomb threat scenario, Beate Stollberg et Alexander Zipf
(University of Applied Sciences FH Mainz, Germany), 2009
Lobjectif principal de cette tude est de reprsenter des scnarios complexes conformes aux
normes de lOGC. La notion de (Composite-WPS) a t introduite et ralise dans un
scnario de menace dune bombe. Lautre mthode dorchestration des services avec BEPL
est arbore avec ses quelques cueils techniques, savoir, le transfert de donnes de
rponse une requte WMS GetMap ou une requte WFS GetCoverage, ces donnes
binaires brutes ne peuvent pas tre pris en charge par la mthode BPEL.
1.4 Towards a Research Agenda for Geoprocessing Services , Johannes Brauner
(Technische Universitt Dresden, Germany), Theodor Foerster(IIGISOE, Pays-Bas), Bastian
Schaeffer et Bastian Baranski (University of Mnster, Germany), 2010
Cette tude fournit un aperu dtaill des publications rcentes et des projets concernant les
services de gotraitement, afin dextraire les points communs de recherche entre ces
travaux. Sur la base de cette analyse, un programme de recherche sur les services de
gotraitement est formul. Le programme de recherche identifie trois thmes de recherche
principaux : la description smantique de service de gotraitement, lorchestration de
services de gotraitement et les approches pour lamlioration de performances.

Catgorie thme auteurs Description
Kiehle et al. (2007), Friis-
Christensen et al. (2007)
and Brauner et Schaeffer
(2008)
Propose dutiliser le BPEL en combinaison avec WSDL pour excuter des workflows.
Schaeffer (2008) Propose une interface transactionnelle pour le WPS (WPS-T) afin doffrir lensemble du
workflow comme un processus unique WPS.
Friis-Christensen et al.
(2007)
compare trois mthodes de chanage possibles selon la norme ISO (transparent,
translucide et opaque), et conclut que le chanage translucide fonctionne le mieux en
combinaison avec BPEL et que dans certains cas, cette approche amliore les
performances de traitement.
Stollberg and Zipf (2007,
2008)
Propose dutiliser la spcification WPS pour raliser les chanes complexes de traitement
au lieu de lapproche BPEL
orchestration
Brauner and Schaeffer
(2008)
Prsente une premire tentative pour rsoudre le problme li au BPEL et WSDL en
appliquant une transformation XSLT dynamique pour crer des documents WSDL.
Stollberg and Zipf 2007,
2008; Brauner and
Schaeffer 2008; Mller et
al. 2009; Nash 2008
Propose des profils dapplication WPS comme un moyen de classer les services de
gotraitement dans les processus spcifiques de domaine
la description
smantique
Nash (2008) Prsente les premires ides sur la faon dutiliser le profil dapplication
Recherches axes sur
les problmes
gnriques de service
de gotraitement
amliorations
de
performances
(Kiehle et al. 2007;
Scholtenet al; Tu et al.
2004)
Proposition dun service de communication asynchrone
Master SIG et gestion de lespace Service Web de gotraitement
62
Baranski (2008) and Lanig
et al. (2008)
Propose dtiliser de la technologie Grid Computing pour amliorer les performances de
traitement par la distribution et lexcution parallles des processus.
(Bernard et al. 2005; Friis-
Christensen et al. 2007;
Granell et al. 2007)
moving code paradigm (cette approche na jamais t explore pour les services
gotraitement.)
Xiaoliang Meng Yichun Xie
et Fuling Bian (2010)
lanalyse gospatiale distribue travers Web Processing Service
Foerster et al. (2009) Utilisation des applications du march (Google Earth) pour accder aux services de
gotraitement.
Recherche portant sur
les domaines
dapplication
spcifiques des
services de
gotraitement
Domaines
dapplication
MACHET Eric, KAMHI
Mouna, JACQUIN Marc, LE
PAGE Michel, DEJOUX
JeanFranois et DEDIEU
Grard (2008)
Web Processing Service pour le traitement des images satellite
Tableau 3 : les recherches portant sur le WPS




2. Les insuffisances de la version 1.0 de WPS
2.1 La scurit
Certains traitements particuliers ncessitent un contrle des droits daccs des utilisateurs.
Dans sa version actuelle le WPS ne propose aucun mcanisme de gestion des droits des
utilisateurs.
Pour remdier cette insuffisance, une solution possible serait alors dajouter un lment
la rponse ProcessDescription pour prciser quil sagit bien dun processus verrouill, et dans
ce cas une autre modification sur la requte Execute serait ncessaire (Un chanage de
service).
2.2 La gestion des processus :
Le WPS sur sa forme actuelle ne possde pas de mcanisme de type ordonnanceur qui
sert grer les diffrents processus en changeant leur statut, par exemple dun tat
excution en cours (ProcessStarted) ltat pause ou linverse.
Pour raliser cet ordonnanceur, il faut dabord crer un nouveau type de document
statut pour ltat Pause . Ce document sera en rponse la demande de client
travers un document statut dans ltat ProcessStarted . Il sera accompagn dun
nouvel attribut de changement dtat.
2.3 Lhistorique des traitements raliss
Pour viter la rexcution des mmes traitements sur les mmes donnes, surtout sil sagit
de donnes de type ComplexData , il serait intressant de sauvegarder lhistorique des
traitements raliss sur le serveur.
Une solution est possible par lajout, dans la rponse GetCapabilities, dun lment XML
nomm Historique contenant un attribut realised dont la valeur est vrai si ce
traitement est dj ralis par le serveur, ou faux dans le cas contraire. Dans le premier cas,
lajout dun autre lment DescribeHisto la rponse DescibeProcess est obligatoire. Cet
lment racine doit contenir un lment fils contenant les paramtres en entre et en sortie
pour chaque traitement ralis.

Master SIG et gestion de lespace Service Web de gotraitement
64
3. Lutilisation possible du WPS dans un SIGWeb collaboratif
3.1 Chanage de processus
Une chane de services pourrait rsoudre des problmes complexes, ce qui est considr
comme le but principal de SOA. WPS permet un chanage des processus et peut tre
configur pour appeler dautres services, donc il est capable de rcuprer des donnes
distribues sur les serveurs WMS/WFS/WCS/PostGIS des diffrents acteurs du webSIG (et de
les utiliser en entre de traitements centraliss) ; Donc il peut tre utilis pour piloter une
infrastructure de donnes spatiales. La figure 24 montre un diagramme de collaboration de
lutilisation dune interface WPS pour piloter une chane de service.









Figure 24 : Diagramme de collaboration - linterface WPS pour orchestrer une chane de
services
3.2 Re-projection/Conversion
WPS permet de reprojeter/convertir tout types de donnes SIG via lutilisation de
webservices adapts. Cela permet donc dimaginer que les donnes htrognes de
diffrents acteurs puissent tre utilises ltat brut en entres de processus gnriques,
WPS
Interface
Autres Service
(WMS)
Autre WPS
Traitement
Client
Autres Service
(WFS)
1. Demande
Processus
2. Demande
Processus
3. Rponse GML
4. Demande donnes
(GetMap)
5. Rponse GML
9. Demande donnes
(GetFeature)
8. Rponse
GML
6. Rsultat GML
Autres Service
(WCS)
7. Demande donnes
(GetFeature)
10. Rponse
GML
Demande
Master SIG et gestion de lespace Service Web de gotraitement
65
lesquels restitueraient une donne standardise (comme rgf93 ou Inspire), accessible
lensemble des acteurs du webSIG.
Prenant lexemple ZOO-Projet, lAPI ZOO est une API JavaScript qui permet de faire des
transformations et dexploiter nimporte quelle projection utilisant Proj4JS ; limplmentation
en JavaScript de la bibliothque de projections cartographiques Proj4 ; aprs une adaptation
lenvironnement dexcution dans le ZOO.
Cette fonctionnalit de re-projection est ralisable avec PyWPS, soit en adaptant PyProj,
limplmentation en Python de la bibliothque Proj4 ; soit en crant directement un Process
de re-porojection (Process est un script python pouvant fonctionner seul).
3.3 La Norme WFS-T
WPS pourrait implmenter la norme WFS-T partir de flux dentres WFS traditionnels, et
permettrai donc de grer et de rationaliser des mises jour de donnes successives ou
simultanes, faites par plusieurs acteurs.
Pour implmenter une telle norme, il faut crer les trois processus de transactions (Ajout,
modification, suppression) puis de les intgrer dans un serveur WPS, la prsence dun
SGBD tel que PostGIS ou Oracle Spatial. Si le client demande lun des trois traitements, le
serveur WPS utilise en entre les donnes provenant dun serveur WFS pour raliser la
requte demande.
3.4 Gestion des droits utilisateurs :
WPS savre trs utile quand la gestion des droits utilisateurs, indispensable dans un web
SIG collaboratif. En effet, la protection de donnes WMS/WFS peut tre mise en place via
des services WPS.
La solution est de crer un proxy WPS constitu dun service Security avec deux
mthode (Login et Logout) pour vrifier que certain paramtres (user/login) sont prsent
dans lurl des requtes envoy par le client. Ce proxy sappuie sur une base de donnes
dutilisateurs gre par un script dont laccs est rserv ladministrateur.
La mthode Login : quand elle est excute, elle vrifie si lutilisateur est authentifi; si ce
nest pas le cas :
Master SIG et gestion de lespace Service Web de gotraitement
66
une redirection est effectue vers un script par dfaut (par exemple login.py) qui
demande lutilisateur dentrer un identifiant et un mot de passe
un autre script vrifie que lidentifiant et le mot de passe sont prsents dans la base
si oui, une redirection est effectue vers un autre chemin.
Logout retourne une chane avec le lien vers un script de dconnection. Le texte de ce
lien est Logout par dfaut.

















Figure 25 : diagramme de collaboration dune fonctionnalit Consultation WMS
4. Conclusion
Lorchestration dune chaine de service Web est pertinente pour les applications
gospatiales, car leur complexit ncessite souvent lexcution de plusieurs goprocessus. Ce
qui explique quune grande partie des recherches dans le domaine des services Web de
gotraitement tourne autour de cette notion.
Les pistes de recherches proposes dans ce chapitre sont bases sur ltude de la littrature
et lexprience pratique des auteurs des publications consultes. Lors de ce stage, quelques
implmentations techniques ont t ralises pour tester le concept de chanage avec PyWPS
De nombreuses volutions de WPS sont prvoir et font lobjet de travaux de recherche
(WPS 2.0 annonc), notamment lapparition de web services plus nombreux et plus
complexes, ainsi quune amlioration des mthodes dutilisation (API dans diffrents
langages, diteur de workflow, volumes de donnes dentres, interfaces clientes ddies...).

Client
Service
(WMS)
Processus :
Security
1. demande de connexion
4. Consulter
3.
Une Carte
2. vrifier les privilges

Master SIG et gestion de lespace Service Web de gotraitement
67























Conclusion gnrale
Master SIG et gestion de lespace Service Web de gotraitement
68
Il est clair que WPS a une histoire courte mais le dbut est prometteur. Cette
spcification se prsente sous la forme dune interface gnrique permettant de dcrire et
dclencher des traitements sur des donnes composantes spatiales. Ces traitements
proposs sont illimits en capacits ou nature, le Web peut prendre en charge des donnes
de type raster comme de type vecteur. Il renvoie une exception standardise en cas derreur
et renseigne galement sur le statut dun processus.
Contrairement la mthode propose par ESRI, le WPS peut tre configur pour
appeler dautres services et permet aussi le chanage des processus. Donc il va beaucoup
plus loin que la visualisation des donnes distribues, Il sagit de partager des processus
disponibles sur divers serveurs Web (imagerie, trafic routier, mtoetc.) pralablement
rendues interoprables et ventuellement de chaner entre eux des processus disponibles sur
diffrents serveurs.
Dans ce travail, nous avons essay didentifier certaines lacunes de la version actuelle
de la norme WPS, et ce lors de ltude dtaille de la norme, et de proposer une mthode
dutilisation de ce standard dans une application WebSIG. En plus des insuffisances signales
par les auteurs des diffrentes publications, jai pu mettre en vidence trois lacunes relatives
la scurit, lhistorique et la gestion des processus.
Le stage ma permis aussi de me familiariser avec le logiciel ArcGIS Server, et de
lister les bonnes pratiques recommandes pour implmenter une application Web
performante, en profitant des capacits offertes par ArcGIS Server.

Master SIG et gestion de lespace Service Web de gotraitement
69



















Bibliographie


Certains ouvrages indexs dans cette bibliographie ne sont pas appels dans le texte, mais
ont contribu la construction de ce travail. Par ailleurs, ils fournissent un tat de lart plus
complet.
Master SIG et gestion de lespace Service Web de gotraitement
70
Ouvrages gnraux
[Vinc2003] Cyril VINCENT, XML et les services Web , Informatique technique, Edition
ENI, 2003
[Lecom2008] Snastien LECOMTE, Thierry BOULANGER, XML par la pratique : base
indispensables, concepts et cas pratiques , Informatique Technique, Edition ENI, 2008.
[Scot2007] Scott Davis, GIS for Web Developers: Adding Where to Your Web
Applications, The Pragmatic Bookshelf, 2007
[Doug2002] Philippe Rigaux, Arnold Rochfeld, Trait de modlisation objet , Technologie
Objet Rgrence, Edition Eyrolles, 2002
Thses, mmoires et cours:
[Bozo2005] Nicolas BOZON, Le dveloppement de services web gographiques ddis la
consultation et au traitement des donnes gospatiales et agromtorologiques sur
Internet. , Rapport de stage Master SIG, Saint-tienne, 2005
[Jego2009] Laurent JEGOU, Serveur Cartographique et SIG interactifs en ligne , cours
SIGMA Toulouse, 2009
[Gonz2004] S.Gonzalaz, B.Marchal, L.Moragues, L.Puente, A.Vessot, La cartographie sur
Internet , Micro-projet Master SILAT, 2004
[Lago2009] Rmi LAGOIN, volution dune application extranet cartographique , rapport
de stage Master pro, SIGMA Toulouse, 2009
[Faye2009] Florent Fayeaux, Mise en place du serveur cartographique ArcGIS Server,
rapport de stage Master pro SIG Saint-tienne, 2009
[Chris2007]Christopher Michaelis, application of OGC specifications to client-side georaphic
information systems, thesis master degree, Idaho State University, 2007
Articles et documents:
[Gilg2001] Marc Gilgen, Open GIS Consortium, Aperu et perspectives de lOpenGIS dans le
domaine du Web Mapping, 2001
[Cepi2007]J.Cepick et L.Becchi,Traitement gospatial sur des serveurs distants via Internet
PyWPS, 2007
[Doug2003] Barry Douglas K. The Savvy Managers Guide to Web Services and Service-
Oriented Architectures. Morgan Kaufmann Publishers Inc, San Francisco, CA, USA, 2003.
[Booth2004] D.Booth, H.Haas, F.Mccabe, E.Newcomer, M.Champion, C.Ferris, D.Orchard,
Web services architecture. 2004.
[Pron2008] H.Pornon, P.Yalamas, E.Pelegis, Service Web gographiques, tat de lart et
perspectives , Gomatique Expert n 65, Octobre-novembre 2008.
[Brau2009]J.Brauner, T.Foerster, B.Schaeffer,B.Baranski, Towards a Research Agenda for
Geoprocessing Services.
[Cepi2008] Jchym epick, OGC WEB PROCESSING SERVICE AND IT'S USAGE, 2008
[OGCP2007]OGC. OpenGIS Web Processing Service, Number 05007r7, Version 1.0.0. (2007)
Master SIG et gestion de lespace Service Web de gotraitement
71
[Stol2007] B.Stollberg, A.Zipf: OGC Web Processing Service Interface for Web Service
Orchestration - Aggregating geoprocessing services in a bomb threat scenario.(2007).
[Weis2007] A .Weiser,A.Zipf : Web Service Orchestration (WSO) of OGC Web Services
(OWS) for Disaster Management, 2007.
[Auer2010] M.Auer, A.Zipf, How do Free and Open Geodata and Open Standards fit
together? From Sceptisim versus high Potential to real Applications, 2010
[Meng2010] X.Meng, Y.Xie, F.Bian, Distributed Geospatial Analysis through WebProcessing
Service: A Case Study of Earthquake Disaster Assessment, 2010
[Kubi2009] Tomasz Kubik, DESIGN AND IMPLEMENTATION OF TWO SOFTWARE
FRAMEWORKS FOR OGC WEB PROCESSING SERVICE DEVELOPMENT, 2009
[Padb2008]A. Padberg, K. Greve, Gridification of the OGC Web Processing Service :
Challenges and Potential,2008
[Kieh2009] Christian Kiehle, OGC Web Processing Service (WPS) Towards Version 2.0,2009
[Lani2009]S.Lanig, S.Kurzbach, E.Pasche,A.Zipf, Standards-Based Processing of Digital
Elevation Models in Grid Computing Environments, 2009
[Nash2008] Edward Nash, WPS Application Profiles for Generic and Specialised Processes,
2008
[ESRI2009A]Srie ArcGIS Server en pratique, Services de carte hautes performances, Cas
dutilisation avec les donnes CORINE Land Cover ESRI 380 New York St., Redlands, CA
92373-8100, Etats-Unis, Aot 2009
[ESRI2009B]Srie ArcGIS Server en pratique : bonnes pratiques pour crer une application
cartographique Web ArcGISServer pour les Collectivits locales et territoriales,ESRi,USA,2009
[tata2010], Samir Tata : Web Services, Dpartement INFormatique, TELECOM SudParis,2010

Site internet
Site de lOGC: http://www.opengeospatial.org/
Forum de l'OGC : http://feature.opengeospatial.org/forum/
Site dISOTC211 : http://www.isotc211.org/
Le forum franais de lOGC : http://www.forumogcfrance.org/
Un blog sur les technologies ESRI : http://www.arcorama.fr/
Documentation et tutoriaux sur WebMapping : http://www.geotribu.net/
Forum SIG : http://www.forumsig.org/
Portail georezo: http://www.georezo.net/
Centre de ressources ArcGIS Server: http://resources.arcgis.com/content/arcgisserver/10.0/about
Site de ressource Javascript : http://www.javascriptfr.com
[ReLucBlog] : http://3liz.com/blog/rldhont/index.php/
Site dESRI France : www.esrifrance.fr
Site dESRI : www.esri.com
[Zero] : http://www.siteduzero.com/tutoriel-3-203276-les-services-web.html
[creos]: http://www.creosdev.com/
[ird]: http://www.ird.fr/informatique-scientifique/methodo/standards/normes_iso_ogc/web_services/
Master SIG et gestion de lespace Service Web de gotraitement
72





















Annexes






















Master SIG et gestion de lespace Service Web de gotraitement
73

Annexe 1 : Structure dun message SOAP

Un message SOAP va tre constitu dune enveloppe et dun corps. Cest lintrieur du
corps (body) que lon trouve le contenu :

Message SOAP contenant un bloc d'en-tte (Header) SOAP et un corps (Body) SOAP


Structure dun message SOAP
Master SIG et gestion de lespace Service Web de gotraitement
74
Annexe 2 : Exemple de cration dun processus
(Source : http://wiki.deegree.org/deegreeWiki/deegree3/HowToCreateWPSProcesses)
1. Cration dun fichier de Dfinition du processus
Cration dun fichier de dfinition de processus AdditionProcess.xml avec le contenu :

2. Cration de code Java de processus

Master SIG et gestion de lespace Service Web de gotraitement
75
Annexe 3 : les types de donnes de paramtres en entre et en sortie
Le tableau suivant rcapitule les principaux types de donnes de paramtre en entre pour
les trois clients dAGS. (Source : Aide d'ArcGIS Desktop/rubrique Gotraitement avec AGS)

Type de donnes de
paramtre en entre
Pris en charge sur les
clients ArcGIS
Desktop ?
Pris en charge
sur le client
ArcGIS
Explorer ?
Pris en charge sur
les clients
dapplication
Web ?
Jeu dentits Oui Oui Oui
Jeu denregistrements Oui Oui Oui
Classe dentits
Non (mais lentre Classe
dentits est prise en
charge indirectement
avec le type de donnes
Jeu dentits)
Non Non
Table
Non (mais lentre Table
est prise en charge
indirectement avec le
type de donnes Jeu
denregistrements)
Non Non
raster Oui Non Non
Types Standard (tel que
Long, Double, Boolen,
Date, Chane) et Unit
Linaire (par exemple,
"1000 meters")
Oui Oui Oui
Fichier (tel quun fichier
.zip ou .xml)
Oui Oui Oui
Couche (tout type de
couche ; par exemple,
Couche dentits, Couche
Raster, Couche Network
Analyst)
Seules les couches
disponibles dans un
service de carte obtenu ou
une carte source.
Seules les
couches
disponibles dans
un service de
carte obtenu ou
une carte source.
Seules les couches
disponibles dans un
service de carte
obtenu ou une carte
source.

Tout type de donnes non rpertori ci-dessus est converti en type de donnes de chane ou
non autoris. La rubrique Types de donnes en entre et en sortie offre davantage de dtails
sur les types de donnes des services de gotraitement.
Trs vraisemblablement, vos modles et scripts existants acceptent des classes dentits et
de tables comme entre, puisquil sagit des types de jeu de donnes gographiques les plus
courants. Cela signifie que vos modles et scripts existants devront tre modifis avant leur
publication en tant que tches de gotraitement. Si votre modle ou script accepte une
Master SIG et gestion de lespace Service Web de gotraitement
76
classe dentits en entre, vous pouvez le modifier pour quil accepte un jeu dentits la
place. Si votre modle accepte une table comme entre, vous pouvez le modifier pour quil
accepte un jeu denregistrements la place.
Le tableau suivant rcapitule les principaux types de donnes de paramtre en sortie pour
les trois clients.

Type de donnes
de paramtre en
sortie
Pris en charge sur
les clients ArcGIS
Desktop ?
Pris en charge sur le
client ArcGIS
Explorer ?
Pris en charge sur
les clients
dapplication
Web ?
Classe dentits Oui Oui Oui
raster Oui
Non ; affichable
uniquement dans la carte
laide dun service de
carte obtenu
Non. Affichable
uniquement dans la
carte laide dun
service de carte
obtenu.
Table Oui
Non ; les services qui
possdent un type de
donnes de table comme
paramtre en sortie ne
peuvent pas tre affichs
dans la liste des tches
disponibles
Oui
Types Standard (tel
que Long, Double,
Boolen, Date,
Chane) et Unit
Linaire (par
exemple, "1000
meters")
Oui ; affich dans le
rsultat de service
disponible dans
longlet Rsultats de
la fentre
ArcToolbox
Oui ; affich dans le
Rsultat des tches.
Oui
Fichier Oui Oui Oui

La procdure de base pour modifier un modle existant qui accepte une classe dentits
comme entre afin quil accepte un jeu dentits la place est la suivante :
1. Dans ModelBuilder, cliquez avec le bouton droit sur une variable de classe dentits,
puis cliquez sur Proprits.
2. Dans la bote de dialogue Proprits, cliquez sur longlet Type de donnes.
3. Slectionnez le type de donnes Jeu dentits.
4. Importez une structure qui dfinit les attributs, le type de gomtrie et la symbologie.
Vous pouvez importer une structure partir dun jeu de donnes, dun fichier de
couches ou dune couche existants.
Master SIG et gestion de lespace Service Web de gotraitement
77






Annexe 4


Les bonnes pratiques pour amliorer les performances dune application cartographique Web
ArcGIS Server
















Master SIG et gestion de lespace Service Web de gotraitement
78
Lobjectif de ce guide est de lister les diffrentes pratiques recommandes lors de la cration dune application
Web avec ArcGis Server.
I. Planification de la publication des donnes
Lune des premires tapes, lors de la conception dune solution ArcGis Server, consiste examiner et valuer
soigneusement lobjectif des donnes SIG qui seront utilises dans lapplication cartographique Web. Les donnes
doivent tre classes en deux groupes : les donnes oprationnelles ou dynamiques et les donnes de fond de
carte. Les donnes oprationnelles seront utilises intensivement dans lapplication Web, par exemple, les classes
dentits qui seront mises jour ou recherches par les utilisateurs. Les donnes de fond de carte seront
principalement utilises comme arrire-plan.
En gnral, les donnes de fond de carte doivent tre implmentes en tant que service de carte mise en cache
(la section suivante), car ces donnes changeront rarement, voir jamais. Inversement, les donnes
oprationnelles doivent tre implmentes sous la forme de service de carte dynamique.
II. Utilisation des services de carte mise en cache.
Lutilisation de services de carte mis en cache permet de diffuser des cartes trs rapidement grce un cache de
cartes ayant fait lobjet dun calcul pralable.
Procdure de cration d'un cache de carte
Un cache de carte est un ensemble de tuiles de carte pr-rendues qui peuvent tre utilises pour laffichage dun
service de carte. Les services mis en cache saffichent rapidement car limage de la carte ne doit pas tre rendue
la vole ; le cot du rendu de limage est pay uniquement une fois le cache cr.
1. Cliquez avec le bouton droit sur le service, puis slectionnez Proprits du service.
2. Cliquez sur l'onglet Mise en cache.
3. Slectionnez Utiliser les tuiles de son cache pour afficher le service de carte.
4. Ajoutez des chelles
5. Une fois la structure de tuilage dfinie, cliquez sur Crer les tuiles. L'outil Grer le cache des tuiles du
serveur de carte s'ouvre avec plusieurs paramtres requis dj renseigns.
6. Dfinissez le mode Mise jour pour Recrer toutes les tuiles, rglez tout autre paramtre souhait dans
l'outil, puis cliquez sur OK.





















1
2
3
4
5
6
Master SIG et gestion de lespace Service Web de gotraitement
79
III. Utilisation des Godatabases Fichier
Une godatabase fichier est un ensemble de jeux de donnes gographiques de diffrents types stocks dans un
dossier systme de fichiers commun, les points forts de ce format sont :
1) Pas de limites de volume
De par sa structure de fichiers multiples, la Godatabase Fichier n'a pas vritablement de limitations de volume
en dehors des limites de la machine. Par dfaut nous pouvons stocker jusqu' 1 To par table ou classe d'entits.
2) Portabilit
La Godatabase Fichier repose sur un systme de fichiers ce qui permet une portabilit dans les environnements
Windows et UNIX (Linux et Solaris) par simple copie du rpertoire de la Godatabase. La Godatabase Fichier
dispose des mmes fonctionnalits que autres types de Godatabase (vecteur, raster, tables, relations, domaines,
sous-type, topologie,) mais elle ne sappuie pas sur un SGBD.
3) Compression des donnes
La Godatabase Fichier dispose dun mcanisme permettant de compresser tout ou partie de la base de donnes.
Ceci permet de rduire la taille de la Godatabase dun facteur de 1 10 selon la nature des donnes et dobtenir
des gains de performance assez significatifs. On notera cependant que les classes dentits compresses ne
peuvent pas tre mises jour, elles doivent tre dcompresses avant de pouvoir nouveau tre modifies.
Ci-dessous un graphe comparatif dun jeu de donnes Btiment de Saint-tienne selon diffrents formats de
stockage. Les caractristiques de ce jeu de donnes sont les suivantes :
25 272 entits surfaciques
6 champs dans la table attributaire

4) Haute performance
La Godatabase Fichier utilise des mcanismes d'indexation spatiale et attributaire. Ci-dessous, un comparatif des
temps d'affichage du mme jeu de donnes Btiment, mesurs diffrentes chelles.
Master SIG et gestion de lespace Service Web de gotraitement
80

5) Possibilit de cration dun catalogue Raster
Lutilisation dun catalogue raster devient pertinente ds que lon souhaite afficher plusieurs rasters dans un
projet (orthophotos, scan...) car il facilite leur gestion dans la table des matires, optimise et acclre leur
affichage.
Lobjectif dun catalogue est dafficher tous les rasters en mme temps et non de les afficher
indpendamment les uns des autres.
5.1 Les tapes de cration du catalogue raster
5.1.1 Cration dune nouvelle godatabase vierge
Sous ArcCatalog :
Clic droit lemplacement voulu,
Nouveau > Godatabase fichier,






5.1.2 Cration d'un catalogue dans une godatabase.
Choisir nouveau > catalogue raster dans le menu contextuel de la godatabase.








Echelle
Temps daffichage (ms)

Master SIG et gestion de lespace Service Web de gotraitement
81
- Spcifier un nom votre catalogue (ligne marque dune pastille verte).
- Renseigner les lignes systme de coordonnes de la colonne raster et rfrence spatiale en important
ou en slectionnant la rfrence spatiale de vos images.
- Choisir le type de gestion :
- Non gr : seuls les chemins daccs vers les rasters seront stocks dans la godatabase.
- Gr : les rasters seront copis dans un dossier .idb li la godatabase pour les godatabases
personnelles et directement intgrs dans la godatabase pour les godatabases fichiers. La cration du
catalogue sera beaucoup plus longue et les images aux formats compresss seront reconverties dans un
format standard augmentant de ce fait le volume des donnes. En contrepartie on obtiendra des
performances daffichage optimales et un export simplifi vers un autre poste.

5.2 Remplissez le catalogue
Clic droit sur le catalogue/charger/charger les donnes.
C'est l que l'on indique o se trouvent les rasters qui vont composer le catalogue.



Master SIG et gestion de lespace Service Web de gotraitement
82
5.3 Visualisation du catalogue dans ArcCatalog
Linterface d'ArcCatalog vous permet de visualiser le contenu de chaque catalogue. Vous devrez cliquer sur la
barre flche situe sur le bord droit de la fentre contenu afin de visualiser lemplacement du raster slectionn
ou bien daccder ses proprits.
5.4 Gestion du catalogue dans Arcmap
Lajout du catalogue raster dans Arcmap se fera en utilisant le bouton dajout de donnes et lon pourra
paramtrer ses proprits daffichage et notamment la reprsentation en mode filaire via les proprits du menu
contextuel.

IV. Les Map Services Optimiss
Un nouveau type de service nomm Optimized Map Service apparait en version 9.3.1 pour permettre de
mettre en ligne des services dynamiques optimiss, cette optimisation saccompagne de quelques contraintes.
Celles-ci portent essentiellement sur le contenu de la carte en termes de formats des sources de donnes et des
types de symbologie utiliss. ArcMap fournit dsormais des outils pour analyser la performance du fichier mxd et
valider son ligibilit tre publi en tant que Optimized Map Service .

Barre doutils de Publication de services de cartes

Outils danalyse mxd



Master SIG et gestion de lespace Service Web de gotraitement
83
Loutil Analyze Map affiche trois types de messages :
- Error messages ( ) : Toutes les erreurs doivent tre rpares avant que nous puissions publier un
service de dfinition de carte.
- Warning messages ( ) : ce sont des facteurs dont les performances du service de carte peut tre
affect, la publication ne ncessite pas la rparation des warnings
- Information messages ( ).
Dans le cas d'un Map Service Optimis, l'utilisateur peut prvisualiser le service de carte et naviguer diffrentes
chelles pour valuer les performances d'affichage au travers d'une fentre d'affichage ddi.

Fentre de prvisualisation
Lutilisateur aura la possibilit de publier son document partir du fichier MXD (de manire classique) ou dopter
pour lenregistrement dun fichier MSD (Map Service Dfinition) pour la publication d'un Map Service Optimis.

Dans le cas dun Map Service Optimis, lutilisateur peut publier son service directement partir de la barre
doutils. Il nest pas obligatoire de crer le fichier MSD et dutiliser ArcCatalog ou lapplication web ArcGIS Server
Manager pour publier un Map Service Optimis.

Master SIG et gestion de lespace Service Web de gotraitement
84

Lorsque nous publions un service optimis nous pouvons dfinir deux proprits anti-aliasing qui peuvent affecter
la qualit de limage de notre service de carte ainsi que sa performance. Loutil Map Service Puplishing
Options nous permet de dfinir des options pour l'anti-aliasing.
Lanti aliasing est une Technique par laquelle on diminue leffet descalier des images, en crant des dgrads de
couleurs le long des contours, pour les lisser.
.














Avec loption Best de lAnti-Aliasing
1 : 26 157
Sans anti-Aliasing
1 : 26 157

Master SIG et gestion de lespace Service Web de gotraitement
85
V. Utilisation des plages des chelles

Lapplication de la plage dchelles est vivement recommande pour les services de carte dynamique. Les plages
dchelles permettent de contrler le nombre dentits reprsentes une chelle donne et, par consquent,
dacclrer le rendu dans lapplication Web.
1. Cliquez avec le bouton droit de la souris dans la table des matires, puis cliquez sur Proprits.
2. Cliquez sur l'onglet Gnral.


VI. Utilisation de loutil de tuning MxdPerfStat
Un outil nomm MXDPerfStat a t mis disposition par ESRI pour nous permettre danalyser la performance
de notre MXD avant le publier. A diffrentes chelles, loutil procde la mesure des temps daffichage des
diffrentes couches et traces le nombre dentits correspondant chaque affichage. Les rsultats sont stocks
dans un fichier XML et un fichier de style XSL permet dafficher un rapport plus facile interprter.
Pour utiliser loutil mxdperfstat, les tapes suivre sont :
a. Copiez mxdperfstat.exe, mxdperfstat.xls dans un rpertoire sur le disque local ;
b. Copiez le document mxd analyser dans le mme rpertoire ;
c. Dans Invite de commandes , accdez au rpertoire contenant mxdperfstat.exe ;
d. Excutez la commande :
Mxdperfstat -mxd <DocumentName.mxd> [-scale scale1;scale2;...] [-xy <x;y>] -width <screenwidth> -height
<screen height>
Exemple:



Master SIG et gestion de lespace Service Web de gotraitement
86
Lors de lexcution, la fentre suivant saffiche :

Dans le rpertoire cr prcdemment, double-cliquez sur le document mxdperfstat_ DocumentName _......
Le tableau suivant reprsente le rsultat danalyse effectue par mxdperfstat

VII. Utilisation de loutil Godatabase Toolset (dans le cas des godatabase ArcSDE)
Geodatabase Toolset propose une srie de fonctions danalyse et de rapport qui peuvent nous aider
comprendre et amliorer les performances des couches des Godatabase ArcSDE (Personnal, Workgroup ou
Enterprise). Lextension fournit des informations dtailles sur la structure de la Godatabase et permet ainsi de
Master SIG et gestion de lespace Service Web de gotraitement
87
consulter et de modifier les paramtres cls dans le cadre dune maintenance de notre Godatabase. Lextension
propose galement des outils danalyse trs fins sur les temps daccs et daffichage des couches dans le client
ArcGIS. Ceci permet de cibler les couches optimiser et de comprendre sur quels paramtres doit porter cette
optimisation (base de donnes, document ArcMap, ).
Les outils proposs dans ArcCatalog


Lextension Geotabase Toolset ajoute un nouvel onglet dans ArcCatalog et propose lutilisateur 6 outils
d'analyse:
1 : Edit Information : dtaille le nombre de mises jour effectues sur la couche et indique si la couche participe
rseau gomtrique, une classe de relations ou une classe de topologie (uniquement pour les Godatabase
Enterprise sous Oracle).
2 : Statistics and Indexes : affiche les statistiques concernant chaque table / classe dentits et permet de
reconstruire certains de ces indexes (uniquement pour les Godatabase Enterprise sous Oracle).
3 : User Information : affiche la liste des utilisateurs connects et des verrous sur les couches.
4 : Versioning Lineage : affiche larbre des StateID constituant les versions de la Godatabase.
5 : Spatial Index Info : affiche sous la forme dune carte interactive ou de diagrammes statistiques, les
caractristiques de lindex spatial dune couche.
6 : Version Information : affiche la hirarchie des diffrentes versions et permet de crer ou de supprimer des
versions.
Les outils proposs dans ArcMap
Lextension Geotabase Toolset ajoute galement une nouvelle barre doutils dans ArcMap et propose lutilisateur
5 outils d'analyse:
- Data Fetching : affiche les temps de chargement et daffichage des couches et le nombre dentits retournes
pour chaque couche visible de la carte.
- Scale and Layer Visibility : permet de dfinir des zones dintrt sur la carte et d'examiner la visibilit des
couches en fonction des chelles.
1
2
3
4
5
6
Master SIG et gestion de lespace Service Web de gotraitement
88
- SQL Execute : permet de mettre en place des fichiers de traces sur certaines couches et certaines chelles.
Cette fonction permet galement dexcuter des requtes SQL.
- Scripting : permet de gnrer des scripts en enregistrant un enchainement de fonctions de navigation ou un
enchainement de fonctions de mise jour de donnes. Ce script permet de simuler un scnario d'utilisation et de
suivre les statistiques de performance au cours de son excution.
- Layer Description : Regroupe tous les indicateurs cls concernant la performance daffichage des couches dans
un tableau de synthse.