Archivio di giugno 2010

Alfresco 3.3g – Prime impressioni

venerdì, 18 giugno 2010

La si attendeva ormai da tempo, era stata annunciata per il 19 aprile, poi rimandata a data da destinarsi.
Finalmente eccola qui: la nuova, ultimissima versione dell’edizione Community di quello che negli anni si è sempre più affermato come il documentale di riferimento nel mondo dell’open source: Alfresco.
La pazienza di chi ha, con crescente disappunto, seguito le vicissitudini di questa nuova versione, ricca di promesse, sarà ricompensata? Dopo una prima analisi di massima la risposta non può che essere un sonoro SI. E questo non può che far piacere a chi segue lo sviluppo di applicazioni nell’ambito open source e che conosce le difficoltà che spesso esse incontrano. Un plauso a questo prodotto che davvero non fa rimpiangere molte delle sue controparti commerciali e che, nella maggior parte dei casi, uscirebbe addirittura vincitore dal confronto.
La novità principe di questa release (3.3g), che si propone quale soluzione ai numerosi bug della precedente (3.3), è sicuramente la rinnovata interfaccia Share che, come suggerisce il nome, è stata pensata e voluta quale mezzo di collaborazione fra gli utenti. Ai ben informati sull’argomento verrà da chiedersi dove stia la novità, in quanto tale interfaccia era già presente anche in alcune release precedenti, ma la differenza è tanto sottile dal punto di vista grafico (una semplice voce di menu aggiuntiva), quanto imponente sul lato della fruibilità: da share si dispone ora dell’accesso al repository, dove risiede la totalità dei documenti.
Sul piano delle funzionalità le novità emergono fin dai primi utilizzi: le regole, che permettono ad esempio di creare e gestire workflow semplici (copiare, spostare, trasformare file), sono ora definibili e facilmente gestibili dalla nuova interfaccia grafica. Si possono creare siti di collaborazione che mettono a disposizione: wiki, blog, discussioni, calendari, liste (di tasks-to-do, di issues, ecc.) in pochi secondi e ancora meno click. Interessante la possibilità di gestire facilmente piccoli workflow del tipo: “review and approve” (inviare la richiesta di valutazione di un documento e in seguito ricevere notifica dell’approvazione o del rifiuto) o “task ad-hoc” (inviare la richiesta di svolgere un task su un documento), con la possibilità aggiuntiva, che ci promettiamo di testare prossimamente, di introdurre altri workflow definiti tramite il motore jBPM di JBoss.
Questo giusto per citare alcune delle funzionalità che più semplificheranno la vita a coloro che sceglieranno di utilizzare questo prodotto, che sembra affermare con forza che l’essere gratuito non determina minimamente un impatto negativo sulla qualità della sua implementazione. Anche sul lato architetturale arrivano novità: dalla versione 3.3, Alfresco consente all’utente di decidere, out-of-the-box, se appoggiarsi su MySql o su PostgreSQL. Lo stiamo attualmente testando su un’istanza di PostgreSQL appositamente predisposta per fornire efficienza al salvataggio e al recupero dei meta-dati dei documenti.
Ovviamente è presto per tirare le somme, data la mole di funzionalità da testare, e forse risulta prematuro sfoggiare tanto entusiasmo, ma per questa volta me la sento di rischiare, riservandomi di tenervi informati sull’argomento. Se davvero saprà mantenere tutte le promesse, questo documentale saprà decisamente lasciare il segno e introdurre in tutte le aziende che decideranno di adottarlo il valore impagabile della semplificazione.

Pillole di IPv6 n°2

giovedì, 17 giugno 2010

Facciamo chiarezza sulle tipologie di indirizzi del nuovo protocollo Internet.
Gli indirizzi possono essere:

  • -unicast, individuano una ed una sola interfaccia di rete
  • -multicast, sono quelli che identificano un gruppo di nodi
  • -anycast (novità!) sono dei particolari indirizzi multicast in cui il mittente comunica con il nodo più vicino di un gruppo

In questa pillola di saggezza informatica analizzeremo gli indirizzi unicast, che come potrete spesso vedere digitando “ifconfig” oppure “ipconfig” possono essere:

-link-local: per ogni interfaccia di un nodo viene generato automaticamente un indirizzo di tipo link-local utilizzabile solo a livello locale. Non bastano quindi per essere visibili sulla rete Internet. Il prefisso per i link-local unicast è fe80, mentre l’interface id (64 bit) è ricavato dall’indirizzo fisico (MAC address) dell’interfaccia. Poichè il MAC ha 48 bit viene aggiunto a metà  ff:fe (16 bit). Per esempio, se un’interfaccia di rete ha il MAC aa:bb:cc:dd:ee:ff il suo indirizzo locale sarà  fe80::aabb:ccff:fedd:eeff.
Cosa accade con IPv4 quando un nodo si connette ad una rete? Se non si configura manualmente un indirizzo statico, l’interfaccia aspetta desiderosa che un server DHCP le assegni un indirizzo. Se, sfortunatamente, non è presente alcun server o relay agent entra in gioco il protocollo APIPA (Automatic Private IP Address) che però non fa parte delle specifiche IPv4 ma fu introdotto da Microsoft ed è diventato, de facto, uno standard.
Con IPv6, grazie al fatto che l’indirizzo link local si basa sul MAC address, si ha una certezza del 100% che esso sia univoco, certezza non garantita da APIPA.
Inoltre la generazione del link local avviene non appena l’interfaccia viene accesa, e si ha quindi immediatamente un indirizzo con cui poter parlare nella propria rete privata.

-Global: sono indirizzi a visibilità  pubblica. Le prossime righe potranno assopirvi, quindi fate una pausa caffè, non vorrei mai che possiate perdervi un argomento così importante.

L’indirizzo è composto dai seguenti campi:

TLA ID (13bit): Top Level Aggregation identifier. Il TLA identifica il livello più alto della gerarchia di routing.
I TLA sono amministrati dalla IANA e allocati in registri Internet locali che a loro volta allocano i singoli ID TLA a provider di servizi Internet (ISP, Internet Service Provider) globali. Un campo di 13 bit può contenere fino a 8.192 ID TLA diversi. Per i router del livello più alto della gerarchia di routing di Internet IPv6 non è disponibile una route predefinita ma solo route con prefissi di 16 bit che corrispondono ai TLA allocati.

RISERVATO (8bit): il campo Riservato è riservato per un utilizzo futuro per l’espansione della dimensione dell’ID TLA o dell’ID NLA.

NLA ID (24 bit): il campo ID NLA indica il Next Level Aggregation Identifier. L’ID NLA identifica il sito di un cliente specifico. Esso consente all’ISP di creare più livelli di gerarchia di indirizzamento per organizzare l’indirizzamento e il routing e per identificare i siti. La struttura della rete dell’ISP non è visibile ai router senza route predefinita.

SLA ID (16bit): Site Level Aggregation Identifier. L’ID SLA viene utilizzato dalle singole organizzazioni per identificare le subnet all’interno del proprio sito. I 16 bit possono essere utilizzati dall’organizzazione per creare 65.536 subnet o più livelli di gerarchia di indirizzamento e un’infrastruttura di routing efficiente. Con 16 bit di flessibilità  di subnet, un prefisso unicast globale aggregabile assegnato a un’organizzazione equivale ad allocare all’organizzazione un ID di rete IPv4 di classe A (presupponendo che l’ultimo ottetto venga utilizzato per identificare i nodi nelle subnet). La struttura della rete del cliente non è visibile all’ISP.

L’indirizzo globale può essere formato dall’interface-ID, che come abbiamo già  visto è basato sul MAC address. Quindi un computer che si trova in Olanda o in Australia cambierà  il prefisso di rete ma non l’interface ID. E’ evidente che questo fatto comporta problemi di privacy, ma niente paura: esiste la possibilità  di generare la parte host dell’indirizzo randomicamente (oppure assegnarcene uno inventato di nostro pugno, in modo statico, proprio come si faceva con IPv4).

Pillole di IPv6 n° 1

martedì, 8 giugno 2010

Aprile 2012, data stimata per l’esaurimento definitivo degli indirizzi IPv4 disponibili. La soluzione è una tecnologia innovativa già presente, i cui studi sono iniziati nel lontano 1994 da parte dell’IETF e che hanno portato alla prima pubblicazione del protocollo già nel 1998. Tale innovazione prende il nome di IPv6.

La caratteristica principale di questo nuovo protocollo è il numero di bit riservati agli indirizzi, ben 128 bit contro i 32 del vecchio protocollo IPv4. Tale cambiamento porta con sé la capacità di gestire 2128 indirizzi (circa 3,4 × 1038, cioè 666 mila miliardi di miliardi per metro quadro di superficie terreste), mentre IPv4 permette di indirizzarne solo 4 x 109.

Entriamo un po’ più nello specifico. L’header IPv6 presenta parecchie modifiche rispetto a quello precedente, basti guardare il peso, 40byte contro i 20byte di quello IPv4. Nella seguente immagine si possono notare i campi mantenuti, i campi tolti, i campi rinominati e cambiati di posizione ed infine i campi nuovi.

header IPv6

IPv6 renderà obsoleti ARP e NAT, essenziali in questo momento, grazie a protocolli già inclusi in esso, tra cui per esempio NDP (Neighbor Discovery Protocol) che si occupa della scoperta degli altri nodi nella rete determinando il link layer address di quest’ultimi, di trovare i router disponibili e di mantenere informazioni riguardanti i percorsi per gli altri nodi attivi limitrofi; l’utilizzo del NAT non sarà più necessario in quanto lo smodato spazio di indirizzamento permetterà ad ogni dispositivo di rete di comunicare con il mondo con il proprio indirizzo.

Qui sopra abbiamo parlato di link layer address: ogni dispositivo di rete avrà a disposizione questo indirizzo auto-generato che gli permetterà di comunicare all’interno della propria rete con il protocollo NDP per poter ottenere la configurazione dell’indirizzo Ipv6 globale; quest’ultimo gli permetterà di comunicare con il resto della rete Internet.