Newsgroup: it.comp.java
Titolo: J2EE & JRE

Ciao a tutti,
ho bisogno di un consiglio. Non avendo molta esperienza in ambiente Java sul
rilascio di software in ambiente di produzione ho questo problema.
Sto scrivendo una servlet realizzata in ambiente J2EE la quale, oltre a
utilizzare JDBC per oralce, utilizza JAXP. Questa servlet dovrà girare su di
una macchina che osptita un tomcat sulla quale macchina esiste solamente la
JRE. Come faccio ad aver garanzia che tutte le API da me utilizzate saranno
gestite dal JRE?
Insomma JAXP mi pare sia un'insieme di API del J2EE, JRE riuscirà a gestire
tutto. Scusate la mia confusione in merito.
In generale quale deve essere la linea guida per il passaggio dall'ambiente
di sviluppo ad un ambiente di produzione provvisto della sola JRE?
Grazie mille a tutti
Mr. Deckard



 Mr. Deckard
Ciao
Giuseppe
PS: scuse accettate, un consiglio: invece di aprire un altro thread di 
scuse, riposta nello stesso thread, ambiando il topic (aggiungendo OT 
magati..)


OK, però la mia domanda era più riferita al problema di usare una JRE. La
JRE ospità le api basi di Java, se ad esempio io ho sviluppato
un'applicazione (in questo caso una Servlet che specifica di J2EE e non
J2SE) in J2EE come faccio a far si che la JRE possa eseguire l'applicazione.
E poi, mi sembra che Tomcat se eseguito con JRE non riesca ad eseguire le
servlet (forse era così in passato), mi sembra che occorra aggiungere
qualcosa. Forse bisogna aggiungere le famose extentions?
Spero di essere stato sufficientemente chiaro.
Ti ringrazio molto.
Mr. Deckard

Mr. Deckard wrote:

se usi solo servlet (non jsp) e all'avvio dell'app. sono già tutte e belle 
che compilate, tomcat necessiterà solo del JRE per eseguire le servlet
e userà tutte le classi che possiede (JAXP) compresa e tutte quelle aggiunte 
in WEB-INF/lib (jar) WEB-INF/classes (.class). Il problema si pone se le 
servlet devi compilarle, allora ti serve anche il compilatore J2SE + classi 
specifiche. Credo che Tomcat, essendo un progetto di Apache (jakarta) usi 
il parser XML di Apache, Xerces, come dici tu. Di sicuro non usa quello di 
SUN.
Spero di essere stato sufficientemente chiaro.
Ciauz.

 Ciauz.
Grazie per la risposta,
sei satato chiarisso. E mi è tutto chiaro. Io allora ne aapprofitto e provo
a fare la seguente domanda:
Se io mi trovassi nella situazione di sviluppare in J2EE e poi aver
necessità di installare in un ambiente J2SE o provvista di sola JRE quale
sono le linee guida da adottare per far si che l'applicazione giri anche su
ambienti non J2EE
Grazie mille.
Ciao

Mr. Deckard wrote:

1) il caso più semplice è che tu stia solo usando delle classi presenti in 
j2ee e non in j2se, ad esempio il packege javax.servlet.*
In questo caso ti basterà aggiungere al classpath il percorso del jar 
"j2ee.jar" che si trova in <dir dove hai installato j2ee>/lib e questo ti 
permette di compilare / eseguire la tua app. che usa classi di j2ee anche 
solo avendo j2re / j2se (j2se ti serve solo per compilare come ti ho già 
detto)
2) il caso più problematico, che è anche quello per cui comunemente di usa 
j2ee è perchè hai sviluppato componenti specifici di j2ee, tipo EJB i quali 
necessitano di un container. In questo caso j2ee è indispensabile runtime e 
non bastano le classi presenti in j2ee.jar. Devi quindi lanciare il 
container: <dir dove hai installato j2ee>/bin/j2ee.sh,
eseguire il deploy dei tuoi componenti tramite <dir dove hai installato 
j2ee>/bin/deploytool.sh e poi sfruttarli con i tuoi client: apps 
stand-alone, pagine jsp dinamiche o quello che preferisci.
sembra che la sun abbia intenzione di accorpare le due piattaforme j2se e 
j2ee con la versione 5 di entrambe. questo risolverebbe tutti i tuoi 
problemi. in ogni caso ti consiglio di consultare:
http://java.sun.com



Sei stato molto chiaro quanto gentile.
Mr. Deckard

 conosco il loro utilizzo.
La piattaforma J2EE non è solo un insieme di librerie e API per poter 
gestire oggetti che in J2SE non ci sono, come le servlet, ma contiene anche 
un "container" (scusa la cacofonia) per poter ospitare tali oggetti. Se 
installi la versione di SUN trovi la versione per scopi di sviluppo: 
J2EERI. Oltri conteiner commerciali sono Bea Weblogic, SunOne Application 
Server di SUN e quelli open: OpenEJB e JBoss (il + famoso). Il container 
vedilo un po' come un server che mette a disposizione oggetti  complessi 
senza che chi li usa debba sapere nulla della logica implementativa di tali 
oggetti. Io mi sono letto un tomo da 300 pagine per capire come funziona, e 
non è semplice spiegarti altro senza entrare nei dettagli e senza avere 
presente le problematiche legate alle applicazioni multilivello. Ti 
consiglio caldamente di leggerti il tutorial della Sun che ti ho segnalato 
se vuoi proseguire.:
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html
