30/06/2003 -
Per molti anni Solaris è stato il sinonimo di Sun. Sebbene la produzione dell’azienda californiana sia sempre stata focalizzata sull’hardware, il sistema operativo, dunque un software, è stato tra i punti di forza. Ora che i sistemi operativi non sono più al centro delle piattaforme, è Java il sinonimo di Sun. Il punto curioso è che, in entrambi i casi, il fatturato dell’azienda continua a provenire massicciamente dall’hardware, mentre software e linguaggi di programmazione non contribuiscono in modo significativo alla redditività.
Java: troppe tecnologie?
Che Java continui a rappresentare un asset importantissimo per Sun, indipendentemente dal fatturato, è fuori questione. Tuttavia Java non è solo J2EE: ci sono altre sigle che, per un motivo o per l’altro, non si sono diffuse come Sun sperava. Un esempio è Jini. Tecnologia lanciata nell’ormai lontano 1999, è un’architettura aperta per la gestione e il dialogo tra ogni tipo di dispositivo in rete. Una specie di ‘plug and play’ marcato Java, in qualche senso precursore dei Web services e della tecnologia Microsoft ‘Universal Plug and Play’ che ultimamente ha dato più di un problema di sicurezza. Ogni dispositivo compatibile con Jini è in grado di auto definirsi nel registro dei servizi di rete e di essere utilizzato da ogni altro dispositivo presente sulla rete.
Detta così è un’idea fantastica: un’architettura orientata ai servizi, basata su Java e uscita addirittura nel 1999, quando problematiche simili non erano certo all’ordine del giorno. Allora cosa è andato storto? In un certo senso Sun non ha ancora trovato la risposta, ma di certo il futuro un po’ fantasioso delineato dal CEO Scott McNealy nel 1999, in cui il tostapane avrebbe potuto parlare con la stampante grazie a Jini, non si è avverato.
In effetti i dispositivi abilitati alla comunicazione via Internet non hanno registrato il boom che Sun si attendeva, e Jini non ha mai raggiunto il supporto industriale necessario a farlo affermare come è successo per Java.
Tutti fanno errori
La chiave di lettura di questa vicenda è che Sun, come tutti del resto, fa degli errori. Paradossalmente, Sun è in grado di compiere errori simili a quelli della rivale storica, Microsoft. Sono tanti gli ’standard’ targati Microsoft che non hanno mai preso il via del tutto. Ma Microsoft ha quasi sempre avuto la capacità di capire l’errore, tornare indietro e conquistarsi in seguito un’interessante fetta di mercato (basta ricordare la questione di Internet e MSN). Ora sembra che Sun stia provando a dare nuova vita a Jini, con la versione 2.0 che elimina alcuni problemi: migliore interoperabilità con applicazioni non Jini, un’implementazione di RMI chiamata Jini Extensible Remote Invocation e un modello di sicurezza più adatto.
Resta il fatto che nemmeno Sun, finora, ha introdotto Jini in qualche suo prodotto, né ha annunciato di volerlo fare. Secondo Forrester Research, Jini 2.0 arriva troppo tardi per avere un minimo di successo: troppi progetti Jini sono stati annunciati e poi sono naufragati nel nulla, sostiene l’analista di Forrester, tanto che la credibilità stessa della piattaforma è ormai compromessa.
| Cos’è Jini |
| In arabo significa mago, è una architettura Sun per il plug and play su rete dei dispositivi ‘intelligenti’. In teoria non servono driver, dato che il sistema operativo può accedere al dispositivo attraverso un registro. Esistono quattro strati di programmazione: il directory service, il javaspace, RMI e i protocolli di boot, join e discovery, ma è necessario trasferire codice Java binario. Non ha avuto il successo atteso, anche se alcuni osservatori sostengono sia molto utilizzato dalla Difesa USA. |
Un milione di download
Al contrario Jxta, una serie di protocolli sviluppati open source per fare da base alle reti peer-to-peer, sta andando benissimo. Il progetto è cominciato nel 2001, e il software ha raggiunto il milione di download. Apparentemente la sovrapposizione con Jini è notevole. Jxta è uno dei parti della mente di Bill Joy, chief scientist di Sun, che voleva creare un metodo standard per annunciare la presenza in rete dei device e gestirne le interazioni. La differenza rispetto a Jini è che Jxta (la sigla sta per ‘juxtapose’) ha un respiro molto più ampio e fornisce un set di protocolli standard per la collaborazione, come lavorare contemporaneamente sullo stesso documento – insomma molto di più di un’altra proposta per il file sharing. Il problema, per il momento, è che Jxta è stata standardizzata alla versione 2.0 su J2SE, mentre i lavori sono ancora in corso per un’implementazione su J2ME che porterebbe nel raggio d’azione di Jxta anche i dispositivi mobili come PDA e telefoni cellulari.
La questione della ‘Micro Edition’
Sun sostiene da sempre l’esistenza di milioni di terminali basati su J2ME. A parte il fatto che ‘terminale’ è un concetto piuttosto ampio, i primi cellulari J2ME stanno comparendo solo ora, dopo che Nokia ed Ericsson hanno aperto la strada. A differenza di .Net Compact Framework, principale concorrente di Sun nel settore, J2ME è una tecnologia piuttosto che un framework coerente, sostiene Giga. Una tecnologia che si basa su ‘profili’ combinati con pacchetti opzionali interni a J2ME o in combinazione con tecnologie esterne. Certamente le caratteristiche di J2ME (possibilità di scaricare giochi e applicazioni) interessano molto i produttori di telefoni cellulari, che cercano ancora una killer application per rilanciare il mercato, ma l’adozione è lenta.
Dunque prima di scegliere J2ME per una qualsiasi soluzione di business è necessario controllare approfonditamente le funzionalità necessarie e la coerenza della soluzione stessa distribuita su piattaforme diverse. Poi ci sono i bachi. Di solito questioni minori, come il Siemens C55 che cambiando la suoneria dei messaggi va nel pallone e al primo messaggio ricevuto inizia a vibrare finché non viene spento. Bachi spesso risolti molto presto, ma comunque molto noiosi.
L’importanza di J2EE
Tutto questo aiuta a capire quanto sia ancora fondamentale J2EE per Sun. Il resto del mondo java è piuttosto frammentato, le installazioni reali spesso hanno numeri non elevatissimi e si limitano alla prova. Questo in parte è dovuto a un cattivo marketing di Sun. Un problema storico che sembra difficile da risolvere. Sun ha tante ottime tecnologie in mano, e avendo preso le decisioni giuste qualche anno fa ora sarebbe leader indiscusso in molti settori dell’IT. Ma non è andata così. Certo è facile far discorsi sapendo già come si sono evolute le tecnologie, ma in fondo il management di un’azienda si giudica anche in base alle scelte giuste che è in grado di fare. Forse un ‘controllo’ maggiore sui laboratori di ricerca aiuterebbe Sun a dare più coerenza alla propria tecnologia. Controllo nel senso di sapere cosa sta effettivamente succedendo nei laboratori, quali sono le tecnologie che stanno maturando, come potrebbero essere inquadrate coerentemente nel panorama già presente – mai un controllo diretto o pressante sul lavoro dei ricercatori. Altrimenti il rischio è che, a parte J2EE che è già consolidata, le altre proposte rimarranno un insieme un po’ scorrelato di tecnologie per utilizzi vari. Da questo punto di vista Microsoft insegna.
| Eventi: non c’è solo il JavaOne |
| Organizzare conferenze per sviluppatori, soprattutto se si parla di migliaia di persone in un solo posto, è terribilmente difficile. Tanto che le user conference stanno diventando più degli eventi di costume che delle vere e proprie conferenze. Il JavaOne è solo uno tra i tanti esempi di eventi di questo tipo, interessanti ma senza quel qualcosa in più che giustificherebbe meglio un investimento spesso elevato (di norma intorno ai duemila dollari) per la partecipazione. Proprio per questi motivi è nata la ‘No Fluff, Just Stuff’ (NFJS, www.nofluffjuststuff.com), un evento indipendente per sviluppatori Java: partecipazione limitata a 200 persone, costo più contenuto, manifestazione itinerante all’interno degli Stati Uniti e, secondo gli organizzatori, uno tra gli eventi con il migliore rapporto qualità-prezzo e segnale-rumore. Secondo Javaworld, autorevole rivista americana per il mondo Java, gli eventi NFJS si distinguono per le lunghe (tre ore!) sessioni di tutorial il cui scopo è dare un minimo di conoscenza a chi non è particolarmente pratico di uno specifico aspetto di Java (EJB, JDO, XDoclet…), qualcosa che difficilmente accade in altri eventi per sviluppatori. E durante questi eventi si parla, sostiene javaworld, anche di aspetti più metodologici, come la programmazione ‘agile’ in Java, il superamento del riutilizzo ad hoc del codice, i metodi di tipo design-pattern e aspect-oriented come superamento del paradigma object-oriented, utile ma ormai con oltre dieci anni di vita. Tutti aspetti molto interessanti e poco ‘inquinati’ da ineliminabili questioni di marketing che spesso emergono durante gli eventi ‘non indipendenti’. |









