|
Fin qui abbiamo esaminato l'uso di Java
come linguaggio per la programmazione Web confrontato direttamente
con altre soluzioni diffuse come Perl, PHP e ASP. A differenza di
questi linguaggi, che sono dei linguaggi di scripting, ovvero
semplici e versati per fare rapidamente delle applicazioni di
limitata complessità, Java è un linguaggio orientato al
programmatore professionista, e progettato per creare applicazioni
grandi e complesse (nonostante sia applet che servlet siano
generalmente applicazioni piccole). Per esempio Java è
completamente orientato agli oggetti, e supporta la gestione dei
database, le connessioni in rete, e soprattutto la cosiddetta
programmazione distribuita. In termini semplici permette di
realizzare agevolmente programmi composti da "oggetti" che
si trovano su computer distinti e si "parlano". Per questo
motivo è l'ideale per realizzare applicazioni che mettono
insieme programmi già esistenti che si trovano su sistemi
diversi. Per rendersi conto di cosa sto parlando faccio un semplice
esempio. Consideriamo una azienda anche di dimensioni medio-piccole
che abbia però più di una sede. Con tutta probabilità
si ritroverà ad avere sistemi informatici di tipo diverso che,
con la nascita di Internet, devono colloquiare. Un caso tipico è
la necessità di collegare la contabilità gestita con un
programma, con il magazzino, gestita con un altro programma. Per
collegare questi programmi, e magari collegare il tutto con un
negozio online che raccoglie gli ordini dal Web, occorre un
linguaggio che sia multipiattaforma e distribuito! E'
proprio per la realizzazione di queste applicazioni di collegamento
in cui Java brilla e si dimostra maggiormente utile. E' questo il
vero potere di Java, il lato server delle forza, l'ambiente che fa
dichiarare a molti EDP Manager "Java is here to stay",
(Java rimarrà).
Per
rendersi conto, esaminando il mercato si possono trovare
letteralmente decine di Application Server scritti in Java.
Gli Application Server sono complessi sistemi orientati allo sviluppo
di applicazioni Web, che spesso comprendono anche un Web Server o
delle Java Server Pages, ma realmente sono progettati per separare la
presentazione (cioé le pagine Web) dalla logica interna (cioè
tutte quelle regole che determinano come devono essere elaborati i
dati). Per esempio gestire un ordine da Web ha una parte che è
relativa alla presentazione, ma gran parte del lavoro è
nascosto e descrive come deve essere gestito l'ordine. Anche se non
si vede, possono occorrere numerose operazioni molto complesse che
coinvolgono vari computer che si parlano tra di loro grazie a
Java. Un altro uso degli Application Server è la realizzazione
di sistemi editoriali. Oggi un sito Web che si rispetti non è
una semplice raccolta di poche pagine HTML: generalmente si tratta di
siti immensi con decine di pagine molto complesse che non possono
essere realizzate a mano tutte. Questi sistemi utilizzano sempre più
spesso dietro le quinte degli application server per generare
le pagine, mantenute in formato XML o nei database. A differenza dei
Servlet Engine, gli application server sono molto diversi tra di
loro, e ne esistono numerosi, che fanno cose molto diverse. Ci
limitiamo a ricordare, tra i più usati, Enhydra che è
Open Source (http://www.enhydra.org)
e WebLogic (http://www.beasys.com)
che invece è commerciale.

Figura4:
Enhydra, un Application Server Open Source molto diffuso

Figura5:
WebLogic,
uno dei migliori Application Server commerciali
|