Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Dubbi su utilizzo web service

    Ciao a tutti,
    non so se è la sezione corretta perchè la mia domanda è un po' "ibrida" quindi se è il caso chiedo ai moderatori di spostare. Comunque, sto realizzando la mia prima applicazione per android ed ho scelto un'architettura classica a tre livelli ovvero DB (Mysql), Web Service (Java), e Application Layer (app android). Lo scopo è quello di inserire la logica applicativa interamente su web service in modo da poter estendere il progetto ad altri application layer come iOS e Windows. Purtroppo non ho mai realizzato un web service prima d'ora e avrei alcune domande da farvi in merito:
    1) Nel momento in cui si utilizza il web service come livello contenente la logica di business, le classi dove sono contenute? Nel senso, il web service va gestito come una dll da cui posso attingere sia ai metodi che alle classi o posso richiamare solo metodi utilizzando parametri tipizzati in modo primitivo?
    2) Ci sono svantaggi nell'utilizzare i web services nelle applicazioni android?

    Grazie in anticipo per le eventuali risposte.

  2. #2
    ciao!

    ti do una risposta generica prima che qualcuno si spieghi sicuramente meglio!

    partendo dal punto 2, dipende soprattutto dalla app stessa.
    se la app deve attingere a dati in remoto, e vuoi che quei dati siano usabili anche da app per ios, windows, ecc, allora la tua strada è quella giusta.
    in questo modo, puoi usare quei dati da qualsiasi altro programma, anche per desktop o web se vuoi.

    per il punto uno, sinceramente non ho ben capito il tuo dubbio.
    da una parte avrai le classi java che interrogano il db ed espongono i dati.
    e queste stanno sul server che verrà interrogato.
    dall'altra avrai le tue classi java per la app, che non c'entrano nulla con le prime.

    lo sviluppo, in questi casi, si divide in due.
    una volta sviluppato e testato il web service (qualsiasi linguaggio tu abbia usato che non è importante), dovrai sviluppare le/la app per interrogarlo e usare i suoi dati (e questo lo puoi fare in java per android, swift per ios, oppure javascript usando ionic, e chi più ne ha più ne metta).

  3. #3
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ciao!

    ti do una risposta generica prima che qualcuno si spieghi sicuramente meglio!

    partendo dal punto 2, dipende soprattutto dalla app stessa.
    se la app deve attingere a dati in remoto, e vuoi che quei dati siano usabili anche da app per ios, windows, ecc, allora la tua strada è quella giusta.
    in questo modo, puoi usare quei dati da qualsiasi altro programma, anche per desktop o web se vuoi.

    per il punto uno, sinceramente non ho ben capito il tuo dubbio.
    da una parte avrai le classi java che interrogano il db ed espongono i dati.
    e queste stanno sul server che verrà interrogato.
    dall'altra avrai le tue classi java per la app, che non c'entrano nulla con le prime.

    lo sviluppo, in questi casi, si divide in due.
    una volta sviluppato e testato il web service (qualsiasi linguaggio tu abbia usato che non è importante), dovrai sviluppare le/la app per interrogarlo e usare i suoi dati (e questo lo puoi fare in java per android, swift per ios, oppure javascript usando ionic, e chi più ne ha più ne metta).
    Grazie mille per la risposta, sei stato molto chiaro, io lo sono stato meno in effetti. Giustamente tu evidenzi la differenza tra classi java che interrogano il db e classi java per la app. Il mio dubbio è proprio in merito alle prime. Faccio un esempio, se all'interno del web service ho un metodo di select che restituisce una lista di classi anagrafica, lato app, come farò a riconoscere la classe anagrafica? Cioè, da web service posso esporre le mie classi di dominio o i metodi del web service possono restituire solo tipi primitivi?

  4. #4
    generalmente funziona che i dati li esponi in un formato tipo json o xml.
    volendo puoi anche costruire una api che ti permetta di esporli in entrambi i formati.
    quindi, lato app, tu interrogherai un url tipo (sono esempi fittizi ovviamente):
    -http://www.sito.com/api/json/get_anagrafiche
    -http://www.sito.com/api/json/get_anagrafica/id/VALORE
    -http://www.sito.com/api/json/add_anagrafica/DATI_DA_INVIARE_DALLA_APP

    (ed eventuali varianti xml se le predisponi, o magari solo xml, dipende da te).
    prendi i dati e ne fai il parsing.
    una volta fatto il parsing, li visualizzi in un componente (tipo una ListView ad esempio).
    ma a questo punto, delle classi usate lato server e delle query, alla app non gliene importa molto.
    nel senso che elabora i dati in output dall'url e basta!

    quindi, lato client, il ragionamento è totalmente differente.
    uno (il server) espone i dati presi dal db, e li "codifica" in un formato.
    l'altro (il client / app) prende quei dati e li "decodifica" (parsing) e li visualizza.
    ma c'è differenza tra fare il parsing json e xml.
    quindi prima dovresti decidere anche strada seguire.

  5. #5
    Quote Originariamente inviata da fermat Visualizza il messaggio
    generalmente funziona che i dati li esponi in un formato tipo json o xml.
    volendo puoi anche costruire una api che ti permetta di esporli in entrambi i formati.
    quindi, lato app, tu interrogherai un url tipo (sono esempi fittizi ovviamente):
    -http://www.sito.com/api/json/get_anagrafiche
    -http://www.sito.com/api/json/get_anagrafica/id/VALORE
    -http://www.sito.com/api/json/add_anagrafica/DATI_DA_INVIARE_DALLA_APP

    (ed eventuali varianti xml se le predisponi, o magari solo xml, dipende da te).
    prendi i dati e ne fai il parsing.
    una volta fatto il parsing, li visualizzi in un componente (tipo una ListView ad esempio).
    ma a questo punto, delle classi usate lato server e delle query, alla app non gliene importa molto.
    nel senso che elabora i dati in output dall'url e basta!

    quindi, lato client, il ragionamento è totalmente differente.
    uno (il server) espone i dati presi dal db, e li "codifica" in un formato.
    l'altro (il client / app) prende quei dati e li "decodifica" (parsing) e li visualizza.
    ma c'è differenza tra fare il parsing json e xml.
    quindi prima dovresti decidere anche strada seguire.
    Chiaro, in pratica devo serializzare e deserializzare le classi se non ho capito male.
    Grazie mille, era esattamente questo che volevo sapere.

  6. #6
    il mio consiglio è: crea il web service e rendilo funzionante.
    una volta testato e raggiungibile (generalmente basta anche un browser per vedere se tutto funziona).
    concentrati sulla app.
    in questo modo sai che i dati sono già operativi e disponibili.

    poi, consiglio totalmente personale, tra xml e json io preferisco il secondo.
    mi ci trovo molto meglio!

  7. #7
    Quote Originariamente inviata da fermat Visualizza il messaggio
    il mio consiglio è: crea il web service e rendilo funzionante.
    una volta testato e raggiungibile (generalmente basta anche un browser per vedere se tutto funziona).
    concentrati sulla app.
    in questo modo sai che i dati sono già operativi e disponibili.

    poi, consiglio totalmente personale, tra xml e json io preferisco il secondo.
    mi ci trovo molto meglio!
    Ok, coglierò il tuo consiglio. Grazie di nuovo!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.