Articoli

GraphQL per applicazioni enterprise: l’esempio di Uber

GraphQL è un protocollo di comunicazione avanzato tra Client e Server (per un approfondimento ti invitiamo a leggere il nostro precedente articolo “GraphQL – un Front-End Data Query Language“) in cui è il Client che descrive la struttura del servizio.

Contattaci subito e senza impegno per consulenza ed assistenza tecnica su GraphQL.

GraphQL per la Live Chat

Uber, il colosso del trasporto cittadino, utilizzava il protocollo WAMP per il servizio di Live Chat che permetteva di comunicare tra i vari stakeholder dell’applicazione come riders, drivers, clienti finali, corrieri, commercianti con gli operatori dell’assistenza. Tale servizio soffriva di problemi di latenza e di scarsa affidabilità dei messaggi.

Dopo un’attenta analisi Uber ha valutato che avere una Live Chat efficiente e con eccellenti performance avrebbe migliorato il Customer Satifaction Rating(CSAT) e nello stesso tempo ridotto il Cost Per Contact(CPC). Per avere tale Live Chat era indispensabile migrare dal protocollo WAMP verso uno che avesse tutte le caratteristiche necessarie e la scelta è ricaduta su GraphQL.

I vantaggi immediati sono stati:

  • affidabilità;
  • scalabilità;
  • osservabilità;
  • migliore capacità di effettuare il debug.;
  • servizio stateless;
  • elevato successo nel delivery dei messaggi.

Grazie a GraphQL, Uber è stata inoltre in grado di migliorare il proprio livello di automazione e di permettere ai propri operatori di lavorare su chat multiple nello stesso momento. Tutto questo ha infine aumentato il livello di First Contact Resolution(FCR), un indicatore essenziale per comprendere la qualità del servizio che si sta fornendo ai propri clienti.

Contattaci subito e senza impegno per consulenza ed assistenza tecnica su GraphQL.

L’architettura di GraphQL per la Live Chat

L’archittura scelta da Uber è classica e segue gli oramai muturi concetti di Micro Servizi e di Pub/Sub, infatti consiste di un Front-End utilizzato dagli operatori e di una serie di Micro Servizi come:

  • un Chat Channel Manager per gestire la comunicazione;
  • un Contact Service per fornire funzionalità di contatto;
  • un Router per instradare correttamente le varie Live Chat;
  • un Agent State Service che gestisce le sessioni di chat con i singoli operatori,

tutto tenuto assieme ed integrato con Apache Kafka per ottenere logiche di Pub/Sub relative agli eventi ed alle notifiche e sincronizzare il tracciamento tra il Router e l’Agent State Service.

GraphQL fa parte della componente di Front End e viene sfruttato al massimo grazie alla sua integrazione, lato server, con WebSocket ed all’aggiunta di qualche miglioria legata alla gestione del servizio chat come la riconnessione e la verifica costante della comunicazione tra operatori e clienti.

Contattaci subito e senza impegno per consulenza ed assistenza tecnica su GraphQL.

GraphQL nelle applicazione moderne

E’ importante notare come oggi sempre più aziende stanno scegliendo GraphQL ed a questo link è possibile scoprire quali: la presenza di grandi realtà come AirBnb e Goldman Sachs fanno ben comprendere che GraphQL è una soluzione moderna, matura e di livello enterprise.

Come qualsiasi tecnologia, però, anche GraphQL può essere perfetta per alcuni scopi, come quello sopra descritto o come quello della Pinboard del NewsPaper “The Guardian, ma non ideale per altri.

Puoi leggere il nostro precedente articolo “SOAP vs REST vs RPC vs GraphQL – Formati supportati, curva di apprendimento, use cases, vantaggi e svantaggi” per avere maggiori dettagli su come GraphQL si rapporta a tecnologie similari e per scoprire se effettivamente è la soluzione ideale per il tuo Business Case.

Contattaci subito e senza impegno per consulenza ed assistenza tecnica su GraphQL.

Glue Labs e GraphQL

Abbiamo integrato GraphQL in applicazioni business critical, ti supportiamo nella sua integrazione garantendo sviluppo ed architetture 12 mesi da qualsiasi bug. Grazie alle competenze avanzate ed all’esperienza maturata in tantissimi settori e con numerosi Clienti ti forniamo l’assistenza tecnica per sfruttare appieno GraphQL per le tue necessità di business. Contattaci subito e senza impegno per maggiori informazioni.