Metti ASP nel tuo carrello 1/3

di Roberto Insalata, in ASP - Scripting,
  • 0
  • 0
  • 0
  • 15,13 KB

L'introduzione di nuovi modi e strumenti di commercializzare prodotti (o servizi) on-line, comunemente detto e-Commerce o e-Business, ha richiesto la traduzione delle usuali pratiche d'acquisto (consultazione e valutazione, raccolta dei prodotti, pagamento) in una nuova forma, con caratteristiche di semplicità e velocità a volte impraticabili nei negozi "reali" (raccolta dei dati utente e di pagamento, persistenza degli articoli scelti, ecc.). Ormai tutti i siti di commercio elettronico sono dotati del famigerato shopping cart, ossia il carrello della spesa elettronico, oggetto di questo articolo, primo di tre, in cui analizzerò gli aspetti tecnici legati alla sua implementazione, con strumenti e tecnologie a noi familiari. Questo articolo illustra la prima delle tre complete soluzioni di shopping cart, lasciando agli utenti la scelta più appropriata.

Premesse

Per completare i nostri esempi pratici ci serviremo di una ipotetica azienda che commercializza giochi per la nota console PlayStation, denominata "PlayWorld.com". Considerate le soluzioni "off-line" illustrate semplicemente come "base di lancio" per la realizzazione di versioni "on-line" di sicuro interesse, al costo di pochi ma necessari interventi.

Requisiti tecnici

Analizziamo subito gli strumenti di cui dobbiamo dotarci per realizzare la nostra soluzione:

  • Server HTTP (IIS/PWS) con ASP 2.0
  • Microsoft© Access 97/2000
  • Una piccola LAN con almeno un client per effettuare le "prova su strada"; in alternativa usate solo il server con il proprio browser.

Immagino che chiunque possa dotarsi di questi strumenti, ma vi esorto a utilizzarli solo per testare il codice di esempio. Una soluzione sicura, prestante e soprattutto scalabile, richiede l'impiego di strumenti aggiuntivi, oggetto di futuri articoli.

La logica del carrello

Il carrello elettronico è fondamentalmente uno strumento in grado di tenere traccia degli articoli scelti dall'acquirente sul vostro sito web. Per quanto semplice possa apparire, è comunque necessario progettare la logica (in questo caso business-logic) in grado di effettuare le seguenti operazioni:

  • Creare un carrello nuovo / Recuperare le informazioni da un carrello esistente
  • Gestire le operazioni di inserimento, cancellazione e modifica degli articoli
  • Gestire la persistenza delle informazioni (compatibilmente con le scelte operate dai gestori)
  • Integrare le informazioni del carrello con la gestione ordini/pagamenti/spedizione, gli aspetti commerciali del sito.

Abbiamo molti modi per gestire questi aspetti attraverso la programmazione, ma è necessario suddividere la progettazione in fasi distinte e provvedere attentamente alla loro integrazione.

Una importante premessa da non sottovalutare è che le soluzioni proposte consentono di realizzare carrelli elettronici "on the fly", ossia con tempo di vita pari alla durata della sessione utente, evitando di rendere le informazioni persistenti almeno fino alla conferma dell'ordine.

Fase 1: il database. Costruiamo le fondamenta

Quale che sarà la soluzione che adotteremo per il nostro carrello, non potrà certo sottrarsi dall'interagire con il nostro database. La soluzione riportata è evidentemente incompleta per gestire tutti gli aspetti di un sito di e-commerce (pagamenti elettronici, ordini, mailing list, spedizioni, ecc.), ma sufficiente per i nostri scopi.

Iniziamo a creare un nuovo file di database con Microsoft© Access 97/2000, nel quale inseriremo quattro tabelle:

NOME TABELLA DESCRIZIONE
ORDINI Contiene informazione sugli ordini inseriti, il loro stato, la data di inoltro, il cliente associato
DETTAGLIO_ORDINI Contiene i dettagli dei singoli ordini
CLIENTI Contiene i dati dei nostri clienti, comprese le credenziali per l'accesso riservato al sito
ARTICOLI Contiene le informazioni sugli articoli proposti sul sito

Proseguiamo costruendo in ordine le quattro tabelle, definendone le rispettive strutture.

[TABELLA ORDINI]

NOME CAMPO TIPO DI DATI NOTE
CODICE Contatore

Chiave Primaria

Codice univoco dell'ordine
CLIENTE Numerico

Intero Lungo

Il codice del cliente proprietario dell'ordine
DATA Data/Ora La data di creazione dell'ordine
STATO Testo Definisce lo stato in cui l'ordine si trova (vedi più avanti)
/table>

[TABELLA CLIENTI]

NOME CAMPO TIPO DI DATI NOTE
CODICE Contatore
Chiave primaria
Il codice univoco del cliente
NOME Testo
Lunghezza (50)
Il nome dell'utente
COGNOME Testo
Lunghezza (50)
Il cognome dell'utente
UID Testo
Lunghezza (50)
Il nome utente usato per accedere al sito
PWD Testo
Lunghezza (50)
La password utente usata per accedere al sito
EMAIL Testo
Lunghezza (50)
L'indirizzo di posta elettronica del cliente
[TABELLA DETTAGLIO_ORDINI]
NOME CAMPO TIPO DI DATI NOTE
CODICE Numerico
Intero Lungo
Chiave primaria
Il codice univoco dell'articolo
ORDINE Numerico
Intero Lungo
Chiave primaria
Il codice dell'ordine a cui è associato l'articolo
QTA Data/Ora Indica il numero di articoli ordinati
PREZZO Valuta Il prezzo unitatio dell'articolo
[TABELLA ARTICOLI]
NOME CAMPO TIPO DI DATI NOTE
CODICE Numerico

Chiave primaria

Il codice dell'articolo
DESCRIZIONE Testo

Lunghezza (255)

La descrizione ridotta dell'articolo
PREZZO Valuta Il prezzo unitatio dell'articolo

N.B. Un database già pronto è disponibile con gli esempi allegati a questo articolo.

L'ultima operazione da effettuare consiste nel creare le giuste relazioni tra le tabelle, al fine di normalizzare il nostro database e automatizzare alcune operazioni di modifica.

Immagine

Selezioniamo quindi la voce "Relazioni" dal menù "Strumenti", e definiamo i JOIN come nella figura seguente:

Relazioni tra le tabelle del database

Passo 1: Trascinare il campo "CODICE" della tabella "CLIENTI" sul campo "CLIENTE" della tabella "ORDINI".

Passo 2: Trascinare il campo "CODICE" della tabella "ORDINI" sul campo "ORDINE" della tabella "DETTAGLIO_ORDINI".

Passo 3: Trascinare il campo "CODICE" della tabella "ARTICOLI" sul campo "CODICE" della tabella " DETTAGLIO_ORDINI".

Nella finestra di dialogo Relazioni, che appare quando stabilite la relazione graficamente, selezionare le voci "Applica integrità referenziale", "Aggiorna campi correlati a catena" e "Elimina record correlati a catena". Questa operazione ci assicura che le nostre informazioni siano integre e consistenti, in parole semplici corrette!

Il 50% del lavoro si può ritenere completato a questo punto.

Un sito che commercializza prodotti senza un catalogo, non avrà molto successo. Troverete nel database allegato qualche articolo nella tabella ARTICOLI. Usate la vostra fantasia ed inserite altri articoli, magari prendete come esempio concreto qualche titolo della diffusissima console (che sicuramente avrete), riportando fedelmente i dati nella tabella.

3 pagine in totale: 1 2 3

Attenzione: Questo articolo contiene un allegato.

Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata