"Non è il custode dei film di Harry Potter?". - "No, quello è Walder Frey di Game of Thrones". - "Oh, aspetta, ora che lo vedo, David Bradley ha interpretato entrambi i ruoli".
Questa è la conversazione che ho avuto di recente mentre guardavo After Life, una serie televisiva britannica comica/drammatica.
Per rispondere a queste domande, mi sono chiesto se esistesse un elenco in cui inserire i nomi di due serie TV o film. Mi sarei quindi aspettato di ottenere un elenco di attori e attrici che hanno un ruolo in entrambe le produzioni. Una ricerca di cinque minuti non ha portato subito a nessuna soluzione utile, quindi ho deciso di implementarla da solo.
Avevo in mente un grafo in cui gli attori e le attrici sono dei nodi e i rispettivi ruoli dei bordi che collegano questi nodi.
Fortunatamente, l'Application Cloud di Swisscom dispone di un buildpack integrato per il famoso linguaggio statistico R. Pertanto, ho dovuto scrivere solo un'applicazione R per raccogliere i dati necessari e visualizzarli in un grafico di questo tipo.
Ho scoperto che sono molto più abile nello scrivere applicazioni Java che script R. Ho quindi deciso di scrivere una piccola applicazione Java basata sul framework Reactive Spring, che esegue l'elaborazione dei dati in background e fornisce i risultati attraverso un'interfaccia facile da usare. In questo modo, posso anche sfruttare il secret-store(apre una nuova finestra) e il Container Networking(apre una nuova finestra) di Application Cloud.
Il frontend è stato scritto come un'applicazione R Shiny(apre una nuova finestra). Dopo aver scoperto un paio di insidie e configurazioni degne di nota, voglio darti un'idea di come creare un'applicazione Shiny di base utilizzando R-Buildpack e distribuirla su Application Cloud.
Per iniziare, supponiamo che gli utenti possano inserire un paio di nomi di serie TV o film. Il backend esegue il crawling di un comune database di film e restituisce un grafo composto da nodi e bordi: