A quanto pare i client con i quali il progetto deve interagire sono di due tipologie:

1) client j2se.
2) browser web.
----
Lato Java EE:
Innanzitutto hai bisogno di un framework per implementare la logica applicativa.

Puoi scegliere tra diverse tecnologie e framework(Es. spring), io personalmente utilizzo gli EJB 3.0.

Le funzionalità da esporre ai client (Ad. esempio "ottieni la lista degli utenti connessi") le puoi esporre attraverso le interfacce degli ejb e accedere ad esse tramite servlet e usare le JSP per generare le pagine web.

Per riusare il codice ejb ed esporlo al client j2se (e in futuro anche ad altri tipi di client) puoi esporre le stesse interfacce ejb usate nel passo precedente come webservice (è un operazione banale si tratta di aggiungere delle annotation).

-------

Ora il problema è che se metti troppa carne sul fuoco rischi di confonderti.
Io ti consiglio di approdare alle singole tecnologie con parsimonia, quindi metti da parte il progetto per un pò e..

1) Studia e prova a realizzare qualche servlet.
2) idem con le jsp

3) chiarisci bene la differenza tra un servlet container(es. tomcat) e un ejb container(es. glassfish, jboss, geronimo)

4) Comincia a studiare la tecnologia EJB distinguendo almeno 2 tipi di bean che userai: Entity Bean, Stateless Bean.

5) Metti insieme EJB e tecnologie Web (Servlet e JSP) seguendo questo tutorial
(http://programmaremobile.blogspot.co...b-e.html#links)

6) Iniziare a pensare come realizzare il tuo progetto usando quello che hai imparato.