2012-05-17 11 views
9

Mi dispiace se questa è una domanda strana. Ho letto molte cose per distribuire il mio server per un'applicazione iphone utilizzando i servizi web di Amazon.Il distributore Token AWS dovrebbe essere distribuito sulla propria istanza o posso unirlo con la mia istanza app?

Il problema che sto affrontando adesso è che voglio usare il sistema Token Vending Machine per dare accesso ai dispositivi mobili per caricare o recuperare oggetti dai loro rispettivi account. Quindi ecco la struttura a cui ho pensato:

1) Il dispositivo si collega al servlet TVM per ottenere l'accesso temporaneo a SimpleDB e S3.

2) Il dispositivo si autenticherà ora da un dominio simpleDB che contiene utenti e password.

3) Il server invierà un ID univoco al dispositivo.

4) Il dispositivo utilizzerà questo ID univoco per caricare una foto su S3.

5) Se la risposta del caricamento ha esito positivo, il dispositivo aggiungerà ora alcune informazioni che includono l'ID univoco e altri campi su SimpleDB.

La mia confusione riguarda le istanze EC2 che richiedo per questo. Penso di poter usare una singola app java con servlet per fare la maggior parte di questa procedura, ma se voglio usare l'autenticazione con il distributore automatico di token dovrei lanciare una seconda istanza? L'esempio di Amazon utilizza la propria istanza per il distributore automatico di token e ottiene semplicemente l'autorizzazione per accedere direttamente ai database. Ma ho bisogno di una logica lato server, motivo per cui ho bisogno della mia elaborazione lato server per reindirizzare questi caricamenti e download.

Inoltre, se qualcuno fosse così gentile da dirmi se questa struttura ha un senso. Sono totalmente nuovo alle cose server/database, quindi non posso davvero dire quale sia una buona struttura. Ho letto le migliori pratiche e suggerimenti per i servizi di Amazon di cui ho bisogno. Ma sono ancora incerto.

Grazie per il vostro feedback e supporto.

+0

Hai provato a chiedere questo su AWS stesso? –

+0

Hai visto AWS Simple WorkFlow (SWF)? Per un'architettura come te, potrebbe essere un modo semplice per controllare i download e, con l'SDK iPhone AWS, puoi facilmente effettuare la connessione. – Bourbon

+0

@Jack no, ma ho pensato di chiederlo prima perché non sembrava una domanda difficile. – Pochi

risposta

1

Prima di tutto, questa struttura ha un senso. IMHO, ci sono almeno due percorsi che è possibile seguire:

1) Esecuzione di una singola distribuzione utilizzando Elean Beanstalk.
Se si sceglie questo percorso, penso che l'approccio più semplice sarebbe quello di seguire la maggior parte dello Token Vending Machine for Identity Registration - Sample Java Web Application da AWS, modificando il codice sorgente per aggiungere la logica lato server, modificando il codice corrente delle servlet o aggiungendo uno o più nuovi servlet che faranno il lavoro. È quindi possibile creare il file .war e distribuirlo direttamente utilizzando Elastic Beanstalk, seguendo i suggerimenti nel link sopra. Un concetto fondamentale è che puoi vedere Elastic Beanstalk come qualcosa come un "application server as a service", rendendo più facili per te diversi aspetti di implementazione.

2) Avvio di una o più istanze EC2 con il server applicazioni di vostra scelta (Tomcat, JBoss, WebLogic, ecc.). In questo modo, avrai più flessibilità per progettare la distribuzione della tua applicazione (un'istanza EC2 è molto simile a una macchina virtuale nel cloud, ed è possibile installare praticamente ciò che desideri, configurare le regole del firewall, ecc.). È possibile a) distribuire il TVM in un'istanza separata o b) nella stessa istanza di b.1) una nuova app o b.2) come la stessa app della logica lato server (simile all'esempio che utilizza the Elastic Beanstalk). La tua scelta dipende in realtà dalle dimensioni della tua applicazione, dal carico previsto, dall'accoppiamento tra il tuo codice e TVM, tra gli altri fattori.

La sua domanda è molto generale, ed è possibile seguire più di un approccio al fine di realizzare ciò che si vuole, così ho pensato di dare una panoramica generale di due percorsi possibili, nella speranza di aiutare a muovere i primi passi. Non esitare a chiarire tutto ciò che non è chiaro. Spero che sia d'aiuto.

Problemi correlati