verticale

GridCom: un social network per aziende

Gridcom è un social network che è stato sviluppato per consentire alle aziende di avere maggiore visibilità sul mercato e per aiutarle ad individuare possibili fornitori e clienti in modo facile e mirato. La piattaforma riprende gli aspetti generali dei social network più comuni, quali un sistema di messaggistica, la ricerca di altri contatti e la fase di registrazione, ma in più aggiunge nuove funzionalità. GridCom si basa su un’idea totalmente differente e innovativa rispetto altri social network: le aziende organizzano stand, fiere ed eventi per farsi conoscere, per portare la propria immagine sul mercato e per parlare di sé, allo scopo di creare interesse verso possibili clienti e fornitori.

Scarica il PDF Scarica il PDF
Aggiungi ai preferiti Aggiungi ai preferiti


Articoli tecnico scientifici o articoli contenenti case history
Tesi di Laurea, Politecnico di Milano, Anno Accademico 2012-2013

Pubblicato
da Alessia De Giosa
VerticaleSegui aziendaSegui




Settori: 

Parole chiave: 


Estratto del testo
POLITECNICO DI MILANO Facoltà di Ingegneria dell'Informazione Corso di Laurea in Ingegneria Informatica Dipartimento di Elettronica e Informazione GRIDCOM: UN SOCIAL NETWORK PER AZIENDE Relatore: Professoressa Franca Garzotto Tesi di Laurea di: Marco Bombarda, matricola 770964 Simone De Nicolo, matricola 771120 Anno Accademico 2012-2013
pag. 2 A tutte le persone care
pag. 3 RINGRAZIAMENTI
Vorremmo ringraziare la professoressa Garzotto per l''aiuto dato nella realizzazione del progetto. Vorremmo inoltre ringraziare i nostri genitori, i
famigliari e tutte le persone care che ci sono state vicine in questi anni. Infine un
grazie ai nostri compagni di corso e di studio.
pag. 4
pag. 5 INDICE
RINGRAZIAMENTI ................................................................................................................................ 3 INDICE .................................................................................................................................................. 5 INDICE DELLE FIGURE .......................................................................................................................... 7 INDICE DEI GRAFICI.............................................................................................................................. 8 1. INTRODUZIONE ........................................................................................................................... 9 1.1 ABSTRACT ............................................................................................................................ 9 1.2 MOTIVAZIONI/ PROBLEMI ................................................................................................. 10 1.3 PERCHE'' ............................................................................................................................. 12 2 STATO DELL''ARTE ...................................................................................................................... 13 2.2 PREMESSA ......................................................................................................................... 13 2.2 DIFFERENZE CON I SOCIAL NETWORK ESISTENTI .............................................................. 17 2.2.1 FACEBOOK ..................................................................................................................... 17 2.2.2 TWITTER ........................................................................................................................ 19 2.2.3 LINKEDIN ........................................................................................................................ 21 2.2.4 YOUTUBE ....................................................................................................................... 22 3 PROGETTAZIONE ....................................................................................................................... 25 3.1 PUNTI SVILUPPATI ............................................................................................................. 25 3.2 ASP ..................................................................................................................................... 26 3.3 REQUISITI ........................................................................................................................... 28 3.4 USER EXPERIENCE .............................................................................................................. 30 3.5 DATABASE .......................................................................................................................... 31 3.6 UX CONCETTUALE.............................................................................................................. 33 4 DESIGN IMPLEMENT .................................................................................................................. 34 4.1 SCENARI ............................................................................................................................. 34 4.2 SICUREZZA INFORMATICA ................................................................................................. 47 4.3 LE PAGINE .......................................................................................................................... 53 4.4 PARTICOLARITA'' DEL CODICE ............................................................................................ 57 5 TEST EFFETTUATI ....................................................................................................................... 60 6 SVILUPPI FUTURI ....................................................................................................................... 63 7 CONCLUSIONI ............................................................................................................................ 64
pag. 6 8 BIBLIOGRAFIA ........................................................................................................................... 65
pag. 7 INDICE DELLE FIGURE
Figura 1: interazione tra utente e clienti/fornitori ............................................................................ 15 Figura 2: relazione ciclica .................................................................................................................. 15 Figura 3: Logo Gridcom ..................................................................................................................... 16 Figura 4: logo facebook ..................................................................................................................... 18 Figura 5: logo twitter ......................................................................................................................... 20 Figura 6: logo Linkedin ...................................................................................................................... 21 Figura 7: logo youtube ...................................................................................................................... 22 Figura 8: analogie con i social network ............................................................................................. 23 Figura 9: Architettura Asp.net ........................................................................................................... 27 Figura 10: Requisiti ............................................................................................................................ 28 Figura 11: User experience Gridcom ................................................................................................. 30 Figura 12: Struttura database ........................................................................................................... 32 Figura 13: ux concettuale .................................................................................................................. 33 Figura 14: scenario registrazione ...................................................................................................... 35 Figura 15: Schema Ricerca fornitori .................................................................................................. 40 Figura 16: Aggiunta/Rimozione fornitore ......................................................................................... 42 Figura 17: Modifica impostazioni profilo .......................................................................................... 43 Figura 18: Partership ......................................................................................................................... 45 Figura 19: Fatturazione ..................................................................................................................... 46 Figura 20: Architettura Master-slaves ............................................................................................... 50 Figura 21: architettura Master-Master ............................................................................................. 51 Figura 22: Architettura ad anello ...................................................................................................... 51 Figura 23: Homepage ........................................................................................................................ 53 Figura 24: pagina profilo personale .................................................................................................. 54 Figura 25: pagina profilo fornitore/cliente ........................................................................................ 55 Figura 26: pagina storico fatture ....................................................................................................... 56 Figura 27: l'hiddenfield ................................................................................................................... .. . 58 Figura 28: sqldependency .............................................................................................................. .. . 59
pag. 8 INDICE DEI GRAFICI
Grafico 1: Qualità grafica''''''''''''''''''''''''''''''''''''''''''60 Grafico 2: Qualità dei tag''''''''''''''''''''''''''''''''''''''''''61 Grafico 3: Gestione clienti/fornitori''''''''''''''''''''''''''''''''''''61
pag. 9 1. INTRODUZIONE 1.1 ABSTRACT Gridcom è un social network che è stato sviluppato per consentire alle aziende di avere maggiore visibilità sul mercato e per aiutarle ad individuare
possibili fornitori e clienti in modo facile e mirato.
La piattaforma riprende gli aspetti generali dei social network più comuni, quali un
sistema di messaggistica, la ricerca di altri contatti e la fase di registrazione, ma in
più aggiunge nuove funzionalità.
GridCom si basa su un''idea totalmente differente e innovativa rispetto agli altri
social network: le aziende organizzano stand, fiere ed eventi per farsi conoscere, per
portare la propria immagine sul mercato e per parlare di sé, allo scopo di creare
interesse verso possibili clienti e fornitori.
Dunque il fine dell''azienda è di vendere i propri prodotti e quindi di diventare
fornitrice dell''azienda cliente, oppure di acquistare le proprie forniture e quindi di
diventare cliente di un possibile fornitore.
GridCom si basa su questo concetto.
L''obiettivo della piattaforma è dare visibilità alle aziende ed aiutarle a creare una
rete commerciale sulla base di criteri mirati: ciò che essa produce e ciò di cui
necessita.
GridCom è quella fiera, quell''evento, al quale le aziende presentano i propri prodotti
e cercano le proprie forniture tramite il loro stand ( il Profilo).
GridCom è una piazza sulla quale si affacciano le aziende iscritte e stringono
rapporti tra loro.
Attualmente non esiste nulla sul web che sia definito secondo queste caratteristiche.






pag. 10 1.2 MOTIVAZIONI/ PROBLEMI Le motivazioni che ci hanno portato alla sviluppo di Gridcom sono molteplici:
' Volevamo creare qualcosa che si differenziasse dai soliti social network, nei
quali lo scopo primario è l''interazione con altre persone. ' Di solito (in particolare per piccole realtà) il social network non è sfruttato
come mezzo di business, perché interpretato unicamente come fonte di svago. ' I classici motori di ricerca, come Google o Bing, utilizzano l''analisi
semantica per ricercare quello che si vuole trovare; noi invece abbiamo creato
un sistema mirato, che permette di ricercare fornitori e clienti attraverso
l''inserimento delle forniture e dei prodotti desiderati.
I problemi riscontrati vengono divisi in quattro grandi aree: logici, implementativi,
sicurezza informatica e grafica.
Durante la trattazione questi problemi verranno analizzati ed esposte le soluzioni
intraprese.
Qui di seguito è riportata una lista di problematiche divise per macroarea:
LOGICA Quando si vuole sviluppare una qualsiasi applicazione informatica il primo obiettivo su cui bisogna riflettere è l''algoritmo da implementare. Questo deve essere
efficiente e funzionale.
Un esempio può essere mostrare o meno ciò che un''altra azienda produce o cerca.
Da un lato potrebbe portare a fare un''analisi di mercato e individuare possibili
competitor, ma dall''altro potrebbe portare all''eliminazione di account di aziende che
non vogliono più mostrare i loro dati di ricerca.
IMPLEMENTAZIONE Qui sorgono i problemi di maggior rilievo: innanzitutto bisognava imparare a programmare in asp.net, ambiente di sviluppo della Microsoft utilizzato per la
creazione di pagine dinamiche e basato su tutti i linguaggi che fanno uso del
framework .NET, quali ad esempio C#, Visual Basic e j# (nello specifico è stato
utilizzato C# per la sua maggiore somiglianza a C++).
Inoltre per alcune funzionalità bisognava utilizzare altri linguaggio come jquery,
utile per creare applicazioni aggiornabili a runtime.
pag. 11 Altro problema era l''interfacciarsi con i server Google per utilizzare le loro API
(Application Programming Interface) allo scopo di interfacciarsi al servizio Google
Maps, il quale prevede la creazione di un codice da inserire nel sorgente.
Altri problemi si sono riscontrati nel sistema di messaggistica; per spiegare meglio
questo problema bisogna fare una premessa.
Il codice asp.net si divide sostanzialmente in due aree: la prima ''client side', ovvero
il codice dell''interfaccia visualizzata dal browser (ovviamente priva di codice c#), la
seconda ''Server side', nel codice chiamata ''behind code', nel quale vengono gestiti
i dati immessi, le api Google e il database.
Per l''interfacciamento tra le due aree esistono dei comandi appositi, ma che
richiedono il refresh della pagina, un problema in un servizio di messaggistica.
SICUREZZA INFORMATICA Nel campo informatico la sicurezza è sempre uno dei problemi di maggior rilievo nello sviluppo di un software, soprattutto quando c''è la necessità di trattare
dati personali.
In particolare, è necessario risolvere vulnerability che possano portare a possibili
exploit.
Una possibile vulnerability riscontrata nell''implementazione del codice è stata la
SQL Injection, debolezza che può portare un malintenzionato a introdursi nel
database ''iniettando' una query.
Un altro problema è mantenere l''integrità dei dati nel tempo; il server potrebbe
essere down, e se ci fosse un guasto, i dati potrebbero essere compromessi: si
necessita quindi di un''architettura che possa mantenere l''integrità dei dati.
GRAFICA Una volta sviluppata interamente la logica l''ultimo problema da affrontare è l''implementazione della grafica; questa deve essere semplice e user friendly, in
modo che sia facilmente utilizzabile dall''utente medio.
pag. 12 1.3 PERCHE'' Come accennato in precedenza lo scopo è offrire alle aziende un servizio web
completamente innovativo, che attraverso la definizione di azienda come nodo tra
fornitori e clienti, sia in grado di costruire una vera e propria rete commerciale.


pag. 13 2 STATO DELL''ARTE 2.2 PREMESSA Per definire lo stato dell''arte, è necessario fare una prefazione sull''etimologia del termine ''azienda':

''In economia aziendale, un'azienda è un'organizzazione di persone e mezzi
finalizzata alla soddisfazione di bisogni umani attraverso la produzione,
la distribuzione o il consumo di beni economici.'

Esistono varie tipologie di aziende, ovvero:

1. familiare: persegue il suo scopo tramite valori non economici (come
l'assistenza reciproca, i sentimenti, ecc.) ed economici (consumi, investimenti
e risparmio). Tipicamente è un'azienda di consumo in cui il risparmio è
formato dalla differenza tra redditi di lavoro e capitale da una parte,
e consumi e investimenti dall'altra; se le uscite superano gli introiti si accede
al finanziamento di terzo. Non va confusa con l'impresa familiare, cioè
l'istituzione economica che impiega membri della stessa famiglia e che è
volta a produrre reddito.
2. pubblica: si occupa in primo luogo di soddisfare i bisogni pubblici, inoltre
crea, accresce e distribuisce valore non solo in relazione alla collettività; ma
coinvolgendo anche altri soggetti (stakeholders) quali fornitori, dirigenti, dipendenti pubblici, clienti, concorrenti, ecc.
3. di produzione (o impresa): ha come fine diretto (principale) la produzione e
la distribuzione di ricchezza, e come fine indiretto (secondario) il
soddisfacimento dei bisogni umani. Si chiamano imprese perché operano in
un'economia di mercato, e sono soggette al rischio del capitale investito. A
seconda del settore in cui operano, possono essere ulteriormente classificate
in: del primario (agricole, minerarie), del secondario (industriali, edili),
del terziario (commerciali, mercantili, bancarie, assicurative, di servizi),
del terziario avanzato (informatiche, di consulenza).
pag. 14 4. no profit: si tratta di aziende che non hanno fini di lucro soggettivo, nel senso
che, pur potendo realizzare dei risultati economici e finanziari positivi, questi
non vengono distribuiti al soggetto economico. ' tuttavia lecito che svolgano
una qualche attività commerciale inerente all'oggetto sociale purché essa sia
solo marginale o rientri all'interno di finalità di utilità sociale. Un discorso
particolare vale per le ONLUS (Organizzazioni Non Lucrative di Utilità Sociale). Si tratta di una qualifica ai fini delle imposte - ovvero che
incide sulle modalità di pagamento delle imposte - che possono assumere le
aziende non profit che operano in uno dei seguenti settori: assistenza sociale e
socio-sanitaria, assistenza sociale, assistenza sanitaria, beneficenza, istruzione, formazione, sport dilettantistico, tutela e
promozione dei beni storici e artistici, tutela dell'ambiente, promozione
culturale ed artistica, tutela dei diritti civili, ricerca scientifica. Tali società
devono essere iscritte all'anagrafe delle ONLUS, presso la Direzione
Regionale delle Imprese per avere diritto a particolari vantaggi fiscali (non
sono soggette a tassazione).
5. mutualistiche: comprendono cooperative, società di mutua assicurazione e
consorzi di cooperative. La cooperative hanno uno scopo principalmente
mutualistico, che consiste nel fornire beni o servizi o lavoro direttamente ai
soci, in modo più vantaggioso rispetto alle condizioni del mercato. Lo scopo
mutualistico assicura la limitata distribuzione degli utili tra i soci e la
devoluzione a scopi di utilità pubblica del patrimonio sociale, in caso dello
scioglimento della società. Oltre ai soci ordinari è possibile che ci siano
dei soci sovventori, che investono nella cooperativa al fine di ottenere un
interesse sul capitale investito. Le attività che possono essere svolte in forma
cooperativistica comprendono: consumo, produzione, lavoro agricolo, edilizia,
trasporti, pesca, economia sociale. Le società di mutua assicurazione sono
cooperative che si occupano di attività assicurativa (ramo vita e ramo danni),
sono a responsabilità limitata e il capitale sociale è costituito dai contributi
versati dai soci, che servono anche come premi assicurativi. Quasi tutte le aziende necessitano quindi di fornitori da cui comprare materie prime e di clienti per generare un profitto.





pag. 15 Un esempio:
l''azienda B produce motori e richiede all''azienda A dei bulloni. L''azienda C che
produce ascensori necessita dei motori dell''azienda B.
Graficamente:









Figura 1: interazione tra utente e clienti/fornitori Questa relazione è considerata dal punto di vista dell''azienda B dove A sarà un
possibile fornitore e C un probabile cliente.
La relazione invece cambia se ci si pone da un altro punto di vista; per esempio per
l''azienda C, l''azienda B sarà un fornitore.






Figura 2: relazione ciclica Si crea in questo modo una griglia di aziende che sono collegate direttamente ai loro
fornitori ed ai loro clienti. Questa rete di nodi rappresenta l''intero mercato. Azienda A Fornitore ''Bulloni' Azienda B ''Motori' Azienda C Cliente ''Ascensori' Azienda B Fornitore ''Motori' Azienda C ''Ascensori'
Da questa idea ha preso spunto il nome Gridcom
Grid Commercial (Griglia Commerciale) Da questa idea ha preso spunto il nome Gridco : (Griglia Commerciale) Figura 3: Logo Gridcom pag. 16
pag. 17 2.2 DIFFERENZE CON I SOCIAL NETWORK ESISTENTI
Come introdotto nel capitolo precedente (cap 1.1), Gridcom si pone nel contesto dei
social network.
Nel capitolo seguente analizzeremo analogie e differenze con i principali social
network. 2.2.1 FACEBOOK ''Facebook è un servizio di rete sociale lanciato nel febbraio
2004, posseduto e gestito dalla corporation Facebook, Inc. Il
sito, fondato a Cambridge negli Stati Uniti da Mark
Zuckerberg e dai suoi compagni di università Eduardo
Saverin, Dustin Moskovitz e Chris Hughes, era originariamente stato progettato esclusivamente per gli
studenti dell'Università di Harvard, ma fu presto aperto
anche agli studenti di altre scuole della zona di Boston, della
Ivy League e della Stanford University. Successivamente fu
aperto anche agli studenti delle scuole superiori e poi a
chiunque dichiarasse più di 13 anni di età. Da allora
Facebook raggiunse un enorme successo: è diventato il
secondo sito più visitato al mondo, preceduto solo da
Google; è disponibile in oltre 70 lingue e nell'ottobre 2012
conta circa 1 miliardo di utenti attivi che effettuano
l'accesso almeno una volta al mese, classificandosi come
primo servizio di rete sociale per numero di utenti attivi.
Il nome "Facebook" prende spunto da un elenco con nome e
fotografia degli studenti, che alcune università statunitensi
distribuiscono all'inizio dell'anno accademico per aiutare gli
scritti a socializzare tra loro.
Gli utenti possono accedere al sito previa una registrazione
gratuita, durante la quale vengono richiesti dati personali
come nome, cognome, data di nascita e indirizzo email. Il
sito chiarisce che l'inserimento obbligatorio della data di
nascita serve esclusivamente "per favorire una maggiore
autenticità e consentire l'accesso ai vari contenuti in base
all'età". Completata la registrazione, gli utenti possono
creare un profilo personale, includere altri utenti nella
propria rete sociale, aggiungendoli come amici, e
pag. 18 scambiarsi messaggi, anche via chat, incluse le notifiche
automatiche quando questi aggiornano i propri profili.
Inoltre gli utenti possono fondare e unirsi a gruppi per
condividere interessi in comune con altri utenti, organizzati
secondo il luogo di lavoro, la scuola, l'università o altre
caratteristiche, condividere contenuti multimediali ed
utilizzare varie applicazioni presenti sul sito. Per
personalizzare il proprio profilo l'utente può caricare una
foto, chiamata immagine del profilo, con la quale può
rendersi riconoscibile. Può inoltre fornire ulteriori
informazioni, come il comune di nascita (esempio: Città
natale: Roma) e quello di residenza (esempio: Vive a
Milano), la scuola frequentata, il proprio datore di lavoro,
l'orientamento religioso e quello politico, la propria
situazione sentimentale e molte altre.'

Figura 4: logo facebook Dalla descrizione di Wikipedia si evince che il più famoso social network al mondo si basa sull''interazione di ''amici'.
' la piattaforma da cui abbiamo tratto più spunto, in particolare:
' Per quanto riguarda la grafica entrambe le piattaforme si basano
sull''essenzialità con colori sobri e font sempre uguale; ' Con entrambe le piattaforme è possibile creare una lista di amici; mentre in
Facebook sarà una lista di conoscenti o di follower, in Gridcom sarà l''elenco
di fornitori/clienti più interessanti per non intasare la homepage nel caso in
cui i contatti trovati tramite i tag siano troppi. ' Nella home page di Facebook vengono visualizzati tutti gli avvenimenti/post
scritti dai contatti. Sulla nostra piattaforma è possibile interagire con la pagina
di un contatto amico solamente nel caso in cui si clicchi sul suo logo; in
pag. 19 questo modo si verrà reindirizzati alla pagina principale del contatto dove
sarà possibile messaggiare e creare fatture. ' Facebook utilizza una chat a tendina per interagire con il contatto, mentre noi
utilizziamo una pagina dedicata (un popup).
Facebook è l''unico social network ad introdurre la possibilità di creare un profilo
aziendale, ma risulta identico ad un qualsiasi profilo utente, eccezion fatta per alcuni
dati aggiuntivi quali la partita IVA.
Utile in questo caso è la pubblicazione di messaggi pubblicitari nei banner dedicati
ai lati delle pagine, ma non si avrà nessun incremento di visibilità qualora l''azienda
produca semilavorati.

2.2.2 TWITTER ''Twitter è un servizio gratuito di social network e microblogging che fornisce agli utenti una
pagina personale aggiornabile tramite messaggi di testo
con una lunghezza massima di 140 caratteri. Twitter è
costruito totalmente su architettura Open source. Gli
aggiornamenti possono essere effettuati tramite il sito
stesso, via SMS, con programmi di messaggistica istantanea, posta elettronica, oppure tramite varie
applicazioni basate sulle API di Twitter. Twitter è stato
creato nel marzo 2006 dalla Obvious Corporation di San
Francisco.
Il nome "Twitter" deriva dal verbo inglese to tweet che
significa "cinguettare". Tweet è anche il termine tecnico
degli aggiornamenti del servizio. Itweet che contengono
esattamente 140 caratteri vengono chiamati twoosh. Gli
aggiornamenti sono mostrati nella pagina di profilo
dell'utente e comunicati agli utenti che si sono registrati
per riceverli. ' anche possibile limitare la visibilità dei
propri messaggi oppure renderli visibili a chiunque. Il
valore del social network è stato stimato intorno agli 8,4
miliardi di dollari. Twitter nel 2012 ha raggiunto i 500
pag. 20 milioni di iscritti e 200 milioni di utenti attivi che fanno
accesso almeno una volta al mese.'
Figura 5: logo twitter Questo social network potrebbe essere considerato il successore di Windows live spaces.
Previa registrazione, l''utente può scrivere dei microblog che possono essere
commentati dagli altri utenti iscritti.
Si basa sul concetto di following e di follower: i primi indicano la comunità di utenti
che decidiamo di seguire, mentre i secondi indicano gli utenti che seguono i nostri
blog.
La più importante similitudine tra Gridcom e twitter è la creazione di una rete di
utenti: nel caso di twitter sarà l''utente a scegliere chi seguire ( inoltre è
implementato un algoritmo che consiglia altri possibili following sulla base dei
precedenti inseriti), mentre nel nostro caso sarà il software stesso a individuare i
potenziali clienti/fornitori basandosi solamente sui tag inseriti oppure ricercandoli
manualmente.
La più importante differenza tra Gridcom e Twitter, invece, è che il primo permette
di creare opinioni e pensieri che possono essere letti e commentati da tutti, mentre il
secondo crea un''interazione solo a scopo economico.






pag. 21 2.2.3 LINKEDIN ''LinkedIn è un servizio web di rete sociale, impiegato
principalmente per lo sviluppo di contatti professionali. La rete di LinkedIn a gennaio 2009
contava circa 30 milioni di utenti, a maggio del 2010
sono più che raddoppiati arrivando a circa 68 milioni;
il 22 marzo 2011 LinkedIn, presente in oltre 200 paesi,
ha superato 100 milioni di utenti . Diffuso in tutti i
continenti cresce a una velocità di 1 milione di iscritti
a settimana. Il 56% degli iscritti risiede fuori dagli
Stati Uniti. U.S.A., India, Regno Unito e Brasile sono i
paesi col maggior numero di iscritti (quest'ultimo è
anche quello che cresce più velocemente). Gli utenti
europei sono oltre 22.100.000 e le nazioni che
mostrano un maggiore interesse sono l'Olanda, la
Francia e l'Italia. LinkedIn copre circa 150 comparti
economici e oltre 400 "regioni economiche". La società
che gestisce il servizio ha sede a Palo Alto (California).'
Figura 6: logo Linkedin Il fine di Linkedin è creare una rete di persone in campo lavorativo (chiamate
''connessioni'). Lo scopo principale non è rendere visibile un''azienda, ma
permettere alle persone di trovare opportunità di lavoro grazie ai contatti amici.
Inoltre le aziende possono pubblicare offerte e ricercare possibili candidati.
Questo ultimo punto è un futuro obiettivo che verrà implementato nelle successive
release del nostro software.

pag. 22 2.2.4 YOUTUBE ''YouTube è un sito web che consente la condivisione e
visualizzazione di video. Di proprietà di Google Inc. da
ottobre 2006, è il terzo sito più visitato al mondo dopo
Google e Facebook. L'azienda ha sede a San Bruno
(California) e utilizza Adobe Flash Video per
visualizzare una vasta gamma di video che però viene
sostituita da un'applicazione proprietaria del sito web
nel caso l'utente abbia attivato la prova beta HTML5
nel sito. La maggior parte dei contenuti su YouTube
viene caricata dai singoli utenti, anche se le società dei
media tra cui la CBS, BBC, VEVO e altre
organizzazioni offrono parte del loro materiale tramite
il sito, come parte del programma di partnership di
YouTube.' Figura 7: logo youtube Anche la piattaforma più grande al mondo di video in streaming è considerato un
social network, o per meglio dire un sito di content sharing adibito alla condivisione
di contenuti (in questo caso video) .
Si possono creare collegamenti tra utenti iscritti e ogni video può essere commentato
da chiunque.
Youtube utilizza un sistema di ricerca analogo a quello di Gridcom: quando si fa
l''upload di un video, vengono richieste della parole chiave (tag) che permetteranno
al video di essere trovato nella fase di ricerca.
Lo scopo di tale piattaforma è principalmente l''intrattenimento.


pag. 23 Un fattore importante da considerare è la visualizzazione di questi siti in vetta alle
classifiche mondiali; esattamente:
' 2° Facebook
' 3° Youtube
' 11° twitter
' 13° Linkedin
Dati importanti che dimostrano quanto siano utilizzati i social network dall''utenza di
tutto il mondo.

La piattaforma Gridcom non vuole essere un concorrente o sostituto dei social
network sopra descritti, ma un''integrazione diversa e mirata al business.







Figura 8: analogie con i social network Come si evince dal grafo Gridcom si basa su idee già esistenti e presenti sui più classici social network (la freccia tratteggiata indica la non implementazione
nella corrente release), ma introduce una nuova figura, ovvero l''azienda come entità
e non come individuo.
Bisogna però distinguere tra due tipologie di aziende: quelle che si rivolgono al
mercato customer (utenti finali) e le aziende B2B, ovvero le aziende che producono
semilavorati destinati ad altre aziende. FACEBOOK Amici Messaggi LINKEDIN Possibili assunzioni GRIDCOM YOUTUBE tag
pag. 24 Le prime fanno largo uso dei social network esistenti per data mining, ovvero analisi
dei dati allo scopo di creare possibili previsioni. Gli utenti scrivono sui social
network per esprimere pareri riguardo i prodotti/servizi offerti e le società possono
trarre beneficio da tali commenti.
Inoltre pubblicare su un social network o comunque in Internet ha costi
infinitamente inferiori rispetto ad altri mezzi pubblicitari quali locandine cartacee o
pubblicità televisive.
Le aziende che producono semilavorati invece, stentano ad utilizzare i social
network perché non hanno la visibilità dei clienti consumer che rappresentano la
fetta di mercato più grande.
Manca quindi un social network che si rivolga esclusivamente a loro.

pag. 25 3 PROGETTAZIONE
3.1 PUNTI SVILUPPATI Il progetto iniziale si basa sui seguenti punti: ' Sistema di registrazione di una nuova azienda con inserimento di nuovi tag(forniture e prodotti) ' Possibilità di inserimento di altri tag in qualsiasi momento
' Sistema di ricerca di possibili fornitori e clienti
' Sistema di messaggistica tra aziende
' Sistema di creazione/memorizzazione fatture
' Sistema di rimozione di un account di un''azienda
' Gestire la lista di amici
' Modificare in qualsiasi momento i dati personali (ad esclusione della mail di accesso) ' Modifica e inserimento del logo aziendale
' Possibilità di decidere quali dati verranno mostrati alle altre aziende attraverso specifiche impostazioni sulla privacy.

pag. 26 3.2 ASP La tecnologia utilizzata per implementare l''applicazione è asp.net. Asp.net è caratterizzato da un''architettuta client-server Three Tier, in cui
l''interfaccia grafica, i processi logici e l''accesso ai dati sono sviluppati su 3 moduli
indipendenti
Tali moduli sono:
Livello di presentazione
Questo è il livello più alto dell'applicazione. Il livello di presentazione mostra
l''interfaccia grafica con la quale l''utente interagisce.

Livello applicazione
Questo livello gestisce le funzioni logiche che vengono attivate nel livello di
presentazione.
Si occupa di gestire le richieste dell''utente, di svolgere le funzioni a livello server e
di interagire col database

Livello dati
Questo livello è costituito da server database. Qui le informazioni vengono
memorizzate e recuperate. Si occupa di mantenere i dati neutrali e indipendenti da
applicazioni server o da logica di business.
Inoltre fornendo informazioni del proprio livello migliora la scalabilità e le
prestazioni.
pag. 27 Figura 9: Architettura Asp.net
L''interfaccia grafica è stata gestita tramite i classici linguaggi grafici di
programmazione di pagine web, quali HTML, CSS, JAVASCRIPT .
Il back-end, invece, è stato programmato attraverso il linguaggio C#, mentre le
chiamate al database sono stata implementate con SQL.
pag. 28 3.3 REQUISITI Per progettare Gridcom abbiamo tenuto in considerazione diversi fattori in modo da
prendere corrette decisioni di design :

Stakeholders: a chi è rivolta l''applicazione
Goals: quali sono gli obbiettivi del sito
Requirements: quali sono i requisiti necessari a conseguire gli obbiettivi
Design: come sono sviluppati i requisiti Figura 10: Requisiti STAKEHOLDERS
L''applicazione è rivolta alle aziende, all''ambito business. In particolare possiamo
pensare che nelle piccole imprese il sito possa essere gestito direttamente dal titolare,
mentre in aziende di grandi dimensioni possa essere gestito dall''ufficio acquisti per
quanto riguarda i fornitori, e dall''ufficio vendite per quanto riguarda i clienti. GOALS REQUIREMENTS DESIGN
pag. 29 GOALS
L''obiettivo è creare un social network che sia utile alle aziende per avere visibilità
sul mercato e che sia assolutamente innovativo.
REQUIREMENTS
I requisiti necessari per raggiungere l''obbiettivo sono fornire un servizio di
registrazione, login, messaggistica, visualizzazione e ricerca profili per quanto
riguarda il social network. Per quanto riguarda gli aspetti innovativi, invece, i
requisiti sono fornire la possibilità di ricerche mirate sul territorio in base a prodotti
e forniture e consentire il salvataggio delle trattative concluse.

DESIGN Per soddisfare i requisiti oltre ad implementare la grafica delle pagine web, è stato
necessario gestire un database contente i dati degli utenti, dei messaggi e delle
trattative attraverso la logica. REQUIREMENTS DESIGN Registrazione Servizio di registrazione con i seguenti campi: nome
Azienda, IVA,Indirizzo, Logo,
Forniture,Prodotti,Password,Email Login Servizio che consente l''identificazione degli utenti e
l''accesso al sito Messaggistica Dare la possibilità di inviare/ricevere messaggi in tempo
reale, di salvare ed eliminare le conversazioni effettuate Visualizzazione e
Ricerca Profilo Servizio che permette di ricercare e visualizzare i profili in
base al nome dell''azienda Ricerche mirate Servizio che permette di ricercare e visualizzare i profili
delle aziende che corrispondono alle forniture, ai prodotti e
ai luoghi inseriti nella ricerca Salvare Trattative Servizio che permette di salvare le trattative attraverso
l''inserimento dei prodotti comprati e del prezzo.
pag. 30 Abbiamo così deciso di utilizzare la tecnologia asp.net perché pone grafica, logica e
database su 3 livelli diversi e perché è in forte sviluppo sul web. 3.4 USER EXPERIENCE Figura 11: User experience Gridcom GridCom offre all''utente tutte le caratteristiche dei social network e tutti gli
strumenti necessari a ricercare le aziende specifiche sul mercato . L''utente ha la possibilità di registrarsi e loggarsi, di visualizzare le proprie liste di
fornitori e clienti amici e di inviare e ricevere messaggi. <screen> Index Login Registrati <screen> Profilo $ Logo Dati Azienda Lista amici Lista Fornitori Ricerca Fornitori Ricerca Clienti Partnership Messaggi Storico Fatture Visualizza Profilo <Input Form> Login Email Password OK Registrati <screen> Registration Conferma <Input Form> Regitration Email Passw IVa
etc OK Login Conferma <input Form> Ricerca Fornitori /Clienti Forniture Luogo Ricerca Fornitori /Clienti Ricerca Fornitori /Clienti <screen> Ricerca Fornitori/Clienti Lista Profili Trovati OK Partnership <screen> Partnership Lista Profili Utili <screen>
Messaggi Archivio Messaggi Messaggi Storico Fatture <screen> Storico Fatture Lista Fatture <screen> ShowProfilo Dati Azienda Salva Trattativa Invia Messaggio Aggiungi ai Fornitori Aggiungi ai clienti Salva Trattativa <screen> Fattura Attributes Salva Salva <input form> Fattura Oggetto della spesa Prezzo Unità Invia Messaggio <screen> Messaggio Attributes Invia Invia <input form> Messaggi messaggio OK Aggiugi ai miei Fornitori/Clienti Visualizza Profilo Visualizza Profilo Visualizza Profilo Visualizza Profilo Visualizza Profilo Visualizza Profilo Visualizza Profilo Visualizza Profilo Visualizza Profilo
pag. 31 Il sito è però integrato con altre funzionalità che caratterizzano l''azienda, quali la
ricerca di fornitori e clienti sul territorio, e la possibilità di salvare le trattative
concluse in uno storico. 3.5 DATABASE Il database utilizzato è sqlServer.
' formato da 7 tabelle:
Profilo serve per memorizzare le informazioni personali e
anagrafiche dell''azienda utente TagForn memorizza le forniture associate ad ogni azienda TagProd memorizza i prodotti associati ad ogni azienda FriendList memorizza i rapporti di amicizia tra fornitore e clienti e
tra cliente e fornitore Fattura memorizza i dati delle fatture salvate FattDett per ogni fattura memorizza i prodotti salvati Chat memorizza tutti i messaggi

pag. 32 Figura 12: Struttura database La tabella Friendlist è di fondamentale importanza. I rapporti di amicizia sono salvati in questo modo:
email di chi effettua la richiesta '' email di chi riceve la richiesta- tipo di
amicizia(fornitore o cliente)- confermata(si o no).
Il tipo di amicizia è definito rispetto all''azienda che effettua la richiesta, quindi
rispetto all''altra sarà l''esatto contrario, come avviene nelle trattative sul mercato
reale dove se A è fornitore di B, allora B è cliente di A.
Il campo ''confermata' serve a sapere se la richiesta è stata accettata.

Per esempio: A - B '' forn - si
Significa che B è nella lista fornitori di A, e che quindi A è nella lista clienti di B.
pag. 33 3.6 UX CONCETTUALE Il modello UX concettuale su cui si basa l''idea di Gridcom è il seguente: Figura 13: ux concettuale L''azienda utente è al centro del sistema e può in qualsiasi momento interagire con le
funzionalità messe a disposizione. Si evince come a livello astratto vi sia una netta distinzione tra fornitore e cliente.
pag. 34 4 DESIGN IMPLEMENT 4.1 SCENARI
Login Utente Inserisce Email e password e clicca il pulsante di login sulla home page Sistema Verifica la correttezza e in caso permette l''accesso alla pagina profilo.
Registrazione: Utente Clicca il pulsante registrati sulla home page Sistema Apre il form di inserimento dati per la registrazione Utente Inserisce i dati e da l''ok Sistema Crea nel database un nuovo utente con i dati registrati.

pag. 35 Figura 14: scenario registrazione Da questo punto in poi analizzeremo due possibili tipologie di aziende: i fornitori e i
clienti.
Tuttavia si tratta di un''astrazione della realtà, perché non esiste una netta distinzione
tra le 2 tipologie, ogni azienda potrebbe essere fornitrice di un''altra e nel contempo
essere cliente di una terza.
Chiaramente per il rapporto di mercato che lega 2 aziende, se l''azienda A è un
fornitore di B, allora l''azienda B è cliente di A.


pag. 36 FORNITORE Inserimento forniture: Utente Clicca dal menu ''opzioni' il pulsante ''modifica forniture/prodotti ' Sistema Apre il menu forniture dove appare un editor dal quale selezionare le forniture desiderate. Utente Seleziona le forniture desiderate. Clicca su conferma Sistema Aggiorna il database con le forniture dell''utente e le visualizza sulla pagina profilo. Modifica forniture: Utente Clicca dal menu opzioni il pulsante ''modifica forniture/prodotti' Sistema Visualizza il menu forniture dove appare un editor dal quale selezionare le forniture desiderate . Utente Deseleziona quelle da togliere e seleziona le forniture desiderate. Clicca su conferma. Sistema Aggiorna il database con le forniture dell''utente.
pag. 37 Ricerca clienti: Utente Clicca sul pulsante ricerca clienti sulla pagina profilo. Sistema Apre un menu dove selezionare la locazione geografica e i prodotti da associare alla ricerca Utente Seleziona la nazione/regione/provincia/città desiderata e i prodotti Sistema Visualizza le aziende che corrispondono alla ricerca. Utente Vede le aziende utili e cliccando sul nome ne visualizza il profilo Elimina cliente Utente Clicca sul tasto ''Non mi piace' nella lista dei clienti Sistema Elimina il fornitore dalla lista Aggiunge un azienda alla lista clienti Utente Dal profilo dell''azienda desiderata clicca aggiungi ai miei clienti Sistema Inserisce nel database la richiesta non confermata in attesa che venga accettata dall''altra azienda.
pag. 38 L''azienda 1 accetta la richiesta di entrare nella lista fornitori dell''azienda 2 Utente 2 Dal menu ''richieste in attesa' della pagina profilo visualizza le richieste di amicizia e clicca accetta(o rifiuta se vuole rifiutare) Sistema Aggiorna il campo ''confermata' del database e inserisce l''azienda 2 tra i clienti dell''azienda 1 e l''azienda 1 tra i fornitori dell''azienda 2. Rimuove un azienda dalla lista clienti: Utente Clicca il pulsante rimuovi dai miei clienti sulla pagina profilo dell''azienda desiderata. Sistema L''azienda viene eliminata dalla lista
pag. 39 CLIENTE Inserimento prodotti: Utente Clicca dal menu ''opzioni' il pulsante ''modifica forniture/prodotti ' Sistema Apre il menu prodotti dove appare un editor dal quale selezionare i prodotti desiderati. Utente Seleziona i prodotti desiderati. Clicca su conferma. Sistema Aggiorna il database con i prodotti dell''utente e le visualizza sulla pagina profilo. Modifica prodotti: Utente Clicca dal menu ''opzioni' il pulsante ''modifica forniture/prodotti' Sistema Apre il menu prodotti dove appare un editor dal quale selezionare i prodotti desiderati. Utente Deseleziona quelli da togliere e seleziona i prodotti desiderati. Clicca su conferma. Sistema Aggiorna il database con i prodotti dell''utente e le visualizza sulla pagina profilo.
pag. 40 Ricerca fornitori: Utente Clicca il pulsante ricerca fornitori sulla pagina profilo. Sistema Apre un menu dove selezionare la locazione geografica e le forniture da associare alla ricerca Utente Seleziona la nazione/regione/provincia/città desiderata e le forniture. Sistema Visualizza le aziende che corrispondono alla ricerca Utente Vede le aziende utili e cliccando sul nome ne visualizza il profilo Figura 15: Schema Ricerca fornitori
pag. 41 Elimina fornitore Utente Clicca sul tasto ''Non mi piace' nella lista dei fornitori. Sistema Elimina il fornitore dalla lista Aggiunge un azienda alla lista fornitori Utente Dal profilo dell''azienda desiderata clicca aggiungi ai miei fornitori Sistema Inserisce nel database la richiesta non confermata in attesa che venga accettata dall''altra azienda L''azienda 1 accetta la richiesta di entrare nella lista clienti dell''azienda 2 Utente Dal menu ''richieste in attesa' della pagina profilo visualizza le richieste di amicizia e clicca accetta(o rifiuta se vuole rifiutare) Sistema Aggiorna il campo ''confermata' del database e inserisce l''azienda 2 tra i fornitori dell''azienda 1 e l''azienda 1 tra i clienti dell''azienda 2 Rimuove un azienda dalla lista fornitori: Utente Clicca il pulsante rimuovi dai miei fornitori sulla pagina profilo dell''azienda desiderata Sistema L''azienda viene eliminata dalla lista
pag. 42 Figura 16: Aggiunta/Rimozione fornitore COMUNE AD ENTRAMBE Modificare le impostazioni personali Utente Clicca il tasto impostazioni profilo dal menu a tendina opzioni Sistema Ritorna una pagina dove sono contenuti i dati del profilo dell''utente Utente Modifica i campi desiderati Sistema Aggiorna il database
pag. 43 Figura 17: Modifica impostazioni profilo Contattare altre aziende: Utente Dalla pagina profilo dell''altra azienda clicca invia messaggio Sistema Apre un form di inserimento messaggio Utente Inserisce il messaggio e clicca ok
pag. 44 Leggere posta: Utente Dalla pagina profilo clicca messaggi Sistema Restituisce la pagina messaggi Utente Clicca sull''azienda della quale si vogliono visualizzare i messaggi Sistema Restituisce i messaggi dell''azienda selezionata Utente Scrive nell''apposito box se vuole rispondere Sistema Inserisce il messaggio nel database Visualizzare le aziende che corrispondono alle forniture/prodotti dell''azienda Utente Clicca ''partnership' dalla pagina profilo Sistema Restituisce una lista di possibili clienti e fornitori nell''area geografica vicina all''utente Utente Clicca su un azienda della lista Sistema Restituisce la pagina profilo dell''azienda selezionata
pag. 45 Figura 18: Partership Concludere una trattativa Utente Clicca sul pulsante ''salva fattura ' dalla pagina profilo dell''azienda desiderata Sistema Ritorna un menu dal quale inserire i prodotti e il prezzo che caratterizzano la trattativa Utente Inserisce i dati della trattativa Sistema Salva i dati della trattativa nel database
pag. 46 Visualizzare archivio fatture: Utente Dalla pagina profilo clicca su 'archivio fatture' Sistema Visualizza lo storico delle fatture Utente Clicca sulla fattura desiderata Sistema Visualizza i dati della fattura selezionata Figura 19: Fatturazione A livello software le distinzioni cliente/fornitore non esistono; tutte le aziende hanno funzionalità sia per i clienti che per i fornitori.

pag. 47 4.2 SICUREZZA INFORMATICA Quando si sviluppa un software, uno dei punti fondamentali è garantire la sicurezza informatica, ovvero che non sia possibile introdursi nel codice al fine di
distruggere, modificare o rubare i dati inseriti. Questo tema diventa ancora più importante nel momento in cui si sviluppano
applicazioni web, perché queste si rivolgono a chiunque e quindi si è ignari di chi si
possa introdurre nel sistema. Nello specifico, un software può contenere delle ''vulnerability', ovvero parti di
codice vulnerabili che possono essere utilizzate da un malintenzionato (per esempio
un hacker) al fine di produrre degli exploit; qui di seguito ne vengono citati alcuni: ' Buffer Overflow
' Eavesdropping
' Race Condition
' Man in the Middle
' Input Validation
' Session Hijacking
' Memory Residue
' Replays
' Path Manipulation
' Backdoors Nell''ambito web le più pericolose sono sicuramente queste: ' Input Validation
' Session Hijacking
' Sql injection
' Cookie poisoning In pochi anni il web ha subito una notevole evoluzione; inizialmente esistevano solo
pagine statiche, ovvero siti in cui l''utente poteva solamente consultare il contenuto
senza potervi interagire. All''inizio del nuovo millennio invece si sono cominciate a diffondere le prime
pagine dinamiche, siti in cui gli utenti potevano interagire con applicazioni. Ne
sono esempi gli E-commerce, le banche e le assicurazioni on line e i più recenti
social network.
pag. 48 Oggi il web conta miliardi di pagine dinamiche e altrettante interazioni di utenti;
questo vuol dire che i dati personali sono moltissimi e bisogna garantire che almeno
i più importanti siano protetti (per esempio numeri di conti correnti, carte di credito
ecc). Qui di seguito vengono analizzate le contromisure adottate da Gridcom per
difendere i dati delle aziende iscritte. INPUT VALIDATION Come citato in precedenza, chiunque può aprire una pagina web, e dato che Gridcom
utilizza pagine dinamiche per interagire con i clienti, si necessita di una validazione. L''utente all''accesso nella piattaforma, sarà costretto ad effettuare il login previa
registrazione. In questo modo è garantito il controllo dell''utente, che se non rispetta
il servizio offerto verrà eliminato dal database impedendone un nuovo accesso. SQL INJECTION Il problema dello sql injection è noto da quando sono stati creati i primi database. Il
funzionamento è molto semplice: si inserisce una stringa all''interno della query che
permette di accedere ad una determinata tabella del database. Per esempio: ''SELECT * FROM utente WHERE IDutente='''+txtEmail.text+''' and pass='''+txtPass.text+'''; ' La query sopra indicata potrebbe essere utilizzata nella fase di login dove txtEmail
indicherà il campo Email dell''utente e txtPAss il campo password.
Se nel campo txtEmail venisse inserita la seguente stringa: ''1''=''1'';-- Si avrebbe un attacco sql injection perché: ' 1=1 indica una condizione di verità costante
' ;-- indica il termine della query. La parte rimanente viene considerata solamente un commento

pag. 49 Il software vedrebbe quindi la seguente query: ''SELECT * FROM utente WHERE IDutente=''1''=''1'';--' Permettendo all''utente di visualizzare l''intero contenuto della tabella utente. Gridcom risolve questo problema validando l''input e filtrando il contenuto: non
sono permessi caratteri speciali quali ''='' '';'' e ''-''. COOKIE POISONING In informatica i cookie HTTP (più comunemente denominati Web cookies, tracking
cookies o semplicemente cookie) sono stringhe di testo di piccola dimensione
inviate da un server ad un Web client (di solito un browser) e poi rimandati indietro
dal client al server (senza subire modifiche) ogni volta che il client accede alla stessa
porzione dello stesso dominio. Il termine "cookie" - letteralmente "biscotto" - deriva
da magic cookie, concetto ben noto in ambiente UNIX e che ha ispirato sia l'idea che
il nome dei cookie HTTP. Sono molto utilizzati in campo e-commerce per pubblicizzare nei banner prodotti
visti in precedenza o per effettuare acquisti online (carrello elettronico). Il cookie poisoning consiste nel modificare i contenuti di un cookie (per esempio le
informazioni personali salvate nel computer dell'utente) con il fine di eludere i
meccanismi di sicurezza. Attraverso questa tecnica, chi attacca può ottenere
informazioni private e non autorizzate da un utente, nonché rubare la sua identità. I
cookie immagazzinati nel computer dell'utente contengono le informazioni che
consentono alle applicazioni di autenticare la userID, monitorare i comportamenti e
personalizzare i contenuti di un sito Gridcom non utilizza il metodo dei cookie perché il sistema si basa interamente
sull''utilizzo del database e non ha lo scopo di pubblicizzare un prodotto.
pag. 50 OLTRE GLI ATTACCHI INFORMATICI Uno dei principali problemi nello sviluppo di un software è garantire l''integrità dei
dati nel tempo.
Quando si parla di sicurezza informatica si pensa subito a virus, worm, malware o
attacchi da parte di hacker, ma un problema serio è anche l''affidabilità dell''hardware.
Come qualsiasi macchina un server può rompersi, e se non esiste una copia dei dati,
questi saranno irreparabilmente compromessi.
Esistono architetture che permettono di ovviare a questo problema. Nel seguito ne
sono elencate alcune. Figura 20: Architettura Master-slaves Una delle architetture più utilizzate è master-slaves; il master contiene il database
correntemente utilizzato mentre gli slave contengono le copie del database o del log
(a seconda della dimensione del database e del tipo di query effettuate). ' anche il caso di Gridcom; il sistema replica periodicamente i dati del database su
un disco separato (slave); in questo modo se un disco si danneggia diventa
facilmente sostituibile. La copia effettuata è integrale, ovvero viene clonato interamente il database; si tratta
di una soluzione temporanea perché attualmente lo spazio occupato è minimo.
pag. 51 Inoltre soluzioni future necessiteranno di un''architettura più complessa, composta da
un numero di slave maggiore perché vi sarà un''ipotetica crescita esponenziale del
numero di accessi al social network e quindi un maggiore stress a lettura/scrittura su
hard disk. Esistono anche altre soluzioni architetturali quali la master-master Figura 21: architettura Master-Master In questo caso entrambi i database posti sui due server risultano operativi ma vi sono
problemi di sincronia perché entrambi possono effettuare read e write. Figura 22: Architettura ad anello
pag. 52 L''ultima architettura proposta è quella ad anello, poco utilizzata, perché risulta
essere molto fragile, infatti basta un singolo guasto per compromettere l''intera
l''architettura.
pag. 53 4.3 LE PAGINE
Il capitolo che segue, sarà dedicato a descrivere le funzionalità delle pagine
principali, con alcuni esempi. INDEX Figura 23: Homepage La pagina iniziale presenta il form di login e il link per accedere alla pagina di
registrazione.
pag. 54 PROFILO Figura 24: pagina profilo personale Il profilo è il biglietto da visita dell''azienda: visualizza le informazioni principali e
la posizione sulla mappa; inoltre permette di accedere alle pagine di ricerca, alle
trattative salvate e alla pagina di partnership. Permette anche di cambiare i propri dati personali e di modificare le impostazioni
sulla privacy. La parte centrale della pagina presenta nella colonna di sinistra la lista dei fornitori,
al centro l''azienda stessa e nella colonna di destra la lista dei clienti. Dal punto di
vista logico, questa struttura riflette la realtà perché definisce l''azienda come nodo
legato ai suoi fornitori e ai suoi clienti, e ricalca il modello fornitori-azienda-clienti
come parte della rete commerciale che definisce il mercato.
pag. 55 PARTNERSHIP Questa pagina presenta la lista delle aziende che in base a forniture e prodotti
potrebbero diventare possibili fornitori e clienti. Delinea quale può essere la rete
commerciale dell''utente. La lista fornitori è popolata incrociando le forniture dell''utente ai prodotti degli altri
utenti, la lista clienti invece incrocia i prodotti dell''utente con le forniture delle altre
aziende.
E'' possibile trovare le partnership nella propria città, provincia o nazione.

PROFILO DI UN'ALTRA AZIENDA Figura 25: pagina profilo fornitore/cliente
pag. 56 Questa pagina visualizza il profilo di un'altra azienda. Le informazioni sono rese
disponibili in accordo con le decisioni sulla privacy definite dall''attività di cui si sta
vedendo il profilo. Inoltre si può aggiungere o rimuovere l''azienda dalle proprie liste, accedere al
salvataggio di una trattativa, o inviare un messaggio. PRIVACY La pagina della privacy è importantissima. L''azienda può decidere se rendere
pubbliche o meno le sue liste di fornitori e clienti . Prende decisioni su come gli altri
utenti visualizzeranno il suo profilo. STORICO FATTURE Visualizza l''archivio delle trattative concluse e la possibilità di vederne i dettagli. Figura 26: pagina storico fatture
pag. 57 4.4 PARTICOLARITA'' DEL CODICE
HIDDENFIELD La struttura di ASP.net, come detto, divide la parte client da quella server. Le
strutture definite sul client sono riconosciute dal server attraverso il file aspx.design.
Ogni volta che viene cliccato un tasto, la pagina viene ricaricata e le strutture
vengono aggiornate. Per evitare il refresh della pagina e poter svolgere alcune operazioni in modo
asincrono, abbiamo utilizzato il linguaggio ''javascript', andando incontro ad alcuni
problemi. Infatti quando vengono fatte delle modifiche lato client, usando linguaggi esterni
come javascript, le strutture non vengono aggiornate nel file di design e quindi non
vengono viste dal server. La soluzione che abbiamo adottato in questo progetto è stato l''hiddenfield. L''hiddenfield è una struttura invisibile sulla pagina ASP, che è definita per essere a
metà tra client e server. Attraverso l''hiddenfield le modifiche effettuate tramite tool
esterni, come javascript, possono essere visualizzate dal server. Per esempio, la pagina che permette l''inserimento e la modifica di forniture e
prodotti presenta una lista che viene riempita e filtrata attraverso javascript. Senza
usare l''hiddenfield le modifiche finali sulle forniture, non sarebbero visibili dal lato
server, perché non vengono automaticamente considerate da ASP. Attraverso
l''hiddenfield invece è possibile registrare la lista finale tramite una stringa composta
dai materiali presenti, separati dalla virgola. Ogni volta che il codice javascript
inserisce un dato nella lista, lo stesso dato viene concatenato alla stringa
dell''hiddenfield. In questo modo il server può vedere i dati inseriti.
pag. 58 Figura 27: l'hiddenfield Per esempio, se tramite javascript l''utente inserisce nella lista le parole
''vite','martello' e'metallo' la stringa finale nascosta nell''hiddenfield sarà
''vite,martello,metallo' e sarà visibile dal lato server. AJAX Un'altra tecnica di sviluppo che abbiamo utilizzato per svolgere le operazioni in
modo asincrono è AJAX: Asynchronous Javascript and XML. Questa tecnica si
basa su uno scambio di dati in background fra web browser e server, che consente
l'aggiornamento dinamico di una pagina web senza esplicito ricaricamento da parte
dell'utente. Una struttura di Ajax che abbiamo utilizzato spesso è l''UpdatePanel: la sua
caratteristica principale è quella di saper eseguire il codice presente o ad esso
associato in modalità completamente asincrona, senza modificare la modalità di
accesso al codice stesso, da parte dello sviluppatore e senza dover utilizzare
linguaggi lato client, come javascript. Quindi la genialità di Ajax è che esegue le operazioni lato server, senza fare
ricaricare la pagina.
pag. 59 SQL DEPENDENCY Un'ultima questione rilevante è la messaggistica. Affinché il servizio funzioni in
tempo reale, è necessario che quando un messaggio viene ricevuto il database
notifichi il dato immediatamente. Questo è possibile utilizzando la funzione ''SqlDependecy' che attiva un''effettiva
dipendenza dal database, il quale segnalerà in tempo reale una notifica in caso di
modifiche al suo interno. Quindi il client si iscrive al database per ricevere le notifiche e quando viene
ricevuto un messaggio, il database avvisa che è avvenuto un cambiamento nei suoi
dati. Figura 28: sqldependency
5 TEST EFFETTUATI ' stato proposto un questionario a 10 persone per analizzare l''usabilità dell''intero
sistema. Le fasce di età sono le seguenti ' 4 utenti tra i 18 e i 25 anni
' 3 utenti tra i 26 e 45 anni
' 3 utenti sopra i 46 anni Ogni domanda comprendeva un punteggio tra 1 (insoddisfatto) e 5
soddisfatto). Inoltre il sistema era offline ed era già stat
si potesse già sfruttare al massimo l'' Qui di seguito vengono riproposte le domande chieste ai vari utenti. 1. Credi che la grafica sia piacevole (logo, colori, font caratteri)' 0 1 2 3 4 5 18-25 anni 26-45 anni TEST EFFETTUATI questionario a 10 persone per analizzare l''usabilità dell''intero Le fasce di età sono le seguenti 4 utenti tra i 18 e i 25 anni 3 utenti tra i 26 e 45 anni 6 anni Ogni domanda comprendeva un punteggio tra 1 (insoddisfatto) e 5 Inoltre il sistema era offline ed era già stato inizializzato con dati fittiz
si potesse già sfruttare al massimo l''intera piattaforma. Qui di seguito vengono riproposte le domande chieste ai vari utenti. rafica sia piacevole (logo, colori, font caratteri)' Grafico 1: qualità grafica media punteggi 45 anni >46 anni media punteggi media punteggi pag. 60 questionario a 10 persone per analizzare l''usabilità dell''intero Ogni domanda comprendeva un punteggio tra 1 (insoddisfatto) e 5 (pienamente o inizializzato con dati fittizi in modo che rafica sia piacevole (logo, colori, font caratteri)' media punteggi
Dal grafico si evince che gli utenti più adulti sono più attenti ai dettagli grafici ma
comunque soddisfatti della grafica.

2. Credi che il sistema di tag
Questo punto ci ha stupiti per il punteggio mediamente basso e quindi abbiamo
chiesto chiarimenti. Ci è stato detto che l''idea è buona ma necessita di spiegazione
del funzionamento soprattutto nella

3. Pensi che la gestione della lista dei clienti/fornitori sia appropriato'
0 1 2 3 18-25 anni 26-45 anni 0 2 4 18-25 anni 26-45 anni Dal grafico si evince che gli utenti più adulti sono più attenti ai dettagli grafici ma
comunque soddisfatti della grafica. Credi che il sistema di tag sia facilmente intuibile' Grafico 2: Qualità dei tag Questo punto ci ha stupiti per il punteggio mediamente basso e quindi abbiamo
chiesto chiarimenti. Ci è stato detto che l''idea è buona ma necessita di spiegazione
del funzionamento soprattutto nella fase di registrazione. Pensi che la gestione della lista dei clienti/fornitori sia appropriato' Grafico 3: gestione clienti/fornitori media punteggi 45 anni >46 media punteggi media punteggi media punteggi 45 anni >46 media punteggi media punteggi pag. 61 Dal grafico si evince che gli utenti più adulti sono più attenti ai dettagli grafici ma Questo punto ci ha stupiti per il punteggio mediamente basso e quindi abbiamo
chiesto chiarimenti. Ci è stato detto che l''idea è buona ma necessita di spiegazione Pensi che la gestione della lista dei clienti/fornitori sia appropriato' media punteggi media punteggi
pag. 62 In questa domanda si evince come le generazioni più giovani sappiano gestire
facilmente la lista di contatti. 4. Cosa introdurresti in Gridcom' (domanda aperta)
Tra le risposte le principali sono state: ' Gridcom su smartphone
' Dare la possibilità di inserire altre immagini oltre a logo
' Possibilità ad utenti esterni di cercare lavoro
pag. 63 6 SVILUPPI FUTURI Gridcom è un social network che permette un''infinità di sviluppi futuri. Verrà introdotto un sistema di registrazione di utenti in cerca di lavoro, e in base a
un sistema di tag l''utente potrà individuare tutte le aziende presenti che ricercano
una figura professionale in base a determinate caratteristiche; per esempio se un ing.
Informatico inserirà ''consulenza informatica' verranno visualizzate tutte le aziende
interessate ad assumere in tale ambito.
Verrà introdotto un sistema di inserimento immagini, cosicché l''azienda
nell''immediatezza potrà mostrare i prodotti sviluppati.
Sarà implementata un''architettura che permetta, in caso di un crollo del server
principale, che uno slave si attivi a diventare il nuovo master.
Un possibile sviluppo è l''implementazione di app in ambito mobile; potrebbe essere
creato un sistema che avvisi tramite smartphone, e quindi su piattaforme quali
Android, Windows Phone e IOS che una nuova azienda è stata trovata oppure
inviare messaggi ai propri clienti/fornitori.
Un contributo ulteriore alle aziende sarebbe l''introduzione di un sistema completo
per la gestione della contabilità interna e quindi non solo la gestione delle fatture;
Gridcom in questo modo si dividerebbe in due software complementari: da una parte
il social network e dall''altra un sistema gestionale (fatture, bolle, commissioni
bancarie ecc.) in modo che venga eliminato l''archivio cartaceo.
Verrà introdotto un sistema di feedback in modo che si possa migliorare l''usabilità
generale della piattaforma in base alle richieste degli utenti iscritti.
Ultimo punto importante la traduzione in varie lingue.

pag. 64 7 CONCLUSIONI L''obbiettivo di GridCom è che un grande numero di aziende si iscriva al sito.
Questo farebbe di GridCom un''importante piazza di mercato, dove tutte le aziende
iscritte avrebbero grande visibilità e potrebbero interagire tra loro direttamente e
sulla base di specifici parametri quali le forniture e i beni prodotti.
L''azienda infatti si delinea sul mercato per quello che produce e per quello che ha
bisogno per produrre. Le interazioni con le altre aziende hanno questi elementi come
parametri fondamentali.
Ciò è testimoniato dal ruolo principale che l''ufficio acquisti e l''ufficio vendite
ricoprono nell''azienda.
GridCom può essere visto come un ulteriore integrazione del CRM (Customer
relationship management) operativo poiché si propone come nuovo canale
(sottocanale del web) utilizzato dall''azienda per interagire con i clienti. Inoltre si
propone come primo passo anche nel Supply Chain Management Aziendale che si
occupa della gestione dei fornitori.
GridCom vuole essere il primo passo che delinea il rapporto tra le aziende, il primo
step che in modo concreto ed esauriente permette di capire quali sono le aziende che
possono entrare nella sfera di mercato dell''azienda stessa.
E'' il primo servizio che agisce per legare e stringere rapporti di business.
Non esiste nulla sul web che sia definito secondo queste caratteristiche.

pag. 65 8 BIBLIOGRAFIA http://www.alexa.com/topsites/global Slide corso ''SISTEMI INFORMATIVI 1 ' della prof. Francalanci Slide corso ''COMPUTER SECURITY' del prof. Zanero http://it.wikipedia.org/wiki/YouTube http://it.wikipedia.org/wiki/Twitter http://it.wikipedia.org/wiki/Facebook http://it.wikipedia.org/wiki/Linkedin http://it.wikipedia.org/wiki/Azienda


© Eiom - All rights Reserved     P.IVA 00850640186