SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Market e Tools: Utility
per la personalizzazione
di applicazioni Android

 Presentata da: Andrea Pola
   Relatore: Vittorio Ghini
Introduzione
• A chi si rivolge questa tesi?
   Agli sviluppatori che devono realizzare applicazioni
    mobile per terzi
• Di cosa parla?
   Costruire codice modulare utile per rilasciare uno
    stesso progetto a diversi clienti
   Realizzare un sistema online che permetta
    direttamente al cliente di costruire una
    applicazione mobile
Obiettivi della tesi
Ottenere un’analisi completa per Android
Analizzare lo stato dell’arte
Mostrare le scelte discutibili adottate dai
 sistemi commerciali
Realizzare un webservice di demo per Android
Mostrare che il tema è tutt’ora in evoluzione
Personalizzazione di applicazioni
•   E’ una tecnica che permette il riutilizzo di un
    progetto base, attraverso l’uso di codice modulare,
    per realizzare applicazioni per diversi clienti con
    necessità simili
• Come?
    – Attraverso l’uso di un applicazione base che
      rappresenti le necessità comuni ai clienti
    – Attraverso un file di configurazione che
      rappresenti i dati caratteristici del cliente: ad
      esempio, brand, dati fiscali…
Personalizzazione di applicazioni:
• Come fornire questo servizio?
   – Una soluzione potente è tramite webservice
• Vantaggi:
   – per il cliente: autonomia, velocità ,diminuzione dei costi
   – per lo sviluppatore: diminuzione dei costi di produzione,
     soddisfare molti clienti rapidamente, riuso di progetti
• Cosa permette di fare?
   – Permette a diversi tipi di commercianti di fornire piccoli
     servizi e semplici applicazioni in maniera autonoma sul
     market, ad esempio Android
Webservice: Schema di funzionamento




 Il cliente customizzatore inserisce i dati in input e compone la propria
applicazione attraverso i moduli disponibili
 Il webservice genera l’applicazione personalizzata e la rilascia attraverso
l’interfaccia di output
 Tale applicazione è disponibile al cliente che può cosi rappresentare la
propria azienda sul market.
Problemi da affrontare
• Tecnici:
  – … compilazione live,compilazioni concorrenti: affrontati in
    modo completo nella tesi
• Progettuali: Paternità dell’applicazione creata.
  – In Android, per il rilascio sul market è necessario firmare
    l’app con un chiave privata reale. A chi è legata questa
    chiave?
  – Normalmente queste firme legano il proprietario
    all’applicazione
  – Si prospettano due scelte: o allo sviluppatore oppure al
    cliente.
Scelte progettuali possibili
1. Rilascio dell’applicazione con una chiave generata per conto del cliente

2. Rilascio dell’applicazione con una chiave caricata dal cliente stesso

3. Rilascio dell’applicazione non firmata e di un tool per la firma assistita

4. Rilascio dell'applicazione firmata dal proprietario del Web Service

Scelta                 Vantaggi                                  Svantaggi

1        Semplice                                Gestione di dati e chiavi private di terzi

2        Semplice                                Gestioni di chiavi private di terzi
3        Formale                                 Soluzione non immediata per il cliente
4        Trasparente                             Potenziali problemi di responsabilità
1,2 Non rispettano la definizione di chiave privata. 4 ha potenziali problemi di
responsabilità. Google Stesso sottolinea che la chiave privata deve essere mantenuta
in un posto sicuro…. Ma analizziamo nel dettaglio..
Scelte progettuali possibili: analisi


• Le scelte progettuali 1 e 2 non rispettano il principio di chiave
  privata. L’utente sta fornendo la chiave al webservice (terzi):
   – In caso di furto, malintenzionati potrebbero generare certificati o app
     a nome dei clienti!
• La scelta 4 invece appare semplice ma nasconde un problema:
   – Il cliente costruisce un’applicazione che realizza le stesse funzionalità
     di un’altra già pubblicata violando copyright
   – Adottando la scelta 4, l’applicazione è firmata dal proprietario del
     webservice.
   – In caso di denuncia, che responsabilità ha il firmatario?
• Pare essere la scelta progettuale n. 3 la preferita
Stato dell’arte: scelte adottate dai
             sistemi commerciali
Servizio                     Scelta progettuale
Mit App Inventor             2
AppsBuilder                  4



• Nessuno dei sistemi commerciali adotta la scelta 3.
• Eppure AppsBuilder ha raggiunto un grande successo
  a livello internazionale …
• E’ chiaro dallo stato dell’arte come sia ancora
  informale l’uso delle firme in ambiente Android e
  come la scelta progettuale migliore sia da valutare in
  funzione del’usabilità da parte dell’utente
Demo
Caso d’uso:
•Utente A ha un'azienda web
e vuole pubblicare un suo
servizio web mobile sul
market Android a costo
ridotto senza riscrivere
l'applicazione in modo nativo.
• Si reca sul Web Service,
inserisce l'url del suo servizio
web e il nome
dell'applicazione.
• A questo punto il sistema
Personalizza l'applicazione
Base (Webview in questo
caso) e Utente A ottiene
senza sforzo un modo per
essere nel market Android
senza nuovi costi.
Funzionamento
Punti critici :
Sono elencati i punti critici, per
la sicurezza dei dati e del
sistema. Che necessitano di
attenzione durante lo sviluppo.
1. comunicazione verso shell
2. deposito in directory
      temporanea
3. Reperimento della
      applicazione per il
      download




                                     Lettura schema: dall’alto al basso
Conclusione
• In questa tesi si sono date le basi tecniche e
  concettuali per la personalizzazione di
  applicazioni Android, arrivando allo sviluppo di un
  semplice esempio di webservice.

• Si sono mostrate le scelte progettuali discutibili
  adottate in commercio. Mostrando che il
  concetto di firma anche se obbligatorio non è
  ancora del tutto formalizzato nella piattaforma
  Android: lo stesso market per ora non effettua
  controlli fra firma dell’applicazione e account di
  pubblicazione.

Más contenido relacionado

Similar a Market e Tools: Utility per la personalizzazione di applicazioni Android

Caso di studio: il CIO solitario
Caso di studio:   il CIO solitarioCaso di studio:   il CIO solitario
Caso di studio: il CIO solitarioAndrea Colleoni
 
Aziende Fornitori Web2.0
Aziende Fornitori Web2.0Aziende Fornitori Web2.0
Aziende Fornitori Web2.0Gabriella
 
Sviluppare una app mobile net oriented
Sviluppare una app mobile net orientedSviluppare una app mobile net oriented
Sviluppare una app mobile net orientedAlessandro Morvillo
 
Soluzioni in Cloud Computing: il punto di vista dei potenziali clienti: dubbi...
Soluzioni in Cloud Computing: il punto di vista dei potenziali clienti: dubbi...Soluzioni in Cloud Computing: il punto di vista dei potenziali clienti: dubbi...
Soluzioni in Cloud Computing: il punto di vista dei potenziali clienti: dubbi...VMEngine
 
Na.atm specificadeirequisiti.docx.
Na.atm specificadeirequisiti.docx.Na.atm specificadeirequisiti.docx.
Na.atm specificadeirequisiti.docx.Dario Contini
 
OpenGeoData 2014 - Gianfranco Netti "Fare business con gli Opendata è diffici...
OpenGeoData 2014 - Gianfranco Netti "Fare business con gli Opendata è diffici...OpenGeoData 2014 - Gianfranco Netti "Fare business con gli Opendata è diffici...
OpenGeoData 2014 - Gianfranco Netti "Fare business con gli Opendata è diffici...OpenGeoDataItalia
 
App Mobile Powerapps
App Mobile PowerappsApp Mobile Powerapps
App Mobile PowerappsGiuneco S.r.l
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione AvanzataStefano Sanna
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store appsDotNetCampus
 
meetHub! di Social Hub Genova - Come creare una App di Successo - Michele Fe...
meetHub! di Social Hub Genova -  Come creare una App di Successo - Michele Fe...meetHub! di Social Hub Genova -  Come creare una App di Successo - Michele Fe...
meetHub! di Social Hub Genova - Come creare una App di Successo - Michele Fe...Social Hub Genova
 
Open source e cloud per il non profit - settembre 2016 -
Open source e cloud per il non profit - settembre 2016 -Open source e cloud per il non profit - settembre 2016 -
Open source e cloud per il non profit - settembre 2016 -Claudio Tancini
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGiacomoZorzin
 

Similar a Market e Tools: Utility per la personalizzazione di applicazioni Android (20)

Caso di studio: il CIO solitario
Caso di studio:   il CIO solitarioCaso di studio:   il CIO solitario
Caso di studio: il CIO solitario
 
Aziende Fornitori Web2.0
Aziende Fornitori Web2.0Aziende Fornitori Web2.0
Aziende Fornitori Web2.0
 
OpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studioOpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studio
 
Sviluppare una app mobile net oriented
Sviluppare una app mobile net orientedSviluppare una app mobile net oriented
Sviluppare una app mobile net oriented
 
UserPie
UserPieUserPie
UserPie
 
BITWEEN_B2B_Presentation
BITWEEN_B2B_PresentationBITWEEN_B2B_Presentation
BITWEEN_B2B_Presentation
 
Open source in azienda
Open source in aziendaOpen source in azienda
Open source in azienda
 
Soluzioni in Cloud Computing: il punto di vista dei potenziali clienti: dubbi...
Soluzioni in Cloud Computing: il punto di vista dei potenziali clienti: dubbi...Soluzioni in Cloud Computing: il punto di vista dei potenziali clienti: dubbi...
Soluzioni in Cloud Computing: il punto di vista dei potenziali clienti: dubbi...
 
Na.atm specificadeirequisiti.docx.
Na.atm specificadeirequisiti.docx.Na.atm specificadeirequisiti.docx.
Na.atm specificadeirequisiti.docx.
 
Os crm - presales
Os   crm - presalesOs   crm - presales
Os crm - presales
 
OpenGeoData 2014 - Gianfranco Netti "Fare business con gli Opendata è diffici...
OpenGeoData 2014 - Gianfranco Netti "Fare business con gli Opendata è diffici...OpenGeoData 2014 - Gianfranco Netti "Fare business con gli Opendata è diffici...
OpenGeoData 2014 - Gianfranco Netti "Fare business con gli Opendata è diffici...
 
App Mobile Powerapps
App Mobile PowerappsApp Mobile Powerapps
App Mobile Powerapps
 
Tesina ITS final
Tesina ITS finalTesina ITS final
Tesina ITS final
 
Tesina ITS final
Tesina ITS finalTesina ITS final
Tesina ITS final
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
 
meetHub! di Social Hub Genova - Come creare una App di Successo - Michele Fe...
meetHub! di Social Hub Genova -  Come creare una App di Successo - Michele Fe...meetHub! di Social Hub Genova -  Come creare una App di Successo - Michele Fe...
meetHub! di Social Hub Genova - Come creare una App di Successo - Michele Fe...
 
Open source e cloud per il non profit - settembre 2016 -
Open source e cloud per il non profit - settembre 2016 -Open source e cloud per il non profit - settembre 2016 -
Open source e cloud per il non profit - settembre 2016 -
 
Visaggio fd l13_9_18
Visaggio fd l13_9_18Visaggio fd l13_9_18
Visaggio fd l13_9_18
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
 

Market e Tools: Utility per la personalizzazione di applicazioni Android

  • 1. Market e Tools: Utility per la personalizzazione di applicazioni Android Presentata da: Andrea Pola Relatore: Vittorio Ghini
  • 2. Introduzione • A chi si rivolge questa tesi?  Agli sviluppatori che devono realizzare applicazioni mobile per terzi • Di cosa parla?  Costruire codice modulare utile per rilasciare uno stesso progetto a diversi clienti  Realizzare un sistema online che permetta direttamente al cliente di costruire una applicazione mobile
  • 3. Obiettivi della tesi Ottenere un’analisi completa per Android Analizzare lo stato dell’arte Mostrare le scelte discutibili adottate dai sistemi commerciali Realizzare un webservice di demo per Android Mostrare che il tema è tutt’ora in evoluzione
  • 4. Personalizzazione di applicazioni • E’ una tecnica che permette il riutilizzo di un progetto base, attraverso l’uso di codice modulare, per realizzare applicazioni per diversi clienti con necessità simili • Come? – Attraverso l’uso di un applicazione base che rappresenti le necessità comuni ai clienti – Attraverso un file di configurazione che rappresenti i dati caratteristici del cliente: ad esempio, brand, dati fiscali…
  • 5. Personalizzazione di applicazioni: • Come fornire questo servizio? – Una soluzione potente è tramite webservice • Vantaggi: – per il cliente: autonomia, velocità ,diminuzione dei costi – per lo sviluppatore: diminuzione dei costi di produzione, soddisfare molti clienti rapidamente, riuso di progetti • Cosa permette di fare? – Permette a diversi tipi di commercianti di fornire piccoli servizi e semplici applicazioni in maniera autonoma sul market, ad esempio Android
  • 6. Webservice: Schema di funzionamento  Il cliente customizzatore inserisce i dati in input e compone la propria applicazione attraverso i moduli disponibili  Il webservice genera l’applicazione personalizzata e la rilascia attraverso l’interfaccia di output  Tale applicazione è disponibile al cliente che può cosi rappresentare la propria azienda sul market.
  • 7. Problemi da affrontare • Tecnici: – … compilazione live,compilazioni concorrenti: affrontati in modo completo nella tesi • Progettuali: Paternità dell’applicazione creata. – In Android, per il rilascio sul market è necessario firmare l’app con un chiave privata reale. A chi è legata questa chiave? – Normalmente queste firme legano il proprietario all’applicazione – Si prospettano due scelte: o allo sviluppatore oppure al cliente.
  • 8. Scelte progettuali possibili 1. Rilascio dell’applicazione con una chiave generata per conto del cliente 2. Rilascio dell’applicazione con una chiave caricata dal cliente stesso 3. Rilascio dell’applicazione non firmata e di un tool per la firma assistita 4. Rilascio dell'applicazione firmata dal proprietario del Web Service Scelta Vantaggi Svantaggi 1 Semplice Gestione di dati e chiavi private di terzi 2 Semplice Gestioni di chiavi private di terzi 3 Formale Soluzione non immediata per il cliente 4 Trasparente Potenziali problemi di responsabilità 1,2 Non rispettano la definizione di chiave privata. 4 ha potenziali problemi di responsabilità. Google Stesso sottolinea che la chiave privata deve essere mantenuta in un posto sicuro…. Ma analizziamo nel dettaglio..
  • 9. Scelte progettuali possibili: analisi • Le scelte progettuali 1 e 2 non rispettano il principio di chiave privata. L’utente sta fornendo la chiave al webservice (terzi): – In caso di furto, malintenzionati potrebbero generare certificati o app a nome dei clienti! • La scelta 4 invece appare semplice ma nasconde un problema: – Il cliente costruisce un’applicazione che realizza le stesse funzionalità di un’altra già pubblicata violando copyright – Adottando la scelta 4, l’applicazione è firmata dal proprietario del webservice. – In caso di denuncia, che responsabilità ha il firmatario? • Pare essere la scelta progettuale n. 3 la preferita
  • 10. Stato dell’arte: scelte adottate dai sistemi commerciali Servizio Scelta progettuale Mit App Inventor 2 AppsBuilder 4 • Nessuno dei sistemi commerciali adotta la scelta 3. • Eppure AppsBuilder ha raggiunto un grande successo a livello internazionale … • E’ chiaro dallo stato dell’arte come sia ancora informale l’uso delle firme in ambiente Android e come la scelta progettuale migliore sia da valutare in funzione del’usabilità da parte dell’utente
  • 11. Demo Caso d’uso: •Utente A ha un'azienda web e vuole pubblicare un suo servizio web mobile sul market Android a costo ridotto senza riscrivere l'applicazione in modo nativo. • Si reca sul Web Service, inserisce l'url del suo servizio web e il nome dell'applicazione. • A questo punto il sistema Personalizza l'applicazione Base (Webview in questo caso) e Utente A ottiene senza sforzo un modo per essere nel market Android senza nuovi costi.
  • 12. Funzionamento Punti critici : Sono elencati i punti critici, per la sicurezza dei dati e del sistema. Che necessitano di attenzione durante lo sviluppo. 1. comunicazione verso shell 2. deposito in directory temporanea 3. Reperimento della applicazione per il download Lettura schema: dall’alto al basso
  • 13. Conclusione • In questa tesi si sono date le basi tecniche e concettuali per la personalizzazione di applicazioni Android, arrivando allo sviluppo di un semplice esempio di webservice. • Si sono mostrate le scelte progettuali discutibili adottate in commercio. Mostrando che il concetto di firma anche se obbligatorio non è ancora del tutto formalizzato nella piattaforma Android: lo stesso market per ora non effettua controlli fra firma dell’applicazione e account di pubblicazione.