MokaByte Numero 32  -  Luglio Agosto 99
 
JavaOne e trend tecnologici
di 
Fabrizio Giudici
Java nell’era "Post-PC"



L’atterraggio al San Francisco International Airport è un evento spettacolare, dal momento che l’aereo, durante l’approccio finale, percorre tutta la parte meridionale della Baia, da San Jose fino alla periferia meridionale di San Francisco. Per un appassionato di simulatori di volo come me, poi, che la baia di San Francisco la conosceva "virtualmente" per avervi volato sopra più volte dall’epoca di Jet Fighter II fino ad arrivare agli scenari iper-realistici dell’ultimo Flight Simulator, è decisamente intrigante: è divertentissimo ritrovare "dal vivo" i vari punti di riferimento visivi, dai ponti di Dumbarton e San Mateo, fino all’aeroporto di Oakland e la base navale di Alameda… mentre la Silicon Valley scivola proprio sotto di me.  E così scopro che conosco la geografia della zona quasi altrettanto bene di quella della mia Liguria – potenza della Realtà Virtuale! 
La Silicon Valley… una delle zone a più alta densità di tecnologia del mondo, dove vedono la luce una buona parte di tutte le innovazioni tecnologiche che prima o poi ci ritroviamo nella vita di tutti i giorni. È fin dal decollo da Chicago che, volando prima su interminabili distese di campi coltivati del MidWest, poi sopra desolati deserti che paiono senza fine, fino alle catene montuose innevate delle Rocky Mountains e della Sierra Nevada, mi stoimmaginando quali saranno le novità più appetitose che saranno presentate alla JavaOne. 
Ho la netta impressioneche l’evento sarà decisamente più interessante delle conferenze europee su Java, e che non si limiterà a parlare di client/server nei termini in cui siamo abituati…

Java One 99

Per la verità già la JESS’99 (Java Enterprise Solution Symposium) di Parigi aveva offerto un assaggio: allo stand dell’Alcatel finalmente era possibile vedere in funzione il Web Phone, che ora si chiama ufficialmente Web Touch (descritto già l’anno scorso in un articolo di MokaByte), il pioniere di una famiglia di dispositivi che potrebbero rivoluzionare il modo di accedere ad Internet per gli utenti "casalinghi", e vari speaker di Sun avevano abbondantemente parlato di Jini, la tecnologia che porterà Java negli elettrodomestici della vita di tutti i giorni. 


Telefoni cellulari Java-enabled da Matsushita/Panasonic, NEC, Mitsubishi, e Fujitsu

Ma il Web Touch non era dopotutto una gran novità: era già stato annunciato alla Java Conference italiana dell’anno scorso. Mi aspettavo di più, in particolare qualche annuncio di cooperazione strategica tra Sun e aziende leader nel settore della consumer electronics, in particolare dei telefoni cellulari. È da più di un anno che sono convinto che in questi settori tecnologici Java può giocare un ruolo determinante, ma a parte l’annuncio continuo di nuove API, è fondamentale verificare se il mercato si muove o no. Tornando da Parigi mi ero convinto che le mie aspettative sarebbero state soddisfatte sicuramente alla JavaOne, la "madre di tutte le Java Conference"!
Essendo arrivato a San Francisco nel tardo pomeriggio del giorno precedente l’apertura della JavaOne un po’ di turismo, almeno nel quartiere dov’è situato l’albergo, è d’obbligo. Girando per le strade intorno al Moscone Center si può intuire come il mercato dell’elettronica negli USA sia molto più vivace che da noi. Il tratto di Powell Street che va dal capolinea dei caratteristici cable car fino a Union Square è tutto un susseguirsi di negozi di piccoli elettrodomestici, macchine fotografiche, gadget tecnologici. Negozi per lo più di piccole dimensioni, come ce ne sono tanti in Italia. 
Ma basta dare un’occhiata alle vetrine per capire che le cose sono diverse: accanto alle videocamere ed ai telefonini ci sono navigatori satellitari GPS, Personal Digital Assistant come il Palm Pilot o i pager Motorola, fino addirittura ai rivelatori del radar dell’autovelox! Intendiamoci: sono oggetti che si trovano anche in Italia (anche se non tutti così facilmente), ma stupisce vederli considerati una merce così comune da essere esposta in vetrina… Sì, qui negli USA l’atmosfera è diversa, e mi aspetto di sentire molte novità alla JavaOne per quanto riguarda il settore consumer electronics!
 
 
 
 

kJava: una Virtual Machine portatile da cento kilobyte

Infatti non mi sbaglio. Nella prima giornata viene dato l’annuncio di un evento che era nell’aria da tempo: Sun supporta direttamente l’implementazione di una Virtual Machine per il Palm Pilot di 3COM. Finalmente! È da Dicembre, da quando ho comprato il Palm III, che attendo questa notizia – finora ho dovuto accontentarmi di un’implementazione di pubblico dominio, purtroppo incompleta. Che Sun stesse "tramando" qualcosa con 3COM era facilmente intuibile: da qualche settimana è possibile comporre la propria agenda personalizzata per la JavaOne attraverso le pagine WWW di JavaSoft, e ci sono le istruzioni per scaricare questa agenda sul proprio Palm. E sparsi in tutta l’area della conferenza, persino nell’enorme sala riservata al breakfast, fanno mostra di sé una serie di decine e decine di PC con il cavetto di sincronizzazione per i Palm III e V (se non sapete di cosa sto parlando, a questo punto fareste bene a leggere i riquadri più avanti).
In realtà la portata dell’annuncio va ben oltre la mera disponibilità della JVM sull’ennesima piattaforma. Sun ha annunciato una nuova customizzazione di Java: la Java Platform Micro Edition. Nell’era di Java 2, infatti, Sun ha "splittato" il suo prodotto in tre versioni appositamente ottimizzate per diverse esigenze:
  • La Java Platform Standard Edition (J2SE), che non è altro che il JDK 1.2 che molti di voi avranno già installato nella propria macchina, che contiene le core API, e che è mirato allo sviluppo di applicazioni e applet sul lato client.
  • La Java Platform Enterprise Edition (J2EE), che contiene una serie di extended API rivolte allo sviluppo di applicazioni server (in particolare i Servlet, le Java Server Pages, tutte le API di supporto agli Enterprise Java Beans). La J2EE è attualmente accessibile in alpha release.
  • La Java Platform Micro Edition (J2ME), di cui stiamo parlando, mirata al mercato embedded, cioè piccoli dispositivi basati su microprocessori RISC/CISC a 16/32 bit, da 128k di RAM in su.
Ovviamente non si tratta di tre Java diversi: il bytecode è sempre compatibile con tutte le versioni, e vengono mantenute le caratteristiche fondamentali del linguaggio: multithreading, garbage collection, safety, e così via. Viene semplicemente ridefinito il set minimo di librerie per adattarsi a girare anche in ambienti con risorse limitate, e in particolare la Virtual Machine di J2ME è stata progettata in modo da occupare meno di un centinaio di kilobyte (Alan Baratz, il presidente della divisione "Software Products & Platforms della Sun Microsystems, durante il suo speech d’apertura dei lavori fa orgogliosamente notare che la VM è praticamente più piccola del documento ASCII che contiene la licenza d’uso di Java…). Da cui il nome di kJava (la cui Virtual Machine è chiamata KVM).
In questo modo il paradigma "Write Once, Run Anywhere" viene esteso a tutta una serie di dispositivi dell’era "post-PC", ed in particolare ai telefoni cellulari della prossima generazione. Alla JavaOne parecchi produttori del settore (NTT DoCoMo, Matsushita/Panasonic, NEC, Mitsubishi, Fujitsu) esibiscono i prototipi dei loro prodotti nei quali è stata integrata la KVM, prototipi che dovrebbero diventare oggetti commercializzati per l’inizio del prossimo anno.
 
 


Alan Baratz trasferisce un applicazione Java dal Palm V al pager Motorola PageWriter 2000x




E Sun, seguendo il suo consueto stile, non si limita ad annunciare, ma dimostra "sul campo" la concretezza di quanto sta facendo. In particolare, Alan Baratz, durante il suo intervento, mostra un’applicazione dimostrativa per kJava (per la cronaca un’implementazione del gioco Tetris) che gira sul Palm V, poi prende nell’altra mano il Motorola PageWriter 2000x, li avvicina, preme un paio di pulsanti… e Tetris viene trasferito in pochi secondi sul pager! Inutile sottolineare, ovviamente, che i due dispositivi sono basati su architetture diverse e su sistemi operativi differenti (vedi riquadri 1 e 2)… tuttavia lo stesso bytecode Java gira senza problemi su entrambi!
La versione della KVM presentata a San Francisco è un early access (il mio Palm dice che è la versione 0.2), ed è attualmente disponibile pre-installata su una partita di Palm V che è stata offerta in vendita, al 50% di sconto, ai partecipanti a JavaOne. La versione commerciale verrà rilasciata entro pochi mesi, probabilmente entro l’inizio dell’anno.
 
 

Ed allora?

Ok, tutto molto intrigante… ma dov’è il succo di questa storia? Be’, oggetti come i cellulari, i Personal Digital Assistant (PDA, vedi il riquadro) ed i pager (ma anche le Web TV) diventeranno di fatto una piattaforma client "estrema" che permetterà agli utenti di usufruire di servizi informativi senza dover avere un PC a portata di mano – di fatto facendoci entrare nell’era "post-PC". Dopotutto la maggior parte degli utenti finali di segmenti di mercato come il commercio elettronico, la prenotazione di servizi come treno, aereo o alberghi, eccetera, non hanno e forse non compreranno mai un PC (pensiamo alla tradizionale "casalinga"). Questa fascia di utenti vorrà usufruire di questi servizi senza doversi occupare del particolare dispositivo usato per la comunicazione.
Le premesse per questo tipo di mercato già esistono, e anche in Italia: basta guardare un catalogo di compagnie come TIM od Omnitel per trovare un certo numero di servizi informativi basati sugli SMS. Gli esperti dicono che il mercato dei servizi basato sugli apparecchi cellulari potrà facilmente decollare non appena verranno superate alcune limitazioni dell’attuale interfaccia (chi di noi non si sente un po’ in difficoltà quando deve comporre un messaggio SMS con il suo cellulare, magari ricordandosi a memoria quale particolare codice numerico deve comporre per ottenere quel particolare servizio?). Ovviamente sarebbe tutta un’altra cosa se il cellulare avesse un bel display sufficientemente ampio su cui visualizzare un menù grafico… ma questo menù dovrebbe essere in generale un applet scaricato di volta in volta dal fornitore del servizio, e dovrebbe girare su uno qualsiasi dei dispositivi finora citati, indipendentemente dalla sua architettura.
Per quanto riguarda invece i PDA, essi sono mirati per il momento ad un mercato di professionisti: una possibile "killer application" potrebbe essere l’interfaccia, customizzata caso per caso, verso l’Intranet/Extranet aziendale (fogli ore, messaggistica, gestione agenda), che diverrebbe accessibile in maniera asincrona.
In questo scenario non esistono standard affermati come nell’ambito dei PC (Windows, i processori di Intel), né per quanto riguarda il software, né per quanto riguarda l’hardware. Va poi tenuto conto che la penetrazione del mercato di questi dispositivi non è omogenea dal punto di vista geografico: i telefoni (sia fissi che mobili) sono diffusi dappertutto, mentre i pager sono tipici del continente americano e di alcuni paesi dell’estremo oriente. I PDA stanno incontrando molta fortuna negli USA, ma si inizia a vederne parecchi anche in Europa ed in Italia. 
È proprio in questo contesto che Java diventa fondamentale: grazie al paradigma "Write Once, Run Anywhere", l’azienda che fornisce il servizio può progettare e realizzare l’applicazione client una volta per tutte, senza preoccuparsi di gestire diverse piattaforme, garantendo così la massima penetrazione nel mercato. Il tutto utilizzando la stessa tecnologia che sta magari già usando su architetture client/server tradizionali, quindi con costi di formazione dei propri sviluppatori estremamente ridotti. Le aziende che stanno investendo in Java otterranno quindi un sostanziale vantaggio competitivo, vedendo estendersi il proprio potenziale mercato oltre le frontiere dei PC o dei server tradizionali.
 
 
 

La Concept Car dei SunLabs: Java viaggia in auto

Ma cellulari, PDA e pager non sono gli unici dispositivi intelligenti che caratterizzeranno l’era "post-PC". Un mercato che non può essere trascurato è quello delle automobili, dove l’informatica sta penetrando sempre più negli ultimi anni, essendo parte fondamentale dei motori delle ultime generazioni (molti dei quali non funzionerebbero senza il loro microcontrollore elettronico), di sistemi di sicurezza attiva come l’ABS e l’AirBag, fino ad arrivare agli accessori come i navigatori satellitari GPS.
Non stupisce quindi che, nell’area riservata agli espositori, faccia bella mostra di sé un’auto rossa fiammante. È la "Concept Car" realizzata presso i SunLabs a partire da una General Motors EV1 a motore elettrico (scelta esclusivamente "pubblicitaria" dal momento che il mercato delle auto elettriche negli USA è in fase di ascesa – le soluzioni dimostrate dalla Concept Car possono tranquillamente essere applicate ad un auto a benzina).
La Concept Car è un dimostratore tecnologico attraverso il quale si studia la possibile applicazione della tecnologia Java nel settore delle automobili. Sull’autoveicolo Sun ha realizzato una vera e propria LAN (!) con tanto di server (basato su processore SPARC, ma in via di sostituzione con una Linux-box basata su Pentium), dove ogni dispositivo, dal motore alla radio, dal sistema di diagnostica al sistema di navigazione GPS, è progettato come un "servizio di rete". Tutto ovviamente realizzato in Java (per la cronaca, tra i componenti fondamentali dell’architettura troviamo l’Embedded Server e Personal Java - Jini arriverà nella versione successiva). E siccome siamo ormai nell’epoca dell’internetworking, la LAN può tranquillamente collegarsi ad Internet attraverso una qualsiasi tecnologia wireless.

Architettura della Concept Car 




Per quanto riguarda le interfacce, la presenza della Java Speech API consente di impartire una buona parte dei comandi attraverso la voce (funzionalità peraltro già presente in alcuni modelli avanzati di autoradio già sul mercato, ma che diventa estremamente interessante se applicata anche agli altri accessori, permettendo l’interrogazione verbale del GPS o la composizione di una telefonata senza distrarsi dalla guida).
A cosa serve Internet su un’automobile? A tante cose. Per esempio, a fornire servizi ai passeggeri: dal posizionamento satellitare, magari con il tracciamento automatico della miglior rotta da seguire anche tenendo conto in tempo reale delle condizioni meteorologiche e del traffico, alla possibilità di collegarsi direttamente con un centro di assistenza in caso di guasti – magari facendo effettuare in tempo reale la tele-diagnostica del problema, un po’ come accade oggi con le auto della Formula 1.
Una delle cose più intriganti è il concetto di Java security applicato all’automobile. Probabilmente a molti di voi sarà già venuto in mente che, per entrare nella Concept Car e far partire il motore, al posto della solita chiave viene usato un Java Ring (per chi non lo sapesse, è di fatto una smart card basata su Java contenuta in una scatolina grossa come un bottone, che può essere montata su un anello, un pendaglio o un portachiavi). Ma questo non è niente! Grazie alla possibilità di definire profili personali, si possono configurare diversi "livelli di accesso all’auto": ad esempio, in famiglia i genitori possono accedere all’auto senza limitazioni, ma configurare l’auto per i figli in modo che non possano superare una certa velocità, o che non possa funzionare in certi orari. Un auto aziendale messa a disposizione dei dipendenti può invece essere programmata per non uscire da una certa area geografica (funzionalità basata sul navigatore GPS). Se infine l’auto viene affittata, si possono applicare politiche di pricing estremamente flessibili, basate sull’effettivo uso dell’automobile (che può addirittura scaricare direttamente il suo costo, attraverso Internet, sulla carta di credito dell’utente!).
Anche in questo caso l’impatto sul mercato è importantissimo: se pensiamo a tre/quattro dispositivi intelligenti che potrebbero essere installati sugli autoveicoli della prossima generazione, e se pensiamo alle decine di milioni di nuove auto vendute ogni anno, si capisce che questo segmento di mercato può dare origine ad un parco di piattaforme molto più ampio di quello relativo ai PC o ai telefoni cellulari.
 
 

Javapost-PC: 

E questo è solo parte di quanto si poteva vedere alla JavaOne. Non ho parlato, per esempio, dell’evoluzione di Java per quanto riguarda il settore del controllo industriale (real-time), su cui diverse aziende stanno lavorando. Alla conferenza era possibile vedere – e giocare! – con una serie di piccoli robot, alcuni realizzati con i celebri "mattoncini" Lego (che si sono evoluti tecnologicamente e hanno ben poco a che spartire con quelli che usavo quindici anni fa!), il cui programma di controllo era un agente Jini, e la cui interfaccia girava su un Palm V…
In conclusione? Questi trend tecnologici ci fanno capire che con il nuovo secolo(*) si aprirà una nuova era informatica, l’era "post-PC", nella quale il PC diventerà uno dei tanti oggetti "intelligenti" presenti nella nostra vita. E questi oggetti "intelligenti" non coinvolgeranno più solo i professionisti durante le ore di lavoro, ma decine di milioni di utenti finali, entrando nelle loro case. E Java giocherà un ruolo estremamente importante in questo scenario.

(*) Per molte delle innovazioni presentate alla JavaOne è stata annunciata la commercializzazione entro i primi mesi del 2000 che, per essere precisi nonostante tutti i mass-media facciano una gran confusione, è l’ultimo anno del XX secolo…
 

Riferimenti

Sarebbero tantissimi, viste tutte le novità annunciate! È più pratico partire da http://www.javasoft.com/features/1999/06/photoalbum1.html, nella pagina ci sono tutti i link che servono.
Sui Palm Pilot di 3COM: http://www.palm.com
 



 

Appendice A: Il Palm Pilot di 3COM

Il Palm Pilot è un Personal Digital Assistant, un piccolo computer delle dimensioni di un’agendina tascabile. I PDA (detti anche handheld) permettono di immagazzinare, aggiornare e tenere a portata di mano informazioni di carattere personale o lavorativo, come agende, rubriche e cosi via. Tuttavia la grande potenzialità dei PDA è data dal fatto che essi sono veri e propri computer dotati di sistema operativo, pertanto è possibile sviluppare ed installare applicazioni appositamente sviluppate per le proprie esigenze.

Alcuni PDA hanno una piccola tastiera, mentre altri, come tutti i prodotti di 3COM, sono un oggetto "tutto schermo", e l’inserimento dei dati viene effettuato scrivendo direttamente sullo schermo in con uno stilo, che viene anche usato come dispositivo di puntamento. Alcuni PDA sono basati su Windows CE di Microsoft, altri hanno un proprio sistema operativo (quello del Palm Pilot si chiama Palm OS) ed una propria interfaccia GUI. I primi richiedono un minimo di 16 MB di RAM, dal momento che Windows CE è piuttosto esigente, e questo generalmente riduce l’autonomia della loro batteria. Il Palm V di 3COM, invece, lavora benissimo con 2 MB di RAM, e la sua batteria dura generalmente un mese. Tutti i PDA hanno la possibilità di scambiare dati con un PC oppure con altri dispositivi palmari attraverso la porta ad infrarossi IrDA.


3COM ha appena iniziato la commercializzazione del Palm VII (foto qui a lato), un oggetto che riunisce le capacità di un PDA tradizionale, di un pager (vedi riquadro 2) e di un navigatore Internet. Con questo dispositivo è possibile leggere e scrivere messaggi di posta elettronica, e navigare su Internet con un mini-browser!

Il Palm VII non è un cellulare, e per le comunicazioni wireless richiede la copertura dell’apposito servizio Palm.net, disponibile attualmente in alcune città americane. Questo vuol dire che difficilmente quest’oggetto vedrà un mercato in Europa (Italia inclusa), a meno che l’attuale proliferazione di compagnie di telefonia mobile generata dalla liberalizzazione del mercato non ci porti qualche gradita sorpresa…
 

Appendice B:  Cos’è un pager? 

Un pager è un dispositivo per le telecomunicazioni senza filo capace di ricevere (e di mandare nel caso dei "two-way" pager) brevi messaggi di testo (un servizio simile allo Short Messaging Service (SMS) dei cellulari GSM). È l’evoluzione del vecchio "cercapersone", e viene utilizzato da chi non vuole o non può rispondere "sincronamente" ad una chiamata su un telefono cellulare. 

Nonostante la somiglianza con gli SMS, un pager non è un cellulare, ed utilizza in generale protocolli di comunicazione via radio e bande di frequenza diverse dai comuni cellulari; quindi può essere utilizzato solo nelle aree dove viene fornita l’apposita copertura da parte di una o più compagnie di telecomunicazioni. I pager sono attualmente molto usati in America (sia del Nord che del Sud), ed esistono compagnie che offrono il servizio anche in alcuni paesi dell’estremo oriente, come Corea del Sud, Giappone e Cina.

Fisicamente un pager si presenta come un piccolo dispositivo con una tastiera ed uno schermo a cristalli liquidi. Il modello Motorola PageWriter 2000x è un two-way pager, con 1Mb di RAM, ed è basato su un sistema operativo proprietario, il FlexTM Operating System. Sono preinstallate alcune applicazioni di utilità, come un’agenda ed una rubrica, e altre possono essere installate in seguito. Il PageWriter 2000x può scambiare i dati in esso contenuti con un PC attraverso una docking station, oppure con altri dispositivi attraverso una porta ad infrarossi IrDA.


Duke fa una capriola sul Motorola PageWriter 2000x
     

 
 

MokaByte rivista web su Java

MokaByte ricerca nuovi collaboratori
Chi volesse mettersi in contatto con noi può farlo scrivendo a mokainfo@mokabyte.it