Panoramica
Il Programma per gli sviluppatori Intel AppUp(SM) include un meccanismo di autorizzazione che assicura che un'applicazione possa essere acquistata o ottenuta legalmente tramite il centro Intel AppUp(SM). Si tratta di un processo di runtime dinamico che consente a un'applicazione, in fase di avvio, di determinare se l'utente nonché il dispositivo corrente siano autorizzati ad eseguirla. È inoltre necessario completare un passaggio di inizializzazione prima dell'autorizzazione che imposta la comunicazione tra l'applicazione e i componenti Intel.
Agente Client e Framework di Backend
Per completare l'autorizzazione e altre funzionalità del framework, nel dispositivo utilizzato dall'utente è in esecuzione in locale un agente client headless. Quando l'applicazione tenta di inizializzare i componenti Intel e autorizzare l'utente, l'agente client interviene e gestisce la richiesta o trasferisce richieste e risposte tra l'infrastruttura di backend Intel e l'applicazione. L'infrastruttura di backend è il componente che effettivamente autorizza o rifiuta l'esecuzione dell'applicazione. Questa operazione viene essenzialmente eseguita tenendo traccia di un ApplicationID e un UserID, che identificano il dispositivo richiedente e quindi stabiliscono se esiste una corrispondenza. L'ApplicationID è un ID univoco emesso da Intel per una specifica applicazione, che viene generato durante il processo di invio dell'applicazione. L'UserID e l'identificazione sistema vengono gestiti internamente dall'infrastruttura del Programma per gli sviluppatori Intel AppUp e non sono esposti all'applicazione. Tra l'altro, a scopo di debug, nell'SDK Intel AppUp™ è disponibile uno strumento, Application Debug and Test Service (ADTS), che emula l'agente client e restituisce l'esito positivo per l'inizializzazione e altre chiamate a metodi dell'SDK.
Inizializzazione
Il primo passaggio da completare prima di tentare l'autorizzazione o di utilizzare qualsiasi altra funzionalità dell'SDK Intel AppUp consiste nell'inizializzare l'agente client Intel. Questa operazione viene eseguita in modi diversi a seconda del linguaggio scelto. Ad esempio, in C viene effettuata una semplice chiamata a un metodo, mentre nell'SDK C++/.NET* l'inizializzazione viene eseguita nel costruttore. Dopo la restituzione dell'esito positivo, è sufficiente continuare l'esecuzione dell'applicazione. Possono tuttavia verificarsi diversi stati di errore, tra cui l'assenza dell'agente client Intel. È importante rilevare un tentativo di inizializzazione non riuscito, avvertire l'utente e quindi riprovare o terminare l'esecuzione dell'applicazione. Infatti, se si ignora un'inizializzazione non riuscita, intenzionalmente o meno, il processo di convalida Intel non verrà superato. Per ulteriori dettagli, vedere il riferimento al linguaggio dell'SDK appropriato.
Autorizzazione
Il passaggio successivo consiste nel completare il processo di autorizzazione. Come accennato in precedenza, questa operazione viene eseguita dalla chiamata dell'applicazione all'agente client Intel, che a sua volta contatta l'infrastruttura di backend Intel per ottenere l'autorizzazione effettiva. Il processo di autorizzazione deve essere completato ogni volta che l'applicazione viene eseguita. Se riesce, l'autorizzazione non deve essere ricontrollata durante la sessa esecuzione, in quanto una volta è considerata sufficiente. I dettagli su come eseguire questa operazione variano in base al linguaggio. Per un'applicazione C, viene effettuata una chiamata a un metodo, ADP_IsAuthorized. Nell'SDK C++/.NET*, l'autorizzazione si verifica automaticamente nella costruzione dell'oggetto Application. Viene quindi effettuata una chiamata a GetAuthorizationStatus per ottenere il risultato. Per ulteriori dettagli su entrambi i casi, vedere il riferimento al linguaggio dell'SDK appropriato. Dopo il completamento del processo di autorizzazione, sono possibili diversi stati: l'esecuzione dell'applicazione è autorizzata, non è autorizzata oppure si verifica uno di diversi stati di errore. Se è autorizzata, l'esecuzione dell'applicazione può continuare, con la chiamata ad altri metodi del Programma per gli sviluppatori Intel AppUp o seguendo il normale flusso del programma. In questo caso, non è necessario avvertire l'utente. Se l'esecuzione dell'applicazione non è autorizzata, l'utente deve essere avvertito e l'esecuzione deve essere terminata. Se si riscontra uno dei vari stati di errore, è necessario avvertire l'utente e possibilmente tentare di risolvere lo stato e riprovare. Se non è possibile risolvere lo stato di errore, l'esecuzione dell'applicazione deve terminare. È importante rilevare uno stato di mancata autorizzazione o di errore e agire di conseguenza. Infatti, se si tenta di continuare l'esecuzione dell'applicazione senza risolvere uno di questi stati, l'applicazione non supererà il processo di convalida Intel.
Casi speciali
Componenti
Un caso speciale di autorizzazione riguarda i componenti. Nel contesto del Programma per gli sviluppatori Intel AppUp, i componenti sono librerie di codice utile che di per se stesse non costituiscono un'applicazione. Vengono distribuiti tramite il portale del Programma per gli sviluppatori Intel AppUp da altri sviluppatori che li includono nelle proprie applicazioni. Poiché i componenti sono entità separate che è possibile acquistare, devono essere sottoposti anch'essi al processo di autorizzazione. La differenza dell'autorizzazione tra applicazioni e componenti può essere illustrata in questo modo: l'autorizzazione per un'applicazione equivale a chiedere se l'utente e il dispositivo sono autorizzati a eseguire l'applicazione, mentre l'autorizzazione per un componente equivale a chiedere se l'applicazione è autorizzata a utilizzare il componente. A parte questa differenza di prospettiva, il processo di autorizzazione per i componenti è concettualmente identico a quello per le applicazioni. Esistono alcune differenze nei nomi dei metodi e nei valori restituiti, come indicato nel riferimento al linguaggio dell'SDK.
Applicazioni open source
Un altro caso che richiede considerazioni speciali è quello dei progetti open source. Nella maggior parte dei casi non è richiesta alcuna autorizzazione. È abbastanza ovvio, considerando il fatto che l'ApplicationID, su cui si basa la sicurezza, sarebbe esposto al mondo intero e quindi diventerebbe completamente inefficace. Tuttavia, un caso da tenere presente è quello di un'applicazione open source che utilizza un componente proprietario. Attualmente questo caso non è supportato a causa dei problemi riguardanti l'autorizzazione. In generale, i progetti open source non devono necessariamente integrare l'SDK Intel AppUp per superare la convalida e l'utilizzo dell'SDK è opzionale in base agli obiettivi dei singoli progetti.
Conclusioni
I processi di inizializzazione e autorizzazione del Programma per gli sviluppatori Intel AppUp sono funzionalità di manutenzione facili da eseguire. Se si comprendono e si implementano correttamente i concetti architetturali descritti sopra sarà possibile non solo superare il processo di convalida Intel ma anche proteggere la licenza e i contratti di utilizzo tra l'utente, la relativa organizzazione e Intel. Per ulteriori informazioni e dettagli, visitare il sito Web del Programma per gli sviluppatori Intel AppUp all'indirizzo http://appdeveloper.intel.com/it-it/ e il sito Web Intel AppUp all'indirizzo http://www.appup.com/applications/index.
