Nel 2012 ho conseguito la Laure Magistrale in Ingegneria Informatica ideando e sviluppando un strumento di supporto per la mobilità urbana per le persone non vedenti o con difficoltà visive.
L’idea si basa sull’utilizzo di Open Data messi a disposizione dal servizio di mezzi pubblici delle varie città. Ad esempio l’agenzia per la mobilità di Roma, ATAC, mette a disposizione i propri servizi elencati nel progetto Open Data alla pagina http://www.agenziamobilita.roma.it/it/progetti/open-data/
Attraverso il linguaggio di programmazione Java, è possibile utilizzare i servizi messi a disposizione. Nell’esempio riportato possiamo notare le seguenti fasi:
- Autenticazione
- Cattura del token
- Chiamata del servizio paline.Previsione che restituisce le previsioni di arrivo alla palina.
Prima di poter eseguire un test con il codice riportato occorre procurarsi la chiave da sviluppatore e sostituirlo dove riportato nel codice Java.
XmlRpcClientConfigImpl autenticazione = new XmlRpcClientConfigImpl(); XmlRpcClientConfigImpl getPaline = new XmlRpcClientConfigImpl(); int palina = 70720; try { autenticazione.setServerURL(new URL("http://muovi.roma.it/ws/xml/autenticazione/1")); XmlRpcClient client = new XmlRpcClient(); client.setConfig(autenticazione); String key = "INSERIRE_CHIAVE_SVILUPPATORE"; Object[] params = new Object[]{new String(key), ""}; String token = (String) client.execute("autenticazione.Accedi", params); System.out.println("this is token : " + token); getPaline.setServerURL(new URL("http://muovi.roma.it/ws/xml/paline/7")); XmlRpcClient clientPaline = new XmlRpcClient(); clientPaline.setConfig(getPaline); Object[] params_2 = new Object[]{token, new Integer(palina), "eng"}; HashMap result2 = (HashMap) clientPaline.execute("paline.Previsioni", params_2); System.out.println(result2); } catch (XmlRpcException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } |
Per utilizzare tale codice occorre impostare la seguente dipendenza Maven:
<!-- http://ws.apache.org/xmlrpc/client.html --> <dependency> <groupid>org.apache.xmlrpc</groupid> <artifactid>xmlrpc-client</artifactid> <version>3.1.3</version> </dependency> |