Câu trả lời:
Hãy nhớ rằng, tôi hoàn toàn thiên vị (Chủ tịch PMC của CXF), nhưng suy nghĩ của tôi:
Từ quan điểm "dự án có thể làm những gì tôi cần làm", cả hai đều tương đương nhau. Có một số "trường hợp cạnh" mà CXF có thể làm mà Trục 2 không thể và ngược lại. Nhưng đối với 90% các trường hợp sử dụng, một trong hai sẽ hoạt động tốt.
Vì vậy, nó đi xuống một loạt các thứ khác ngoài "tính năng hộp kiểm".
API - CXF đẩy API "dựa trên tiêu chuẩn" (tuân thủ JAX-WS) trong khi chung về trục 2 hướng tới những thứ độc quyền. Điều đó nói rằng, thậm chí CXF có thể yêu cầu sử dụng API độc quyền để định cấu hình / kiểm soát nhiều thứ khác nhau ngoài thông số JAX-WS. Đối với REST, CXF cũng sử dụng API tiêu chuẩn (tuân thủ JAX-RS) thay vì những thứ độc quyền. (Có, tôi biết về thời gian chạy JAX-WS trong Axis2, nhưng công cụ và tài liệu và mọi thứ không nhắm mục tiêu nó)
Các khía cạnh cộng đồng và khả năng hỗ trợ - CXF tự hào về việc phản hồi các vấn đề và cung cấp "gói sửa lỗi" cho người dùng. CXF đã thực hiện 12 gói sửa lỗi cho 2.0.x (được phát hành hai năm trước, cứ sau khoảng 2 tháng), 6 gói sửa lỗi thành 2.1.x và bây giờ là 3 cho 2.2.x. Axis2 không thực sự "hỗ trợ" các phiên bản cũ hơn. Trừ khi có sự cố "nghiêm trọng" xảy ra, bạn có thể phải đợi đến phiên bản lớn tiếp theo (chúng trung bình cứ sau khoảng 9-10 tháng hoặc lâu hơn) để có bản sửa lỗi. (mặc dù, với một trong hai, bạn có thể lấy mã nguồn và tự sửa / sửa lỗi. Phải yêu nguồn mở.)
Tích hợp - CXF có tích hợp Spring tốt hơn nhiều nếu bạn sử dụng Spring. Tất cả các cấu hình và như vậy được thực hiện thông qua Spring. Ngoài ra, mọi người có xu hướng coi CXF là "có thể nhúng" hơn (tôi chưa bao giờ nhìn vào Trục 2 từ góc độ này) vào các ứng dụng khác. Không chắc chắn nếu những điều như vậy quan trọng với bạn.
Hiệu suất - cả hai đều thực hiện rất tốt. Tôi nghĩ rằng cơ sở dữ liệu ADB độc quyền của Axis2 nhanh hơn một chút so với CXF, nhưng nếu bạn sử dụng JAXB (API dựa trên tiêu chuẩn một lần nữa), CXF sẽ nhanh hơn một chút. Khi sử dụng các kịch bản phức tạp hơn như WS-Security, "công cụ" bảo mật cơ bản (WSS4J) là giống nhau cho cả hai vì vậy hiệu suất hoàn toàn có thể so sánh được.
Không chắc chắn nếu điều đó trả lời câu hỏi ở tất cả. Hy vọng nó ít nhất cung cấp một số thông tin.
:-)
Dân
Một điều nữa là hoạt động của cộng đồng. So sánh lưu lượng danh sách gửi thư cho trục và cxf (2013).
Vì vậy, nếu đây là bất kỳ chỉ số sử dụng thì trục được sử dụng ít hơn nhiều so với cxf.
So sánh thống kê CXF và Trục tại ohloh . CXF có hoạt động rất cao trong khi Trục có hoạt động tổng thể thấp.
Đây là biểu đồ cho số lần xác nhận theo thời gian cho CXF (màu đỏ) và Trục1 (màu xanh lá cây) Trục2 (màu xanh).
Ưu điểm của CXF:
Ưu điểm của Axis2:
Tóm lại: Từ các mục lợi thế trên, nó đưa chúng ta đến một suy nghĩ tốt để so sánh Axis2 và CXF về giá trị riêng của chúng. tất cả chúng đều có các khu vực phát triển tốt khác nhau trong một lĩnh vực nhất định, CXF rất có thể định cấu hình, có thể tích hợp và có bộ công cụ phong phú được hỗ trợ và gần với cộng đồng Java, Axis2 đã thực hiện một cách tiếp cận giống như một máy chủ ứng dụng thu nhỏ. nó là trên nhiều ngôn ngữ lập trình. bởi vì tính độc lập của nó, Axis2 cho vay các dịch vụ web độc lập, độc lập với các ứng dụng khác và cung cấp nhiều chức năng.
Là một nhà phát triển, chúng tôi cần phải phù hợp với quan điểm của chúng tôi để chọn đúng, bất kỳ khung nào bạn chọn, bạn sẽ có lợi ích của một cộng đồng nguồn mở ổn định và tích cực. Về hiệu suất, tôi đã thực hiện một thử nghiệm dựa trên cùng chức năng và được định cấu hình trong cùng một bộ chứa web, kết quả cho thấy CXF hoạt động tốt hơn một chút so với Axis2, trường hợp đơn lẻ có thể không phản ánh chính xác khả năng và hiệu suất của chúng.
Trong một số bài viết nghiên cứu, nó tiết lộ rằng cơ sở dữ liệu ADB độc quyền của Axis2 nhanh hơn một chút so với CXF vì nó không có tính năng bổ sung (WS-Security). Apache AXIS2 là khung tương đối được sử dụng nhiều nhất nhưng Apache CXF so với Khung dịch vụ web khác so với việc dễ dàng phát triển, xu hướng hiện tại, hiệu suất, thẻ điểm tổng thể và các tính năng khác (trừ khi có hỗ trợ phối hợp dịch vụ web là không cần thiết ở đây )
Một ưu điểm khác của CXF: nó kết nối với các máy chủ web bằng cách sử dụng xác thực NTLMV2. (được sử dụng bởi Windows 2008 trở lên) Trước khi sử dụng CXF, tôi đã hack Axis2 để sử dụng HTTPClient V4 + JCIFS để thực hiện điều này.