Risposte:
Tieni presente che sono completamente di parte (PMC Chair of CXF), ma i miei pensieri:
Dal punto di vista strettamente "può il progetto fare ciò di cui ho bisogno", entrambi sono abbastanza equivalenti. Ci sono alcune cose "marginali" che CXF può fare, mentre l'Asse 2 non può e viceversa. Ma per il 90% dei casi d'uso, funzionerà bene.
Quindi, dipende da un sacco di altre cose oltre alle "caratteristiche della casella di controllo".
API - CXF spinge le API "standard based" (conformi a JAX-WS) mentre Axis2 in generale va verso cose proprietarie. Detto questo, anche CXF potrebbe richiedere l'uso di API proprietarie per configurare / controllare varie cose al di fuori delle specifiche JAX-WS. Per REST, CXF utilizza anche API standard (conformi a JAX-RS) invece di cose proprietarie. (Sì, sono a conoscenza del runtime JAX-WS in Axis2, ma gli strumenti, i documenti e tutto ciò non lo target)
Aspetti e supporto della comunità: CXF è orgoglioso di rispondere ai problemi e di rendere disponibili "fixpack" agli utenti. CXF ha eseguito 12 fixpack per 2.0.x (rilasciato due anni fa, quindi ogni 2 mesi circa), 6 fixpack per 2.1.xe ora 3 per 2.2.x. Axis2 in realtà non "supporta" le versioni precedenti. A meno che non venga riscontrato un problema "critico", potrebbe essere necessario attendere fino alla prossima versione di grandi dimensioni (in media circa ogni 9-10 mesi circa) per ottenere correzioni. (anche se, con entrambi, puoi prendere il codice sorgente e correggere / correggere te stesso. Devi amare l'open source.)
Integrazione - CXF ha un'integrazione Spring molto migliore se si utilizza Spring. Tutta la configurazione e così via viene effettuata tramite Spring. Inoltre, le persone tendono a considerare CXF più "integrabile" (non ho mai visto Axis2 da questa prospettiva) in altre applicazioni. Non sono sicuro che cose del genere siano importanti per te.
Prestazioni: entrambe si comportano molto bene. Penso che il databinding ADB proprietario di Axis2 sia un po 'più veloce di CXF, ma se usi nuovamente JAXB (API basate su standard), CXF è un po' più veloce. Quando si utilizzano scenari più complessi come WS-Security, il "motore" di sicurezza sottostante (WSS4J) è lo stesso per entrambi, quindi le prestazioni sono completamente comparabili.
Non sono sicuro che questo risponda alla domanda. Spero che almeno fornisca alcune informazioni.
:-)
Dan
Un'altra cosa è l'attività della comunità. Confronta il traffico della mailing list per axis e cxf (2013).
Quindi, se questo è un indicatore di utilizzo, allora l'asse è di gran lunga meno usato di cxf.
Confronta le statistiche CXF e Axis su ohloh . CXF ha un'attività molto elevata mentre l'Asse ha un'attività bassa in generale.
Questo è il grafico per il numero di commit nel tempo per CXF (rosso) e Axis1 (verde) Axis2 (blu).
I vantaggi di CXF:
I vantaggi di Axis2:
In sintesi: dagli elementi di vantaggio sopra riportati, ci viene in mente di confrontare Axis2 e CXF per i loro meriti. tutti hanno diverse aree ben sviluppate in un certo campo, CXF è molto configurabile, integrabile e ha ricchi kit di strumenti supportati e vicini alla comunità Java, Axis2 ha adottato un approccio che lo rende in molti modi simile a un server delle applicazioni in miniatura. è attraverso più linguaggi di programmazione. grazie alla sua indipendenza, Axis2 si presta a servizi Web indipendenti, indipendenti da altre applicazioni e che offrono un'ampia varietà di funzionalità.
Come sviluppatore, dobbiamo accordarci sulla nostra prospettiva di scegliere quella giusta, qualunque sia il framework che scegli, avrai il vantaggio di una comunità open source attiva e stabile. In termini di prestazioni, ho fatto un test basato sulla stessa funzionalità e configurato nello stesso contenitore Web, il risultato mostra che CXF ha funzionato un po 'meglio di Axis2, il singolo caso potrebbe non rispecchiare esattamente le loro capacità e prestazioni.
In alcuni articoli di ricerca, viene rivelato che il databinding ADB proprietario di Axis2 è un po 'più veloce di CXF poiché non ha funzionalità aggiuntive (WS-Security). Apache AXIS2 è il framework relativamente più utilizzato, ma Apache CXF segna rispetto ad altri Web Services Framework considerando relativamente la facilità di sviluppo, l'attuale tendenza del settore, le prestazioni, la scorecard generale e altre funzionalità (a meno che non sia esplicitamente necessario il supporto di Web Services Orchestration, che non è richiesto qui )
Un altro vantaggio di CXF: si collega ai server Web utilizzando l'autenticazione NTLMV2 immediatamente. (usato da Windows 2008 e successivi) Prima di usare CXF, ho hackerato Axis2 per usare HTTPClient V4 + JCIFS per renderlo possibile.