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 quadro che dovrei guardare anche io?Confronto tra Sun Metro e Apache CXF per lo sviluppo di servizi web?
risposta
Sono stato nella tua posizione qualche mese fa e ho finito per guardare più vicino a Metro.
Il killer per me era il fatto che Metro utilizza annotazioni standard per esporre un determinato metodo come servizio web e che tutto il codice della colla potrebbe essere generato automaticamente in fase di esecuzione. Cioè non ci sono ulteriori passaggi da fare durante la costruzione e la distribuzione e funziona in un contenitore standard di servlet (2.5 credo) in Java 5, che è la nostra attuale piattaforma di distribuzione.
Questo ha funzionato molto bene per noi.
Il motivo per cui sono stato annotato con le annotazioni standard è la semplice conseguenza che le nostre applicazioni tendono a vivere letteralmente per decenni dopo le quali è necessario eseguire una manutenzione. Mediante la codifica su un'interfaccia invece di un'implementazione, è possibile sostituire l'intero ponteggio sotto il codice senza modificare il codice che implementa il servizio web. Tra dieci anni (o più) qualsiasi implementazione specifica potrebbe essere appassita e morta, ma altri implementaitons potrebbero essere aumentati da allora e essere immediatamente inseribili.
Basta vedere quante scelte hai oggi per un contenitore servlet ... Questo è il potere di una buona API!
Modifica: Apparentemente il runtime Java 6 include lo stack Metro più un server Web minimale. In altre parole, la JRE da sola può essere la sostituzione dell'armatura menzionata sopra: D
+1 per pensare a quei poveri sciocchi che dovranno capire questo codice tra 10 anni. Potrebbe essere uno di noi! –
@yar, stavo semplicemente sperando che non dovesse essere me :) –
AFAIK, Java 6 non include Metro, include JAX-WS RI che è un sottoinsieme di Metro (Metro = JAX-WS + WSIT /Tango). Sì, con Java 6 è possibile pubblicare un endpoint del servizio Web tramite il metodo 'Endpoint.publish()', utilizzando il server HTTP incorporato in Java SE 6. Vedere http://www.javapassion.com/webservices/jaxwsjavase6. PDF. –
Sia Metro che CXF sono stack di servizi Web conformi a JAX-WS e, dal punto di vista del runtime, c'è pochissima scelta tra loro.
Tuttavia, CXF ha ampiamente documentazione migliore e molta più flessibilità e funzionalità aggiuntive se si è disposti ad andare oltre le specifiche JAX-WS. Sulla base della documentazione da sola, sceglierei CXF su Metroevery.
Tuttavia, sceglierei Spring WebServices su Metro o CXF. Non è conforme a JAX-WS, ma non ritengo che sia un problema. È anche molto più semplice e considerevolmente più flessibile di entrambi. Altamente raccomandato.
Potresti approfondire un po 'la funzionalità di CXF di cui parli e la Spring WS idem? –
La gioia di CXF e Spring-WS è che puoi visitare i loro siti web e leggere l'eccellente documentazione per vedere cosa possono fare :) – skaffman
Lo so - potresti aver visto che stavo cercando un simile framework. Stavo pensando in - come - esperienze reali e cose che tu mi hai indicato e ho avuto questa strana idea che forse avresti anche voglia di condividerle ... Vergognati. –
- 1. per lo sviluppo di servizi Web RESTful
- 2. Apache CXF, generazione di servizi Web dal file WSDL
- 3. Jersey è solo un framework per lo sviluppo di servizi Web RESTful in Java?
- 4. Differenza tra Apache CXF e Axis
- 5. Come scegliere CXF su Metro su Glassfish
- 6. Riutilizzo contesto Jaxb CXF tra più servizi
- 7. QT e bridge per lo sviluppo Web
- 8. Metro vs WPF per lo sviluppo di Windows 8?
- 9. Client Apache CXF per endpoint dinamici
- 10. Hardware consigliato per lo sviluppo Metro Windows 8?
- 11. Differenza tra CXF e JAX-WS
- 12. Client servizio Web Applet, con Eclipse Indigo utilizzando Apache CXF,
- 13. Cosa significa CXF in "Apache CXF"?
- 14. Esistono alternative affidabili alla JVM di Sun per lo sviluppo desktop e aziendale?
- 15. Apache CXF - Set HTTP
- 16. Differenza tra WebHook e servizi Web ASP.NET?
- 17. Differenza tra servizi web OData e REST
- 18. Principali differenze tra J2EE e C# /. Net nello sviluppo di servizi Web
- 19. Assistente client Eclipse Web Service e CXF
- 20. differenza tra i servizi web e applicazioni web
- 21. Cosa O/S preferisci per lo sviluppo web e perché?
- 22. Vaadin per lo sviluppo di applicazioni Web - Pochi dubbi
- 23. Apache CXF: Come proteggere il servizio web JAX-RS con l'autenticazione di base
- 24. Quale server Web utilizzare per lo sviluppo Web Lua
- 25. Retrocompatibilità e servizi Web
- 26. Confronto tra PhoneGap e Trigger.io
- 27. Utilizzo di python per lo sviluppo di applicazioni Web
- 28. servizi web, applicazione web
- 29. Strategia di abbinamento conduit Apache CXF
- 30. Confronto dei servizi Web riposanti WebAPI vs MVC
Guarda [WS StackComparison] (http://wiki.apache.org/ws/StackComparison) - che ti porterà alcune idee. –