Caratteristiche principali

GraphQL

Esecuzione di query e accesso ai dati semplificati

AWS AppSync si avvale di GraphQL, una sintassi di dati che permette alle app client di cercare, modificare ed eseguire sottoscrizioni ai dati provenienti da server. In una query di GraphQL, il client specifica in che modo devono essere strutturati i dati quando vengono restituiti dal server. In questo modo può interrogare solo i dati strettamente necessari e nel formato necessario. GraphQL, inoltre, include una caratteristica chiamata "introspection", che permette agli sviluppatori di individuare i dati disponibili senza dover interrogare il back-end.

Aggiornamento e accesso in tempo reale ai dati

Aggiornamenti immediati su client e dispositivi

AWS AppSync permette di specificare quali porzioni dei dati devono essere resi disponibili in tempo reale con le sottoscrizioni di GraphQL. Si tratta di istruzioni semplici inserite nel codice dell'applicazione che comunicano al servizio quali dati devono essere aggiornati in tempo reale.

Sincronizzazione dei dati offline

Dati aggiornati e disponibili anche offline

AWS AppSync supporta un modello di programmazione offline che prevede non solo la disponibilità dei dati non in linea, ma anche la possibilità di apportarvi aggiunte e modifiche. Quando un dispositivo è offline, l'interfaccia dell'applicazione sarà automaticamente aggiornata con i dati non in linea. AppSync permette di definire in che modo memorizzare nella cache i dati offline e come gestire gli aggiornamenti su cache in diverse condizioni di rete.

Query, filtri e ricerche sui dati nelle app

Accesso preconfigurato alle origini dati di AWS

AWS AppSync offre alle applicazioni client la possibilità di specificare i requisiti dei dati con GraphQL; in questo modo, vengono individuati solo i dati necessari e sia server sia client possono applicare filtri. Poiché AWS AppSync supporta AWS Lambda, Amazon DynamoDB e Amazon Elasticsearch, le operazioni GraphQL possono essere costituite da semplici ricerche, query e mappature complesse, ricerche full text, ricerche di corrispondenze o parole chiave e ricerche geografiche.

Controllo degli accessi granulare e sicuro

Controllo dei dati

AWS AppSync offre diversi livelli di autorizzazione e accesso ai dati, a seconda delle esigenze dell'applicazione. L'accesso semplice può essere reso sicuro tramite chiave; autorizzazioni più restrittive possono essere applicate con i ruoli di AWS Identity and Access Management. Inoltre, AWS AppSync si integra con i pool di utenti di Amazon Cognito per consentire il login tramite e-mail e password, provider di identità social (Facebook, Google+ e Login with Amazon) e federazione di identità aziendali con SAML. I clienti potranno raggruppare utenti, ruoli e autorizzazioni OAuth per configurare l'accesso all'applicazione.

Domande frequenti

  • D: Cos'è AWS AppSync?

    AWS AppSync è un nuovo servizio che permette agli sviluppatori di gestire e sincronizzare dati di app per dispositivi mobili in tempo reale su più dispositivi e per più utenti, senza interrompere l'accesso anche quando i dispositivi sono offline.

    Inoltre, il servizio consente agli sviluppatori di ottimizzare l'esperienza degli utenti scegliendo quali dati sincronizzare automaticamente a ciascun dispositivo quando vengono apportate modifiche, riducendo al minimo requisiti di storage e di larghezza di banda grazie alla sintassi di query GraphQL.

    Grazie a queste caratteristiche, la collaborazione può estendersi su browser, app per dispositivi mobili, competenze di Alexa e dispositivi IoT che rimangono disponibili anche senza connettività di rete.

  • D: Quali tipi di app è possibile creare con le nuove caratteristiche?

    AWS AppSync può essere utilizzato per creare app per dispositivi mobili in grado di sincronizzare informazioni su più dispositivi, operare anche in assenza di connessione e offrire collaborazione in tempo reale. Tutte le verticali offrono applicazioni di questo tipo. Ad esempio:

    • App di gaming con punteggi in tempo reale
    • News feed e dati finanziari
    • Pannelli di controllo per servizi dei clienti
    • App per la condivisione di portafogli o itinerari utilizzabili offline
    • Social media con feed di contenuti e opzioni di ricerca e messaggistica
    • App di appuntamenti con possibilità di fornire apprezzamenti, scrivere messaggi e pubblicare distanze geografiche
    • App di servizi sul campo che devono consentire query e operazioni CRUD anche in assenza di connessione
    • Collaborazione su documenti
    • Collaborazione su progetti in 3D, ad esempio whiteboard
    • App di realtà virtuale o realtà aumentata con più attori (chirurghi durante un'operazione, con osservatori, insegnanti e studenti)
    • Applicazioni multidispositivo (ad es. Alexa, app Web, app per dispositivi mobili o per IoT) e multimodali (ad es. elenchi di processi) che devono operare offline ma offrire letture di stato consistenti finali
    • App per chat, con indicatori di presenza e storico della conversazione
  • D: Quali sintassi di sviluppo di applicazioni supporta AWS AppSync?

    Inizialmente, il kit SDK AWS AppSync supporterà solo iOS e JavaScript. Il supporto per JavaScript va dai framework Web come React e Angular ad altre tecnologie quali React Native e Iconic. Inoltre è possibile utilizzare client open source per aprire un collegamento con un endpoint GraphQL AppSync per utilizzare altre piattaforme, ad esempio Android, librerie HTTP o semplici comandi CURL.

  • D: Cos'è GraphQL?

    GraphQL è una sintassi di dati che permette alle app client di cercare, modificare ed eseguire sottoscrizioni ai dati provenienti da server. In una query di GraphQL, il client specifica in che modo devono essere strutturati i dati quando vengono restituiti dal server. In questo modo può interrogare solo i dati strettamente necessari e nel formato necessario.

  • D: Cos'è uno schema GraphQL?

    Uno schema GraphQL è una definizione che elenca quali funzionalità può operare l'applicazione client. Ad esempio, uno schema può descrivere quali query sono disponibili o in che modo un'app può eseguire una sottoscrizione ai dati senza doverne approfondire l'origine. Gli schemi sono definiti per tipo di sistema che un modello di dati può sfruttare.

  • D: AWS AppSync può creare automaticamente un database?

    I clienti possono creare uno schema GraphQL, manualmente o tramite console, e AWS AppSync effettuerà automaticamente il provisioning di tabelle DynamoDB e indici secondo le esigenze. Inoltre, connetterà le origini dati ai resolver di GraphQL, per non perdere tempo prezioso e concentrarsi sul codice dell'applicazioni e sulle strutture dei dati.

  • D: È possibile utilizzare AWS AppSync con risorse AWS esistenti?

    Sì. Con AWS AppSync è possibile utilizzare tabelle, funzioni e domini esistenti creati con Amazon DynamoDB, AWS Lambda e Amazon Elasticsearch con uno schema GraphQL. Il servizio permette di creare origini dati utilizzando risorse AWS e di configurarne le interazioni con modelli di mappatura.

  • D: Cos'è un modello di mappatura?

    Le richieste di GraphQL vengono eseguite come resolver e necessitano di conversione in messaggi di formato idoneo per i diversi servizi AWS integrabili con AWS AppSync. Ad esempio, una query di GraphQL su un campo dovrà essere convertita in un formato univoco rispettivamente per Amazon DynamoDB, AWS Lambda e Amazon Elasticsearch. A tale scopo, AWS AppSync fornisce modelli di mappatura scritti nella sintassi Velocity Template Language (VTL) di Apache, per fornire logica personalizzata in base alle esigenze. Il servizio, inoltre, fornisce modelli predefiniti per diversi servizi e caratteristiche di utilità per offrire funzioni avanzate.

  • D: In che modo i dati vengono protetti utilizzando AWS AppSync?

    I dati dell'applicazione vengono memorizzati su disco nell'account AWS e non sul servizio AWS AppSync. L'accesso a questi dati può essere protetto usando i controlli di sicurezza offerti ad esempio da AWS Identity and Access Management (IAM) e dai pool di utenti di Amazon Cognito. Inoltre, è possibile inoltrare il contesto utente per le richieste autenticate e applicare logica di controllo degli accessi granulare sulle risorse con modelli di mappatura in AWS AppSync.

  • D: È possibile garantire che i dati siano sempre in tempo reale con AWS AppSync?

    Sì. AWS AppSync supporta le sottoscrizioni a qualsiasi origine dati, perciò quando viene rilevata una modifica i risultati vengono immediatamente inoltrati ai client interessati al flusso di eventi tramite MQTT su Websocket.

  • D: In che modo è possibile eseguire query complesse con AWS AppSync?

    Le origini dati disponibili per AWS AppSync permettono di sfruttare appieno la caratteristiche di Amazon DynamoDB, Amazon Elasticsearch e AWS Lambda grazie a GraphQL. Indicizzazione, controlli condizionali e modelli di mappatura restituiscono risultati completi da DynamoDB. Saranno inoltre disponibili ricerche di corrispondenze, geografiche e molto altro per Elasticsearch. Infine, Lambda può essere utilizzato per richieste in serie o in batch che restituiscano dati da altre origini dati quali Amazon Aurora.

  • D: In quali regioni è disponibile AWS AppSync?

    AWS AppSync è disponibile nelle regioni Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio) e Stati Uniti occidentali (Oregon).

Ulteriori informazioni sui prezzi di AWS AppSync

Visita la pagina dei prezzi
Sei pronto per iniziare?
Registrati per l'anteprima
Hai domande?
Contattaci