In possesso di titoli di proprietà intellettuale in capo all’impresa e/o ai founder e/o terzi
013734 proprietario – Registrazione di programma per elaboratore (software) originario
Breve descrizione degli aspetti di innovazione che caratterizzano il business dell’impresa
Alloy è proprietaria di un innovativo framework denominato onmiSCALE. Si tratta di un framework verticale a micro-servizi ideale per costruire velocemente applicazioni. Le sue componenti principali sono state sviluppate utilizzando Node.js, TypeScript e JavaScript, mentre altre sono state realizzate usando Java. Scopo del software è quello di fornire servizi tematici ed organizzati che permettono di operare su informazioni strutturate, estendibili e personalizzabili. Ogni servizio messo a disposizione dal Framework si occupa della gestione dei dati e della logica di base di una specifica funzionalità utilizzabile dagli sviluppatori. Questi servizi sono tematizzati semanticamente per trattare argomenti affini, lasciando però la massima libertà allo sviluppatore nel creare legami tra le entità attraverso referenze dinamiche: in questo modo è possibile creare strutture che risolvono problemi complessi. I principali servizi offerti dall’infrastruttura includono una gestione anagrafica a campi dinamici
la definizione delle relazioni di gerarchia tra gli utenti ed i loro diritti sulle funzionalità presenti
la gestione di proto-oggetti specializzabili e dei loro diritti di visibilità
la possibilità di creare questionari semplici o assessment strutturati
un sistema di taggatura gerarchico applicabile ad ogni entità
la gestione di sistemi di news, annunci, Q&A, feedback, like/dislike e note
l’assegnazione di oggetti materiali ed immateriali agli utenti tramite lease storiche
un completo sistema per la definizione dei template per le comunicazioni via mail o notifiche interne, anche attraverso digest periodici e un modulo per l’analisi di tutti i dati raccolti. Il Framework dispone anche di un sistema di WorkFlow orchestratore dei processi che può operare indistintamente tanto sui sistemi interni quanto su entità esterne. Il WorkFlow può essere avviato su espressa richiesta oppure può essere schedulato, come ogni altro servizio esistente. Una volta attivato procede secondo quanto configurato nello specifico task che lo ha originato, consentendo anche di gestire dei timer di attesa e la risposta agli eventi applicativi o dell’utente. Il sistema è strutturato per offrire una elevata scalabilità sia orizzontale che verticale, consentendo di avviare i singoli processi che compongono i servizi anche su server geograficamente distribuiti. Infatti, nonostante la completa interoperabilità tra le singole funzioni, queste sono isolate sia da un punto di vista logico che fisico ed ognuna dispone di un suo archivio privato. Questa struttura è stata pensata ed ottimizzata per aumentare l’interoperabilità del Framework con altri sistemi e per consentire di integrare molteplici fonti esterne. Per supportare queste funzionalità è stato integrato un sistema di dipendenze tra i servizi, gestito da un Service Discovery, che permette di individuare in modo automatico i componenti disponibili. All’interno del sistema i dati applicativi vengono scambiati direttamente tra i servizi del Framework stesso o dei chiamanti in modalità REST attraverso dei JSON, tramite la generazione di eventi applicativi oppure tramite un servizio asincrono di code. Le informazioni sono archiviate in diverse tipologie di DataBase che includono sistemi relazionali, noSql, a grafo e full-text. Viene anche utilizzato un sistema di caching per gestire le concorrenze, consentire la doppia verifica dei token di identità degli utenti e per aumentare le performance. Sempre in ambito prestazioni, il sistema permette di ottimizzare i dati in che viaggiano tra i processi utilizzando uno “schema” di richiesta flessibile che offre funzionalità affini a quelle di GraphQL. Il Framework dispone nativamente anche di un sistema di tracciamento delle attività degli utenti e dei processi, che permette di archiviare informazioni arbitrarie, che è opzionalmente compatibile con i sistemi SCORM e xAPI, in aggiunta alla capacità di storicizzare in modo automatico tutte le versioni precedenti dei record modificati dagli utenti.