Catalina Functional Specifications

아파치 톰캣 7

Version 7.0.28-dev, Oct 2 2013
Apache Logo

Links

Administrative Apps

Internal Servlets

Realm Implementations

Administrative Apps - Overall Requirements

Table of Contents
Overview
소개

이 명세서의 목적은 실행되고 있는 톰캣 컨테이너의 운영에 사용되는 관리 어플리케이션들을 위한 높은 수준의 요구사항을 정의하기 위함입니다. 다양한 변화 요구 사항을 충족하도록 하는 관리 기능을 제공하는 다양한 엑세스 메소드들이 제공됩니다:

  • 스크립트적 웹 어플리케이션 - 존재하는 관리(Manager) 웹 어플리케이션은 커멘드를 이용한 톰캣을 관리하기 위한 단순 HTTP 베이스 인터페이스를 제공합니다. 이것은 오직 요청 URI를 통해서만 표현됩니다. 이 방법은 HTTP 트랜젝션을 생성할 수 있는 툴과 함께 스크립트 관리적 커멘드를 원하는 환경에서 유용합니다.
  • HTML 기반 웹 어플리케이션 - 관리 기능과의 연동을 위한 HTML로 표현된 사람 중심의 GUI 사용자 인터페이스를 제공합니다.
  • SOAP 기반 웹 서비스 - 톰캣을 관리하기 위한 운영 커멘드들이 SOAP 메세지 규격을 이용한 웹 서비스를 활용 가능하게 만들어져 있습니다.
  • Java Management Extensions (JMX) 커멘드 - 톰캣을 관리하기 위한 운영 커멘드들이 관리 콘솔과 통합하기 위해 JMX API를 활용 가능하도록 만들어져 있습니다.
  • 외부 리모트 엑세스 APIs - JINI, RMI 그리고 COBBA와 같은 외부 리모트 엑세스 APIs도 관리 기능에 엑세스 하는데 활용될 수 있습니다.

위에서 설명한 모든 엑세스 메소드들 바탕에는 실제 작업이 해당 Catalina 컴포넌트들 (마치 새로운 웹 어플리케이션을 디플로이하기 위해 Deployer.deploy()를 호출하는 것처럼), 또는 모든 엑세스 메소드를 공유하는 "비지니스 로직" 레이어을 직접 수행하는 것으로 간주합니다. 이 접근법은 새로운 관리 기능을 추가로 더하는 비용을 최소로 합니다 -- 이것은 오직 부합하는 비지니스 로직 기능을 추가하기 위해서만 필요합니다. 그리고 나서 모든 엑세스 메소드들의 어뎁터들을 작성합니다.

이 기능들의 현재 상태는 PROPOSED입니다. 이것은 아직 토의되지 않았으며 TOMCAT_DEV 메일 리스트에서 동의되었습니다.

외부 조건

이 기능의 구현은 아래와 같은 외부 조건에 따라 달라집니다:

구현 요구사항

이 기능의 구현은 아래와 같은 요구사항을 반드시 따라야합니다:

  • 최대실행범위까지, 모든 관리상 기능들과 그것을 지원하는 엑세스 메소드들은 톰캣 자체의 실행되는 모든 플랫폼에서 편리하게 실행되어야 합니다.
  • 기본톰캣배포판에서 모든 관리상 특성들은 비활성화되어야 합니다.이것은 시스템 관리자가 요구되는 엑세스 메소드들 (예를 들어 톰캣의 사용자 데이타베이스에 특정 역할의 username/password를 추가)을 특정적으로 활성화시키기 위해 필수적입다.
  • 관리적 기능들은 Catalina API 또는 그것을 시작하는데 사용되는 엑서스 메소드의 독립적인 비지니스 로직을 통한 직접적인 호출을 위해 분명하게 파악되어야 합니다
  • 공통적인 비지니스로직 컴포넌트들은 org.apache.catalina.admin 패키지내에서 구현해야 합니다.
  • 공통적인 비지니스로직 컴포넌트들은 기준 Catalina 빌드 프로세스의 부분으로서 빌드되어야 하며, Catalina 클래스 로더에서 보여져야 합니다.
  • 각 엑세스 메소드를 위한 자바컴포넌트들은 org.apache.catalina.admin의 하위 패키지에 요구되어집니다.
  • 빌드 스크립트들은 해당 필요한 API를 빌드시간에 존재하는 경우에만 구축되도록 옵션으로 각각의 접근방법을 취급합니다.
  • 실행중인 톰캣 컨테이너가 중지되고 재시작될때 재현될 설정상태를 저장할 수 있어야 합니다.
  • 전체적인 톰캣 컨테이너의 실행과 중지 관련 관리적 명령어들은 이 어플리케이션들의 목적의 범위를 벗어납니다(out of scope). 다른(보통 플랫폼 종속적인) 매커니즘들은 컨테이너의 실행과 중지를 위해 사용됨이 당연합니다.
의존관계
환경적 의존

아래와 같은 환경적 의존성은 관리적 어플리케이션을 정확히 다루기 위해 순서에 따라 마주해야만 합니다:

  • 서버 소켓의 생성에 필요한 엑세스 메소드들을 위한 적절한 port들이 설정되고 가능해야 합니다.
컨테이너 의존

관리적 어플리케이션의 정확한 실행은 아래와 같은 주변 컨테이너의 특징에 의존합니다:

  • Catalina 컴포넌트들은 컨테이너의 재시작이 필요없이 설정을 바꿀수 있는 실행("live")중 변경할 수 있는 최대 범위의 직접적인 관리 API과 property setter를 지원합니다.
외부 기술

아래와 같은 기술은 다양한 엑세스 메소드들과 해당 관리적 비지니스 로직의 제어와 구현을 맡을 수 있습니다:
FIXME - 아래 리스트들은 기한을 초과했지만, 아무도 관리적 앱에 대해서 더이상 신경쓰지 않는다. Tomcat 6.0이후로 지원하지 않으며 삭제되었습니다.

기능
관리 오브젝트의 properties

관리적 어플리케이션의 기능적 요구사항은 관리오브젝트(Administered Objects) 의 약관에 명시되어 있습니다. 각 개별적으로 상세한 properties는 여기에 정리되어 있습니다. 일반적으로, 관리오브젝트들은 Catalina 설계의 컴포넌트들과 일치하지만 이 오브젝트들은 아래와 같은 이유로 여기 분리되어 정의되어 있습니다:

  • 관리적 어플리케이션은 잠재컴포넌트의 모든 가능한 구성 facet을 제공하지 않습니다.
  • 어떤 케이스에서 관리 오브젝트(관리 운영의 관점으로부터)는 아주 상세한 하나이상의 Catalina 컴포넌트에 의해 제공되어집니다.
  • 컴포넌트 자체로부터 컴포넌트 분리를 위한 설정 정보의 표현하기 위해 필요합니다. (예를 들어 나중에 사용할 저장소의 설정정보를 구성)
  • 일치하는 컴포넌트 인스턴스가 없을때 설정 정보(기본 Context처럼)를 표현하기 위해 필요합니다.
  • 관리 오브젝트는 자바 클래스로 표현할때 실제 구성요소에서 수행한 작업에 전혀 부합하지 않는 관리 운영을 위한 메소드를 포함합니다..

리더(reader)는 Catalina의 기본적인 컴포넌트 아키텍쳐와 비슷하다고 여져집니다. 자세한 내용은 개발 문서를 참고하세요. 식별하는 이름으로써 관리 오브젝트(Administered Objects)컴포넌트(Components) 모두 다른 글꼴 프레젠테이션을 활용하여 사용됩니다. 많은 properties의 기본 값은 [대 가로]의 리스트로 되어 있습니다.

Supported Administrative Operations

The administrative operations that are available are described in terms of the corresponding Administered Objects (as defined above), in a manner that is independent of the access method by which these operations are requested. In general, such operations are relevant only in the context of a particular Administered Object (and will most likely be realized as method calls on the corresponding Administered Object classes), so they are organized based on the currently "focused" administered object. The available Supported Operations are documented here.

Access Method Specific Requirements
Scriptable Web Application

An appropriate subset of the administrative operations described above shall be implemented as commands that can be performed by the "Manager" web application. FIXME - Enumerate them.

In addition, this web application shall conform to the following requirements:

  • All request URIs shall be protected by security constraints that require a security role to be assigned for processing.
  • The default user database shall not contain any user that has been assigned a security role.
HTML-Based Web Application

The entire suite of administrative operations described above shall be made available through a web application designed for human interaction. In addition, this web application shall conform to the following requirements:

  • Must be implemented using servlet, JSP, and MVC framework technologies described under "External Technologies", above.
  • Prompts and error messages must be internationalizable to multiple languages.
  • Rendered HTML must be compatible with Netscape Navigator (version 4.7 or later) and Internet Explorer (version 5.0 or later).
Testable Assertions

FIXME - Complete this section.


Copyright © 1999-2013, Apache Software Foundation