가이드라인: Servlet 식별
주제
소개
이 가이드라인은 Servlet 식별에 초점을 둡니다. Servlet에 대한 추가 가이드가
가이드라인: Servlet에서 제공됩니다.
Servlet 식별
Servlet은 웹 기반 클라이언트와 상호 작용하는 서버 클래스입니다. 기본적으로 웹 구조의 제어 클래스(가이드라인:
클래스 분석 참조)에서 식별됩니다. 프리젠테이션 목적으로 웹 페이지를 생성하는 데
사용될 수 있지만, 보통 JSP에 더 적합합니다(가이드라인:
JavaServer 페이지 참조). 또한 개념:
J2EE 전개 형상에서 설명한 대로 웹 중심 전개 형상에서와 같이 데이터베이스와 상호 작용하기 위해
사용될 수 있습니다. 그리고 J2EE 1.4 이후에,
servlet은 JAX-RPC 스펙에 정의된 대로
웹 서비스를 구현하기 위해 사용될 수도 있습니다.
그러나 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가 아니어야 합니다.
|