USERNAME:
PASSWORD:
La mia applicazione gira su Google
Google App Engine è un servizio di hosting per applicazioni Web. È indirizzato agli sviluppatori e permette di avere spazio, disponibilità di banda, strumenti di sviluppo e un pannello di controllo per gestire la propria applicazione in modo efficace e scalabile. Ma non solo: Google App Engine è gratuito per il piano di base e la piattaforma su cui girano le applicazioni create è la stessa su cui girano molti servizi di Google, come ad esempio Gmail o lo stesso motore di ricerca. Con Google App Engine si ha a disposizione insomma una delle migliori, se non la migliore, infrastruttura Web presente sul mercato e non doversi preoccupare più di problemi di scalabilità, configurazione di server, affitto delle macchine e così via: basta iscriversi al servizio, scaricare il tool di sviluppo, scrivere l'applicazione e caricarla sui server.

Le applicazioni costruite con Google App Engine saranno visibili su un dominio del tipo appspot.com oppure possono essere ospitate sul proprio dominio attraverso l'uso di Google Apps, l'applicazioni di servizi Web (calendario, e-mail, siti personali) di Google.


Google App engine è un servizio di hosting per applicazioni Web. Il piano di base è gratuito

Al momento le applicazioni per App Engine possono essere sviluppate con Python ma è previsto in futuro l'introduzione di altri linguaggi come PHP o Ruby. Per funzionare, oltre ad un Google account gratuito, è necessario scaricare il Google App Engine software development kit (SDK) da qui. Il software, disponibile per piattaforme Windows, Linux e Mac OS X, contiene un Web server che simula quello contenuto nell'App Engine, una versione locale del database ed è l'unico modo per inviare ai server di Google le applicazioni create. L'SDK è scritto in Python e dunque sul sistema deve essere presente una versione, al minimo 2.5, di questo ambiente di programmazione: la si scarica, sempre gratuitamente, da qui.

Bsop è una delle applicazioni create con Google App: consente di disegnare su uno spazio infinito qualsiasi cosa

L'ambiente

L'ambiente in cui vengono eseguite le applicazioni è una Sandbox astratta dal sistema operativo su cui è installata. Le applicazioni non possono in questo modo né scrivere file sul sistema né utilizzare metodi e procedure non espressamente autorizzate. I collegamenti per il recupero dei dati avvengono, come si dice, in the cloud ossia all'interno della rete Internet: un'applicazione, usando le dovute API, può eseguire richieste e ricevere risposte da altri servizi Web presenti sul Web. I dati gestiti dall'applicazione vengono invece gestiti da un servizio di archiviazione chiamato Datastore. App Engine supporta le librerie di terze parti, a patto che non richiedano moduli non standard, e può essere anche utilizzato con Django, il framework per Python che consente di rendere più veloce e semplice lo sviluppo di applicazioni Web. L'uso con Django in App Engine, leggermente differente dal comportamento normale, è ben documentato e per utilizzarlo non c'è bisogno di nessuna installazione: basta richiamare i moduli all'interno dell'applicazione come se si stesse utilizzando il framework. È possibile anche utilizzare la versione di sviluppo ma in questo caso sarà necessario estrarre i file del suo archivio all'interno della radice dell'applicazione da creare. Inoltre Google ha incluso in App Engine un altro framework, sviluppato internamente, chiamato Webapp. Scegliere o l'uno o l'altro è questione di necessità o di gusti.

Django è il diffuso framework di sviluppo per Python integrato in Google App engine.

Le API

Google App Engine fornisce all'utente delle API da usare per compiere alcune specifiche funzioni. Innovativa e comoda è la Users Api che, per coloro che non vogliono creare un sistema di gestione utenti personalizzato, permette di utilizzare i Google Account per i servizi di autenticazione della propria applicazione. Con poche righe di codice si avrà accesso al sistema di login di Google, comprensivo di strumenti per la gestione della password, captcha antispam accessibili e così via. Tra le altre API disponibili ricordiamo la URL Fetch per il recupero di URL dal Web attraverso protocolli HTTP o HTTPS, la Images API per manipolare le immagini conservate nell'applicazione, la Mail API per inviare messaggi di posta elettronica senza dover impostare un proprio mail server e la Memcache API che consente di salvare in cache dei risultati delle interrogazioni al database risparmiando tempo e aumentando la velocità dell'applicazione.

La documentazione è molto ricca di esempi pratici, in perfetto stile Google

Il database

Assieme al server Web e alla piattaforma di sviluppo, Google App Engine mette a disposizione anche un database chiamato, nel linguaggio di Google, Datastore. Il nome sta anche a differenziare questo sistema dai database classici utilizzati nelle applicazioni Web: Datastore non è infatti un database relazionale ma un database costruito sulle fondamenta di BigTable, il grande archivio di dati utilizzato dal motore di ricerca in molti dei suoi servizi più complessi. A differenza dei database alla MySQL i dati non sono conservati in righe e colonne e non devono esserci schemi di tabelle precostituiti; i dati vengono salvati come entità con particolari proprietà e il loro modello può essere creato al volo a mano a mano che l'applicazione cresce. Il principale vantaggio è che un database di tal genere consente la progettazione di applicazioni complesse e scalabili: in un database relazionale più l'applicazione cresce più diventa problematico gestire relazioni fra tabelle diverse. È una tecnologia le cui radici non sono moderne ma che sta emergendo con grande prepotenza con l'evoluzione del Web verso scenari sempre più complessi, scenari che un database relazione non può soddisfare a pieno. Poiché non utilizza una struttura relazionale Datastore non è compatibile con SQL ma utilizza un linguaggio proprietario di Google chiamato GQL, modellato comunque sul più classico linguaggio di query.

La console di amministrazione

Ogni account di Google App Engine ha anche un pannello di controllo molto raffinato. Oltre a gestire il versioning delle applicazioni, il pannello di controllo consente di visualizzare le performance dell'applicazione, il consumo di risorse e i log. Dal pannello di controllo si visualizzano, si modificano e si cancellano i dati conservati nel Datastore e si eseguono le query utilizzando GQL. Sempre dal pannello si configura il sito in cui presentare l'applicazione e si aggiungono gli sviluppatori autorizzati ad operare sul codice. Tutto l'ambiente è molto semplice da usare, anche se ancora un po' spartano, comunque sempre in perfetto stile Google.

La console di documentazione permette di controllare configurazione e prestazioni dell'applicazione

Come si usa

L'intera piattaforma è ben documentata ed online è disponibile una guida di primo utilizzo che aiuta, passo passo, a creare la prima applicazione di base. Questa, dopo essere stata creata direttamente all'interno del proprio IDE preferito e strutturata in locale, deve essere inviata al server attraverso il programma appcfg.py contenuto nell'SDK. Il programma gestisce l'autenticazione dell'utente e l'upload dell'intera applicazione che, ad ogni invio, verrà segnata con un numero di versione differente. Sempre sul sito ufficiale del progetto sono disponibili un forum di supporto e diversi articoli di approfondimento per le tematiche principali. Novità e annunci si seguono sul blog.

0 Commenti | Permalink | Trackback
Tag: back end  google app engine
Segnala a                                      
Lascia un commento
Nome     Posta elettronica
URL       Ricorda informazioni personali
Commenti
   
Type the characters you see in the picture above.
Articoli simili

Indice principale
Archivi