Extranet

Per Extranet si intende l’infrastruttura di comunicazione tra un soggetto erogatore di un servizio basato su Internet e una o più sottoreti, o anche punti di acceso singoli, ai quali viene dato un accesso riservato per fruire di applicativi prevalentemente basati su web (anche se non solo questi).

In sostanza è un canale riservato attraverso il quale, ad esempio, un’azienda tratta gli ordinativi con i suoi fornitori, canale che sfrutta l’Internet come infrastruttura ma il cui accesso non è pubblico, bensì controllato.

Sto seguendo la progettazione dell’architettura di questo canale di comunicazione per conto dell’Azienda Ospedaliera di Padova / ULSS 16.

Concluso il corso di Realizzazione di siti web

Si è concluso, con la prova scritta di questa settimana, l’insegnamento Realizzazione di siti Web del Corso ITFS organizzato presso l’ITIS Zuccante di Mestre Venezia.

La prova è consistita nella realizzazione di un semplice sito web nel quali erano previste le conoscenze del linguaggio XHTML 1.0 + CSS 2.0 e la progettazione di una semplice form con alcuni elementari controlli Javascript.

Il bilancio del corso, che emerge dagli elaborati, è essenzialmente soddisfacente.

Antimateria

Al CERN di Ginevra, dal nuovo acceleratore LCH stanno uscendo risultati straordinari. Uno è questo, osservato il 17 novembre scorso: sono stati isolati 38 atomi di antiidrogeno (un antiprotone con un orbitale costituito da un positrone) per circa un decimo di secondo. I dettagli nella rassegna stampa del CERN.

Anche Facebook usa PHP/MySQL

Il popolare sito di social networking Facebook usa (per il front end, l’infastruttura con cui interagiscono direttamente gli utenti) il framework LAMP (acronimo per Linux Apache MySQL PHP).

Per aumentare le prestazioni, staticizzando richieste frequenti, Facebook impiega Memcache.

Questo sito spiega un po’ più a fondo la cosa.

Corso IFTS Zuccante – Ultima settimana

Ultima settimana di corso. Facciamo esercitazioni.

Quale versione Javascript è supportata da questo browser?

Per stabilire la versione di Javascript supportata dal browser ho trovato un metodo che ho descritto in questa risorsa.

Sorprendentemente HTML toglie in questo caso le castagne dal fuoco a Javascript. Non esiste una funzione di Javascript che mi dice di che versione esso sia. Il browser può intercettare la versione e tramite un trucco posso determinare la versione del Javascript: se dispongo molti tag di script in serie, il browser caricherà quelli generici dichiarati come language="Javascript" e quelli con language="Javascript1.x" dove x è la versione di Javascript supportata dal browser con cui sto navigando.

Tengo comunque a precisare che è una soluzione dirty: l’attributo language è deprecato fin dalla versione 4.01 di HTML.

Encoding e Collation in MySQL

Mi sono imbattuto in un problema bloccante di un sito web: la non coerente adozione di uno stesso encoding in tutti i “pezzi” dell’applicazione web provoca errori bloccanti.

In sostanza ci sono in MySQL due caratteristiche:

  1. l’encoding (codifica) che è la mappatura tra il simbolo (ad esempio “è”) ed il codice esadecimale che lo rappresenta in un file, in un pacchetto TCP/IP, in un database.
  2. la collation (confronto) che consiste in una serie di regole secondo le quali le stringhe vengono confrontate.

Traggo queste informazioni dal sito della MySQL AB.

Collation binaria

Supponiamo di avere questo alfabeto A={‘a’,’b’,’A’,’B’}.

L’encoding (la codifica) è l’insieme c={0, 1, 2, 3}.

IL charset è la mappa c -> A che si può esprimere nella tabella

Simbolo Codice
a 0
b 1
A 2
B 3

La collation è una regola che ci consente di confrontare le stringhe. Confrontare le stringhe sembra semplice, ma ha le sue difficoltà. A partire da una regola lessocigrafica ‘a’ < ‘b’ (a precede b), possiamo utilizzare i codici (visto che hanno la mappa conserva l’ordinamento) per stabilirlo (0 < 1 quindi ‘a’ < ‘b’). Questa si dice collation binaria. Funziona anche se confrontiamo ‘A’ e ‘B’ (infatti questo lo possiamo dedurre dal momento che 2<3).

Ma, secondo questa regola di confronto, ‘b’ < ‘A’!

Dobbiamo adottare una regola più complessa, ad esempio la collation di tipo case-insensitive.

Secondo questa regola dobbiamo prima calcolare c mod 2 per ogni carattere e poi confrontare i codici risultanti, quindi stabiliamo che ‘A’ < ‘b’ (e non il contrario come suggerirebbe il confronto binario).

La cosa si complica se utilizziamo caratteri ‘è’, ‘à’… anzi… ogni lingua ha le sue regole di precedenza. Quindi se al DB chiediamo di fare confronti di stringhe è necessario impostare l’algoritmo giusto per quella lingua.

First Arpanet Message

Ho trovato a questo indirizzo una commemorazione del primo messaggio ARPANET, risalente al 29 ottobre 1969.

Altri collegamenti interessanti sulla storia di Internet:

Corso IFTS ITIS Zuccante di Venezia-Mestre

Terza settimana di lezioni “Creazione Siti Web” del corso IFTS per la formazione di “Tecnico superiore per lo sviluppo del software finalizzato alla valorizzazione e promozione turistica, culturale ed ambientale del territorio”.

Nelle prime due settimane di corso sono stati trattati:

  • il protocollo HTTP
  • il linguaggio XHTML 1.0
  • il linguaggio CSS 2.0
  • problematiche di presentazione cross-media e cross-browser ed il problema della codifica dei caratteri.

In questa settimana si concentreranno delle sessioni di esercitazione su un soggetto a tema.

Documentazione di riferimento:

Disdette vocali per ULSS 16 / Azienda Ospedaliera di Padova

Ho integrato un sistema di gestione prenotazioni con un riconoscitore vocale per permettere la disdetta di prenotazioni di visite mediche ed esami clinici erogati attraverso il CUP dalle Aziende Sanitarie padovane.

Il Sistema di Gestione Prenotazioni mette a disposizione un servizio di back end invocabile via socket. Si accede alle primitive del servizio sulla base delle indicazioni ritornate dal front end vocale (Loquendo, http://www.speechvillage.com) che acquisisce il parlato del paziente sulla base di un breve questionario somministrato all’interlocutore telefonico per garantire l’accesso sicuro ai propri dati.

Il sistema è attualmente in grado di gestire il 70% delle chiamate, con notevole sgravio degli operatori telefonici del CUP; per il rimanente 30% si sta agendo sia sul perfezionamento dell’infrastruttura tecnologica che delle alternative nei dati di accesso alla disdetta.