PDA

View Full Version : Quale Application Server Java EE?


dupa
08-11-2006, 22:05
Ciao a tutti.
voglio finalmente iniziare ad usare anche jsp, ejb e tutto ciò che gira intorno al mondo Java EE.
Ora.. quale application server scegliere?

Mi pare di capire che gli unici Application Server che implementano Java EE 5, sono:

Sun Java System Application Server Platform Edition 9.0 Update 1
GlassFish
JBoss

Quale scegliere tra questi? non vorrei dire una cavolata... ma son tutti gratuiti anche per server di produzione o meno?

Grazie.

PGI-Bis
08-11-2006, 23:28
Con l'application server di Sun non puoi andare in giro gridando "questo l'ho inventato io" ma per il resto è gratis. Documentazione completa, dettagliata, autorevole, facilmente disponibile e aggratis. Pure l'IDE che l'accompagna (un derivato di Netbeans) è free per tutto. Si installa in unix come in windows.

Manca solo il lucano :D.

dupa
09-11-2006, 00:20
Con l'application server di Sun non puoi andare in giro gridando "questo l'ho inventato io" ma per il resto è gratis. Documentazione completa, dettagliata, autorevole, facilmente disponibile e aggratis. Pure l'IDE che l'accompagna (un derivato di Netbeans) è free per tutto. Si installa in unix come in windows.

Manca solo il lucano :D.

Uhm, la cosa che mi lascia perplesso è che parlando con amici che lavorano su java EE, non ne ho mai sentito uno che usa l'application server della Sun.. di solito ho sentito citare Jboss e Websphere...
Come mai quello dellla Sun viene poco considerato?

Grazie

PGI-Bis
09-11-2006, 00:43
L'application server di sun è free solo dalla versione 8.1, il che spiega perchè JBoss sia partito in testa.

Una volta la documentazione di JBoss si pagava ma da quando Sun ha aperto il suo appserver è diventata free pure quella.

Websphere è di IBM e credo che il marchio abbia una penetrazione maggiore in italia. Per la verità il marchio Sun in italia è proprio da addetti ai lavori :D. Politiche commerciali...bah.

Ai tempi scelsi il server di sun perchè aveva deploytool, che è un'applicazioncina stand-alone per dispiegare applicazioni sul server che funziona da signori.

Se hai la banda larga (beato te), prendi un bel manuale, li installi tutti e tre (anzi, tutti e quattro: che weblogic di BEA lo buttiamo nel cesso? :D) e poi vedi con quale ti sembri di riuscire a seguire meglio il discorso.

dupa
09-11-2006, 09:39
L'application server di sun è free solo dalla versione 8.1, il che spiega perchè JBoss sia partito in testa.

Una volta la documentazione di JBoss si pagava ma da quando Sun ha aperto il suo appserver è diventata free pure quella.

Websphere è di IBM e credo che il marchio abbia una penetrazione maggiore in italia. Per la verità il marchio Sun in italia è proprio da addetti ai lavori :D. Politiche commerciali...bah.

Ai tempi scelsi il server di sun perchè aveva deploytool, che è un'applicazioncina stand-alone per dispiegare applicazioni sul server che funziona da signori.

Se hai la banda larga (beato te), prendi un bel manuale, li installi tutti e tre (anzi, tutti e quattro: che weblogic di BEA lo buttiamo nel cesso? :D) e poi vedi con quale ti sembri di riuscire a seguire meglio il discorso.

Ok bè dai siamo già a un buon punto :D abbiamo una lista di 4 papabili application server :D

JBoss Application Server 4.0.5
Sun Java System Application Server Platform Edition 9.0 Update 1
BEA WebLogic Server® 9.2
IBM WebSphere Application Server V6.1


C'è qualcosa altro da aggiungere che implementa Java EE? (ovviamente solo AS di un certo livello :D )
Vorrei capire un po' come è la loro diffusione a livello mondiale.. sapete se c'è qualche report a riguardo?
Inoltre da quel che ho capito, per semplice pagine jsp e servlet, viene utilizzato apache+tomcat.. che però non implementa gli ejb e altre menate proprio dei "veri application server", giusto?

Infine se qualcuno sapesse darmi qualche pro e contro di questi AS, tanto per sapere dove buttarmi :D

Grazie

thebol
09-11-2006, 11:19
Ok bè dai siamo già a un buon punto :D abbiamo una lista di 4 papabili application server :D

JBoss Application Server 4.0.5
Sun Java System Application Server Platform Edition 9.0 Update 1
BEA WebLogic Server® 9.2
IBM WebSphere Application Server V6.1


C'è qualcosa altro da aggiungere che implementa Java EE? (ovviamente solo AS di un certo livello :D )
Vorrei capire un po' come è la loro diffusione a livello mondiale.. sapete se c'è qualche report a riguardo?
Inoltre da quel che ho capito, per semplice pagine jsp e servlet, viene utilizzato apache+tomcat.. che però non implementa gli ejb e altre menate proprio dei "veri application server", giusto?

Infine se qualcuno sapesse darmi qualche pro e contro di questi AS, tanto per sapere dove buttarmi :D

Grazie

tomcat viene molto usato perche gli ejb non hanno preso moltissimo piede, percui per la maggior parte degli usi è sufficiente.

Ho visto pero dal sito ufficiale che non supporta ancora l'ultima release di J2EE per le jsp e le servlet

dupa
09-11-2006, 11:22
tomcat viene molto usato perche gli ejb non hanno preso moltissimo piede, percui per la maggior parte degli usi è sufficiente.

Ho visto pero dal sito ufficiale che non supporta ancora l'ultima release di J2EE per le jsp e le servlet

sì in realtà poi per ad esempio la ORM su tomcat mi pare si possano usare librerie ad hoc, tipo hibernate (sviluppato da jboss), dal quale han poi sviluppato il nuovo concetto di entity beans introdotto in Java EE 5

thebol
09-11-2006, 11:57
sì in realtà poi per ad esempio la ORM su tomcat mi pare si possano usare librerie ad hoc, tipo hibernate (sviluppato da jboss), dal quale han poi sviluppato il nuovo concetto di entity beans introdotto in Java EE 5

come orm segnalo anche ibatis, piu leggero ma meno potente di hibernate

dupa
10-11-2006, 11:03
tra gli application server citati, sapete quali sono gratuiti anche su server di "produzione" ?

grazie

thebol
10-11-2006, 11:31
sicuramente tomcat e jboss(in teoria anche geronimo, aka la versione di tomcat+ejb, ma non so quanto sia supportata)


edit:
anche quello sun

PGI-Bis
10-11-2006, 15:20
Gratis per tutto sono JBoss e Sun Application Server. Gli altri non son gratis per niente :D.

A meno che non ci siano state novità di cui non sono al corrente, Tomcat non è un application server J2EE.

dupa
10-11-2006, 17:19
Gratis per tutto sono JBoss e Sun Application Server. Gli altri non son gratis per niente :D.

A meno che non ci siano state novità di cui non sono al corrente, Tomcat non è un application server J2EE.

sì esatto, da quel che ho capito tomcat semplicemente è in grado di parsare lo standard jsp.

tomcat se non ho capito male si deve comunque appoggiare ad un web-server (ad esempio apache)

ieri stavo giochicchiando a installare jboss, e nn ho ben chiaro un punto

jboss è un application server, nel suo login di startup vedo che carica un webserver (di cui nn ricordo il nome) e nei suoi ear/war ha dentro pure tomcat.. ciò che vuol che su jboss è il tomcat che cmq parsa il jsp?

insomma.. vorrei capirci qcosa in + su ste faccende e sui rapporti precisi tra cosa fa uno e cosa fa l'altro :D

PGI-Bis
10-11-2006, 18:06
Tomcat è un contenitore per servlet.

JSP è un linguaggio che ti consente di mescolare la definizione dei servizi offerti da un componente servlet http con la dichiarazione di elementi html. Sempre di Servlet si tratta ma anzichè metterti a scrivere:

PrintWriter out = response.getWriter();
out.println("<html><head><title> eccetera eccetera

scrivi quella parte di html che decora la risposta come fosse html. Il che è più o meno comodo a seconda della tua dimestichezza con il linguaggio di programmazione Java.

Tomcat è anche un server http: non necessita del web server Apache per girare.

Un application server J2EE è quello che suggerisci il suo nome: sparge applicazioni come servizi e offre servizi per quelle applicazioni.

Tecnicamente è la parte di mezzo tra una qualsiasi applicazione client, anche non Java, ed una qualsiasi base dati.

E' divisa in due pezzi, comunicanti. Uno è il c.d. Web Container, l'altro è l'altrettanto c.d. EJB Container. Il Web container è quella parte del J2EE che offre servizi attraverso Servlet e pagine JSP. L'EJB Container è quella parte del J2EE che offre servizi attraverso i fagioli d'impresa.

Il Web Container può proporsi sia a client web sia a client che usino un protocollo di comunicazione diverso dall'http e lo fa a colpi di Servlet.

L'EJB Container parla con client non web a colpi di EJB. Non perchè in astratto non possa darsi un servizio http fatto di EJB ma perchè per farlo c'è già il Web Container. Grossomodo (molto grosso e poco a modo) puoi pensare ad un EJB Session o Message Driven come ad un componente Servlet: risponde a delle richieste provenienti dal client. Ma le due parti hanno proprietà diverse.

Poi ci sono gli Entity Beans, che sono null'altro che la rappresentazione di un record in una base dati. Precisamente è una rappresentazione indipendente dal protocollo di comunicazione con la base dati.

Trovi tutto e di più nel J2EE Tutorial di Sun Microsystem. Gratis, ovviamente.

theClimber
11-11-2006, 20:34
L'application server di apache è Geronimo:
http://geronimo.apache.org/
Anche Geronimo, esattamente come jboss, usa tomcat come servlet container.

La versione community di IBM Websphere sta evolvendo a partire da Geronimo (principalmente aggiunge funzioni alla console di amministrazione):
http://www-306.ibm.com/software/webservers/appserv/community/index.html?S_TACT=105AD02W&S_CMP=campaign

Ciao