가이드라인: Servlet 식별
이 가이드라인은 J2EE 응용프로그램의 Servlet을 식별하고 모델링하는 방법에 대해 설명합니다.
관계
관련 요소
기본 설명

소개

이 가이드라인은 Servlet 식별에 초점을 둡니다. Servlet에 대한 추가 안내는 가이드라인: Servlet에서 제공됩니다.

Servlet 식별

Servlet은 웹 기반 클라이언트와 상호 작용하는 서버 클래스입니다. 기본적으로 웹 아키텍처의 제어 클래스(가이드라인: 분석 클래스 참조)에서 식별됩니다. 프리젠테이션 목적으로 웹 페이지를 생성하는 데 사용될 수 있지만, 일반적으로 JSP에 더 적합합니다(가이드라인: JSP(JavaServer Page) 참조). 또한 개념: J2EE 배치 구성에서 설명한 대로 웹 중심 배치 구성에서와 같이 데이터베이스와 상호작용하기 위해 사용될 수 있습니다. 또한 J2EE 1.4부터는 JAX-RPC 스펙에 정의된 대로 Servlet을 사용하여 웹 서비스를 구현할 수 있습니다.

그러나 EJB에서 제공하는 기능이 필요한 응용프로그램 또는 중요한 비즈니스 로직이 있는 응용프로그램의 경우, 다중 층 배치 구성(개념: J2EE 배치 구성)이 보다 적합합니다. 이 경우, servlet은 보통 프리젠테이션 로직을 조정하기 위해 사용되며 EJB에서 제공하는 비즈니스 로직 및 데이터에 브릿지를 제공합니다.

servlet은 보통 전면 제어기로서 사용됩니다. 전면 제어기는 응용프로그램에 대한 단일 시작점을 제공하므로, 보안, 응용프로그램 상태 및 프리젠테이션을 단일화하고 유지보수하기 쉽게 합니다. 전면 제어기는 사용자 요청을 승인하고 요청을 처리하며 요청 전달을 위한 적절한 프리젠테이션 컴포넌트를 판별합니다. 세부사항은 Core J2EE 디자인 패턴 - 전면 제어기([ALU01])를 참조하십시오.

디자인에 유사한 제어 코드를 포함한 많은 수의 JSP가 있는 경우, 한 곳에서 이 로직을 통합하기 위해 servlet을 도입하는 것을 고려하십시오.

Servlet 모델링

Servlet은 RUP에 중간 산출물: 디자인 클래스로 표시되므로, 클래스로 모델링됩니다. HTTP 요청을 처리하는 Servlet은 <<HTTPServlet>>으로 스테레오타입됩니다. 기타 프로토콜을 처리하는 Servlet에는 <<GenericServlet>> 스테레오타입이 지정됩니다.

모든 servlet은 동일한 인터페이스를 제공하고, 요청을 서비스하며 표준 클라이언트, 세션 및 servlet 컨텍스트 정보를 제공하는 단일 오퍼레이션을 제공하는 것으로 생각될 수 있습니다. 그러므로 servlet을 모델링하는 것은 인터페이스 오퍼레이션을 정의하는 것과 관련되지 않지만, 클라이언트, JSP, 헬퍼 클래스, EJB 등과 같은 기타 디자인 요소와 상호 작용하는 방식과 관련 책임을 정의하는 것과 관련됩니다.

웹 서비스 종료점

이전에 표시된 것처럼, servlet은 웹 서비스를 구현하는 데 사용되며 다음 요구사항을 위해 필요합니다.

  • 기본 공용 생성자가 있어야 합니다.
  • 서비스 엔드포인트 인터페이스에서 선언된 모든 메소드를 구현하고 관련 비즈니스 메소드가 public이어야 하며 final 또는 static이면 안됩니다.
  • stateless이어야 합니다.
  • 클래스가 public이어야 하지만, final 또는 abstract이면 안됩니다.