IOS, un'altra REBOLuzione

ArticleCategory:

Applications

AuthorImage:

Georges Tarbouriech

TranslationInfo:[Author and translation history]

original in en Georges Tarbouriech 

en to it Alessandro Pellizzari

AboutTheAuthor

Georges è un utente Unix di vecchia data. Gli piacciono quei prodotti realmente innovativi capaci di cambiare il nostro modo attuale di lavorare.

Abstract:

IOS è l'acronimo per Internet Operating System. È un prodotto commerciale teso a facilitare il lavoro collaborativo. Rebol è il __conceptor__ di questo incredibile pezzo di software. LinuxFocus ha avuto la possibilità di provare una versione di valutazione per un periodo di 30 giorni. Questo articolo tenta di presentare questa REBOLuzione.

ArticleIllustration:

IOS

ArticleBody:[The article body]

L'idea

Tra le altre cose, REBOL ha una caratteristica unica: le dimensioni estremamente ridotte delle applicazioni che si possono scrivere con questo linguaggio. Potete dare un'occhiata a questo "vecchio" articolo per scoprire quanto potente esso possa essere e quanto sia facile sviluppare applicazioni funzionanti su circa 40 piattaforme diverse. Rebol/View, per esempio, occupa 587 KB e permette di sviluppare praticamente qualsiasi cosa di cui abbiate bisogno. Può essere scaricato gratuitamente dal sito di Rebol. Si possono anche scaricare oltre 300 script di esempio che insegnano tutto.
Non troverete altro modo di creare applicazioni tanto piccole con qualsiasi altro linguaggio di programmazione. IOS è nato dalla stessa filosofia. Un server dedicato fornisce tutto ciò di cui avete bisogno e, come client, ottenete diverse applicazioni distribuite su un desktop molto leggero, che funziona su circa 25 diversi Sistemi Operativi. Naturalmente potete sviluppare le vostre applicazioni sezondo le vostre necessità. Comunque questo è solo un piccolo riassunto, poiché IOS è molto più di questo.

I fatti

Molti giovani (e vecchi) lettori potrebbero pensare: ma di cosa sta parlando questo? Cosa ce ne importa delle dimensioni? Oggi abbiamo hard disk da 20 o 40 Gb, un sacco di RAM, CPU "da corsa", perché dovremmo mantenere piccole le applicazioni? Sembrano dirmi: eddai, vecchio, le cose sono cambiate! Assolutamente vero... Ma cosa mi dite di Internet?
Probabilmente avrete notato che sempre più persone usano Internet. Molti di loro usano dei modem per collegarsi ai siti, per spedire e ricevere e-mail, ecc. E, ovviamente, questo consuma molta banda. Questo significa che anche con una connessione via cavo o DSL le connessioni diventano sempre più lente.
Lo so, non interessa a nessuno! Chi fa lo "sforzo" di mandare testo o HTML piuttosto che quegli @#%*$ documenti Word o Excel, o a chi importa di mandare immagini JPEG piuttosto che BMP? Molto pochi!!! Per non parlare di siti che "offrono" musica, video, immagini enormi ecc. Di conseguenza lavorare da remoto diventa sempre peggio.
Ciononostante sempre più persone lavorano da remoto. Grandi multinazionali, organizzazioni mondiali ecc., e non dimentichiamo la comunità free software (per lo sviluppo del software, la documentazione e cose di questo tipo). Voglio dire, hanno persone che lavorano sparse per il mondo che hanno bisogno di comunicare, preferibilmente in tempo reale. E questo già succede... senza Rebol. E allora?

La REBOLuzione

Al giorno d'oggi, per lavorare da remoto, tutti usano tool conosciuti: browser da 50 Mb, programmi di posta da 20 Mb, software per videoconferenza da 10 Mb, software per instant messaging da 10 Mb, database da 1 Gb... per scambiare ogni tipo di dati. Preferibilmente dati molto grossi (vedi sopra!). Cosa c'è di nuovo nell'offerta di Rebol? Niente! I miei amici mi dicono: il messenger consente di "messaggiare", quello di posta di mandare posta, l'agenda di controllare gli impegni...
È vero anche questo! Se non fosse che il programma di posta occupa 2915 bytes (non è un errore di scrittura!), quello di messaging 14,5 Kb, il who è di 7372 bytes, quello di conference 14,41 Kb e così via! Tutti questi programmi sono disponibili sul vostro desktop con un eseguibile di 610 Kb per connettersi al server. Queste sono le dimensioni del client per Linux; è più o meno la stessa dimensione dei programmi per le altre piattaforme disponibili: 25 al momento della stesura di questo articolo.
Questo è il suo aspetto:

desk


Per capire l'intero concetto dovete sapere che REBOL fornisce una intera gamma di prodotti che consentono di fare praticamente tutto. Abbiamo già menzionato Rebol/View (gratuito o come versione avanzata per un prezzo basso), ma potete aggiungere Rebol/Core (gratuito), Rebol/Command (commerciale, cioè a pagamento) che è un prodotto da usare assieme a un RDBMS (Database Relazionale) o per gestire script CGI tra l'altro. Naturalmente tutti questi prodotti possono essere usati all'interno di IOS. Questo crea un "tool box" grandioso: un linguaggio di programmazione (e passaggio di messaggi) che toglie il fiato, la possibilità di interfacciare i propri programmi (chiamati reblets) con database o server web esistenti e così via. Come detto negli articoli precedenti: l'unico limite è la vostra immaginazione. Un esempio dovrebbe chiarire le cose.

Il test

Abbiamo chiesto a Rebol una versione di prova di IOS e sono stati tanto gentili da concedercela. Siamo quindi riusciti ad avere 3 account per client sul server di Rebol. Siccome è un test per LinuxFocus, abbiamo usato... il client Linux.
Tutto quello che abbiamo dovuto fare è stato scaricare un piccolo eseguibile e lanciarlo (Sì, io odio gli eseguibili, ma in questo caso diciamo che mi sono fidato di Rebol). Questo installa il client sul vostro computer: impiega meno di un minuto!
Se Rebol/View, per esempio, è installato sulla vostra macchina, non avrete nemmeno bisogno di configurare il client visto che le informazioni di cui ha bisogno sono già memorizzate. Queste sono l'indirizzo e-mail, i server POP e SMTP... Dovrete comunque fornire username e password avuti da Rebol. E ora siete pronti!
Potete usare ogni tool presente sul desktop: il messenger, il client di posta, il software di conference, ecc. Tra l'altro nuovi reblets vengono aggiunti di frequente. Vengono forniti programmi di utilità come calcolatrici, clipboard, pannelli informativi, ecc. Eccoli qui:

deskutil


I diversi bottoni sul desktop consentono di accedere alle aree per le applicazioni, la documentazione, ecc. Il bottone "users" è quello giusto per voi se volete creare i vostri folder in questo workspace. Potete specificare gli utenti a cui è consentito accedere al vostro folder, semplicemente indicando il loro nome nei campi a destra. Quindi potete mettere in questo folder quello che vi piace di più. Possono essere applicazioni, immagini, documenti... Potete considerare questo folder come un NFS (Network File System) a livello "mondiale"... senza i problemi di sicurezza! Significa che gli utenti abilitati possono leggere o scrivere in questo folder in base ai permessi che gli avete accordato. Naturalmente tutto è sul vostro hard disk. In altre parole potete usarlo senza essere connessi.
Cosa ci abbiamo messo dentro?
Una piccola applicazione per connettersi all'ultimo numero di LinuxFocus. È la stessa già vista nel precedente articolo su Rebol, eccetto che porta a un numero diverso di LinuxFocus. Perché abbiamo usato la stessa applicazione? Perché la sintassi è leggermente cambiata rispetto all'articolo precedente. Qui c'è il nuovo codice sorgente

Come vi sembra?

lfissue


Il programma occupa 2182 bytes, ma possiamo dire che contiene solo testo, pulsanti, URL e immagine di sfondo... e poco codice. Non molto significativo, vero?
Proviamo con qualcosa di più elaborato.
Ancora una volta useremo LinuxFocus come esempio. E ancora faremo un semplice database. Servirà a fornire agli utenti autorizzati i permessi di consultare, creare, cancellare righe. Naturalmente, visto che è un esempio semplice, non potrete fare query, potrete selezionare una riga alla volta. Le righe sono memorizzate in un file di testo chiamato articles.r
Il programma si chiama lfdb.r e "pesa" 5983 bytes!
È preso a prestito da rebodex.r di Carl Sassenrath (il fondatore di Rebol), che è parte degli esempi forniti sul sito e menzionati sopra.
Qui trovate il codice sorgente

Guardiamolo al lavoro :

deskdb


Come potete vedere non è niente di straordinario, ma funziona ed è molto piccolo. Questo significa che lavorarci da remoto è abbastanza veloce, con qualsiasi tipo di connessione.
Questo per dire che potete creare quello che volete in pochissimo tempo e renderlo utilizzabile a persone dall'altra parte del mondo come se fossero nell'ufficio a fianco. Ricordate che possono usare la vostra "creazione" anche dopo sconnessi, poiché hanno tutto nel loro hard disk.
Ovviamente questo è un esempio molto semplice, ma ripeto, non c'è limite a quello che si può fare con IOS. Per esempio, visto che stiamo parlando di database, potreste usare Rebol/Command per connettervi a un server RDBMS.
Questo è solo un modo per usare IOS, ce ne sono molti altri. Pensate solo alle applicazioni sofisticatissime che potreste creare con esso.
E ora la cosa più importante: il solo e unico lato sicurezza.

Il lato sicurezza

Appena si considera la comunicazione via Internet, il rischio sicurezza diventa alto. Come gestisce Rebol questa grossa "faccenda"?
Come al solito, hanno mantenuto le cose semplici, facili e affidabili.

Il server

Come già detto, non siamo stati in grado di provare il server IOS. Però c'è una guida all'amministrazione tra la documentazione del desktop IOS. Inoltre la gente di Rebol è tanto gentile da rispondere alle vostre domande: non è una cosa che capita spesso e quindi va riconoscita. Ancora più interessante è il fatto che rispondano in tempo reale usando il messenger di IOS. Non male, eh? (A proposito, quando dormono, visto che il fuso orario tra me e loro è di 9 ore?)
Prima di tutto, il server gira su molti Sistemi Operativi diversi. La maggior parte dei server Unix o Windows lo supportano. La sicurezza di IOS viene gestita dall'interno e si integra con la vostra rete preesistente senza dover cambiare infrastruttura. Si spera che la vostra rete sia già protetta con un firewall, un proxy, un NIDS (Network Intrusion Detection System), tunneling, ecc.
IOS opera sopra il webserver, usando il protocollo HTTP con una tecnica di tunneling. Questo webserver viene usato come un gateway per connettersi al server IOS. Un programma CGI funziona da proxy per redirigere i dati dal webserver al server IOS. Tutte le comunicazioni sono crittate. Il server IOS memorizza i dati. Un altro processo sincronizza i dati tra il server e il client. Questo significa che i nuovi dati vengono automaticamente scaricati sul vostro hard disk.
Ultimo ma non meno importante, bastano 5 minuti per installare il server se avete già un webserver funzionante.
Naturalmente questa è una descrizione molto breve, ma illustra che la filosofia di Rebol viene applicata anche qui. Aggiungiamo anche che Rebol fornisce le reblet che rendono l'amministrazione ancora più facile.

il client

Abbiamo già detto della facilità di installazione del client. Non c'è molto da aggiungere, visto che richiede meno di un minuto.
Come client, vi connettete al server con delle chiavi di sessione uniche, quindi l'autenticazione è garantita. Tutto quello che circola nella rete viene crittato. Le connessioni possono essere limitate a specifici indirizzi IP, a specifiche porte (in entrata o in uscita). Diventa una specia di comunicazione peer-to-peer.
Per quanto riguarda file e directory, i permessi possono essere gestiti in modo molto semplice. Gli accessi sono limitati a una specifica area locale. Significa che ogni utente può accedere solo alla propria area. E così via.
Ci sarebbe molto altro da dire sullo schema di sicurezza di IOS, ma avremmo bisogno di diversi articoli per trattare tutto.
Per farla breve, la sicurezza di IOS è molto ben progettata. Ho controllato il passaggio di dati con tcpdump e non ho visto null'altro che la connessione. Ho fatto uno scan del server con nmap e non ho ricevuto risposta. Naturalmente questo non significa che non ci siano vulnerabilità: sappiamo tutti che la sicurezza non è mai garantita al 100%, comunque Rebol ha fatto un altro ottimo lavoro.

La parte "commerciale"

Bene, Rebol fornisce software proprietario. Naturalmente deve venderlo per vivere, anche se si possono avere molti prodotto gratuitamente. D'altra parte, IOS per esempio viene venduto in diversi modi: questa è la gamma di prodotti IOS.
IOS Express è per aziende medio/grandi.
IOS Lite è per piccole aziende.
IOS Host è per per uso personale : Rebol fa hosting sui propi server.
IOS Alliance è un programma di supporto per sviluppatori commerciali.
Ovviamente, in base alla scelta, il prezzo da pagare è diverso. Il prezzo al pubblico di partenza è di 2000 $ per il server e 10 client. Ogni client aggiuntivo costa 100 $. Per grandi quantità di client si può fare un accordo per uno sconto.
Queste cifre sono solo informative e potrebbero cambiare in futuro, in base al numero di applicazioni fornite con IOS.

Ritorno al futuro

IOS è così avanti pur mantenendo le cose semplici che risulta difficile spiegare tutti i vantaggi che porta. Finchè gli utenti usano diversi prodotti nel lavoro di tutti i giorni, non possono nemmeno rendersi conto che essi non sono i più adatti. O sono legati ad essi o non sono abbastanza curiosi da provare qualcos'altro. A volte non possono nemmeno scegliere. Ciononostante prodotti come IOS sono una vera rivoluzione se confrontati con ciò che usiamo oggi. Per questo ottimo pezzo di software, Rebol non ha concorrenti. Il problema è che essere troppo avanti significa che i concorrenti possono trarne vantaggio prima. Il mondo dei computer è pieno di pessimi esempi.
Ma veniamo alla solita "area" off-topic.
Il fondatore di Rebol, Carl Sassenrath, lavorava per la Commodore, un grossissimo produttore, per chi non lo sapesse. L'Amiga era uno dei loro prodotti. Il Sistema Operativo dell'Amiga era uno dei più avanzati di quel tempo: il primo personal computer multitasking, il primo vero computer multimediale, il primo a usare chip multipli, ecc. La Commodore non è stata in grado di venderlo come si meritava. Ci sono voluti anni agli altri produttori per raggiungere lo stesso livello tecnico... ma questi "altri" sono riusciti a vendere i loro prodotti, a volte "forzando" la gente a comprarli.
Carl era coinvolto in questo grande lavoro sull'AmigaOS.

Più tardi, ancora per la Commodore, Carl ha lavorato sul CDTV, diciamo il padre dei set-to-box. Ancora una volta la Commodore non è stata in grado di commercializzarlo. Pochi mesi dopo il rilascio del CDTV un altro grosso produttore ha rilasciato un prodotto equivalente... ed è riuscito a venderlo. Tutto questo per dire che Carl è sempre stato avanti, ma forse troppo avanti. Quello che avrebbe dovuto essere un vantaggio è diventato uno svatnaggio (o quasi). Il suo lavoro è andato a beneficio di qualcun'altro poco dopo.

Un altro esempio potrebbe essere NeXT e il suo SO, NeXTSTEP. Più di dieci anni dopo la gente ha scoperto MacOS X, spesso senza sapere che è un sistema molto vecchio... chiamato NeXTSTEP. La cosa è leggermente diversa,in quanto dietro entrambi i sistemi c'è la stessa persona.
Mi ripeto, ma sembra che essere troppo avanti, produca risultati negativi. Una frase potrebbe riassumer il modo "giusto" di lavorare: "noi non copiamo (plagiamo), cerchiamo solamente di non fare gli stessi errori che ha fatto chi ha aperto la strada" (la vera frase potrebbe essere un po' diversa). Indovinate chi l'ha detto! Qualche idea?

Questa digressione ci porta a una domanda: il lavoro di Carl e del suo gruppo andrà ancora a beneficio di qualcun'altro? Molte persone non capiscono quanto avanzato sia IOS e la gamma di prodotti Rebol. Ma potrebbe comunque "dare" idee a qualche editore. Ma c'è una cosa che non riusciranno a "copiare": le dimensioni delle applicazioni e il linguaggio per crearle. Poiché non credo che la velocità di comunicazione su Internet sia destinata a crescere un domani, continuo a pensare che Rebol sia l'unica a capire il problema. Sono a conoscenza delle alte velocità raggiunte in Internet, ma quando credete che saranno disponibili per chiunque? Per non parlare dei costi.
Sicuramente i collegamenti via cavo o via DSL migliorano le cose rispetto ai modem o ai collegamenti ISDN (o almeno qualche volta con le connessioni via cavo). Comunque, anche con alte velocità, le applicazioni piccole saranno sempre più veloci di quelle più grandi. Per un'azienda è una cosa importante: significa costi minori (i collegamenti sono più veloci), maggiore efficienza (le persone possono lavorare sconnesse senza dover scaricare Megabyte di dati), maggiore sicurezza (visto che molti server in giro per il mondo sembrano un colabrodo), e così via.

Ultimo, ma non meno importante, la maggior parte della sicurezza viene gestita dal server IOS e non richiede le conoscenze necessarie per gestire una rete. Questo significa che se la vostra rete è insicura come i suddetti colabrodo, avrete una sicurezza accettabile solo installando in modo appropriato il server IOS... anche se non ve lo raccomando!

Conclusioni

Il lavoro di collaborazione remota aumenta ogni giorno. Esistono molte soluzioni ben conosciute, ma spesso sono costose e pesanti da implementare. Rebol fornisce un nuovo modo di lavorare e di pensare: applicazioni leggere distribuite. L'approccio riguardo le applicazioni distribuite non è certo nuovo, ma quando aggiungere "leggere" lo è.
I prodotti come IOS e correlati rappresentano un approccio veramente nuovo. Come al solito "c'è più di un modo di farlo", ma quello di Rebol è semplicemente incredibile. Non sto dicendo che dovreste liberarvi degli altri linguaggi di programmazione o degli altri programmi. Giusto per chiarire io continuo ad "amare" Perl o MySQL. Ma IOS è qualcosa di diverso: usato assieme a rebol/Core, Rebol/View, Rebol/Command diventa il tool definitivo per il lavoro collaborativo remoto.
Naturalmente state leggendo LinuxFocus e solitamente parliamo di free software. D'altra parte il software proprietario, quando veramente innovativo, non può essere lasciato in disparte, specialmente quando può girare sulla maggior parte dei Sistemi Operativi.
Rifiutare questa cosa ovvia apparirebbe come un integralismo.
Inoltre le persone di Rebol non sono solo gentili e disponibili, ma anche molto aperte di vedute, il che non è sempre vero per altri, comprese alcune persone della comunità del free software di oggi. Scusate ma è tutta un'altra questione!
Un suggerimento: provate i prodotti di Rebol e come la dice Apple "think different". Dimenticate quello a cui siete abituati e provate diversi software Rebol. Sono sicuro che non rimpiangerete il tempo usato. Per un buon inizio andate a visitare il sito di Rebol. Scaricate Rebol/View e gli script di esempio: capirete tutto sulla REBOLuzione.
Potete anche leggere il libro "Rebol" del mio collega Olivier Auverlot della rivista francese "Login". Il libro è stato scritto in francese ma è in fase di traduzione in inglese e dovrebbe essere pubblicato presto (se non già pubblicato nel momento che leggerete questo articolo).
Se volete saperne di più su IOS, troverete molte informazioni sul sito di Rebol. Lo scenario è una lettura consigliata, poiché fornisce un esmepio di cosa una media azienda possa fare con IOS.
Buon divertimento!
Non viviamo forse in tempi grandiosi?