Il
libro è organizzato in capitoli indipendenti
fra loro, e per ogni capitolo sono forniti dei semplici
esempi raccolti in archivi .zip dove sono spiegate
le operazioni necessarie per poter installare e far
funzionare tali esempi.
Inivitiamo
tutti i lettori ad inviare i commenti e suggerimenti
per le prossime versioni del libro all'indirizzo mokabook@mokabyte.it |
Introduzione
a Java
di
Giovanni Puliti
Java
non è solo un nuovo linguaggio di programmazione,
ma anche un nuovo modo di vedere la programmazione
internet oriented. Per potersi avvicinarsi nel modo
migliore, specie per chi viene da realtà diverse
è utile per prima cosa capire quale sia il
corretto di organizzare le proprie applicazioni.
In
questo capitolo viene data una panoramica su cosa
sia Java e quali siano le tecnologie principali che
lo compongono. |
Il
linguaggio Java
di
Giovanni Puliti
Java
è sicuramente il linguaggio delle applet, dei
servlet e delle pagine JSP, ma prima di tutto è
un linguaggio ad oggetti. E’ questo un capitolo introduttivo,
in cui si spiega la sintassi ed i costrutti di base
e della programmazione ad oggetti.
Indispensabile
per tutti coloro che si avvicinano a Java da altri
linguaggi, ad oggetti e non. |
I
thread e la programmazione concorrente in Java
di
Giovanni Puliti
e Paolo Aiello
In
Java creare, gestire e controllare i thread è
una cosa abbastanza semplice, anche se la programmazione
concorrente è un argomento sempre piuttosto
complesso da comprendere a fondo. In questo capitolo
a partire dalle tecniche base per realizzare applicazioni
concorrenti, si arriva ad illustrare gli aspetti più
avanzati della programmazione per thrad. |
Gestione
dell'IO in Java
di
Lorenzo Bettini
Java
è un linguaggio fortemente orientato alla programmazione
delle reti ed al distribuited programming. Alla base
di tutto cioò troviamo fra le altre cose un
versatile sistema di comunicazione su stream ereditato
dal mondo C/Unix.
In
questo capitolo si esamina il package java.io e le
tecniche di base necessarie per gestire stream
bidirezionali di dati. |
Networking
di
Lorenzo Bettini
Comunicare
tramite il protocollo TCP/IP è forse una delle
caratteristiche più importanti delle applicazioni
internet, ma non solo.
Java
da sempre fornisce un supporto completo per la gestione
di socket, TCP ed UDP in modo molto semplice ed elegante.
In
questo capitolo si analizza il package java.net mostrando
le tecniche di base per la gestione di applicazioni
client server remote. |
RMI,
serializzazione
di
Giovanni Puliti
La
programmazione distribuita in Java è uno degli
argomenti più interessanti, alla base di molte
delle architetture utilizzate nelle applicazioni multilivello
molto in voga oggi giorno.
A
partire dalle basi di serializzazione e RMI, sono
affrontati tutti i temi più importanti, arrivando
ad analizzare alcuni importanti pattern i programmazione
particolarmente utili in questo ambito. |
JDBC
di
Nicola Venditti
L'accesso
alle basi di dati è forse uno degli strumenti
più importanti in una qualsiasi applicazione
moderna. Il package java.sql mette a disposizione
gli strumenti di base per la gestione di database
relazionali per mezzo del linguaggio SQL. |
AWT
di
Paolo Aiello
Portabilità
del codice in Java significa anche rendere l'interfaccia
grafica indipendente dalla piattaforma sottostante.
Questo, che di fatto è un problema di non facile
soluzione, vede in AWT quella che storicamente è
stata la prima risposta dei progettisti Sun.
Anche
se ormai risulta tecnologicamente obsoleta, ricopre
tuttora un ruolo di fondamentale importanza nella
creazione di GUI portabili. |
Internazionalizzazione
di
Giovanni Puliti
L'Euro
si appresta a diventare la moneta utilizzata da milioni
di persone che abitano il nostro continente. Moltissimo
software dovrà essere riscritto o aggiornato
per poter utilizzare questa nuova valuta.
Utilizzando
il meccanismo della internazionalizzazione, un programma
Java è in grado di adattarsi automaticamente
alle convenzioni in atto nel paese corrente, non solo
adattando le etichette dei vari bottoni, textfields
o finestre alla lingua corrente, ma anche modificando
il sistema di visualizzazione dei numeri e delle valute. |
Swing
di
Andrea Gini
Il
package Swing e' una libreria di componenti grafici
moderna e completa, ideale per realizzare qualunque
tipo di interfaccia utente. Il presente capitolo vuole
guidare il lettore alla scoperta di questo straordinario
package, seguendo un percorso graduale che parte dai
concetti piu' semplici per giungere alla costruzione
di interfacce grafiche di media complessita'. Vengono
inoltre introdotte alcune caratteristiche esclusive,
come il Pluggable Look & Feel e l'uso di bordi
e icone per la decorazione delle interfacce grafiche. |
Le
applet
di
Stefano Rossini
La
applet sono state forse il primo strumento attraverso
il quale Java si è fatto conoscere al
mondo dei programmatori internet ma non solo. Benché
oggi il loro utilizzo sia stato molto ridimensionato,
ricoprono ancora un ruolo molto importante nell’ambito
delle applicazioni web |
Java
Beans (in lavorazione)
di
Giovanni Puliti
La
programmazione per componenti è ormai universalmente
riconosciuta come il modo migliore per realizzare
codice riutilizzabile e componibile. La recente introduzione
delle Java Server Pages, dove i beans rappresentano
il bussiness core dell'applicazione. è
forse la rappresentazione migliore di questa nuova
filosofia.
In
questo capitolo si affrontano non solo gli aspetti
principali della programmazione per componenti, ma
sopratutto le tecniche di progettazione ed implementazione
da utilizzare per realizzare ex-novo un java bean. |
Servlet
di
Giovanni Puliti
Le
applicazioni con interfaccia web stanno diventando
sempre più utilizzate a causa degli innegabili
vantaggi derivanti dall’utilizzo della piattaforma
comune di browser ed HTML. In questo capitolo viene
fornita una panoramica esaustiva sui servlet Java,
analizzando le tecniche e le classi di base fino ad
arrivare alla specifica 2.2 della API. |
JSP
di
Paolo Aiello
Nell’ambito
delle applicazioni web, in tutti quei casi in cui
sia necessaria maggiore flessibilità e si desideri
disaccoppiare la parte di interfaccia grafica da quella
di programmazione, le Java Server Pages sono la risposta
adatta.
In
questo capitolo viene mostrato come realizzare pagine
JSP, dando
particolare
risalto al corretto modo di progettare una applicazione
web massimizzando la pulizia, la separazione fra GUI
e business logic.
Le
tag library in particolare sono molto importanti da
questo punto di vista. |
Java
ed XML
di
Andrea Giovannini
XML
è una tecnologia che si è ormai imposta
come standard per la realizzazione di applicazioni
enterprise, in particolare nei campi di Web publishing
e integrazione di applicazioni. L'unione della tecnologie
XML e
Java
ha prospettive molto interessanti: questo capitolo
del libro presenterà XML e vari esempi del
suo utilizzo in Java. |
Java
e Corba
di
Gianluca Morello
Programmazione
distribuita è la parla magica sempre più
utilizzata nel mondo internet ma non solo. CORBA rappresenta
attualmente il collante più importante e potente
presente sul mercato per permettere l'interazione
fra linguaggi e tecnologie eterogenne.
Il
binomio Java-CORBA si è andato sempre più
affermando come lo standard industriale di riferimento. |
Enterprise
Java Beans (in lavorazione)
di
Giovanni Puliti
RMI
o CORBA sono le tecnologie più utilizzate per
la realizzazione di applicazioni distribuite.
Benché ormai siano considerate uno standard
molto affidabile, specie nel caso di CORBA, esse lasciano
al programmatore la gestione di una serie di aspetti
piuttosto importanti, come persistenza, concorrenza
e sincronizzazione. EJB, per quanto sia di recente
introduzione e per certi versi ancora immatura, promette
di risolvere molti dei problemi ricorrenti in questo
settore, primo fra tutti quello dello standard. |
Security
di
Mauro Molino
Certificati,
chiavi asimmetriche e crittografia sono solo alcuni
degli argomenti trattati in questo capitolo dedicato
alla gestione della sicurezza in Java.
Argomento
quanto mai attuale in uno scenario così complesso
ed articolato come quello della programmazione distribuita
ed internet oriented attuale. |