/ / dovremmo sempre usare un EJB per implementare un webservice? ci sono altri modi? - servizi web, ejb-3.0, jax-ws, glassfish-3

dovremmo usare sempre un bean per implementare un webservice? ci sono altri modi? - servizi web, ejb-3.0, jax-ws, glassfish-3

Stavo seguendo un tutorial di esempio su Jax-ws, la mia domanda è perché dovremmo usare un EJB per implementare un servizio web? ci sono altri modi?

risposte:

2 per risposta № 1

Presumo che tu abbia messo il tuo Servizio web in qualche modo in questo modo:

@WebService
@Stateless
public class Webservice {

@WebMethod
public boolean returnTrue() {
// your stuff here
return true;
}
}

Non hai davvero bisogno del @Stateless-Annotazione affinché il tuo WebService funzioni e quindi puoi rinunciare a farlo uso Funzionalità EJB nel progetto.

Esistono diversi modi per implementare WebServices in Java come JAX-WS o RIPOSO (JAX-RS).
Inoltre puoi usare implementazioni di supporto come JAX-B o JAX-RPC.

Questa è solo una piccola parte di tutte le possibilità, ma dovrebbe essere una buona base per iniziare.

Spero che questo aiuti, divertiti!


MODIFICARE:

la mia domanda è perché dovremmo usare un EJB per implementare un webservice?

Scusa, non mi sono concentrato su questo la prima volta.
Come detto sopra non ne hai bisogno Funzionalità EJB per far funzionare un WebService, ma è più comune farlo, perché:

  • L'invocazione di un Bean all'interno di Java è semplice (puoi usare Dependency Injection o una ricerca)
  • Non è necessario generare i client-stub per ogni classe WebService
  • Puoi utilizzare l'intera funzionalità Java da un bean mentre i servizi Web sono limitati. Ad esempio, i servizi Web consentono solo l'invio tipi di dati semplici tra client e server (sebbene sia possibile inviare oggetti comlpex ma è molto più difficile)

Spero che questo possa rendere le cose più chiare. Divertiti!