MokaByte Numero 10 - Luglio 1997
 

 
La Piattaforma Java
 
di
Rocco Mondo
Sapevate che Java non è solo un linguaggio? Sapevate che esistono i JavaChip? Sapevate che esiste il JavaOS? Se non lo sapevate leggete l'articolo e scoprirete che...

 


Iniziano con questa prima puntata una serie di articoli e di news che vengono tratte direttamente dal sito SUN.
L'iniziativa nasce dalla ferma convinzione che il lettore meno esperto apprezzerà la stesura di articoli che ripropongono in buona parte i concetti della Piattaforma Java e di ciò che essa rappresenta, espressi direttamente dalla casa che ha concepito Java e proposti, in chiave semplice ed efficace, dalla prima rivista italiana on-line sul mondo Java, MokaByte


 
 

Introduzione
Inizieremo il nostro viaggio trattando un argomento che molti utenti Java ancora oggi sconoscono ma che SUN ha cercato di evidenziare sin dal lontano 1995 con un documento che ritengo di estrema importanza : "The Java Platform".
Volendo sintetizzare il contenuto del documento, possiamo dire che esso può essere diviso nei seguenti punti :

Presentazione e definizione della Piattaforma Java
Perché parlare di Piattaforma Java e non di linguaggio Java ?
Parlare di Java come un semplice linguaggio di programmazione è molto riduttivo infatti le sue vere potenzialità vanno ricercate nelle API e nello sviluppo che esse anno nei piani di SUN.
Sappiamo tutti quali sono le caratteristiche portanti del linguagglio Java, ma pochi sanno quali sono le caratteristiche portanti della Piattaforma Java, cioè di quell'insieme di soluzioni software e hardware che hanno fatto di Java un rivoluzionario del mondo informatico.
Iniziamo col dire che la Piattaforma Java è composta nella sua essenza di due parti : Mentre la prima parte è pressoché costante nella sua rappresentazione, la seconda parte della Piattaforma, varia, dando vita alla Piattaforma Base Java e alla Piattaforma Embedded Java.
Le differenze tra le due piattaforme può essere schematizzata come sotto : La prima piattaforma è sicuramente la più conosciuta, grazie ad essa abbiamo creato oggi molte applets ed applicazioni, potendo apprezzare la potenzialità del linguaggio Java. La potenzialità di questo linguaggio aumenta ogni giorno sempre di più grazie alle nuove estensioni delle API standard, tali estensioni nascono per la risoluzione specifica di determinate problematiche (API 2D - 3D, API per la sicurezza del commercio elettronico, API per la comunicazione etc.).
 

La seconda Piattaforma è quella meno conosciuta, poiché il programma di sviluppo è stato slittato più volte dalla SUN. Questa piattaforma e le relative API, sono state pensate per poter essere applicate a dispositivi di largo consumo come: stampanti, fotocopiatrici, telefoni cellulari etc. Attualmente le Java Embedded API sono sotto sviluppo, quindi non sono accessibili per un uso standard.
Nei piani di sviluppo della Piattaforma Java esistono altre due importanti iniziative :

Il JavaOS come avrete già intuito è un vero sistema operativo da installare su un qualunque pc desktop, quindi essendo un sistema operativo gestisce direttamente la macchina, "voglio dire che per funzionare non ha bisogno di WIN95 o di OS/2 o di MacOS o di qualunque altro browser d'appoggio".
Chiaramente JavaOS si basa sulle api standard e/o embedded di Java, quindi è in grado di lavorare su personal computer, network computer, dispositivi di consumo come stampanti, telefoni cellulari o pc Pad etc, senza dimenticare tutti i dispositivi di tipo industriali quali PLC, microcontrollori etc.
Proprio in questo periodo è stata rilasciata una prima versione di JavaOS, potete prelevarla presso il sito di JavaSoft.
Avremo modo di parlare di JavaOS in un prossimo articolo.

Oltre al JavaOS la Piattaforma Java prevede un piano di sviluppo per la produzione di una famiglia di microprocessori denominata JavaChip e precisamente picoJava , microJava e ultraJava.
Il primo di questi è stato progettato per poter supportare la Java Virtual Machine (VM), esso non si basa su una tecnologia esistente quale potrebbe essere quella di SPAC, ma su una nuova tecnologia studiata appositamente per gestire in modo ottimale le caratteristiche di Java quali: il multithreadinge la garbage collection, ossia la capacità di supportare più processi contemporaneamente e di gestire in modo dinamico la memoria allocata per le applicazioni.
Gli altri due chip oltre ad inglobare la VM ingloberanno anche le Java Embedded API permettendo cosi di portare il linguaggio Java ed il suo ambiente anche nei dispositivi di largo consumo.
 

La Piattaforma Java vista da vicino
Sulla base di ciò che è stato detto sopra possiamo realizzare un grafico rappresentante la piattaforma Base Java nella sua essenza.
Fig.1

La figura sopra sintetizza efficacemente il meccanismo di funzionamento della Piattaforma Java,come si può osservare le applets e le applicazioni non girano direttamente sui vari sistemi operativi, ma girano sulla piattaforma Java che si interfaccia come strato uniforme con tutti i sistemi operativi più diffusi. (grazie ad un browser o ad una implementazione nativa di JavaOS o ancora ad una implementazione diretta in sistemi operativi come Windows97/NT 5.0).
Come si può dedurre gli elementi portanti della Piattaforma Java sono la Java Virtual Machine e le Java Api.
 

La Java Virtual Machine è un vero e proprio soft computer, esso può essere implementato tramite software o hardware (JavaChip).Il suo codice rappresenta una macchina astratta capace di "adattarsi" ai microprocessori esistenti.
Le Java Api come abbiamo avuto modo di parlare si dividono in Java Base API e Java Standard Extension API.
Le Java Base API o Java Core API attualmente sono identificate con le Applet API, in futuro alcune delle Java Standard Extension API migreranno verso le Java Base API, per esserne parte integrante.
Attualmente vengono riconosciute come Java Base API le seguenti API (Java package) :
java.lang, java.util, java.io, java.net, java.awt e java.applet.
Java Standard Extension API queste API ampliano notevolmente le potenzialità della piattaforma Java in quanto nascono per la risoluzione di specifici problemi.
Per avere un quadro più ampio realizzeremo uno specchietto che racchiude tutte le API ed in particolare vedremo quale di queste migreranno verso le Java Base API.
 

Api che migreranno in Java Base API

Java Standard Extension API In particolare sotto il nome di Java Media API sono riunite tutta una serie di classi dedicate al multimedia interattivo sia in modalità Web-off che Web-on, esse sono state realizzate dopo un lavoro congiunto tra JavaSoft e alcuni produttori come: Adobe, Apple, Intel, Macromedia, Netscape, SG e SUN, le classi includono : Sotto il nome di Java Securety API va identificato un sofisticato framework per sviluppatori, semplice da usare ma sicuramente dalle potenti funzionalità. Queste includono crittografia con firma digitale e decodifica con autenticazione.
Le Java Enterprise API sono delle classi che permettono di creare delle connessioni molto flessibili tra le applicazioni Java-Based (applicazioni basate su Java) e le risorse informatiche dell'area enterprise. Attualmente queste API sono implementate nel JDK 1.1.1.
Esistono tre gruppi di API specializzate nella connettività : Brevemente possiamo dire che le JDBC è un'interfaccia standard SQL per l'accesso ai database, mentre IDL è un linguaggio neutrale permette di interfacciare oggetti con client residenti su piattaforme diverse. MRI è un sistema capace di richiamare metodi di oggetti residenti su Virtual Machine remote (analogo alle chiamate di procedura RPC nel mondo non ad oggetti).
Le Java Commerce API sono nate espressamente per gestire alte finanze sul web.
(molto poco lo so ! ma la lista è lunga.)
Le Java Server API è un framework estendibile per la generazione di server web basati interamente su Java. Questo set di API contengono delle librerie di classi server-side per l'amministratore del server, il controllo d'accesso e la manipolazione dinamica delle risorse del server.
Le Java Management API sono una collezione di classi che permetteranno lo sviluppo di blocchi per il management. Il set di API sarà corredato di interfacce, classi, applets e linee guida per facilitare lo sviluppo di soluzioni integrate di management.
Le API sono composte da gruppi distinti, ognuno associato ad uno specifica area del management.

Uno sguardo al compilatore e all'ambiente di sviluppo
Per quanto concerne questa sessione del documento, mi permetto di rimandare ad un prossimo appuntamento, dove ci occuperemo in modo specifico dell'ambiente di sviluppo, seguendo la traccia di altri documenti ufficiali della SUN.
 

  

 

MokaByte rivista web su Java

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