JAX-WS, Axis2 ve CXF arasındaki fark


131

Arasındaki fark nedir:

  1. JAX-WS
  2. axis2
  3. CXF

Üçü de Java'da web hizmetleri oluşturmak için kullanılabilir.
Bildiğim kadarıyla JAX-WS bir belirtimdir ve Axis2 ve CXF uygulamalardır, ancak Java 1.6, yanılmıyorsam JAX-WS uygulamasına sahiptir.

Yani, Axis2 veya CXF kullanmadan JAX-WS web servislerini geliştirmek için Java 1.6 kullanılabilir mi? O halde Axis2, CXF ne işe yarar?

Yanıtlar:


143

JDK'da yerleşik olarak bulunan JAX-WS uygulaması gerçekten sadece temel sabun malzemesidir. WS-Security, WS-RM, WS-Policy, vb. Gibi daha karmaşık WS- * şeylerinden herhangi birine ihtiyacınız varsa, CXF veya Metro veya Axis2 gibi alternatiflerden birini kullanmanız gerekir. Ayrıca neyle entegre etmeye çalıştığınıza da bağlı olabilir. Örneğin, CXF, birinci sınıf Yay desteğine ve çok iyi OSGi desteğine sahiptir.

CXF'de JAX-WS dışında başka şeyler de vardır. Aynı zamanda uyumlu bir JAX-RS uygulamasına sahiptir ve hizmetlerin hem REST hem de SABUN olarak gösterilmesini çok iyi destekler. Bu tür şeyler gerekliyse, W3C uyumlu bir SOAP / JMS uygulamasına sahiptir. Temel olarak, in-jdk JAX-WS impl.

Ayrıca bkz:

Apache CXF ve Axis arasındaki fark


1
Teşekkürler, çok yardımcı oluyor. Yani temel web hizmeti öğeleri için sadece java 1.6'yı kullanabilirim. Yoksa 1.6'dan sonra mı eklendi? Ek özelliklere ihtiyacım olursa CXF ile gidebilir miyim?
Maverick Riz

5
1.6 eklendi. 1.5 desteğe ihtiyacınız varsa, CXF veya JAX-WS referans impl veya benzerini almanız gerekir.
Daniel Kulp

7
Ve çoğunlukla, jdk JAX-WS impl ile başlarsanız, istediğiniz zaman CXF'yi bırakabilirsiniz ve yine de çalışır.
Daniel Kulp

1
Biraz şüphem var. Metro -JAX-WS uygulaması JDK'da yerleşik değil mi? Veya Metro, JDK'da yerleşik olan JAX-WS uygulamasından daha karmaşık mıdır?
Dexter

16

Kısacası.

WSDL WS- * dilden bağımsızdır.

JAX-WS, web hizmeti oluşturmak için Java standardıdır.

Apache CXF ve Apache Axis 2 , JAX-WS'nin iki uygulamasıdır. Ayrıca Restful hizmetleri oluşturabilmeniz için JAX-RS uygulamaları sunarlar.

CXF, Spring ve Camel ( camel-cxf ) ile daha iyi entegrasyona sahiptir . Ve Axis 2'nin aktif bir sürümü yok gibi görünüyor.


15

CXF ile buldum - Spring ile entegrasyon çok kolay. Ayrıca, aşağıdaki gibi çeşitli özellikler sağlar:

  1. Günlük Kaydı özelliklerinin özelleştirilmesi
  2. Gelen ve Giden engelleyici
  3. Uygulama Düzeyi güvenliği
  4. Özel Arıza kullanarak Kolay İstisna işleme.

Daha fazla ayrıntı için, isterseniz lütfen bu bağlantıya göz atın:

http://predic8.com/axis2-cxf-jax-ws-comparison.htm

http://www.ibm.com/developerworks/java/library/j-jws11/

Ve yukarıdaki bağlantıları okudum, bu benim için yararlı. Umarım senin için de işe yarar.

Teşekkürler !


3

Web Hizmeti organizasyonu bazı yönergeler ile ilgilidir, yani BP (Temel Profil) 1.0 ve BP (Temel Profil) 1.1. Kılavuza Dayalı Tüm Dil (Java / .Net) çalışanları Varsayılan uygulama ile Spesifikasyon yayınlar BP 1.0'daki java Base'de Spesifikasyon JAX-RPC ve 1.0 Spesifikasyonu JAX-WS'dir

JAX-WS Varsayılan uygulaması RI'dır (Referans Uygulama) Gereksinim / Tercihe dayalı uygulamayı değiştirebiliriz (RI / AXIS-2 / CXF)

Java 1.6'yı kullandığımızda, JDK'daki bu durum zaten mevcut olduğundan başka bir jar gerektirmez. Farklı bir uygulama kullanmak istiyorsanız, bu durum özel uygulama kavanozu gerektirir.

Axis-2 ve CXF, Apache'den gelir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.