Yanıtlar:
Unutmayın, tamamen önyargılıyım (PMC CXF Başkanı), ancak düşüncelerim:
Kesinlikle "proje yapmak için ihtiyacım olanı yapabilir mi" perspektifinden, her ikisi de oldukça eşdeğerdir. CXF'in Axis 2'nin yapamayacağı ve tersi yapabileceği bazı “kenar durumu” şeyleri var. Ancak kullanım durumlarının% 90'ı için her ikisi de iyi çalışacaktır.
Böylece, "onay kutusu özellikleri" dışında bir sürü başka şey gelir.
API - CXF "standartlara dayalı" API'leri (JAX-WS uyumlu) zorlarken, Axis2 general tescilli şeylere yönelir. Bununla birlikte, CXF bile JAX-WS spesifikasyonu dışındaki çeşitli şeyleri yapılandırmak / kontrol etmek için özel API'lerin kullanılmasını gerektirebilir. REST için, CXF tescilli şeyler yerine standart API'leri (JAX-RS uyumlu) kullanır. (Evet, Axis2'deki JAX-WS çalışma zamanının farkındayım, ancak araç ve dokümanlar ve her şey bunu hedeflemiyor)
Topluluk yönleri ve desteklenebilirlik - CXF, sorunlara yanıt vermekten ve "düzeltme paketlerini" kullanıcılar için kullanılabilir hale getirmekten gurur duyar. CXF 2.0.x için 12 düzeltme paketi (iki yıl önce yayınlandı, bu yüzden yaklaşık 2 ayda bir), 6 düzeltme paketi 2.1.x'e ve şimdi 2.2.x için 3 yaptı. Axis2 eski sürümleri gerçekten "desteklemez". "Kritik" bir sorun gerçekleşmedikçe, düzeltmeleri almak için bir sonraki büyük sürüme kadar beklemeniz gerekebilir (yaklaşık 9-10 ayda bir ortalama). (her ikisiyle de, kaynak kodunu alabilir ve kendiniz yama / düzeltme yapabilirsiniz. Açık kaynağı sevmelisiniz.)
Entegrasyon - Spring kullanıyorsanız CXF çok daha iyi Spring entegrasyonuna sahiptir. Tüm konfigürasyon ve benzeri Bahar ile yapılır. Ayrıca, insanlar CXF'yi diğer uygulamalara daha "katıştırılabilir" (bu açıdan Axis2'ye hiç bakmadım) olarak görme eğilimindedir. Bunun gibi şeylerin sizin için önemli olup olmadığından emin değilim.
Performans - ikisi de çok iyi performans gösteriyor. Axis2'nin tescilli ADB veritabanının CXF'den biraz daha hızlı olduğunu düşünüyorum, ancak JAXB (yine standartlara dayalı API'ler) kullanıyorsanız, CXF biraz daha hızlıdır. WS-Security gibi daha karmaşık senaryolar kullanırken, temel güvenlik "motoru" (WSS4J) her ikisi için de aynıdır, bu nedenle performans tamamen karşılaştırılabilir.
Bunun soruyu cevaplayıp yanıtlamadığından emin değilim. Umarım en azından bazı bilgiler sağlar.
:-)
Dan
Bir şey daha, topluluğun etkinliği. Eksen ve cxf (2013) için posta listesi trafiğini karşılaştırın.
Yani bu herhangi bir kullanım göstergesi ise, eksen cxf'den çok daha az kullanılır.
Ohloh CXF ve Eksen istatistiklerini karşılaştırın . Eksen genel olarak düşük aktiviteye sahipken CXF çok yüksek aktiviteye sahiptir.
Bu, CXF (kırmızı) ve Eksen1 (yeşil) Eksen2 (mavi) için zaman içindeki taahhütlerin grafiğidir.
CXF'nin avantajları:
Axis2'nin avantajları:
Özetle: Yukarıdaki avantaj maddelerinden, Axis2 ve CXF'yi kendi değerleriyle karşılaştırmak bizi iyi düşüncelere getiriyor. hepsinin belirli bir alanda farklı gelişmiş alanları vardır, CXF çok yapılandırılabilir, entegre edilebilir ve Java topluluğuna yakın ve desteklenen zengin araç kitlerine sahiptir, Axis2 birçok yönden minyatür bir uygulama sunucusuna benzeyen bir yaklaşım benimsemiştir. çoklu programlama dillerinde bulunur. Bağımsızlığı nedeniyle Axis2, diğer uygulamalardan bağımsız olarak tek başına duran web servislerine borçludur ve çok çeşitli işlevler sunar.
Bir geliştirici olarak, doğru olanı seçmek için perspektifimize uymalıyız, hangi çerçeveyi seçerseniz seçin, aktif ve istikrarlı bir açık kaynak topluluğunun avantajına sahip olacaksınız. Performans açısından, aynı işlevselliği temel alan ve aynı web kapsayıcısında yapılandırılan bir test yaptım, sonuç CXF'nin Axis2'den biraz daha iyi performans gösterdiğini gösteriyor, tek durum yeteneklerini ve performansını tam olarak yansıtmayabilir.
Bazı araştırma makalelerinde, Axis2'nin tescilli ADB veri tabanının CXF'den biraz daha hızlı olduğunu, çünkü ek bir özelliği (WS-Güvenlik) olmadığını ortaya koymaktadır. Apache AXIS2 nispeten en çok kullanılan çerçevedir ancak Apache CXF, geliştirme kolaylığı, mevcut endüstri eğilimi, performans, genel puan kartı ve diğer özellikleri (nispeten gerekli olmayan Web Hizmetleri Orkestrasyon desteği olmadığı sürece) karşılaştırmalı olarak diğer Web Hizmetleri Çerçevesi üzerinden karşılaştırır. )
CXF'nin bir başka avantajı: NTLMV2 kimlik doğrulaması kullanılarak kutunun dışında web sunucularına bağlanır. (Windows 2008 ve üstü tarafından kullanılır) CXF kullanmadan önce, bunu mümkün kılmak için HTTPClient V4 + JCIFS kullanmak için Axis2'yi hackledim.