개념: J2EE용 웹 서비스
이 가이드라인은 J2EE 웹 서비스에 대한 개요를 제공합니다.
관계
기본 설명

J2EE 웹 서비스 개념

웹 서비스는 세 가지 기본 요소인 서비스 레지스트리, 서비스 제공자 및 서비스 요청자를 포함하는 아키텍처에 따라 구성됩니다. 그림 1은 이러한 각 요소 간의 기본 관계를 보여줍니다.

웹 서비스 아키텍처
그림 1: - 웹 서비스 아키텍처

서비스 제공자는 WSDL(Web Services Description Language)을 사용하여 추상 서비스 설명 문서를 통해 서비스 인터페이스를 정의함으로써 시작됩니다. 이 추상 설명은 전송 및 인코딩 바인딩과 연관되며 또한 구체적인 서비스 설명의 주소와 연관되어 서비스 엔드포인트 또는 포트라고도 하는 구체적 서비스 인스턴스를 정의합니다. 그런 다음 이 구체적 설명은 서비스 요청자가 액세스할 UDDI(Universal Description, Discovery and Integration)와 같은 서비스 레지스트리에 공개될 수 있습니다. 서비스 요청자는 이 설명을 사용하여 웹 서비스에 대한 구체적 서비스 구현을 선택 및 사용합니다.

J2EE 웹 서비스는 컨테이너에서 작동되는 포트 세트에 있습니다. 이 컨테이너는 서비스에 대한 액세스를 조정하고 런타임 환경을 제공합니다.

웹 서비스의 클라이언트는 다른 웹 서비스, J2EE 컴포넌트 또는 임의의 Java 응용프로그램일 수 있습니다. 비Java 또는 비웹 응용프로그램도 웹 서비스를 사용할 수 있습니다.

웹 서비스 클라이언트 보기

웹 서비스 클라이언트 보기는 포트 제공자(서비스 제공자) 및 컨테이너가 제공합니다. 아래 그림 2(회색)와 같이 클라이언트 보기는 서비스 인터페이스 및 서비스 엔드포인트 인터페이스로 구성됩니다.

웹 서비스 클라이언트 보기
그림 2: - 웹 서비스 클라이언트 보기

클라이언트는 JNDI API를 사용하여 서비스 인터페이스를 찾음으로써 웹 서비스의 포트에 액세스합니다. 클라이언트는 서비스 인터페이스를 통해 포트에 액세스하기 위해 사용할 메소드를 발견하고 서비스 종료점 인터페이스를 사용하여 웹 서비스 구현에 액세스합니다. 클라이언트 보기에서 포트는 Stateless 오브젝트로 간주됩니다.

서비스 및 서비스 엔드포인트 인터페이스는 JAX-RPC 스펙으로 정의됩니다. 서비스 인터페이스 동작은 웹 서비스 제공자가 제공하는 WSDL 서비스 설명 문서로 정의됩니다.

웹 서비스 서버 보기

웹 서비스의 서버 보기는 서비스의 비즈니스 로직 구현을 처리합니다. J2EE 1.4에 정의되어 있는 대로 웹 서비스 엔드포인트는 다음 중 한 가지 방법을 사용하여 구현할 수 있습니다.

  • JSR 109EJB 2.1 스펙에 지정된 대로 Stateless 세션 Bean 사용
  • JAX-RPC에 지정된 대로 Servlet 사용

이 두 가지 접근 방식에 대한 자세한 정보는 가이드라인: 세션 Bean 식별(세션 Bean 기반 종료점) 및 가이드라인: Servlet 식별(Servlet 기반 종료점)을 참조하십시오.

참조

이 페이지에 대한 기본 참조는  J2EE(JSR 109) 스펙용 웹 서비스입니다.