martedì 30 settembre 2014

La nuova corsa all' E-Commerce diretto

E' un dato di fatto che in questi ultimi mesi stiamo assistendo ad un nuovo innamoramento delle grosse aziende di servizi, manifatturiere e telco nei confronti della vendita online.

C'è un effettivo risveglio di interesse e quindi nuovi investimenti verso la fornitura di servizi di e-commerce direttamente sotto il controllo delle aziende stesse e non demandati a partner di vendita esterni.

Image courtesy of Feelart at FreeDigitalPhotos.net

Un po' di storia

Nella prima metà degli anni 2000 nel nostro paese c'è stata la prima corsa alla realizzazione dei siti di e-commerce.
Copiando un po' quanto accadeva negli Stati Uniti, ci sono stati investimenti importanti da parte delle aziende, non solo grandi, che si sono dotate ciascuna della propria infrastruttura tecnologica e logistica per la vendita online dei propri prodotti.

Col senno di poi, si può affermare che i tempi non erano ancora maturi, i mercati e la clientela consumer non erano ancora pronti per sposare in toto questa nuova modalità di acquisto.

Nonostante la crescita del numero degli utenti su internet, persisteva nel nostro paese una atavica avversione nel fare acquisti online e nel fornire i dati propri e delle carte di credito. Non erano ancora così diffusi metodi di e-payment e le carte prepagate che facilitassero l'utente, si nutriva una prevenuta sfiducia in chi vendeva senza mostrarsi di persona.
A rafforzare le difficoltà anche le iniziali inefficienze da parte dei corrieri postali, non ancora adeguati per gestire volumi così alti di consegne.

In breve tempo molti siti di e-commerce, soprattutto quelli mono-brand, sono stati chiusi o ridimensionati e la vendita online è stata affidata dalle aziende a partner specializzati con portali di e-commerce più generalistici che includono prodotti e servizi multi-marche.

Perchè questo ritorno di interesse ?

Oggi lo scenario è sostanzialmente cambiato.

Piano piano la fiducia e l'abitudine degli italiani di comprare su internet sono aumentate, gli acquisti online vanno alla grande e sono in continua crescita rispetto alla crisi generale dei consumi.
Tutti o quasi ora utilizzano i metodi di pagamento più veloci e sicuri (carte prepagate, conti tipo paypal o google wallet, bonifici online), i corrieri sono assolutamente affidabili, le spedizioni sono controllabili sulle loro pagine di tracking ed i tempi di consegna si sono notevolmente abbassati.

Il web marketing, in tutte le sue declinazioni, è diventato molto importante per le aziende, superando come investimenti anche la pubblicità sulle radio e sulla carta stampata, avvicinando sempre più quella sulla TV.
Avere un collegamento diretto tra web advertising e vendita online è diventato un aspetto fondamentale in un mondo dove almeno il 50% delle persone è sempre collegato e può tranquillamente navigare dal proprio smartphone visualizzando prodotti ed effettuando acquisti in qualsiasi momento della giornata.

Un cliente always on, sempre raggiungibile e spesso anche localizzabile, è un cliente perfetto che bisogna assolutamente saper sfruttare.
L'utente internet/social, quando visualizza le caratteristiche di un prodotto e fa click sulla foto o sulla pubblicità, è opportuno che poi abbia la possibilità di acquisto direttamente dal portale ufficiale di e-commerce dell'azienda produttrice.

Le principali soluzioni tecniche 

Le tecnologie web negli ultimi anni si sono evolute parecchio, pertanto anche i portali di e-commerce oggi sono per l'utente finale più semplici da usare, accattivanti esteticamente, veloci e sicuri.

Per le aziende, la scelta di una infrastruttura completa per la vendita online non è una cosa facile, va chiaramente fatta in base alle necessità, alle caratteristiche dei diversi prodotti ed alla capacità economica di investimento dell'azienda stessa.

I principali aspetti funzionali da considerare per la scelta di una piattaforma tecnologica sono:

  • Il catalogo prodotti  (product catalog)
  • La gestione degli ordini (order management)
  • La gestione delle anagrafiche dei clienti
  • La gestione del basket multiprodotto
  • La presentazione grafica e la gestione dei contenuti (CMS content management system), anche in ottica responsive multi-channel
  • Le capacità di integrazione con i sistemi di fatturazione aziendali
  • Le capacità di integrazione con i sistemi di provisioning e delivery degli ordini.

Alcuni tra i prodotti più conosciuti ed utilizzati sono (lista assolutamente non esaustiva):

  • Magento (soluzione open source)
  • Prestashop (soluzione open source)
  • Oracle Commerce (prodotto enterprise derivato da ATG)
  • Hybris (prodotto enterprise)
  • IBM Commerce (suite di prodotti enterprise tra i quali Commerce on Cloud).
Per le aziende che hanno esigenze più limitate è anche possibile scegliere una soluzione di tipo SaaS (Software as a Service), trovando in rete un provider che fornisca una infrastruttura di e-commerce già bella e pronta per pubblicare e vendere i prodotti.


Image courtesy of ddpavumba at FreeDigitalPhotos.net

mercoledì 17 settembre 2014

Architettura informatica a servizi (SOA), cos'è e perchè

I settori produttivi della aziende sono messi sotto pressione dalle proprie strutture decisionali e di controllo che richiedono una sempre maggiore efficienza in ogni aspetto delle operatività. In particolare, richiedono maggiore produttività, velocità e qualità con costi sempre minori.

Per massimizzare l'efficienza uno dei principali aspetti da curare è quello dei pesanti impatti dovuti a sistemi rigidi e costosi.
La flessibilità dei processi e di conseguenza dei sistemi IT, consente di migliorare la produttività senza aumentare i costi. 

Maggiore Flessibilità -> Maggiore Efficienza 

In un contesto IT complesso, la flessibilità si ottiene facendo in modo che sistemi ed applicativi eterogenei, di diversi produttori, sviluppati con diverse tecnologie e software di base, provenienti da molteplici aree funzionali, possano "parlare" e scambiarsi dati in modo intelligente.
Per ottenere ciò è necessario che i sistemi, che hanno funzioni sempre più specializzate, non comunichino semplicemente ma implementino una vera e propria cooperazione applicativa.

Il modo migliore è quello di strutturare e rendere fruibili le diverse funzionalità sotto forma di servizi.

SOA (Service Oriented Architecture) è un approccio architetturale che persegue l’obiettivo di ridurre il gap tra IT ed i processi di business.

Cos'è SOA

Un'architettura IT, costruita seguendo la metodologia SOA, è costituita da servizi indipendenti tra loro che risiedono e sono fruibili in forma distribuita sulla rete.
Quindi in base al modello SOA, ogni funzionalità è resa disponibile sulla rete sotto forma di servizio e deve possedere determinate caratteristiche affinché possa essere riutilizzata ed integrata in un ambiente eterogeneo.

Cos'è un Servizio

La prima necessità per un processo di business è quella di costruire un workflow (una serie di step operativi che implementano una esigenza funzionale).

Tutto ciò si ottiene sui sistemi applicativi realizzando le diverse funzionalità sotto forma di servizi auto-consistenti, che però devono essere anche orchestrabili ed integrabili fra di loro per la composizione di servizi più complessi.

Un servizio quindi può essere definito come una funzionalità, semplice o complessa, che ha le seguenti caratteristiche:
  • Ha un Service Provider (sistema che lo espone ed implementa)
  • Ha uno o più Service Consumer (sistemi client che lo utilizzano)
  • E' definito da interfaccia standard  (documento/contratto che descrive le specifiche con cui ci si può integrare al servizio stesso) pubblicata su un Service Registry 
  • E' ricercabile e recuperabile dinamicamente sulla rete 
  • E' auto-consistente e modulare
  • Ha un funzionamento indipendente dalle tecnologie con le quali è realizzato
  • E' accessibile in modo trasparente rispetto alla sua allocazione
  • E' realizzato in modo tale da permettere la sua integrazione con altri servizi (workflow di servizi).
Tipico Pattern SOA



Articoli Correlati



venerdì 5 settembre 2014

Impatti delle applicazioni mobili sui sistemi server

Con l'aumento esponenziale delle APP e più in generale degli accessi al WEB dai dispositivi mobili, sono cresciuti enormemente i volumi delle connessioni e delle richieste verso i sistemi server che effettivamente detengono le informazioni. 



Per fare un esempio, se fino a pochi anni fa chi si collegava al sito del Meteo lo faceva al massimo una volta al giorno dal PC, oggi gli utenti che usano la specifica APP sullo smartphone sono tantissimi e lo fanno con frequenza molto più elevata.

Qualsiasi servizio o tipologia di informazione le aziende mettano a disposizione della propria clientela online, il numero delle transazioni client-server è decuplicato rispetto al passato.

Il trend è in continua ascesa, gli impatti sui sistemi di backend sono importanti e per reggere l'urto le aziende sono costrette a potenziare le proprie infrastrutture hardware ed implementare architetture software più efficienti.



A seconda delle specifiche situazioni, esigenze e disponibilità, si stanno mettendo in campo soluzioni di diversa tipologia (non esclusive).

Soluzione 1 - Potenziamento HW

La cosa che viene più facile ed immediata pensare è quella di incrementare le risorse HW (CPU, RAM, dispositivi di rete) dei sistemi impattati in modo da poterne aumentare performance e stabilità.
Per una attività di approvvigionamento HW, particolare importanza riveste la qualità del Capacity Plan, che deve essere fatto in modo accurato per evitare investimenti inutili, insufficienti o di corto respiro.

Pro:
  • Facilità di realizzazione (basta comprare ed installare)
  • Tempi di realizzazione
Contro:
  • Incrementare l'HW su un numero elevato di sistemi complessi ed eterogenei potrebbe rivelarsi molto costoso
  • Soluzione non risolutiva se in futuro dovesse aumentare il carico oltre quanto stimato nel Capacity Plan.



Soluzione 2 - Ottimizzazioni applicative 

La review funzionale dei sistemi, della architettura di integrazione ed un tuning sistemistico sono sempre attività opportune in questi casi.
Le ottimizzazioni possono essere apportate su più livelli:
  • Processi 
  • Software applicativo 
  • Configurazioni sistemistiche.

Pro:
  • Riprogettare i processi e rendere l'architettura applicativa dei sistemi maggiormente performante e scalabile, potrebbe consentire una corretta ripartizione del carico sulle risorse a disposizione, quindi di fatto risolvere il problema
Contro:
  • Rivedere processi e apportare modifiche al software applicativo potrebbe rivelarsi non fattibile o molto costoso
  • Non sempre le architetture dei sistemi si prestano ad essere estese in modo da implementare correttamente le nuove funzionalità 
  • I tempi di realizzazione sono legati alla quantità ed alla tipologia degli interventi.

Soluzione 3 - Introduzione di un layer applicativo di Data Caching

In caso i volumi siano molto elevati, la soluzione migliore prevede l'introduzione all'interno dell'architettura IT di un nuovo layer applicativo (Data Cache Service Layer), un sistema molto performante in grado di recuperare inizialmente dai sistemi server tutte le informazioni necessarie, memorizzarle all'interno di una propria cache e rispondere velocemente ai client.

Con questa soluzione, le richieste provenienti dai client non arrivano mai ai sistemi server ma vengono gestite direttamente dal Data Cache Service Layer.

Accorgimenti necessari:
  • implementare gli opportuni meccanismi di aggiornamento delle informazioni in caso vengano variate, per mantenerle sempre allineate tra i sistemi e la cache
  • strutturare internamente alla cache un Data Model adatto alla tipologia dei dati che si trattano ed alle modalità di interrogazione da parte dei client.




Pro:
  • Performance al top (non si perde tempo ad interrogare i sistemi di backend ma le informazioni sono già disponibili nella cache)
  • Nessun potenziamento HW sui sistemi
  • Ottimizzazione SW dei sistemi non necessaria
  • Massima predisposizione se in futuro dovesse aumentare ulteriormente il carico (basterà adeguare il Data Cache Service Layer senza dover toccare tutti i sistemi di backend)
Contro:
  • Necessario un investimento iniziale
  • Tempi e costi di realizzazione da valutare a seconda della complessità delle informazioni, dei sistemi e dei processi


Articoli Correlati