Câu hỏi Khung nào tốt hơn CXF hoặc Spring-WS?


Tôi đang trong quá trình nghiên cứu / so sánh CXF và Spring-WS cho các dịch vụ web? Tôi cần phải hoạt động như một nhà cung cấp và một người tiêu dùng của WS. Tóm lại, tôi đã được thông báo rằng Spring-WS có thể cấu hình nhiều hơn, nhưng CXF dễ dàng hơn trong việc thiết lập và chạy. Câu hỏi này là chủ quan, nhưng sẽ giúp hướng dẫn tôi trong nghiên cứu của tôi.

  • Bạn có kinh nghiệm gì với một trong các khung công tác này?
  • Bạn đã gặp phải bất kỳ cạm bẫy nào với một trong hai khuôn khổ?
  • Bạn đã tìm thấy bất kỳ tính năng hữu ích nào được cung cấp bởi một trong hai tính năng đó có thể không do người khác cung cấp?

76
2017-11-17 21:37


gốc




Các câu trả lời:


Tôi nghĩ sự khác biệt lớn nhất là Spring-WS là chỉ có 'hợp đồng-đầu tiên' trong khi tôi tin rằng CXF thường là 'hợp đồng cuối cùng'.

http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html

Bắt đầu hợp đồng cuối cùng với mã Java, vì vậy thường dễ dàng hơn để bắt đầu.

Tuy nhiên, WSDL nó tạo ra có xu hướng mỏng manh hơn.


21
2017-11-17 21:45



JAX-WS hỗ trợ phương pháp tiếp cận hợp đồng đầu tiên, đó là cách mọi người thực hiện những phát triển nghiêm túc đang sử dụng nó, tôi tin. Vì vậy, đó chắc chắn không phải là cách tốt để phân biệt các ngăn xếp JAX-WS và Spring WS. Trên thực tế, Spring WS không so sánh với JAX-WS, Spring WS chỉ là một ngăn xếp WS tối giản. - Pascal Thivent


Giới thiệu về Apache CXF:

  • CXF hỗ trợ một số tiêu chuẩn bao gồm SOAP, Cấu hình cơ bản WSI, WSDL, WS-Addressing, WS-Chính sách, WS-TrustedMessaging, WS-Security, WS-SecurityPolicy và WS-SecureConversation.
  • Apache CXF cung cấp cả hai cách tiếp cận hợp đồng cuối cùng (bắt đầu với Java) và hợp đồng đầu tiên (bắt đầu với WSDL).
  • Apache CXF triển khai JAX-WS và JAX-RS.

Giới thiệu về Spring WS:

  • Spring WS cung cấp "chỉ" hợp đồng đầu tiên, bắt đầu từ một lược đồ XSD.
  • Spring WS hỗ trợ SOAP, WS-Security, WS-Addressing.

Vì vậy, cuối cùng, tôi thấy Spring WS là một tối thiểu khung dịch vụ web nhưng xem xét rằng nó không (theo ý kiến ​​của tôi) có bất kỳ lợi thế nào so với Apache CXF (tích hợp rất tốt với Spring). Giữa cả hai, tôi sẽ nhận Apache CXF.


72
2017-07-03 17:04





CXF không, theo bất kỳ cách nào, ngăn cản bạn bắt đầu với một hợp đồng (WSDL). Tôi đã sử dụng cả hai sản phẩm này để xây dựng một dịch vụ web.

Trong CXF, tôi đã sử dụng Maven và plugin Maven, gọi wsimport mục tiêu để tạo ra SEI (giao diện) mà tôi sau đó thực hiện. Sau khi triển khai thực hiện giao diện để chứa logic dịch vụ thực tế và cấu hình việc triển khai bean của tôi beans.xml, Sau đó để Maven gói nó vào một tập tin chiến tranh để triển khai. Toàn bộ bài tập không thể dễ dàng hơn.

Tôi không nghĩ Spring-WS cung cấp bất kỳ lợi thế nào lớn hơn việc thiếu JAX-WS. CXF đã cho phép bạn sử dụng Spring để kết nối các bean của bạn và cũng có thực hiện đầy đủ các JAX-WS.


33
2017-12-04 16:48





Chúng tôi có một kinh nghiệm với CXF và đó là người tiền nhiệm XFire và tôi có thể đề xuất nó như một khung công tác vững chắc, nhanh chóng (tạo và thực thi WS) và khung đáng tin cậy.

Về các vấn đề mà bạn có thể gặp với CXF, hãy xem bài đăng của tôi https://stackoverflow.com/questions/289977/recommended-framework-for-java-web-services#290205 Và tôi đồng ý với bộ công cụ, sự khác biệt lớn nhất giữa các khung là ý thức hệ: mã đầu tiên (tức là giao diện) hoặc hợp đồng (tức là wsdl). Xem một số chi tiết tại đây:


12
2017-11-18 06:10





Apache CXF:

Các điểm chính:

❶ Tiêu chuẩn dịch vụ web được sử dụng rộng rãi nhất hiện nay; Cải tiến hơn AXIS2, hiện đang dần được thay thế bằng Apache CXF

❷ Trực quan và dễ sử dụng (yêu cầu ít mã hóa hơn so với AXIS2)

❸ Tách sạch các giao diện người dùng, như JAX-WS, từ mã lõi

❹ Tuân thủ hoàn toàn với JAX-WS, JAX-RS và những người khác

❺ Hiệu suất tốt nhất trên tất cả các khuôn khổ có sẵn với chi phí tính toán tối thiểu

❻ Hỗ trợ nhiều kiểu front-end khác nhau

❼ Hỗ trợ cả JAX-WS và JAX-RS (đối với các dịch vụ an toàn)

❽ Hỗ trợ JBI & SDO (không được hỗ trợ trong AXIS2)

❾ Tương thích với Spring Framework

Mối quan tâm chính:

❶ Chưa hỗ trợ Giao dịch dàn nhạc và giao dịch WS

❷ Chưa hỗ trợ WSDL 2.0

Spring WS:

Các điểm chính:

❶ Tốt nhất trong việc hỗ trợ Phương pháp tiếp cận phát triển dịch vụ Web hợp đồng đầu tiên

❷ Các tiêu chuẩn thực hành và thực tiễn tốt nhất theo các ràng buộc khung (không có cách nào thoát khỏi nó và do đó cũng hạn chế)

❸ Hỗ trợ chú thích mùa xuân cũng như JAX-WS

❹ Mã ít nhất từ ​​quan điểm của nhà phát triển

❺ Được sắp xếp tốt nhất với Spring Technology Stack (cũng giống như kiến ​​trúc tương tự như Spring MVC) bao gồm Spring Security

Mối quan tâm chính:

Supported Hỗ trợ các thông số kỹ thuật WS- * ít nhất (không hoàn toàn tương thích với JAX-WS)

❷ Spring cung cấp chính nó như là khung tiêu chuẩn và do đó các khung tương thích Java khác hỗ trợ các tiêu chuẩn hỗ trợ tốt hơn

❸ Chỉ hỗ trợ Mô hình phát triển dịch vụ Web hợp đồng đầu tiên

Nguồn: https://dzone.com/articles/apache-cxf-vs-apache-axis-vs


6
2017-08-05 15:05



Nên được đề cập đến câu trả lời đến từ đây: dzone.com/articles/apache-cxf-vs-apache-axis-vs - franta kocourek
Re nhấn mạnh cùng một điểm. Vui lòng trích dẫn nguồn gốc. - Espresso


Một tùy chọn khác để xem xét trong so sánh này là Enunciate.

Đặc biệt là nếu bạn muốn bắt đầu với Java trước.


1
2017-11-05 13:10





Vui lòng xem một bài đăng có liên quan tại: Xây dựng một dịch vụ web với Spring-WS


0
2017-09-30 04:17