Une nouvelle manière de concevoir et de diffuser les algorithmes scientifiques : tirer partie des web services Jeudi 5 Septembre 2013 JDev2013 Romain Guidoux, Libo Ren, Jonathan Fontanel, Philippe Lacomme 1
Qui sommes-nous? http://www.isima.fr/~lacomme/pagewebservice/webservice/ Stand INRA au salon de l agriculture Application smartphone couplée à un web service Expert des systèmes mobiles Android Jonathan Fontanel (Qualiac) Philippe Lacomme (UBP, LIMOS) Libo Ren (UdA, LIMOS) Romain Guidoux (INRA) 2
Architecture client-serveur Dans l univers grand public : Application météo Programme TV GPS Waze Dans l univers de la recherche : Archive HAL Développement d une application d estimation de la dépense énergétique à l INRA Mise à disposition de métaheuristiques par le LIMOS 3
Des environnements nombreux Cohen M.D., C.B. Kelly and A.L. Medaglia Decision support with web-enabled software. Interfaces, 31(2), pp. 109-129. 2001. Bhargava, H.K., Power, D.J. and D. Sun, 2007 Progress in Web-based decision support technologies Decision Support Systems, 43, pp. 1083-1095. 2007 4
Les WS un élément clé 5
Chercher autrement 6
Une collecte contraignante 1. Configuration des capteurs 2. Remise des capteurs aux volontaires 3. Collecte des données en conditions habituelles de vie 4. Déchargement des données au laboratoire 7
Les téléphones Utilisation de smartphones Redéfinissent la manière de collecter Sont aussi un élément de la collecte Les volontaires ont des téléphones Coût de la collecte très faible Les volontaires peuvent être éloignés Les administrateurs (chercheurs) ont un lien permanent avec les volontaires 8
Exemple 9
Stand INRA 10 10
Des algorithmes adaptés 11
Exemple du GPS Les téléphones Le téléphone reçoit des informations sur les bouchons Le téléphone envoie des informations coût de la collecte = 0 12
Difficultés Localisation de la position actuelle Localisation d une destination Calcul d un chemin Guidage GPS et calcul d itinéraire Dorothea Wagner and Thomas Willhalm. Geometric Speed-Up Techniques for Finding Shortest Paths in Large Sparse Graphs. Konstanzer Schriften in Mathematik und Informatik. ISSN 1430 3558. Nr. 183, Januar 2003. Dorothea Wagner, T. Willhalm and C. Zaroliagis. Geometric Containers for Efficient Shortest- Path Computation. ACM Journal of Experimental Algorithmics, Vol. 10(1.3), pp. 1-30. 2005. Andrey Gubichev, Srikanta Bedathur, Stephan Seufert and Gerhard Weikum. Fast and Accurate Estimation of Shortest Paths in Large Graphs. CIKM 10, October 26 30, 2010, Toronto, Ontario, Canada. 13
Une architecture possible 14
Modélisation Le graphe simplifie la réalité Bouchons Rues barrées Accidents Changement de sens de circulation 15
Des graphes routiers très grands 16
L objectif 17
Un système efficace Calculer rapidement Être réactif aux aléas Suivre le piéton Détecter au mieux sa position Travailler en mode dégradé GPS inactif ou peu fiable Connexion réseau perdue 18
Un calcul dynamique 19
Un Test? Benjamin Vincent Ren Libo http://www.isima.fr/~lacomme/orwebservices/gps4pedestrian/ 20
Un domaine de recherche très actif 21
Des thèses 22
Des publications nombreuses Hamdi Yahyaoui, Zakaria Maamar, Erbin Lim, Philippe Thiran Towards a community-based, social network-driven framework for Web services management Future Generation Computer Systems, Volume 29, Issue 6, August 2013, Pages 1363-1377 Juan Alfonso Lara, David Lizcano, María Aurora Martínez, Juan Pazos Developing front-end Web 2.0 technologies to access services, content and things in the future Internet Future Generation Computer Systems, Volume 29, Issue 5, July 2013, Pages 1184-1195 Jordy Sangers, Flavius Frasincar, Frederik Hogenboom, Vadim Chepegin Semantic Web service discovery using natural language processing techniques Expert Systems with Applications, Volume 40, Issue 11, 1 September 2013, Pages 4660-4671 Mohamed Sellami, Olfa Bouchaala, Walid Gaaloul, Samir Tata Communities of Web service registries: Construction and management Journal of Systems and Software, Volume 86, Issue 3, March 2013, Pages 835-853 23
Liens avec JEE 24
Généralisation des JUG http://www.devoxx.com/display/dv11/jugs 25
Des exposés techniques 26
Un peu de technique 27
Structures Créer un web service Publier un web service Utiliser un web service 1 2 Serveur d'application Client (utilisateur) 28
Conception 29
Le serveur 30
Ajouter un web service 31
Un projet 32
Des technologies récentes @WebMethod(operationName = "additionner") public int additionner (@WebParam(name="name_a") int a, @WebParam(name="name_b") int b) { // Implémentation } 33
Déployer 34
Page de test 35
Administrer Glassfish 36
Le client 37
Ajouter un WS Client 38
Utiliser le WS 39
Un code Java «classique» 40
Conclusion 41
Des technologies récentes La mobilité Mouvement de fond Redéfinir les usages Concevoir des algorithmes spécifiques Domaine de recherche à part entière Thèses Revues Conférences En savoir plus? T8.A1 : Java EE T8.A2 : Android 42
Nos soutiens Ellipses 15 exemplaires gratuits Nos organismes/employeurs Ressources Disponibilité 43