기존에는 Web Server가 인터페이스와 기능적인 측면 모두 담당했지만 Client의 환경이 다양해지면서 기능적 측면을 담당하는 부분과 인터페이스를 담당하는 부분으로 나누어진 것을 WAS(Web Application Server)라고 한다.
WAS는 Web Server 기능(Interface, 요청, 응답)과 컨테이너 기능(처리)으로 이루어져있다.
WAS의 기능을 크게 3가지로 나누어 볼 수 있다.
1. 프로그램 실행 환경과 DB 접속 기능을 제공 2. 여러개의 트랜잭션을 관리 3. 비즈니스 로직을 수행(기능적인 측면) |
WAS 기능 구성
Servlet 컨테이너 - 클라이언트에서 전송되는 Servlet 요청을 수행하는 프로그램 JSP 컨테이너 - JSP를 Servlet으로 변환하는 기능의 프로그램(Servlet으로 구현되어있다) EJB 컨테이너 트랜잭션 관리 - 트랜잭션(처리를 하나의 단위로 묶어서 같이처리)을 관리 Naming Server JDBC 드라이버 - JDBC는 자바로 DB에 접근할수있게 해준다 클러스터링 |
Servlet
- 클라이언트의 요청을 처리하고 결과를 다시 클라이언트에게 전송하는 Servlet 구현 규칙을 지킨 자바프로그램
Servlet Container의 역할
1. 통신 지원 - Servlet과 웹 서버가 통신할 수 있는 환경을 제공한다. 통신 과정을 관리하고 API로 제공하고 있어서 쉽게 사용 가능하다. 서버와 소켓을 만들어 통신이 가능하게 한다. 2. 생명주기 관리 - 서블릿 클래스를 통해 인스턴스를 생성하고 적절한 메소드를 호출한다. 종료되면 Garbage Collection을 통해 메모리를 정리한다. 3. Multi Thread 관리 - 여러 요청이 들어오면 Multi Thread를 통해 관리한다. 4. 보안 - 따로 보안 관련 코드가 없어도 자동으로 관리해준다. 5. JSP 지원 |
참고 사이트
http://blog.naver.com/powersjs2?Redirect=Log&logNo=10171388192
http://javaking75.blog.me/140174066323
'Com > Server' 카테고리의 다른 글
[서버 / Server] 많이 사용하는 웹 서버 / Web Server (0) | 2013.08.08 |
---|