Per quanto riguarda il web service molto dipende da dove vai a deployare la tua applicazione e/o come crei il tutto.
Ora un conto sono se le prove locali, un conto è se devi integrare questa roba in produzione. Nel secondo caso informati prima sul tipo di application server (ti impone quello che puoi usare o no).
Mi spiego,un web service che fa riferimento ad axis non è deployabile su was (ci sto lavorando).

Preferibile in questo caso jax-rpc e deploy su jboss (che è la scelta che ho fatto io).

Riguardo al resto: devi fare conto che il servizio lo puoi creare come ti pare (e se usi le annotations fai pure prima), il client in genere lo crei con il comando fornito dal sistema partendo dal wsdl del server e non è detto che devi usare un'interfaccia web (o grafica).
Esiste anche la possibilità di ritrovare e creare dinamicamente un web service ed eseguire (si parla in questo caso di web service dinamico)