Citrix Converge 2020

2020-04-16T12:38:02+02:0016 Aprile 2020|

Nelle scorse due settimane ho partecipato ad un evento di community, un vero e proprio hackathon organizzato da Citrix.
L’evento era già stato proposto in ottobre a Santa Clara negli Stati Uniti, ed era previsto in Europa per il mese di marzo a Praga. L’avvento del covid-19 ha cambiato un po’ le cose e Citrix ha trasformato l’evento in un hackathon digitale, mettendo a disposizione tutti gli strumenti per provare la nuova tecnologia del Digital Workspace in cloud.

Programmatori o sistemisti?

La cosa interessante relativa a questo hackathon sono le persone invitate. Come potete immaginare, il target di un hackathon è formato da programmatori, mentre in generale chi si avvicina al mondo Citrix, almeno fino ad oggi, sono figure come IT Manager o CIO. In questo caso il tentativo di avvicinare i due mondi è un processo lodevole da parte di Citrix, che sta cercando così di intercettare il trend dello sviluppo delle infrastrutture a livello informatico. È indubbio che oggi il classico programmatore si stia trasformando in devops, che non sia quindi solo in grado di creare le applicazioni, ma anche di farne il deploy, di gestirle e di monitorarne l’utilizzo. Dalla parte dei sistemisti, invece, sono sempre più richieste competenze relative alla gestione di sistemi quali docker, kubernetes e tutte quelle tecnologie che sono necessarie per la gestione dei microservizi. Sarà una sfida interessante quella di introdurre IT Manager in un terreno fino ad oggi in mano a programmatori.

Digital Workspace, Microapps e comunicazione verso servizi terzi

L’hackathon verteva in generale sulla creazione di integrazioni con il Digital Workspace chiamate Microapps. Microapps è la soluzione di Citrix per integrare, all’interno del Digital Workspace, servizi terzi che ogni azienda utilizza per svolgere il proprio lavoro. È quindi un sistema che permette di creare azioni verso servizi esterni e di ricevere notifiche dagli stessi.
La comunicazione tra i vari servizi si basa essenzialmente sugli standard della comunicazione web, quindi su REST API, preferendo il formato json per lo scambio dei dati. La maggior parte dei moderni applicativi già forniscono la possibilità di interagire con essi attraverso delle API e lo standard odierno è quello di utilizzare proprio API REST. Le REST api devono il loro successo alla semplicità con cui possono essere definite e quindi poi utilizzate all’interno di sistemi complessi.

Servizi terzi

All’interno delle aziende, però, non tutti i sistemi sono fatti per essere integrati facilmente e non tutti forniscono delle API (magari di tipo REST) pronte per essere utilizzate. Nasce quindi l’esigenza di creare uno strato attorno a questi sistemi per renderli in grado di comunicare con i servizi Citrix. Ad oggi le tecnologie che consentono di creare un web service che parla in api REST sopra un db sono molteplici, tra i quali: everestsql,… fino ad arrivare, per i sistemi più datati, ad utilizzare tecnologie di tipo cgi, in grado di interfcciarsi direttamente con librerie scritte in C, C++.

Notifiche, Pagine e Azioni

Il sistema si basa sulla possibilità di creare delle interfacce, o meglio dei widget che permettono di eseguire delle azioni, o di ricevere notifiche. Una notifica non è altro che un piccolo riquadro in cui le informazioni che vengono proposte all’utente sono in tutto e per tutto personalizzabili. Un’esempio di notifica potrebbe essere l’arrivo di una nuova lead commerciale arrivata tramite il sito web, oppure una nuova richiesta di ferie inserita nel gestionale. Cliccando su una notifica sarà possibile finire su un altro widget chiamato pagina, in cui l’utente potrà visualizzare i dettagli della notifica precedente, oppure eseguire un’azione, come ad esempio approvare la richiesta di ferie.

Idea

Per partecipare attivamente ad un hackathon è necessario avere un’idea e provare ad implementarla, sfruttando tutte le risorse che vengono messe a disposizione, siano esse tecnologiche, di documentazione o esperti pronti ad aiutare. Ho pensato di immaginare come uno sviluppatore del mio team potesse trovare giovamento dall’avere una dashboard con le notifiche e le azioni più importanti da svolgere durante la giornata. Dovevo quindi prevedere come gestire notifiche di assegnazione dei task, come poter eseguire direttamente un build di un prodotto, come ricevere notifiche del codice creato dagli altri membri del gruppo di lavoro.

Nella prossima puntata andrò più nel dettaglio dei servizi che sono riuscito ad integrare all’interno del Digital Workspace.