문제

Apache 축을 통해 Apache CXF를 사용하는 장점은 무엇입니까?

도움이 되었습니까?

해결책

명심하십시오. 나는 완전히 편향되어 있습니다 (CXF의 PMC 의장). 그러나 내 생각은 다음과 같습니다.

엄밀히 "프로젝트가 내가해야 할 일을 할 수 있습니까?"관점은 둘 다 매우 동등합니다. CXF가 Axis 2가 할 수없는 "에지 케이스"가 그 반대도 마찬가지입니다. 그러나 사용 사례의 90%에 대해서는 잘 작동합니다.

따라서 "확인란 기능"이외의 다른 것들에 귀결됩니다.

  • API -CXF는 "표준 기반"API (JAX -WS Compliant)를 푸시하는 반면 Axis2 General은 독점적 인 것들로갑니다. 즉, CXF조차도 JAX-WS 사양 이외의 다양한 사항을 구성/제어하기 위해 독점 API를 사용해야 할 수도 있습니다. REST의 경우 CXF는 독점적 인 것 대신 표준 API (JAX-RS Compliant)를 사용합니다. (예, Axis2의 JAX-WS 런타임을 알고 있지만 툴링 및 문서 및 모든 것이 타겟팅되지 않습니다).

  • 커뮤니티 측면 및 지원 가능성 -CXF는 문제에 대응하고 사용자가 "고정 팩"을 사용할 수 있도록 자랑스럽게 생각합니다. CXF는 2.0.x (2 년 전 2 개월마다 릴리스), 6 개의 Fixpacks에서 2.1.x, 현재 2.2.x의 경우 12 개의 Fixpacks를 수행했습니다. Axis2는 실제로 이전 버전을 "지원"하지 않습니다. "중요한"문제가 발생하지 않는 한, 다음 큰 릴리스 (평균 9-10 개월마다 평균 9-10 개월마다)까지 기다려야 할 수도 있습니다. (어느 쪽이든, 당신은 소스 코드를 잡고 패치/수정을 할 수 있습니다. 오픈 소스를 좋아해야합니다.)

  • 통합 -CXF는 스프링을 사용하는 경우 훨씬 더 나은 스프링 통합이 있습니다. 모든 구성 및 그러한 구성은 스프링을 통해 이루어집니다. 또한 사람들은 CXF를 다른 응용 프로그램으로 더 "임베드 가능"(이 관점에서 Axis2를 본 적이 없음)으로 간주하는 경향이 있습니다. 그와 같은 것이 당신에게 중요한지 확실하지 않습니다.

  • 성능 - 둘 다 매우 잘 수행합니다. Axis2의 독점 ADB 데이터베이닝은 CXF보다 약간 빠르지 만 JAXB (표준 기반 API)를 사용하는 경우 CXF가 조금 더 빠릅니다. WS-Security와 같은보다 복잡한 시나리오를 사용하는 경우 기본 보안 "엔진"(WSS4J)은 모두 동일하므로 성능이 완전히 비슷합니다.

그것이 질문에 전혀 답을 얻는 지 확실하지 않습니다. 적어도 정보를 제공하기를 바랍니다.

:-)

다른 팁

  • axis2: 시장에서 더 유비쿼터스, 더 많은 바인딩을 지원하며 C/C ++와 같은 다른 언어를 지원합니다.
  • CXF: 사용하기가 훨씬 쉽고 봄 친화적이며 더 빠르게 WS-* 확장을 지원했습니다.

한 가지 더 중요한 것은 커뮤니티의 활동입니다. 축 및 CXF (2013)의 메일 링리스트 트래픽을 비교하십시오.

따라서 이것이 사용의 표시기라면 축은 CXF보다 훨씬 덜 사용됩니다.

Ohloh에서 CXF 및 Axis 통계를 비교하십시오. CXF는 활동이 매우 높지만 Axis는 전체적으로 활동이 적습니다.

이것은 CXF (빨간색) 및 Axis1 (녹색) Axis2 (파란색)의 시간에 따른 커밋 수에 대한 차트입니다.enter image description here

CXF의 장점 :

  1. CXF는 WS-addressing, WS-Policy, WS-RM, WS-Security 및 WS-I BasicProfile을 지원합니다.
  2. CXF는 JAX-WS API (JAX-WS 2.0 TCK에 따라)를 구현합니다.
  3. CXF는 Spring 및 기타 프레임 워크와 더 나은 통합을 제공합니다.
  4. CXF는 인터셉터 전략 측면에서 확장 성이 높습니다.
  5. CXF는 번거로운 XML 파일 대신 API를 통해 더 구성 가능한 기능을 가지고 있습니다.
  6. CXF에는 바인딩이 있습니다. SOAP, REST/HTTP 및 데이터 바인딩에는 JAXB 2.0, AEGIS가 기본적으로 JAXB 2.0 및 더 가까운 Java 표준 사양을 사용합니다.
  7. CXF는 풍부한 툴킷, 예를 들어 Java to WSDL, WSDL에서 Java, XSD에서 WSDL에서 WSDL에서 XML에서 wsdl에서 wsdl to soap, wsdl to 서비스를 제공합니다.

Axis2의 장점 :

  1. Axis2는 또한 WS-RM, WS-SECURITY 및 WS-I BASICPROFILE을 지원합니다.
  2. Axis는 선택에 대한 데이터 바인딩에 대한 더 많은 옵션이 있습니다.
  3. Axis2는 C/C ++ 버전 및 Java 버전을 포함한 여러 언어를 지원합니다.
  4. AXIS2는 XMLBeans, JIBX, JAXME 및 JAXBRI를 포함한 더 넓은 범위의 데이터 바인딩 및 자체 기본 데이터 바인딩 인 ADB를 지원합니다. CXF보다 더 긴 역사.

요약해서 말하자면: 위의 유리한 항목에서 Axis2와 CXF를 자신의 장점으로 비교할 수있는 좋은 생각을 가져옵니다. 그들은 모두 특정 분야에서 잘 발달 된 영역을 가지고 있으며, CXF는 매우 구성 가능하고 통합 가능하며 풍부한 도구 키트가 지원되고 Java 커뮤니티와 가까운 곳을 보유하고 있으며 Axis2는 여러 가지 방법으로 소형으로 애플리케이션 서버와 유사하게 접근했습니다. 여러 프로그래밍 언어에 걸쳐 있습니다. Axis2는 독립성으로 인해 다른 응용 프로그램과 무관하게 독립적 인 웹 서비스에 적합하며 다양한 기능을 제공합니다.

개발자로서, 우리는 올바른 것을 선택하기 위해 우리의 관점, 어떤 프레임 워크를 선택하든 적극적이고 안정적인 오픈 소스 커뮤니티의 이점을 얻을 수 있도록해야합니다. 성능 측면에서 동일한 기능을 기반으로 테스트를 수행하고 동일한 웹 컨테이너에서 구성했으며 결과는 CXF가 Axis2보다 조금 더 잘 수행되었음을 보여줍니다. 단일 케이스는 기능과 성능을 정확하게 반영하지 않을 수 있습니다.

일부 연구 기사에서는 Axis2의 독점 ADB 데이터 바인딩이 추가 기능 (WS-Security)이 없기 때문에 CXF보다 약간 빠릅니다. Apache Axis2는 비교적 가장 많이 사용되는 프레임 워크이지만 Apache CXF는 개발의 용이성, 현재 업계 트렌드, 성능, 전체 스코어 카드 및 기타 기능을 고려하여 다른 웹 서비스 프레임 워크보다 스코어링됩니다 (웹 서비스 오케스트레이션 지원이 필요하지 않은 한, 여기에 필요하지 않은 경우. )

내 경험에 따라 CXF는 스프링 환경으로 구성하는 측면에서 좋습니다. 또한 생성 된 클래스는 이해하기 간단합니다. 그리고 더 활동적이므로 축 또는 축 2와 비교하여 더 나은 지원을받습니다.

CXF의 또 다른 장점 : 상자에서 NTLMV2 인증을 사용하여 웹 서버에 연결합니다. (Windows 2008 & Up에서 사용) CXF를 사용하기 전에 axis2를 해킹하여 httpclient v4 + jcifs를 사용하여이를 가능하게했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top