Domande degli studenti

Responsabilità del Provider

Responsabilità diretta del provider: è la responsabilità del ISP che diffonde contenuti, di conseguenza risponde direttamente per eventuali illeciti perpetrati con la diffusione di questi contenuti.

Responsabilità indiretta del provider: è la responsabilità per fatto altrui ovvero per illeciti commessi da chi si serva delle strutture tramite il provider stesso.

DSS / ES

Un Decision Support System (DSS) si affianca al SI per risolvere i problemi non strutturati che, in azienda, caratterizzano sia la Direzione di line sia l’Alta Direzione. Si distinguono diverse tipologie di DSS: Strumenti di Reporting e di QueryExecutive Information SystemOn Line Analitical Processing,Business Information SystemDatamining (le ultime tre categorie di DSS utilizzano il Datawarehouse).

Un Expert System (ES) si affianca al SI per risolvere i problemi non strutturati che, in azienda,  caratterizzano l’Alta Direzione.

Software / Sistema Informativo

Con il termine Software (SW) si fa riferimento alla parte logica di un computer, cioè all’insieme dei programmi scritti per la soluzione di problemi. Una delle classificazioni generali del SW distingue il SW di sistema (che comprende SO, Traduttori e Utilities) dal SW applicativo (che comprende SI, DSS, ES).

Il Sistema Informativo (SI) è l’insieme dei programmi in grado di gestire le necessità aziendali. Ad esso, per un’adeguata soluzione dei problemi aziendali, si affiancano i DSS e gli ES.

Utilizzo dei termini file e record

Il termine file viene utilizzato con significati diversi:

  • quando si parla di Archivio (es. Archivio “STUDENTI”) si può utilizzare l’espressione: file STUDENTI. In questo ambito viene utilizzato il termine record per fare riferimento ai dati di uno studente dell’archivio (nell’esempio nell’archivio STUDENTI potrebbe essere presente il record dello studente ROSSI). Infatti un archivio (file) è costituito da più record;
  • se viene effettuato il salvataggio di un documento Word, Excel, ecc., si utilizza l’espressione  file per fare riferimento al documento. Per es. se viene scrivo un documento utilizzando Word e questo documento, in sede di salvataggio, viene chiamato “LETTERA”, si puo’ fare riferimento al documento utilizzando l’espressione: il file “LETTERA”;
  • nell’ambito di un DB Relazionale, i termini Entità, Relazione, Tabella, Oggetto, ecc, sono equivalenti al concetto di archivio, perciò è possibile utilizzare il termine file.

Organizzazione dei dati in un Database Relazionale

Il modello relazionale prevede l’organizzazione dei dati in tabelle (a due dimensioni, dette anche relazioni, entità, oggetti, classi) dove le righe rappresentano i record e le colonne i campi (contenenti i dati). Una tabella (o entità) corrisponde ad un archivio (avremo così entità Studenti, entità Clienti, entità Fornitori, ecc.).

In una entità e’ irrilevante sia l’ordine delle righe sia l’ordine delle colonne. In un’entità ogni riga (ricorrenza o occorrenza) deve differire dalle altre almeno per un attributo (colonna), cioè in un’entità non possono apparire righe identiche.

L’accesso ad una entità (o il trattamento dei dati di un’entità) può essere effettuato tramite l’uso di una:

  • chiave primaria, campo che identifica in modo univoco il record nell’entità. Per esempio in un’entità Studenti la chiave primaria potrebbe essere la matricola dello studente, in un’entità Clienti il codice cliente, ecc.;
  • chiave esterna, campo che è chiave primaria in un’altra entità;
  • chiave composta, costituita da campi che sono chiavi primarie in altre entità.

 

Database / Base di conoscenza

Data Base (DB) è una raccolta (unica) di dati, organizzati secondo un modello che può essere: Relazionale, Reticolare, Gerarchico e, utilizzabile solo per l’attività di ricerca, a liste invertite. Il DB è il “cuore” del sistema informativo aziendale.

La Base di conoscenza memorizza dati, eventi, oggetti, ecc. che servono (insieme all’Interfaccia utente ed al Motore inferenziale) per il funzionamento di un Sistema Esperto.

Cancellazione logica dei dati

La cancellazione logica dei dati (quella normalmente eseguita dal comando “Elimina”) viene effettuata attraverso il posizionamento di un deviatore, comunemente chiamato flag, cioè segnalando al sistema uno stato (una situazione) attraverso il contenuto del flag (cioè di un certo campo associato al file).

Per esempio se il flag riferito ad un file è inizializzato per default con valore 0 (zero), quando l’utente comanda la cancellazione logica del file, il flag viene posto automaticamente a 1 (uno), eseguendo così solo la cancellazione “logica” del file. Infatti se dopo aver comandato la cancellazione del file si cerca il file stesso (che in realtà, avendo operato solo sul flag, continua ad essere presente sulla memoria di massa), il sistema, trovando nel flag un contenuto diverso da zero, segnalerà che il file non esiste. Questa tecnica permette il “recupero” di un file cancellato (logicamente) cambiando, attraverso l’uso di  un’opportuna utility, il contenuto del flag (nel nostro esempio posizionando il flag a 0)

Interrupts

Gli interrupts sono segnali che pervengono al SO per segnalare una certa situazione.

  • I/O interrupt (interrupt a bassa priorità), segnala la fine di un I/O (comando di lettura/scrittura);
  • Program check (interrupt ad alta priorità),  segnala un errore SW che provoca l’interruzione dell’esecuzione di un programma;
  • Machine check (interrupt ad alta priorità), segnala un malfunzionamento HW che provoca l’interruzione dell’elaborazione;
  • Da console (interrupt ad alta priorità), è il Break di sistema comandato da tastiera dall’utente (per esempio CTRL+ALT+CANC);
  •  Power/ Thermal Warning (interrupt ad alta priorità), segnala che l’alimentazione o la tempeatura esterna stanno superando i limiti (minimi o massimi) previsti per il funzionamento corretto del computer.

Linguaggi

linguaggi possono venire classificati distinguendo 5 generazioni:

  • 1GL (First Generation Language), fa riferimento al linguaggio binario (l’unico comprensibile ad un elaboratore);
  • 2GL,comprende i linguaggi simbolico contratti (per esempio il linguaggio Assembler);
  • 3GL, comprende i linguaggi simbolici evoluti (per esempio Pascal, Basic, Cobol; Fortran, C). Sono chiamati anche linguaggi algoritmici, procedurali;
  • 4GL, comprende i linguaggi non procedurali per la generazione di applicazione e prospetti (per esempio il linguaggio SQL, linguaggio standard per il trattamento di DB relazionali);
  • 5GL, comprende linguaggi creati per il trattamento dell’Intelligenza Artificiale (per esempio Prolog e Lisp).

Database online

Con il termine DB on line si fa riferimento a DB specializzati in un certo settore (per esempio, per il settore giuridico, le sentenze della Cassazione sono presenti nel DB on line ITALGIURE).

Normalmente sono DB a pagamento, e vengono distinti in DB on line bibliografici, se fanno riferimento (sempre in settori specifici) a pubblicazioni di libri, articoli, ecc.; DB on line fattuali, se fanno riferimento a serie storiche (per es. raccolta delle temperature).

Proxy sever

Proxy sever è un server ausiliario con funzioni di sicurezza, svolte attraverso l’utilizzo di proxy program, per  proteggere (tipicamente) una Intranet aziendale.

Datawarehouse

Datawarehouse (Dw, magazzino di dati) è un Bata Base (DB) “speciale” che serve per effettuare analisi complesse su clienti, ecc. nell’ottica di “profilare” al meglio i soggetti d’interesse aziendale. Si ottiene partendo da una copia del DB aziendale, completandola (cioè “arricchendola”) con dati storici (aziendali, perciò dati che provengono dal passato) e dati rivolti al futuro (per es. dati esterni come quelli riferiti alla  concorrenza). Il Dw è utilizzato dai Decision Support System (DSS) più sofisticati (OLAP e Datamining).

Datamining e Datamart

Datamining (Dm, miniera di dati) è l’ultima evoluzione dei DSS. Se questa tipologia di DSS non è in grado di rispondere adeguatamente alle necessità informative dell’utente, si deve necessariamente ricorrere all’utilizzo di un Expert System.

Datamart è un Datawarehouse (Dw) che fa riferimento solo ad una parte della realtà aziendale (tipicamente un Dipartimento). Infatti mentre il Dw nasce come copia del DB aziendale in un certo momento, “arricchito” da dati storici e da dati provenienti dall’esterno d’interesse aziendale  (per es. dati riferiti alla concorrenza), il Datamart è la copia dei dati che si riferiscono solo al Dipartimento, “arricchita” da dati storici e dati esterni, che però fanno riferimento solo al Dipartimento stesso.

Smart Card

Ci sono diverse tipologie di smart card. Le principali sono:

  • semplici cartellini di plastica, con l’indicazione dei dati di riconoscimento del soggetto che li esibisce (tipicamente Cognome, Nome, Azienda di riferimento), utilizzati in occasioni ufficiali (convegni, ecc.);
  • schede con banda magnetica, che permettono la memorizzazione di dati (possono essere di sola lettura o di lettura/scrittura, per permettere l’aggiornamento dei dati memorizzati sulla banda magnetica per es. in caso di pagamenti);
  • schede con chip (microprocessore miniaturizzato), che permettono applicazioni differenti, per esempio, nelle cryptocard permettono l’uso della firma digitale;
  • smart card ibride, cioè con chip e banda magnetica, per applicazioni particolari come la carta d’identità elettronica.

Prototipi, prodotti CASE

Per Prototipo s’intende la “costruzione” in scala ridotta di un Sistema Informativo (SI), seguendo le tecniche dell’informatica tradizionale (ciclo di vita del SW). Il vantaggio del prototipo è la possibilità di feedback immediato tra utente del SI e il tecnico informatico che può così intervenire in tempi molto contenuti nell’adattamento del prototipo alla realtà che deve essere automatizzata. E’ una tecnica che risulta valida nella realizzazione di piccoli (e medi) SI, perché il passaggio dal prototipo al SI reale non richiede grandi interventi.

I prodotti CASE (Computer Aided Software Engineering) sono in grado di automatizzare la “produzione” di SW. In particolare, facendo riferimento al ciclo di vita del SW, i prodotti:

  • Upper CASE automatizzano la fase di Analisi (per la produzione sia delle specifiche di sistema sia delle specifiche di programma);
  • Lower CASE automatizzano la fase di Programmazione;
  • I-CASE (Integrated CASE) automatizzano tutte le fasi del ciclo di vita del SI (dallo Studio di fattibilità alla Manutenzione).

Multithreading

Multithreading è una tecnica che permette, nell’ambito dello stesso programma (“costruito” con tecniche particolari) la sovrapposizione dei tempi di esecuzione di alcuni processi (parti del programma, dette task). Non deve essere confuso con il termine Multitasking (una tecnica di esecuzione dei programmi, nell’ambito della Multiprogrammazione), che si riferisce all’esecuzione “contemporanea” di più programmi.

Interrupt (di bassa e di alta priorità)

Un interrupt  è un segnale che viene trattato dal SO. In particolare quando il SO riceve un  interrupt di bassa priorità (es. I/O interrupt) il SO termina la funzione che sta svolgendo , poi esegue le routines previste dall’interrupt. Al contrario quando il SO riceve un interrupt ad alta priorità (per es. da console) immediatamente interrompe l’attività che sta svolgendo ed esegue le istruzioni previste per quel interrupt (per es. quando viene dato il break da console (ctrl+alt+canc), immediatamente il PC arresta l’esecuzione di ogni attività).

S.O. Residente / S.O. non residente

Un  SO è residente se, all’atto dell’IPL viene caricato “tutto” in RAM, mentre il SO non residente è caratterizzato dall’avere in RAM in maniera stabile solo il nucleo (detto anche supervisor), perché gli altri moduli del SO (moduli transienti) vengono richiamati (trasferiti) in RAM solo quando è necessario. Per esempio in ambiente Windows per l’esecuzione del comando Format deve venire caricato in RAM il relativo modulo (infatti appartengono al nucleo solo le istruzioni per l’esecuzione di quei comandi che, per non rallentare i tempi di esecuzione del PC, è opportuno siano sempre in RAM).

Copyleft / Copyright

Il SW (proprietario) viene considerato opera d’ingegno, e pertanto tutelato secondo le regole del Copyright.

Con il termine Copyleft si fa riferimento alle regole che “tutelano” il SW Open source. Il SW libero viene rilasciato secondo principi opposti a quelli che caratterizzano il SW proprietario. In particolare il SW Open source viene rilasciato in formato sorgente (source, e perciò modificabile), mentre, al contrario, il SW proprietario viene rilasciato in formato oggetto (object).

Anche la tutela del primo è “l’opposto” (left contrario di right) della tutela del secondo (protetto con norme specifiche da copiature, interventi, ecc.), e può essere sintetizzata nella “regola” principale che prevede che chiunque (purché sia in grado di farlo) può intervenire sul source di un programma purché poi rilasci il nuovo formato sorgente del programma alla Community Open source.

Caratteristiche azienda Client Centric

Una azienda Client Centric è caratterizzata dai seguenti requisiti:

  1. Analisi dei clienti uno per uno (ogni cliente è “prezioso” per l’azienda)
  2. Valore di ciascun cliente (rapportato alla sua “importanza” nel raggiungimento degli obiettivi aziendali)
  3. Classificazione per cliente (in modo da poter creare degli aggregati)
  4. Calcolo del break-even point (in modo da aver chiaro il limite massimo per non andare in perdita)
  5. Calcolo del valore nel tempo (in funzione di una politica previsionale)
  6. Data base marketing (che fornisce informazioni dettagliate sui clienti)
  7. Il cliente come progetto permanente (perché il cliente è il focus dell’azienda Client Centric)
  8. Tensione psicologica (perché l’attenzione sul cliente deve essere sempre massima)
  9. Reputazione aziendale (vista come capitale prezioso dell’azienda)
  10. Creatività (per “superare” la concorrenza in modo creativo)
  11. Empatia (coltivando i rapporti con il cliente)

Database Marketing

Con il termine DB Marketing si fa riferimento ad un DB aziendale, “arricchito” da tutti i dati (reperibili con tecniche diverse) riferiti ai clienti aziendali ad ai clienti potenziali dell’azienda, in modo da poter trattare il DB con SW specifici ed ottenere preziose informazioni su come condurre una campagna marketing, come sollecitare l’attenzione su un prodotto attraverso offerte speciali, ecc.

Costruzione di un Expert System

Per la costruzione di un Expert System (ES) esistono diverse tecniche, tra le quali:

  • utilizzo di linguaggi tradizionali (tipicamente i 3GL). Il ES viene realizzato secondo le tecniche di Informatica tradizionale (algoritmi), è una tecnica che si adatta alla realizzazione di ES non sofisticati;
  • ricorso a Shell. E’ questa una tecnica che permette la “realizzazione” di un ES anche all’utente non informatico. Si parte da un ES già esistente, si svuota la Base di conoscenza (ottenendo così un guscio vuoto), e si seguono le istruzioni (normalmente semplici) per caricare la “nuova” Base di conoscenza, ottenendo così un “nuovo” ES.
  • si può fare ricorso ad ambienti e linguaggi specializzati per la costruzione di un ES. Secondo questa tecnica si parte (come per Shell) da un ES esistente, e si interviene non solo sulla Base di conoscenza, ma anche intervenendo sull’Interfaccia dell’utente e sul Motore inferenziale. Questo tipo d’intervento può essere effettuato da un tecnico (ingegnere della conoscenza);
  • ricorso a linguaggi specializzati. Per la realizzazione della Base di conoscenza, soprattutto se la tecnica scelta  è la  Logica (dei predicati o proposizionale), si fa ricorso ai 5GL (es. Lisp e Prolog).

Sistemista, analista, programmatore ed operatore

Il sistemista è il soggetto che (tipicamente laureato in ingegneria, fisica, matematica), conoscendo HW è in grado di intervenire sulla configurazione di un mainframe, su una rete, ecc.

L’analista è, normalmente,  un laureato in Economia, Ingegneria gestionale, che, grazie alle conoscenze delle realtà aziendali, è in grado di provvedere alla stesura dell’analisi di una procedura (specifiche di sistema/specifiche di programma).

Il programmatore (normalmente caratterizzato dal possesso di un diploma) è colui che partendo dalle specifiche di programma (cioè da una microanalisi) è in grado di provvedere alla scrittura di un programma (scrittura del SW).

L’operatore è colui che, operando nel centro di calcolo a diretto contatto con il sistema di elaborazione dati (tipicamente un mainframe), provvede al cambio dei moduli su una stampante, al recupero di un disco rimovibile, ecc.

Batch, Real time e PC Revolution

I termini batchreal time PC revolution sono stati introdotti a lezione, parlando dell’evoluzione delle tecniche di elaborazione.

In particolare, storicamente, il primo modo di elaborare i dati era batch (in italiano si traduce come “elaborazione a lotti”); questo modo di operare prevede prima una raccolta dei dati e successivamente la loro elaborazione. L’elaborazione batch rimane l’unico modo di operare sino all’introduzione della modalità real time (inizio anni ’70), è utilizzata anche oggi se facciamo riferimento ad alcune attività come: stampa paghe e stipendi (raccolgo i dati dei dipendenti: ore lavorate, permessi non retribuiti, ecc. e solo a fine mese sono in grado di calcolare la retribuzione dovuta); altro esempio è quello della fatturazione differita (periodicamente,  cioè dopo una fase di raccolta dei dati, si provvede alla stampa delle fatture).

L’elaborazione real time si afferma grazie alla diffusione delle telecomunicazioni (primi anni ’70 – metà anni ’80). Cambia il modo di operare: con un’interrogazione al computer sono in grado di prenotare un volo, prelevare del denaro, ecc., cioè compiere delle operazioni ottenendo una “risposta” (negli esempi fatti: prenotare il volo, se c’è un posto disponibile; prelevare del denaro se il saldo del conto lo consente) in tempo “reale”, cioè in tempo utile per sapere che ho il posto su quel volo (oppure no); ho la disponibilità del denaro richiesto (oppure no) .

La PC revolution (da meta’ degli anni ’80 sino ai primi anni ’90) porta il PC prima negli ambienti di lavoro e successivamente anche negli ambienti domestici: la capacità di elaborazione dei dati passa dai mainframe e minicomputer ai microcomputer.

Big Data

Con il termine Big Data si fa riferimento all’enorme mole di dati che vengono raccolti a livello planetario da social network, e-mail, navigazione in internet, ecc., comunemente all’insaputa dell’utente e molto spesso con la collaborazione di enti come, per esempio,  Google, Facebook, Yahoo. L’enorme DB viene consultato da enti per la sicurezza (es. NSA), ma anche utilizzato per scopi “commerciali” perché permettono complesse aggregazione di dati molto significative nel “profilare” il target d’interesse. In particolare, a lezione ne abbiamo parlato nell’incontro su Datagate e intercettazioni.

Record Logico / Record Fisico

Per record logico s’intende la vista logica dell’utente. Per esempio facendo riferimento ad un archivio/entità STUDENTE, per ciascun studente presente sul supporto, un record logico sarà costituito da piu’ campi: Matricola, Cognome e Nome, Indirizzo, Codice Facoltà, ecc.

Per record fisico s’intende il gruppo di record logici trattati in I/O dal modulo di File system, con l’obiettivo di evitare l’accesso alla memoria di massa per un solo record logico, quando viene comanda una lettura/scrittura. Nella sostanza un record fisico e’ costituito da piu’ record logici.

Dual Core e Multi Core

Il termine Dual core viene utilizzato in elettronica per indicare una CPU composta da 2 core, ovvero da 2 nuclei di processori “fisici” montati sullo stesso package.

Il “Core” è il “nucleo elaborativo” di un microprocessore. Questo infatti è costituito in realtà da 2 componenti principali: il core appunto, e il package che lo contiene. In alcune tipologie, è visibile la posizione del core, costituito da un piccolo rettangolo nero leggermente sporgente al centro del package, contiene tutti i transistor (centinaia di milioni), che ne determinano il funzionamento e la capacità di elaborazione.

Nel corso del 2005 sia AMD che Intel sono giunte ad un punto in cui non è praticamente più possibile innalzare le frequenze operative dei propri processori, e hanno deciso di puntare tutto sulle architetture dual core ovvero due core montati sullo stesso package. In questo modo, sfruttando il parallelismo, ci si trova in una situazione simile a quella che si avrebbe con un sistema biprocessore.

Arrivarono i primi chip dual core per mercato desktop, grazie a Intel che presentò i primi Pentium D Smithfield; in quel periodo si era giunti ad un livello tecnologico di sviluppo hardware che non consentiva più di aumentare la potenza di elaborazione incrementando semplicemente la frequenza di clock. Fino a quel momento il continuo aumento delle prestazioni era stato basato soprattutto sull’aumento della frequenza operativa grazie alle innovazioni offerte dai processi produttivi sempre più miniaturizzati. Si giunse però a un punto tale per cui aumentare ulteriormente le frequenze delle CPU single core, malgrado le dimensioni minime dei transistor, comportava ormai consumi troppo elevati in relazione al modesto aumento di prestazioni (a quei tempi un processore single core top di gamma superava abbondantemente i 100 W di consumo massimo) e questo ovviamente aveva serie ripercussioni anche sul gravoso problema del raffreddamento dei circuiti.

La soluzione che sembrò più ovvia ai progettisti di microprocessori fu quella di puntare tutto sul parallelismo in modo da poter aumentare il numero di operazioni eseguibili in un unico ciclo di clock. Questo nuovo approccio comunque non era del tutto indolore e comportava anche alcuni svantaggi, in quanto i programmi dovevano essere ottimizzati per un utilizzomulti-thread ovvero parallelizzati anch’essi (ciascun programma eseguito in più parti) per poter sfruttare appieno le caratteristiche di questi processori, in caso contrario essi avrebbero impegnato solo uno dei core, lasciando l’altro pressoché inutilizzato. Paradossalmente, era anche possibile che un programma applicativo non pensato per un’esecuzione di tipo parallelo, risultasse di più lenta esecuzione su un processore multi core rispetto a uno single core, e infatti al momento del lancio dei primi esemplari, erano veramente pochi isoftware già pronti per queste nuove architetture. Tale incapacità di raggiungere i livelli di prestazione teorici dei sistemi a parallelismo massiccio è nota come sindrome di Von Neumann.

Nel 2007 invece, hanno debuttato le prime architetture multi core, tipicamente 4. E nel 2010 i core da 4 sono passati ad 8 (fino ad oggi che esistono 12 core con la tecnologia i7 anche se sono solo virtuali). Il 14 novembre 2011 l’AMD presenta il primo processore a 16 Core, che fornisce l’84% delle performance in più ai sistemi.

Ad oggi, sebbene le architetture multi-core siano molto performanti, resta il problema della comunicazione con le periferiche; quest’ultime, infatti, restano molto più lente della CPU e sono utilizzabili solamente da un processo alla volta; questo fatto crea quindi un “collo di bottiglia” che incide di molto sulla velocità effettiva di un computer nell’eseguire un’operazione.

Questo tipo di architettura consente di aumentare la potenza di calcolo di una CPU senza aumentare la frequenza di lavoro, a tutto vantaggio del calore dissipato (che diminuisce rispetto al caso di più processori separati) così come l’energia assorbita.

 

 

 

Formato dei packages

Un Package (SW standard per il mercato verticale) viene fornito in formato oggetto (cioè in binario). Per questo motivo l’utente del package non può intervenire per apportare modifiche al package. Infatti le modifiche al SW possono essere effettuate solo sul formato sorgente del programma (cioè sul listato scritto in linguaggio simbolico evoluto, tipicamente 3GL), che, normalmente, è in possesso del fornitore del SW (cioè di chi ha “scritto” il package).

Hosting

In informatica si definisce hosting (dall’inglese to host, ospitare) un servizio di Rete che consiste nell’allocare su un server web le pagine web di un sito web, rendendolo così accessibile dalla rete Internet e ai suoi utenti.

Tale “server web”, definito “host”, è connesso ad Internet in modalità idonea a garantire l’accesso alle pagine del sito mediante il web browser dell’host client dell’utente, con identificazione dei contenuti tramite dominio ed indirizzo IP. Il servizio può essere gratuito o a pagamento, tipicamente a qualità maggiore nel secondo caso.

Hosting gratuito

È in genere offerto dagli Internet Service Provider (ISP), come servizio elementare, in previsione di un passaggio a quello a pagamento.
Comprende:

  • una o più caselle di posta elettronica;
  • un certo quantitativo di spazio web, spesso con l’obbligo di banner pubblicitario.

Tra gli svantaggi dell’hosting gratuito, rispetto a quello a pagamento, vi sono:

  • l’indirizzo del sito ospitato che coincide, in massima parte, con il nome dell’Internet Provider che lo ospita;
  • prestazioni tecniche poco performanti (molto spesso, per esempio, è possibile pubblicare soltanto siti statici scritti in linguaggio HTML);
  • mancata garanzia del servizio (con il rischio quindi che i siti “ospiti” possano non essere attivi per un determinato periodo di tempo);
  • una larghezza di banda contesa tra numerosi utenti.

Hosting a pagamento

Esiste un grande ventaglio di offerte, in funzione dell’uso che si vuole fare del sito web.

Un servizio tipico, per un sito statico, può tra l’altro comprendere:

  • registrazione o trasferimento di un nome di dominio;
  • da uno a infiniti indirizzi di posta elettronica;
  • filtri antispam ed antivirus;
  • un determinato quantitativo di spazio web;
  • gli strumenti adatti alla gestione delle pagine, quali file manager, prototipi, FTP, contatori di accesso, ecc.;
  • una quantità di banda mensile per il traffico generato dal sito adeguata.

Un servizio tipico, per un sito dinamico può comprendere, oltre a quanto già citato:

  • il supporto ad uno o più linguaggi di scripting, come ad esempio PHP, Python, o ASP;
  • il supporto ad un database on-line, come ad esempio MySQL o PostgreSQL;
  • servizi di statistiche e analisi del traffico.

L’hosting si differenzia anche in base al tipo di spazio che viene messo a disposizione:

  • un server dedicato (ovvero un server web che ospita un unico sito web);
  • un server condiviso (ospita una pluralità di siti sul medesimo server).

Gli spazi venduti su server condiviso possono essere frazionabili o meno a seconda che permettano di ospitare un solo dominio o più domini.

Quanto alla banda mensile messa a disposizione, alcune offerte di spazio web prevedono bande illimitate.

L’hosting si differenzia anche in base alla piattaforma, cioè al sistema operativo installato sul server: Windows o Linux.

Millennium BUG

Il termine fa riferimento al problema della gestione corretta delle date nel passaggio dal 31/12/1999 al 01/01/2000, perché con la meccanizzazione delle procedure, la data viene espressa nel formato “GGMMAA”, cioe’ 2 caratteri per il giorno (GG), 2 caratteri per il mese (MM), due caratteri per l’anno (AA). (Questo modo di rappresentare la data e’ diventato uno standard che caratterizza la scadenza, per es. anche dei nostri prodotti alimentari). Per esempio, la data di oggi rappresentata come: 021200, puo’ venire successivamente stampata come 02/12/2000 (introducendo uno “/” dopo lo 02, uno “/” dopo il 12 e “20” prima dello 00), oppure 02 Dicembre 2000 se, facendo riferimento ad una tabella con i 12 nomi dei 12 mesi dell’anno, si preferisce stampare il mese in lettere.

Il problema del passaggio dal 311299 (che sarebbe stato stampato come 31/12/1999, perché da SW davanti al 99 veniva inserita la costante numerica “99” per fornire l’anno) al 010100, consisteva nel fatto che tutto il SW esistente avrebbe preso quest’ultima data come 01011900 (palesemente errata ed impossibile nella verifica della sequenzialita’ delle date), perché il SW, naturalmente, avrebbe introdotto la costante numerica “19” davanti allo 00 dell’anno. Questo problema viene superato con SAP perché tutte le date vengono memorizzate all’interno del sistema non nel formato GGMMAA, ma come numero di giorni calcolati da una data fissa remota (per es. 01/01/1940) alla data da considerare, perché immessa nel sistema.

ERP

ERP (Enterprise Resources Planning), sono prodotti standard, in grado di gestire in modo integrato il SI aziendale. La loro caratteristica e’ proprio quella di adattarsi all’automazione del sistema informativo di  qualsiasi azienda (commerciale, industriale, ospedaliera, ecc.), oltre a  quella di garantire l’integrazione dei dati; infatti un dato che “entra” nel SI viene utilizzato (in automatico) da qualunque funzione aziendale interessata dall’evento (per es. una vendita, un acquisto, ecc.), evitando cosi la possibile introduzione (nel sistema aziendale) dello stesso dato in forme diverse, cioe’ evitando l’immissione di “dati errati” rispetto al dato di partenza.

La notevole diffusione di questi prodotti in Italia (soprattutto nelle aziende di grandi dimensioni) risale all’anno 1999, ed e’ legata al superamento del millennium bug e alla successiva introduzione dell’euro (2001), eventi che avrebbe richiesto il corretto allineamento di “tutto” il SW coinvolto (manutenzione di dimensioni impossibili da gestire in un intervallo di tempo così contenuto). Infatti, soprattutto con il prodotto SAP, il SW degli ERP prevede il superamento sia del “problema della corretta gestione della data” nel passaggio di data dal 31/12/1999 al 01/01/2000 (millennium bug. Tra l’altro, in futuro il problema si ripresenterebbe negli anni 2100, 2200…), sia della gestione dei decimali (introdotta con l’euro)  che non esistevano con il vecchio conio (la lira).

SW per mercato orizzontale / SW per mercato verticale

Il software per il mercato orizzontale è rivolto a soddisfare esigenze comuni di realtà che operano settori differenti. (Es. Microsoft Word può essere utilizzato da uno scrittore per scrivere un libro oppure da un avvocato per scrivere un atto di citazione). In questo caso, word ha una specifica funzionalità (editor di testi) che però è utilizzabile da una clientela molto varia che può comprendere più tipi di settori (editoria e servizi legali).

Il software per il mercato verticale, invece, è rivolto a soddisfare attività esclusivamente appartenenti ad un determinato settore e non può quindi essere utilizzato se non per quella specifica attività da parte di quel determinato tipo di clientela. Un esempio pratico potrebbe essere il software per la gestione delle prenotazione alberghiere. Tale programma può essere utilizzato solo nel settore dell’ospitalità (alberghi, pensioni, B&B, ecc…) da parte degli operatori del settore.

Smart Card: Multiapplicazione e interoperabilità

La Multiapplicazione e l’Interoperabilità sono aspetti che in un futuro (piu’ o meno lontano)  permetteranno all’utente un uso piu’ significativo delle smart card in quanto basterà una sola smart card per qualsiasi applicazione. Infatti, questo significa Multiapplicazione: ma oggi abbiamo una smart card per il Bancomat, una smart card per la fidaty card, ecc. Ma la Multiapplicazione sara’ possibile solo se, per le smart card,  opererà un unico Sistema Operativo (…standard): questo e’ il significato del termine multioperabilita’.

Per la sicurezza siamo ancora in una situazione particolare perché l’elemento di sicurezza maggiore (se si tenta di forzare una la smart card essa viene distrutta…), non e’ ancora molto diffuso.

Crittografia asimmetrica

La crittografia asimmetrica, conosciuta anche come crittografia a coppia di chiavicrittografia a chiave pubblica è un tipo di crittografia dove, come si evince dal nome, ad ogni parte coinvolta nella comunicazione è associata una coppia di chiavi:

  • la chiave pubblica, che deve essere distribuita, serve a cifrare un documento destinato alla persona che possiede la relativa chiave privata;
  • la chiave privata, personale e segreta, utilizzata per decifrare un documento cifrato con la chiave pubblica.

evitando così qualunque problema connesso alla necessità di scambio in maniera sicura dell’unica chiave utile alla cifratura/decifratura presente invece nella crittografia simmetrica.

La crittografia asimmetrica viene utilizzata per la firma digitale. Chi invia il messaggio utilizza la sua chiave privata per creare una firma digitale, chi riceve il messaggio utilizza la chiave pubblica del mittente per verificare la correttezza della firma.

Cloud Computing

Anni fa, Internet veniva spesso rappresentata nei diagrammi come una nuvola (cloud)

È una metafora decisamente azzeccata: al giorno d’oggi i dati e i programmi non devono necessariamente risiedere sul tuo PC; possono infatti essere “ospitati” (o memorizzati) su Internet o, come si suol dire, “in the cloud”.

Cloud Computing significa semplicemente gestire esternamente (online) le applicazioni e le attività, invece che all’interno del proprio PC.

È noto come, utilizzando varie tipologie di unità di elaborazione (CPU), memorie di massa fisse o mobili come ram, dischi rigidi interni o esterni, Cd/DVD, chiavi USB eccetera, un computer sia in grado di elaborare, archiviare, recuperare programmi e dati.

Nel caso di computer collegati in rete locale (LAN) o geografica (WAN) la possibilità di elaborazione/archiviazione/recupero può essere estesa ad altri computer e dispositivi remoti dislocati sulla rete stessa.

Sfruttando la tecnologia del cloud computing gli utenti collegati ad un cloud provider possono svolgere tutte queste mansioni, anche tramite un semplice internet browser.

Possono, ad esempio, utilizzare software remoti non direttamente installati sul proprio computer e salvare dati su memorie di massa on-line predisposte dal provider stesso (sfruttando sia reti via cavo che senza fili).

Nonostante il termine sia piuttosto vago e sembri essere utilizzato in diversi contesti con significati differenti tra loro, si possono distinguere tre tipologie fondamentali di servizi cloud computing:

  • SaaS (Software as a Service) – Consiste nell’utilizzo di programmi installati su un server remoto, cioè fuori dal computer fisico o dalla LAN locale, spesso attraverso un server web. Questo acronimo condivide in parte la filosofia di un termine oggi in disuso, ASP (Application service provider).
  • DaaS (Data as a Service) – Con questo servizio vengono messi a disposizione via web solamente i dati ai quali gli utenti possono accedere tramite qualsiasi applicazione come se fossero residenti su un disco locale.
  • HaaS (Hardware as a Service) – Con questo servizio l’utente invia dati a un computer che vengono elaborati da computer messi a disposizione e restituiti all’utente iniziale.

A questi tre principali servizi possono essere integrati altri:

  • PaaS (Platform as a Service) – Invece che uno o più programmi singoli, viene eseguita in remoto una piattaforma software che può essere costituita da diversi servizi, programmi, librerie, etc. (ad esempio Google App Engine)
  • IaaS (Infrastructure as a Service) – Utilizzo di risorse hardware in remoto. Questo tipo di cloud è quasi un sinonimo di Grid Computing, ma con una caratteristica imprescindibile: le risorse vengono utilizzate su richiesta o domanda al momento in cui una piattaforma ne ha bisogno, non vengono assegnate a prescindere dal loro utilizzo effettivo (ad esempio «Google Compute Engine»).

Ciclo di vita di un S.I. – Progetto logico / Progetto fisico

Con il progetto logico viene indicato come verranno sviluppate le elaborazioni e su quali input e output devono operare.

La fase del progetto fisico prevede la scelta documentata della combinazione di HW e SW fatta per il nuovo Sistema Informativo.

Il progetto fisico si distingue dal progetto logico perchè si vuole sottolineare come, prima della realizzazione in termini tecnici (scrittura del SW) del sistema, sia opportuno valutare economicamente soluzioni alternative per la scelta del HW e del relativo SW di base, che condizioneranno l’ambiente in cui verrà ad operare il nuovo Sistema Informativo.

Errore Logico / Errore Formale

Un errore (nella scrittura di) software (SW)  puo’ appartenere alla categoria degli errori logici oppure a quella degli errori formali.

Un errore si dice logico quando caratterizza la sequenza dei comandi dati nella costruzione dell’algoritmo; per es. nella scrittura del programma per gestire i prelievi da un Conto corrente, invece di comandare la sottrazione dal saldo dell’importo del prelievo effettuato, (per errore) comando la somma al saldo dell’importo del prelievo effettuato. Questo tipo di errore puo’ venire rilevato solo in fase di prova del SW (nell’esempio a fronte di prelievi ,il saldo del conto aumenta!) , comporta un intervento sul programma source (nell’esempio, per sostituire l’istruzione di sottrazione a quella (errata) di somma).

L’errore formale (semantico o sintattico) viene segnalato automaticamente dal programma Traduttore.  Un es., di errore sintattico e’ scrivere “RID” invece di “READ”, per comandare una lettura. A fronte della segnalazione (infatti il traduttore non puo’ creare il relativo programma object), nel nostro esempio verra’ eseguito un intervento per sostituire a “RID” l’istruzione corretta “READ”.

Hacker o Cracker?

In ambito informatico il termine inglese cracker indica colui che si ingegna per eludere blocchi imposti da qualsiasi software al fine di trarne profitto. Il cracking può essere usato per diversi scopi secondari, una volta guadagnato l’accesso di root nel sistema desiderato o dopo aver rimosso le limitazioni di un qualsiasi programma.

I cracker possono essere spinti da varie motivazioni, dal guadagno economico (tipicamente coinvolti in operazioni di spionaggio industriale o in frodi), all’approvazione all’interno di un gruppo di cracker (come tipicamente avviene agli script kiddie, che praticano le operazioni di cui sopra senza una piena consapevolezza né delle tecniche né delle conseguenze).

Il termine cracker viene spesso confuso con quello di hacker, il cui significato è tuttavia notevolmente diverso. Alcune tecniche sono simili, ma hacker è colui che sfrutta le proprie capacità per esplorare, divertirsi, apprendere, senza creare reali danni. Al contrario, cracker è colui che sfrutta le proprie capacità (o in certi casi quelle degli altri) al fine di distruggere, ingannare e arricchirsi.

Il termine cracker, fu coniato da Richard Stallman, per tentare di evitare l’abuso, tuttora esistente, della parola hacker. L’uso del vocabolo cracker è alquanto limitato (così come l’espressione black hat), al contrario di hacker, che è considerato da molte persone un termine controverso. Un individuo identificato come hacker, non è altro che un esperto informatico con ottime capacità d’uso del pc, che si diverte nell’ampliamento delle sue conoscenze. Questo termine viene erroneamente utilizzato per indicare persone che entrano all’interno dei sistemi informatici senza alcun tipo di autorizzazione, con l’unico scopo di causare danno. Molti hacker tentano di convincere l’opinione pubblica che gli intrusi dovrebbero essere chiamati cracker piuttosto che hacker, ma l’uso errato permane nel vocabolario comune della gente.

Fonte: Wikipedia

Cos’è il Social Media Marketing?

Il Social Media Marketing è quella branca del marketing che si occupa di generare visibilità su social mediacomunità virtuali e aggregatori 2.0. Il Social Media Marketing racchiude una serie di pratiche che vanno dalla gestione dei rapporti online (PR 2.0) all’ottimizzazione delle pagine web fatta per i social media (SMO, Social Media Optimization). Il termine viene, infatti, comunemente usato per indicare la gestione della comunicazione integrata su tutte le diverse piattaforme che il Web 2.0 ha messo e mette continuamente a disposizione (siti di social networking, foto video e slide sharing, comunità 2.0, wiki, etc.). La caratteristica di queste piattaforme è che la proprietà delle stesse non è dell’azienda (o persona) che intende instaurare tali relazioni.

Il fine del social media marketing è quello di creare conversazioni con utenti/consumatori. L’azienda, attraverso il proprio corporate blog o siti di social networking, è infatti abilitata ad una relazione 1:1 che avvicina mittente e destinatario.

Un esempio comune di social media marketing è l’azione di marketing virale che si compie su YouTube o altri siti di Video sharing. L’azienda, dichiarando o meno la propria reale identità, pubblica un contenuto interessante e/o divertente con l’obiettivo di generare “hype” e diffusione dello stesso. Tramite il passaparola spontaneo tra utenti si produce un effetto virale che porta sempre più persone a visionare il video e, dunque, a far sì che il messaggio raggiunga più utenti/consumatori possibile.

Secondo quanto afferma Lloyd Salmons, primo chairman dell’Internet Advertising Bureau social media council “Il social media marketing non riguarda solo i grandi network come Facebook e MySpace, ma riguarda in generale il fatto che le marche abbiano conversazioni.”[1].

Il social media marketing si differenzia da ogni altro tipo di marketing perché permette alle aziende e ai clienti di interagire e commentare; un sistema sostanzialmente nuovo di ottenere feedback e consigli. Questo aspetto rappresenta una novità rispetto al marketing tradizionale che relega spesso il consumatore a mero spettatore che guarda la pubblicità. Il social media marketing su Internet offre ai consumatori una voce: il contenuto da solo non basta le aziende devono sapere interagire.

Le reazioni dei consumatori a questa innovazione nel marketing è ancora oggetto di studio e costituisce una sfida rispetto a modalità di relazione più tradizionali, nelle quali per gli utenti non era possibile proporre commenti, ma solo fare delle domande.

Fonte: http://it.wikipedia.org/