>  기사  >  Java  >  JAVA 개발에 사용되는 여러 웹 서비스 프레임워크에 대해 자세히 알아보세요.

JAVA 개발에 사용되는 여러 웹 서비스 프레임워크에 대해 자세히 알아보세요.

烟雨青岚
烟雨青岚앞으로
2020-07-08 13:14:312758검색

JAVA 개발에 사용되는 여러 웹 서비스 프레임워크에 대해 자세히 알아보세요.

웹 서비스 개발 서비스에 대해 이야기할 때 현재 웹 서비스 개발에 사용되는 여러 프레임워크, 즉 Axis, axis2, Xfire, CXF 및 JWS(앞서 언급한 JAX-WS라고도 함, Java 6)를 소개해야 합니다. release 제공되는 웹 서비스 구현입니다. )

처음 몇 개는 모두 오픈 소스 프로젝트이며, 그 중 axis2와 cxf가 가장 일반적으로 사용됩니다. 현재 지속적인 기술 교체로 인해 Axis와 XFire는 서서히 종료되었습니다. axis2 및 cxf에만 공식 업데이트가 있으며 Axis 및 XFire는 더 이상 업데이트되지 않습니다.

다음은 모든 사람이 더 나은 선택을 할 수 있도록 이러한 프레임워크 간의 차이점을 소개합니다.

XFire는 Axis2와 병렬인 차세대 웹 서비스 플랫폼입니다.

1 일련의 새로운 웹 서비스 표준(JSR181, WSDL2.0, JAXB2, WS-Security 등)을 지원합니다.

2 Stax를 사용합니다. 성능이 향상됩니다. 품질이 향상됩니다. XFire는 Woodstox를 Stax 구현으로 사용합니다.

4. 기본 Aegis, xmlbeans, jaxb2, Castor를 포함한 유연한 바인딩 메커니즘; .

비교 성능 비교

XFire와 Axis2는 모두 차세대 WebService 플랫폼이지만 Axis2 개발자는 버전 1.0 출시를 너무 열망하므로 1.0은 아직 버전 1.1이 안정적이지 않다고 주장합니다. 곧 출시될 예정이며, 버전 1.1이 곧 출시되기를 바랍니다. 어떤 사람들은 XFire가 Apache에 기증된 후 Axis2가 죽을 것이라고 생각했습니다. 사실 많은 사람들의 눈에는 Axis2가 포조 형식이 아닙니다. Dan Diephouse는 XFire가 Axis보다 시장이 더 크다는 것을 증명했습니다.

또한 저를 포함하여 많은 사람들이 Axis에서 XFire로 전환하기 시작했다는 것을 알게 되었습니다. 내 주변 사람들이 XFire로 전환하도록 유도합니다. WebService를 개발할 때 우리 팀에게 XFire를 사용하여 몇 분 내에 자체 웹 서비스를 게시하도록 가르칠 수 있는 것이 일반적입니다.

저는 XFire가 Axis2보다 훨씬 단순한 것을 선호합니다.

AXIS VS CXF

SOA 분야에서 우리는 웹 서비스가 SOA 시스템의 구성 요소라고 믿습니다.

서비스 개발자라면 AXIS와 CXF가 익숙할 텐데요. 두 제품 모두 Apache Incubator의 웹 서비스 오픈 소스 개발 도구입니다.

이 기사가 게시되었을 때 Axis의 최신 버전은 1.4였습니다. 이제 CXF 버전은 3.0이 되었습니다.

이 두 프레임워크는 기존 오픈 소스 프로젝트에서 개발되었습니다.

Axis2는 Axis1.x 시리즈에서 개발되었습니다. CXF는 XFire와 Celtix 프로젝트의 결합 제품입니다. Axis2는 더 나은 확장성을 갖춘 새로운 모듈 아키텍처를 사용하여 상향식으로 완전히 다시 구현되었습니다. CXF는 또한 두 가지 개발 도구인 XFire와 Celtix를 다시 심화시킵니다. 두 프레임워크의 웹 서비스 개발 방식을 비교하는 것은 기능을 비교하는 것만큼 중요합니다.

개발자의 관점에서 두 프레임워크의 기능은 상당히 다릅니다.

Axis2의 개발 방법은 소규모 애플리케이션 서버와 유사합니다. Axis2의 개발 패키지는 Tomcat과 같은 서블릿 컨테이너에 WAR 형식으로 배포되어야 하며 이러한 컨테이너를 통해 작동하는 웹 서비스를 잘 모니터링할 수 있습니다. 관리.

Axis2의 웹 관리자 모듈을 사용하면 Axis2를 동적으로 구성할 수 있으며, 새로운 서비스를 업로드, 활성화, 비활성화할 수 있으며 웹 서비스의 매개변수를 수정할 수 있습니다.

관리 UI에서는 하나 이상의 실행 중인 서비스를 관리할 수도 있습니다. 이 인터페이스 기반 관리 방법의 한 가지 단점은 런타임 중에 수정된 모든 매개변수를 저장할 수 없다는 것입니다. 다시 시작한 후에는 모든 수정 사항이 무효화되기 때문입니다.

Axis2는 웹에 독립형 애플리케이션으로 게시할 수 있습니다. 서비스하며, 자체 아키텍처(모듈형 아키텍처)를 통해 지속적으로 새로운 기능을 추가할 수 있는 많은 기능과 좋은 모델을 제공합니다.

일부 개발자는 이 접근 방식이 요구 사항에 비해 너무 번거롭다고 생각하여 CXF를 선호합니다.

CXF는 개발자의 인체 공학적 특성과 내장 가능성에 더 많은 관심을 기울입니다.

대부분은 구성 API를 통해 완료할 수 있으며 더 번거로운 XML 구성 파일을 대체합니다. CXF는 Spring 2.0을 지원하며 CXF의 API는 Spring의 구성 파일과 매우 잘 일치합니다.

CXF는 코드 우선 설계를 강조하고 간단한 API를 사용하여 기존 애플리케이션에서 서비스를 개발하는 것이 편리합니다.

하지만 Axis2를 선택하든 CXF를 선택하든 오픈 소스 커뮤니티에서 많은 도움을 얻을 수 있습니다.

두 프레임워크 모두 서비스를 제공하는 상업 회사가 있고, WSO2는 AXIS2에 대한 지원을 제공하고, Iona는 CXF에 대한 지원을 제공합니다. 두 회사 모두 활발한 개발자 커뮤니티를 보유하고 있습니다.

다음은 이러한 웹 서비스 프레임워크의 기본 개념을 소개합니다.

1. JWS는 서비스를 개발하고 게시하는 데 사용되는 Java 언어로 WebService 서비스를 구현한 것입니다.

서비스 자체의 관점에서 보면 JWS 서비스에는 언어의 경계가 없습니다. 그러나 Java 언어는 Java 개발자에게 WebService 서비스를 게시하고 호출하는 편리한 방법을 제공합니다.

2. Axis2는 Apache 기반의 중량급 WebService 프레임워크입니다. 정확하게 말하면 WebService 프레임워크의 마스터입니다. WebService를 생성하고 게시할 수 있을 뿐만 아니라 Java 및 다른 언어 버전 WebService 클라이언트 및 서버 코드.

이것이 장점입니다. 그러나 이는 필연적으로 Axis2의 복잡성을 초래합니다. 이를 사용하는 개발자는 그것이 의존하는 패키지의 수와 크기가 엄청나다는 것을 알고 있습니다. 패키징, 배포 및 릴리스가 번거롭고 기존 응용 프로그램과 잘 통합될 수 없습니다. 하나로 통합되었습니다.

하지만 Java 이외의 언어로 클라이언트를 개발하려면 Axis2에서 제공하는 풍부한 도구가 최선의 선택이 될 것입니다.

3. XFire는 Java6 이전에는 Apache의 Axis2를 능가하는 고성능 WebService 프레임워크입니다. XFire의 장점은 개발이 쉽고, 기존 웹과 잘 통합되고, 개발될 수 있다는 것입니다. 또한 매우 편리합니다

하지만 Java 이외의 언어의 경우 관련 코딩 도구가 제공되지 않습니다. XFire는 나중에 Apache에 인수되었습니다. 인수 후 Java6 JWS가 등장하면서 오픈 소스 WebService 엔진은 더 이상 선호되지 않았고 점차 쇠퇴했습니다.

4. CXF는 ESB(Enterprise Service Bus)를 구현하는 Apache 기반의 무거운 SOA 단순 프레임워크입니다.

CXF는 XFire 프로젝트에서 비롯되었으며 현재의 Struts2가 WebWork에서 나온 것처럼 변환 후에 형성되었습니다.

XFire의 운명은 WebWork의 운명과 동일할 것이며 결국 사람들의 세상에서 사라질 것이라고 볼 수 있습니다. 시력. CXF는 뛰어난 웹 서비스/SOAP/WSDL 엔진일 뿐만 아니라 SOA 구현을 위한 옵션을 제공하는 우수한 ESB 버스이기도 합니다. 물론 SOA 아키텍처의 일부만 구현하는 것은 아닙니다.

참고: Axis2와 CXF의 관계와 관련하여 하나는 Axis2가 더 일찍 등장했고 CXF가 빠르게 따라잡았다는 것입니다.

선택 방법:

1. 애플리케이션에 다중 언어 지원이 필요한 경우 Axis2가 가장 먼저 선택되어야 합니다.

2 애플리케이션이 Spring 철학을 따르는 경우 특히 임베디드의 경우 더 나은 선택입니다. 웹 서비스

3. 애플리케이션에 새로운 기능이 필요하지 않은 경우에도 Axis1, XFire, Celtrix 또는 BEA 등과 같은 원래 프로젝트에서 사용하는 프레임워크를 사용할 수 있습니다. 사람과 돈을 낭비합니다.

마지막으로 제 제안은: 다국어 지원이 필요하다면 AXIS2를 선택하세요.

구현을 JAVA에 집중해야 하고 Spring과 통합하려는 경우, 특히 웹 서비스를 다른 프로그램에 포함하려면 CXF가 더 나은 선택입니다.

이 두 프레임워크의 새로운 기능이 별로 유용하지 않다고 생각된다면 Axis1을 교체할 타당한 이유가 생길 때까지 계속 사용하는 것이 좋습니다.

읽어주신 모든 분들께 감사드리며, 많은 혜택 받으시길 바랍니다.

이 기사는 다음에서 복제되었습니다: https://blog.csdn.net/apicescn/article/details/42965785

추천 튜토리얼: "java tutorial"

위 내용은 JAVA 개발에 사용되는 여러 웹 서비스 프레임워크에 대해 자세히 알아보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제