Domanda

Quali sono i punti di forza e di debolezza relativi tra Sun Metro e Apache CXF per lo sviluppo di servizi Web in Java. C'è un altro framework che dovrei guardare anche io?

È stato utile?

Soluzione

Ero nella tua posizione qualche mese fa e ho finito per guardare più da vicino Metro.

La caratteristica killer per me era il fatto che Metro utilizza annotazioni standard per esporre un determinato metodo come servizio web e che tutto il codice colla potrebbe essere generato automaticamente in fase di esecuzione. Cioè non è necessario eseguire ulteriori passaggi durante la creazione, la distribuzione e il funzionamento in un container servlet standard (2.5 credo) in Java 5, che è la nostra attuale piattaforma di distribuzione.

Questo ha funzionato molto bene per noi.

Il motivo per cui ho scelto le annotazioni standard è il semplicissimo che le nostre applicazioni tendono a vivere letteralmente per decenni dopo i quali è necessario fare un po 'di manutenzione. Codificando un'interfaccia anziché un'implementazione, è possibile scambiare l'intero ponteggio sotto il codice senza modificare il codice che implementa il servizio Web. In dieci anni (o più) qualsiasi attrezzo specifico potrebbe essere appassito e morto, ma altri attrezzi potrebbero essere aumentati da allora ed essere immediatamente inseribili.

Scopri quante scelte hai oggi per un container servlet ... Ecco la potenza di una buona API!


Modifica: a quanto pare il runtime Java 6 include lo stack Metro più un web server minimo. In altre parole, il JRE da solo può essere la sostituzione dei ponteggi sopra menzionata: D

Altri suggerimenti

Sia Metro che CXF sono stack di servizi Web conformi a JAX-WS e, dal punto di vista del runtime, c'è davvero poca scelta tra di loro.

Tuttavia, CXF ha enormemente migliore documentazione e molta più flessibilità e funzionalità aggiuntiva se si è disposti ad andare oltre le specifiche JAX-WS. Solo sulla base della documentazione, sceglierei CXF durante il periodo Metroevery.

Tuttavia, sceglierei Spring WebServices su Metro o CXF. Non è conforme a JAX-WS, ma non lo considero un problema. È anche considerevolmente più semplice e considerevolmente più flessibile di entrambi. Altamente raccomandato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top