3EMarketplace è una piattaforma web pensata per la gestione centralizzata delle applicazioni multi-cliente. Il progetto nasce con l’obiettivo di offrire alle aziende uno strumento utile all’amministrazione unificata dei propri prodotti digitali. La soluzione, infatti, offre alle imprese la possibilità di configurare e distribuire ai clienti le proprie applicazioni, garantendone un accesso semplificato e sicuro.
La soluzione permette, infatti, di gestire le anagrafiche degli utenti di amministrazione, dei propri clienti e delle proprie applicazioni. Per ciascun cliente, quindi, sarà presente un’interfaccia che consente di abilitare una o più applicazioni e di personalizzarne le funzionalità.

Nella sezione “Customers” della piattaforma, l’utente potrà gestire i servizi e le features relativi alle applicazioni associate ai clienti, quali la verifica del corretto funzionamento dei prodotti, la gestione delle spedizioni e la programmazione degli appuntamenti. In questo modo, si fornisce una soluzione flessibile in base alle specifiche esigenze dei fruitori dei software, e facilmente configurabile. Inoltre, nel caso di applicazioni che prevedono l’acquisto e/o la spedizione di prodotti, sarà possibile personalizzare i corrieri abilitati (come Bartolini, GLS, UPS) e le tipologie di pagamento (Nexi, PayPal, bonifico). Ognuna delle funzionalità potrà essere quindi abilitata o disabilitata per ciascun cliente.
All’interno della sezione “Features”, inoltre, sarà possibile aggiungere o modificare le features esistenti.

In seguito all’abilitazione di un cliente a un’applicazione, verranno generati in automatico una soluzione e un database destinati al cliente, il quale potrà così accedere a 3EMarketplace e alle proprie applicazioni, e fruire della infrastruttura applicativa dedicata.

Per ciascun cliente a cui è abilitata una applicazione che include le spedizioni, sarà accessibile una dashboard aggiuntiva per la gestione e il monitoraggio delle spedizioni.

L’accesso al proprio account da parte del cliente e la gestione delle sessioni sono centralizzati, per cui, sarà presente un’unica login per tutti i clienti. Il processo di login, tuttavia, riconosce il cliente in funzione della url di login. In caso di esito positivo, quindi, l’utente sarà indirizzato sulla url del cliente associata al servizio scelto. Dopo ogni accesso, la sessione dell’utente viene gestita in un unico store per tutti i clienti. La sessione prevede un guid univoco, a cui è associato un Json contenente tutte le informazioni per la configurazione dei servizi. Lo storage delle sessioni effettuato nella modalità chiave/valore può essere memorizzato in database quali Redis o MongoDB.
3EMarketplace supporta l’integrazione di nuove applicazioni, le quali dovranno disporre di un metodo per gestire la login tramite session manager. Le impostazioni dell’applicazione saranno definite nel Json relativo alla sessione dell’utente loggato, mentre le features o le liste saranno accessibili dal modulo Common API.

Nel caso di integrazione di applicazioni già esistenti, invece, sarà necessaria l’aggiunta di un sistema di login tramite il session manager. Tali applicazioni saranno allineate sul database dell’applicativo esistente tramite Job SQL o servizi batch realizzati ad hoc. Ad esempio, se l’applicazione esistente presenta una propria gestione utenti, la tabella Utenti dell’applicativo esistente dovrà essere sincronizzata con la gestione utenti del Marketplace.
L’architettura di 3EMarketplace si riassume nel seguente schema.
