GLOSSARIO

ActiveX: risposta di Microsoft a Java, è un set di tecnologie e strumenti per la programmazione ad oggetti che si basa sui COM. Il risultato principale che si ottiene scrivendo un programma che dovrà poi girare in un ambiente ActiveX si chiama componente, spesso chiamata anche controllo ActiveX.

Apache Ant: un tool di costruzione basato su Java, in teoria, simile al make di Linux. La differenza sta nel fatto che invece di un essere un modello esteso con comandi di shell, Ant è esteso usando classi Java. Invece di scrivere comandi shell, i file di configurazione sono basati su XML, e chiamano un albero target in cui vengono eseguiti vari task. Ciascun task è eseguito da un oggetto che implementa una particolare interfaccia per il task.

Application server: processore di pagine web, totalmente indipendente dal client e che quindi supporta qualsiasi tecnologia lato client. L’application server elabora le istruzioni delle pagine e restituisce al web server il risultato come una pagina HTML, che a sua volta la consegnerà al browser del client.

ASCII: American Standard Code for Information Interchange, è uno standard utilizzato nei computer per rappresentare lettere maiuscole, minuscole, numeri, punteggiatura e caratteri speciali per un totale di 128 caratteri. Ciascun carattere ha il proprio codice ASCII ed ogni carattere occupa 7 bit all’interno di un byte. Rimanendo inutilizzato l’ottavo bit, alcuni produttori lo impiegano per definire 128 nuovi caratteri (ASCII esteso con caratteri grafici, lettere nazionali, ecc.) creando versioni diverse e talvolta incompatibili.

ASP: Active Server Page, è un linguaggio di programmazione usato per generare dinamicamente le pagine web da inviare ai client (browser), permettendo agli utenti di interagire ed apportare modifiche ai dati visualizzati. E’ un ambiente software sviluppato inizialmente per IIS, combinando HTML, script e controlli ActiveX. Gli script ASP vengono eseguiti dal software sul server, che così costruisce le pagine HTML da inviare al browser del client.
E’ supportato solo da Server NT (su Linux gira con alcune restrizioni previa installazione di un’apposita applicazione).

Base64: formato che utilizza 64 caratteri US-ASCII per la codifica e decodifica di stringhe binarie arbitrarie in stringhe di testo, che possono essere tranquillamente spedite tramite email, usate come parti di URL o incluse come parti di richieste HTTP POST, che quindi possono essere trasmesse anche su canali non binari. Questo tipo di codifica è molto utilizzata in vari protocolli, come ad esempio MIME.

Bug: errore nel progetto o nell’implementazione di un sistema o di una sua parte; molto pericoloso se può essere sfruttato per indurre il sistema a svolgere operazioni impreviste o illecite.

Clarified Artistic License: licenza open source GPL-compatibile. GPL è l’acronimo di General Public License, ed è un particolare tipo di licenza per software, tuttavia, non si propone in maniera simile al classico copyright, ma ne rovescia i termini, proponendo il software come libero e modificabile senza limitazioni; l’unica “limitazione” è che il software GPL modificato o utilizzato deve far parte di un altro software GPL, pertanto, i programmatori che utilizzano librerie di questo tipo non possono rivendere il loro prodotto.

COM: Component Object Model, architettura distribuita a componenti introdotta da Microsoft, fornisce un semplice sistema di comunicazione tra i vari moduli dei programmi (eseguibili in ambienti Windows) e un insieme di interfacce che permettono ai client e ai server di comunicare sulla stessa macchina.
Si tratta di un protocollo object oriented, che racchiude al suo interno i principali aspetti degli standard pre-esistenti ed è alla base di quasi tutte le più moderne tecniche di programmazione in ambiente Windows: anche gli ActiveX, sono costruiti a partire dal modello COM. Da un punto di vista tecnico, l’architettura consente di plasmare il software a run time, combinando tra loro varie componenti durante l’esecuzione di un’applicazione. Infatti, COM consente di costruire dei moduli software riusabili, dotati di una serie di funzioni che un qualsiasi oggetto di un’altra applicazione può utilizzare.

Crittografia: scienza che ha l’obiettivo di trasformare le informazioni (testo in chiaro) in una forma intermedia sicura (testo cifrato). Questo processo consente di ottenere confidenzialità (segretezza, non accessibilità ai non autorizzati) e integrità dei dati (i dati non vengono modificati, distrutti o persi in modo non autorizzato o accidentale), non ripudio (impossibilità di negare precedenti commissioni o azioni) e controllo di accesso agli stessi (autenticazione degli utenti).
La crittografia, inoltre, si occupa anche della trasformazione inversa (se attuabile), cioè di trasformare informazioni cifrate in forma comprensibile.

DBMS: DataBase Management System, sistema per la gestione di basi di dati. (Es: Microsoft Access e MySQL).

DNS: Domain Name System, è il sistema d’identificazione di Internet basato sull’assegnazione di nominativi alfabetici. Un nodo DNS consente di determinare l’indirizzo di rete fisico associato all’URL della risorsa richiesta. Questo nodo fornisce la piattaforma tecnologica per consentire il mapping degli indirizzi IP, ossia la conversione dei nomi (indicati come URL) in indirizzi IP e viceversa.

Firma digitale: tecnica che garantisce una sorta di autenticazione di un messaggio. Per attestare la propria identità e la validità del messaggio che si vuole inviare, si “firma” il documento, usando tecniche di crittografia a chiave pubblica e certificati digitali. La firma consente di garantire integrità dei dati (i dati non vengono modificati, distrutti o persi in modo non autorizzato o accidentale) e protezione dal ripudio di commissioni o azioni (non ripudio).

Form: scheda in formato HTML che consente all’utente di inserire e/o modificare dei dati che vengono poi spediti ad uno script che li memorizza, ad esempio, in un DataBase.

Freeware: assicura la gratuità di un programma ma non l’accesso al codice sorgente (vedi Open Source).

FTP: File Transfer Protocol, il più diffuso protocollo della famiglia TCP/IP per il trasferimento di file tra due sistemi in Internet. Richiede che si esegua un’autenticazione sul server, tuttavia, talvolta il suo utilizzo è concesso anche per il prelievo di file da parte di persone che non dispongono di una accesso al sistema (FTP anonimo).

GPG: GNU Privacy Guard, alternativa open source a PGP, nata nel 1997 ad opera di Werner Koch. Si tratta di un software di crittografia a chiave pubblica che permette la cifratura/decifratura (basata su un sistema simile a quello usato da PGP) e l’autenticazione di messaggi (mediante l’utilizzo delle firme digitali).

Help desk: gruppo di persone in grado di fornire supporto e assistenza qualificata per un servizio o per un particolare prodotto.

HSQLDB: HSQL Database Engine, è un database management system (DBMS) basato sul modello relazionale, scritto completamente in Java.

Interfaccia GUI: Graphical User Interface, interfaccia basata su simboli grafici e non su testo, introdotto la prima volta dalla Apple.

Keep-Alive: particolare header introdotto in HTTP/1.0. In particolare, nelloriginale implementazione di HTTP, per ogni richiesta veniva creata una nuova connessione al server, su cui veniva inviata la richiesta e su cui si attendeva la risposta. Questo approccio era semplice, ma troppo lento, motivo per cui furono introdotte le connessioni Keep-Alive. Se un browser supporta il keep-alive, aggiunge alla richiesta lheader Connection: Keep-Alive. Quando il server riceve tale richiesta, aggiunge anchesso alla risposta lo stesso header. In questo modo, la connessione non viene chiusa ma tenuta aperta, in modo che il client, quando deve inviare unaltra richiesta, riusa la stessa connessione. Il processo continua finchè uno dei due (server o client) decide di chiudere la connessione. In HTTP/1.1, il metodo keep-alive ufficiale è leggermente differente: tutte le connessioni sono tenute aperte, a meno che non venga specificato con lheader Connection: close.

MAC: Message Authentication Code, codice aggiunto a dei dati per garantirne l’autenticità.

Mailing list elettronica: lista di distribuzione automatica di messaggi di posta elettronica che riguardano, di solito, un unico argomento.

Microsoft SQL Server: diffusissimo DataBase RDBMS (Relational DataBase Management System, sistema i cui utenti vedono i dati sotto forma di una raccolta di tabelle, correlate tramite valori comuni dei dati), che funziona solo su piattaforma Windows. Fra le sue caratteristiche vi sono la facilità d’uso e le prestazioni elevate.

Open Source: codice sorgente aperto, cioè leggibile. Questa concezione del software sottende la possibilità che più persone possano “guardare” il codice sorgente e, eventualmente, apportare modifiche che consentano di migliorarlo, permettendone uno sviluppo più veloce e ottimale. Questo concetto affonda le sue radici nella storia della BSD (Berkeley Software Distribution) e di Unix, risalente, quindi, alla seconda metà degli anni ’70. Soltanto nel 1998, tuttavia, il termine Open Source è stato ufficializzato da alcuni sviluppatori e dalla comunità Internet, affiancandolo a quello già esistente di free software, software libero (vedi Freeware).

OSI: Open Systems Interconnection, architettura di rete a sette livelli standard ITU-T, ISO e IEC.

PGP: Pretty Good Privacy, software di crittografia a due chiavi (una pubblica e l’altra privata), utilizzato soprattutto per codificare messaggi di posta elettronica. E’ stato creato nel 1991 dall’allora studente universitario americano Phil Zimmermann, che ha lo ha reso disponibile via Internet. Ne è scaturito, nel 1993, un processo penale a suo carico, a causa delle leggi USA che limitano al minimo la distribuzione di tecniche di crittografia, paragonandola all’esportazione di armi. Il caso, risoltosi tre anni dopo senza esiti negativi per Zimmermann, sollevò reazioni in tutto il mondo in merito alla sicurezza di Internet, diffondendo la notorietà di PGP, al punto tale che Zimmermann ne vendette i diritti. Oggi, però, nonostante notevoli limitazioni nell’uso, il software è ancora gratuito e non commerciale.

PHP: Personal Home Page tools, è un linguaggio di programmazione usato per generare dinamicamente le pagine web da inviare ai client (browser), permettendo agli utenti di interagire ed apportare modifiche ai dati visualizzati. E’ un modulo del web server Apache ed è supportato principalmente da server Linux/Unix, ma anche da NT.

Query SQL: letteralmente query significa “richiesta”, ed è un’operazione che estrapola dati precisi da un DataBase, in questo caso SQL.

Rete backbone: rete progettata principalmente come condotto ad alta velocità, per dati trasmessi fra varie reti.

SQL: Structured Query Language, linguaggio standard di interrogazione dei database, permette la consultazione e la modifica dei dati indipendentemente dal software e dal sistema operativo con il quale è stato creato il database. Elaborato dall’ANSI, non è un vero e proprio linguaggio di programmazione, in quanto non consente di creare applicazioni indipendenti, ma solamente di richiamare, stampare, scrivere o modificare i dati presenti in un database che sia stato costruito con un software compatibile con SQL.

SMTP: Simple Mail Transfer Protocol, è un protocollo della famiglia TCP/IP per lo scambio di posta elettronica. Indica il formato esatto dei messaggi che un client, posto su una macchina, usa per trasferire la posta a un server su un’altra. In particolare, si occupa di come il sistema di consegna della posta passa i messaggi, attraverso un’inter-rete, da una macchina a un’altra, specificando semplicemente in quale forma l’uno debba inviare le richieste e l’altro debba rispondere. Tutta la comunicazione avviene mediante testi ASCII leggibili.

Telnet: diffuso protocollo di terminale remoto della famiglia TCP/IP, consente di collegarsi ad un computer remoto in maniera interattiva. Entrambi i lati del collegamento vengono trattati simmetricamente (entrambi possono essere sia client che server). Stabilita una connessione TCP, le sequenze di tasti dalla tastiera dell’utente vengono passate direttamente al computer remoto come se fossero state digitate su un terminale collegato alla machina remota stessa e, analogamente, l’output viene trasportato dalla macchina remota allo schermo dell’utente (servizio “trasparente”). Il protocollo, in questo modo, consente di inviare anche comandi al server remoto.
Solitamente, viene utilizzato per interrogazioni di database o per usufruire di servizi specifici di alcuni server.

Ticket: richieste personalizzate, formulabili solo dai membri di un Help desk, di solito via email, e che vengono inserite in un database.

Timestamp: marca temporale di un documento digitale, è qualcosa aggiunto ad esso che prova che il documento è stato prodotto prima, dopo oppure ad un fissato momento.

Trojan horse: letteralmente cavallo di troia, è un programma apparentemente legale che contiene al suo interno del codice atto a minare la sicurezza del sistema su cui viene attivato, mediante istruzioni non richieste dall’utente.

UDP: User Datagram Protocol, è uno dei protocolli della suite TCP/IP. Utilizzato al livello trasporto, garantisce una trasmissione senza connessione, basata sul trasferimento di pacchetti di dati. Non è particolarmente affidabile: invia i pacchetti, ma non garantisce che questi arrivino a destinazione. Sono, quindi, gli applicativi a preoccuparsi dell’affidabilità del servizio.

VBScript: linguaggio di programmazione più semplice di Visual Basic. Consente l’esecuzione di procedure interattive in documenti HTML, infatti, le procedure VBScript sono scritte direttamente all’interno del documento HTML.

WebDAV: standard che estende le capacità di HTTP 1.1. HTTP permette agli utenti di leggere i contenuti già pubblicati sul Web, ma non fornisce mezzi semplici per consentire a un utente di modificare un documento esistente. Inoltre, non prevede un metodo standard per spostare, bloccare o sbloccare un file, o per modificarne le informazioni sulla proprietà. WebDAV standardizza tutto questo, permettendo di scrivere e leggere i contenuti sul Web in modo interoperabile. E’ stato proposto per la prima volta nel 1996, e l’attuale standard, basato sull’RFC 2518, è stato pubblicato dall’Internet Engineering Task Force (IETF) nel Febbraio 1999. Un’ulteriore estensione di WebDAV è stata codificata come RFC 3523 nel Marzo 2002.

XML: Extensible Markup Language, è un linguaggio simile all’HTML, con il quale condivide i markup, comunemente detti tag. Ma, mentre nel caso dell’HTML i tag servono solo per indicare al browser come mostrare la pagina, con XML i tag descrivono ciò che racchiudono in base al tipo di informazione contenuta. Ad esempio, “telefono” indica che il numero racchiuso tra i tag è un numero di telefono, quindi a seconda di come il computer ricevente decide di trattarlo, questo numero può essere stampato a video come accadrebbe nel caso dell’HTML, ma anche salvato in rubrica o addirittura composto per avviare una conversazione.