Architetture e piattaforme e-commerce: come orientarsi?

Da architetto IT la mia prima preoccupazione quando ho deciso di fondare la mia startup mi sono posto alcune domande fondamentali per scegliere i migliori componenti per realizzare un’architettura scalabile in base all’aumento dei volumi di vendita. Volevo che l’architettura applicativa di CheVino! mi desse dei vantaggi tangibili rispetto ai miei competitor, ma allo stesso tempo volevo rimanere flessibile per non dover realizzare troppi sviluppi custom sulla mia piattaforma che “solitamente” richiedono molto tempo.

Le principali domande che mi sono posto:

  • Quale piattaforma e-commerce scegliere?
  • Come gestire le integrazioni?

Quale piattaforma e-commerce scegliere?

Sul mercato ci sono già diverse piattaforme per la realizzazione di un sito e-commerce che hanno già tutte le funzionalità e le caratteristiche che permettono di realizzare un sito web veloce, sicuro e affidabile. Le piattaforme più diffuse al momento sono: Woocommerce basato sul famoso CMS WordPress; Magento di Adobe Inc. e Shopify il servizio di e-commerce chiavi in mano in cui non ci dobbiamo preoccuparci di nulla. Ogni piattaforma ha le sue caratteristiche ben precise con i pro e i contro di ogni soluzione. Per questo motivo non ti voglio indicare quale di questi 3 software è il migliore per iniziare un business online, ma ti spiegherò il motivo per cui ho scelto Woocommerce.

Quando ho pensato a Che Vino! avevo in mente una vetrina con un look and feel pulito, semplice e intuitivo. Volevo che avesse la possibilità di utilizzare un sistema a eventi per propagare le informazioni chiave su un Webhook. Volevo che avesse la funzionalità di abbonamento (acquisti ricorrenti). Volevo che fosse integrato con i maggiori sistemi di pagamento (Stripe, Paypal, Satispay e Amazon Pay). Non volevo assolutamente dei costi variabili, e volevo contenere i costi sullo sviluppo della piattaforma online. Per tutti questi motivi ho scelto Woocommerce.

Come gestire le integrazioni?

Il punto cruciale per un’architettura di un e-commerce sono le integrazioni anche se Woocommerce consente attraverso i plugin di estendere le funzionalità e di integrare facilmente software di terze parti, il mio consiglio è di predisporre comunque un layer dedicato.
Le opzioni per realizzare un layer di integrazione possono essere diverse: ad esempio si può utilizzare un ESB come quello di MuleSoft o una soluzione in cloud come quella di elastic.io che ha già numerosi connettori con i software più diffusi. In alternativa se si hanno le conoscenze o la possibilità di realizzare qualcosa di custom si può pensare di utilizzare un’applicazione sviluppata con Apache Camel, uno dei framework di integrazione più popolare nel mondo Java.

Un layer di integrazione all’inizio sarà un costo ma nel medio e lungo periodo ti darà l’opportunità di automatizzare i processi, di ridurre i costi, di rendere la vostra architettura stabile e solida e vi permetterà di scalare velocemente nel momento in cui il business crescerà.

Nella mia startup ho optato un approccio custom. Abbiamo realizzato un layer di integrazione con Apache Camel e Apache ActiveMQ, ho sfruttato la possibilità di Woocommerce di indirizzare gli eventi standard (nuovo ordine, cancellazione ordine, etc.) verso un webhook. Il webhook non fa altro che distribuire il messaggio dell’evento su un topic. Il topic distribuisce il messaggio ai vari subscribers in modo che possa essere recepito dalle applicazioni che desideriamo abbiano quell’informazione.
In questo modo abbiamo disaccoppiato Woocommerce dalle applicazioni e non dobbiamo preoccuparci se un’applicazione è offline per qualsiasi motivo. Il nostro e-commerce continuerà a vendere anche se il nostro servizio di marketing automation è offline. Non appena il servizio tornerà up running processerà nuovamente le notifiche, in questo modo non abbiamo perdite di dati e non abbiamo un blocco nelle vendite.

Il beneficio di aver definito un’architettura di questo tipo è principalmente quello di aver automatizzato tutti i processi. Gli ordini di vendita vengono gestiti in modo semplice e l’aggiornamento dei vari stati avviene in automatico per offrire al cliente la possibilità di avere sempre tutto sotto controllo. Questo ci ha permesso di valutare integrazioni con marketplace dedicate al vino, riducendo notevolmente i tempi di sviluppo e aumentando il numero di vendite su canali diversi da quelli tradizionali.

Da sempre appassionato del mondo digitale dal 2003 lavoro nel mondo IT prima come programmatore poi come IT Manager. Oggi aiuto le aziende nel creare architetture scalabili e reattive. Nella vita privata tra una degustazione di vino, un viaggio e un libro di marketing cerco anche di fare il babbo.