3. ● Iaas: Utilizzo di risorse
hardware in remoto
● PaaS: virtualizzazione
di una piattaforma
● SaaS: utilizzo di
programmi installati su
un server remoto
Intro: Cloud Computing
SaaS
PaaS
IaaS
Gmail
Salesforce
Google App Engine
Windows Azure
Amazon AWS
Google Compute
Engine
4. Google App Engine is a Platform as a Service
(PaaS) offering that lets you build and run
applications on Google’s infrastructure
Intro: Cos’è App Engine
8. Creare un’applicazione
2) Creare una nuova applicazione:
Il PROJECT ID deve
essere univoco rispetto
a tutte le altre
applicazioni esistenti
poiché identifica l’
applicazione all’interno
della piattaforma e
comporrà la parte iniziale
dell’URL della vostra
web app.
10. La Dashboard del progetto
API & AUTH: attivazione delle API dei servizi Google che la
nostra applicazione andrà ad utilizzare
11. La Dashboard del progetto
SOURCE CODE: il codice sorgente della nostra applicazione
può essere hostato in un repository git all’interno del
progetto stesso
12. La Dashboard del progetto
APP ENGINE: pannello di controllo della nostra app, dal
quale possiamo modificare le impostazioni. visionare i log, il
numero di richieste processate, ecc ecc...
13. La Dashboard del progetto
STORAGE: accesso ai servizi di memorizzazione di dati
14. Sviluppare una web app
1. Scaricare la Google App Engine SDK (Java,
Python, Php, Go)
1.1. per Java, è disponibile anche un plugin
per Eclipse
2. Sviluppare l’applicazione
3. Testare in locale
4. Deploy!
5. Visualizzare l’applicazione online
15. Sviluppare una web app: JAVA
1) Google App Engine SDK:
- https://developers.google.com/appengine/downloads per
scaricare la plugin sdk.
- http://dl.google.com/eclipse/plugin/4.3* update site per il
plugin di Eclipse. In questo caso la Plugin SDK è compresa
nel plugin.
* Update site per Eclipse Kepler. Per le versioni precedenti basta cambiare il numero di versione
alla fine dell’url. Per Luna, l’ultima versione di Eclipse, ancora qualche giorno di pazienza….
16. Sviluppare una web app: JAVA
1) Google App Engine SDK:
collegare eclipse con la cloud
console:
17. Sviluppare una web app: JAVA
2) Sviluppare l’applicazione: creiamo un nuovo progetto App
Engine
18. Sviluppare una web app: JAVA
2) Sviluppare l’applicazione:
creiamo un nuovo progetto
App Engine.
A. Selezioniamo la versione
dell’SDK
B. Indichiamo l’id dell’
applicazione che abbiamo
creato precedentemente
19. Sviluppare una web app: JAVA
2) Sviluppare l’applicazione:
creiamo un nuovo progetto
App Engine.
A. Selezioniamo la versione
dell’SDK
B. Indichiamo l’id dell’
applicazione che
abbiamo creato
precedentemente
20. Sviluppare una web app: JAVA
2) Sviluppare l’applicazione:
anatomia del progetto.
Una classica applicazione
web Java
21. Sviluppare una web app: JAVA
2) Sviluppare l’applicazione:
anatomia del progetto.
Una classica applicazione
web Java
Con un file in più:
22. Sviluppare una web app: JAVA
2) Sviluppare l’applicazione: appengine-web.xml
- Un file dove è indicato:
1. il PROJECT ID dell’applicazione
2. la versione corrente
3. le altre impostazioni specifiche di App Engine
23. Sviluppare una web app: JAVA
2) Sviluppare l’applicazione: HelloWorldServlet
24. Sviluppare una web app: JAVA
3) Testare in locale: eseguire il Dev App Server cliccando su
* oppure Run As->Web Application
A. Indirizzo locale della nostra applicazione
B. Indirizzo locale del nostro pannello di controllo
(versione “light” della dashboard online)
* Non è corretto, sappiamo tutti che dobbiamo lanciare il debugger vero??
25. Sviluppare una web app: JAVA
3) Testare in locale: eseguire il Dev App Server cliccando su
* oppure Run As->Web Application
A. Indirizzo locale della nostra applicazione
B. Indirizzo locale del nostro pannello di controllo
(versione “light” della dashboard online)
* Non è corretto, sappiamo tutti che dobbiamo lanciare il debugger vero??
28. Sviluppare una web app: JAVA
5) Visualizzare l’applicazione online:
- http[s]://<PROJECT_ID>.appspot.com è l’indirizzo della
nostra applicazione, che punta alla versione di default
- http[s]://<VERSIONE>.<PROJECT_ID>.appspot.com è l’
indirizzo della nostra applicazione che punta ad una certa
versione specifica