CERCA SITEMAP FEED RSS 1280
Ultimo aggiornamento: 30 Agosto 2009

Overview su Java 2 Enterprise Edition

La piattaforma Java Enterprise Edition opera su 4 livelli:
  • livello client che viene eseguito sulla macchina client
  • livello web che viene eseguito su un server EE
  • livello business anch'esso eseguito sul server Java EE
  • livello Enterprise Information System
Sebbene in generale siano presenti 4 livelli la maggior parte delle applicazioni sono fisicamente distribuite su tre livelli perchè livello web e business sono localizzati sullo stesso server Java EE (si parla pertanto di architettura a tre livelli).
architettura a 3 livelli
Architettura a 3 livelli
Come mostrato nell'immagine a lato, i 4 livelli (Client, Web, Business e Enterprise Information System) sono in genere distribuiti su tre macchine:
  • la macchina client
  • il server Java EE
  • il Database server
Per questa ragione si parla di architettura a 3 livelli fisici (i livelli logici sono invece 4).
Le applicazioni Java EE sono costituite da componenti ovvero unità software funzionali che insieme ad altre concorrono a costruire un applicazione enterprise.
I componenti sono suddivisi in tre categorie:
  • eseguiti sul client (es applet)
  • eseguiti sul server (Servlet, Java Server Pages, Java Server Faces)
  • business (Enterprise Java Beans)
Per quanto riguarda i client questi si dividono in client web e application client.

Un client web è costituito da due parti:
  • le pagine web dinamiche: usano linguaggi di markup e sono generate dai web component residenti nel livello web (Servlet, JSP, JSF...)
  • browser web: visualizzano le pagine mostrandone il contenuto (parliamo in questo caso di thin client)
Gli application client sono invece dei programmi standalone che presentano interfacce (GUI) realizzate in Swing o Abstract Window Toolkit e che possono dialogare direttamente con il livello business accedendo agli Enterprise Java Beans.
Sia il livello client che il livello server possono includere Javabeans ovvero particolari oggetti che hanno proprietà, metodi get e set per accedervi e rispettano particolari convenzioni sui nomi.
Un client, come detto, può comunicare con il livello business direttamente o attraverso il livello web (JSP o Servlet).
comunicazione
Comunicazione
Mentre un application client può comunicare direttamente con il livello business accedendo direttamente agli Enterprise Java Beans, un browser web vi accede attraverso il livello web (Servlet, Java Server Pages, Java Server Faces...).
Per quanto riguarda i web component appartengono a questa categoria le servlet e le pagine create utilizzando JSP o JSF.
Le servlet sono programmi scritti in java che gestiscono le richieste dei client e costruendo le corrispondenti risposte.
Le JSP sono pagine text-based che vengono eseguite come servlet ma che consentono di creare contenuti statici con maggiore naturalezza.
Il codice business che contiene la logica che risponde alle necessità di un dato problema è contenuto negli Enterprise Java Beans residenti nel livello business.
L'ultimo livello Enterprise Information System è infine costituito dai Database Management System che ospitano i dati applicativi.
I containers sono interfacce tra i componenti e le funzioni a basso livello che supportano il componenete. Prima che un componente web possa essere eseguito questo deve essere assemblato in un modulo java EE e quindi occorre effettuarne il deployment all'interno del container.
Alcuni dei container l'EEJ container, il web container, applet container, application client container...
I web-services sono particolari applicazioni web basate su xml che utilizzano protocolli di trasporto standard per scambiare dati con i client che effettuano le richieste. Le richieste dei client e le risposte dei web-services sono trasmesse attraverso il protocollo SOAP (Simple Object Access Protocol) costituito da messaggi su HTTP che assicurano la completa interoperabilità fra client e web-services su diverse piattaforme.
Un'applicazione Java EE è tipicamente impacchettata in una o più unità standard contenenti i componenti funzionali insieme a deployment descriptor che ne specificano il contenuto.
Un'applicazione Java EE è distribuita in un archivio EAR (enterprise archive) un file jar con estenzione ear. Utilizzando file ear e moduli è possibile assemblare diverse applciazioni Java EE basate sugli stessi componenti riutilizzando il codice già scritto. Un file ear contiene moduli Java EE e un deployment descriptor ovvero un document xml che contiene informazioni sull'applicazione, il contenuto può essere cambiato senza dover cambiare il codice sorgente.
Un modulo Java EE è costituito da uno o più componenti che necessitano dello stesso tipo di container e da un deployment descriptor.

Esistono 4 tipi di moduli Java EE:
  • moduli Enterprise Java Beans: contengono i file class degli EJB e il relativo Deployment Descriptor (tipicamente impachettati in un file JAR).
  • moduli web: contengono i file class delle Servlet, Java Server Pages, Java Server Faces, risorse grafiche (gif, jpeg...) e altro ancora (tipicamente impacchettati in web-archive, un file JAR con estensione .war).
  • moduli application client: contengono interfacce, classi e librerie insieme ad un application client deployment descriptor.
  • moduli resource adapter: contengono interfacce java, classi, documentazione che implementano la Connector Architecture per un dato EIS.
Tali moduli sono tipicamente impacchettati in file jar con estenzione .rar.