java

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ java ] in KIDS
글 쓴 이(By): hell (나누구야)
날 짜 (Date): 1997년10월26일(일) 08시48분39초 ROK
제 목(Title): 자바 서블릿 (1)




 ------------------------------------------------------------------------------
 뉴스제공시각 : 09/01 00:00                   출처 : 마이크로 
 제목 : 테크닉/ 자바 가문의 새식구! 자바 서블릿 (1)
 -----------------------------------------------------------------------------
테크닉

자바 가문의 새식구! 자바 서블릿 

얼마전 자바 서블릿이 출생신고를 마쳤다. 서버에 독립적일뿐 
아니라 CGI의 모든 기능을 지원하며,  쓰레드 기법으로 서버
의 막힌 체증을 확 뚫어 준다고 한다. 확장성, 안정성, 보안성
이 보장되는 자바의 특징을 모조리 갖고 있는 서블릿을 이용
해 웹페이지에 'HelloWorld'를 찍어보고, 게시판에 등록도 해
보자.  
 
  김재봉(유한씨엔티)

필자가 처음 웹을 접했을  당시만 해도 텍스트  문서에 글과 
그림을 더하여 하이퍼텍스트를 이용해서  홈페이지에 올리는 
게 일반적인 방법이었지만, 나날이 늘어나는 정보로 인해  목
석같은 웹페이지가 이 모든 요구를  소화해내는 것이 어려워
졌다. 그래서 등장한 것이 CGI(Common Gateway Interface)
와 자바 애플릿 그리고 마이크로소프트에서 내세우는 액티브
X이다. 그러나 자바 애플릿이나 액티브X는 클라이언트  프로
그램으로 사용자 인터페이스를  위한 측면이 강하기  때문에, 
대용량의 정보를 저장하고 이를  제공하는 CGI가 새로운 웹
서비스의 전기를 마련했다. 
하지만 CGI 개념도  웹서버에 접속하는  클라이언트 수만큼 
CGI 프로그램을 실행해야 하는 단점을 안고 있고, 게다가 웹
서버가 각각의 프로세스를 생성하고 실행이  종료된 후에 프
로세스를 제거하는 일까지 도맡게 되므로 접속하는 클라이언
트수가 증가할수록 서버에 부과되는 부하는 그만큼 증가하고, 
그에 따라 퍼포먼스도 떨어진다.

CGI의 대안, 서블릿
썬은 이러한 CGI의 문제점을  완벽하게 해결하는 새로운 대
안으로 자바 서블릿(Java Servlet)을  발표했다. 간단히 서블
릿의 개념을 정리해 보면 자바로  쓰여진 프로토콜이자 플랫
폼으로 요구-응답(request-respose) 패러다임을 지원하는  범
용 프레임웍은 물론 HTML로 쓰여진 웹애플리케이션에 뛰어
난 보안 기능을 제공한다.
<그림 1>에서 보면  서블릿이 어떻게  웹서버와 연동하는지 
알 수 있다. 클라이언트에서 서버로 서블릿이 호출되면  서버
는 요청된 서블릿이 메모리에 적재돼 있는지를 검사하고,  만
약 적재돼 있지 않으면 메모리 내로 서블릿을 로딩한다. 이미 
적재돼 있다 하더라고 서블릿이 변경되었으면 다시 로딩한다. 
이런 식으로 적재된 서블릿은 웹서버가  실행을 중지할 때까
지 메모리 내에 남게 된다.
실행중인 서블릿을 다른 클라이언트에서 요청하면 서버는 서
블릿의 쓰레드를 생성해 새로운 요청을 받아들인다. 쓰레드가 
프로세스보다 자원을 적게 사용하는 것은  이미 알려진 사실
로 쓰레드 복제 방식은 기존  CGI가 갖고 있는 약점을 말끔
히 해결해 주었다. 

<그림 1> 서블릿의 실행 구조

서블릿은 웹서버 내에서 실행되기 때문에 사용자 인터페이스
를 갖는 애플릿과는 달리 그것이 없다. 그리고 서블릿은 동적
인 확장성을 지원하는 컴포넌트 형태의 클래스를 생성하므로 
검색 엔진이나 웹브라우저의  플러그인으로 사용할 수  있다. 
또한 자바 고유의 장점을 그대로 계승하고 있어 플랫폼 독립
적이고 동적으로 메모리 내에 적재되며  확장성이 뛰어나 서
버에서 막강한 능력을 발휘한다. 
HTML 문서를 작성하는 데 있어서 서블릿이 갖는 장점을 요
약하면 다음과 같다.

① CGI 프로그램보다 빠르고 명확하다.
② 표준 인터페이스인 서블릿 API를 사용한다.
③ 자바가 가진 장점을 포함한다.
④ GUI 기반의 관리도구를 이용해 쉽게 설치할 수 있다.
⑤ 로컬 디스크나 원격 디스크 모두에서 실행이 가능하다.
⑥ 두 개 이상의 서블릿을 연결할 수 있으며, 하나의  서블릿
이 여러 개의 서블릿을 호출할 수 있다.
⑦ SSI(Server Side  Include)를 이용해  HTML을 동적으로 
생성할 수 있다.
⑧ 보안 특성이 뛰어나다.

서블릿의 이러한 장점중 가장 중요한 것은 '프로토콜이 독립
적'이라는 것이다.   따라서 기존의  웹서비스에서  사용하던 
HTTP나 HTTPS를 그대로 사용할  수 있고, 따라서 어떠한 
프로트콜을 호출하든지 서버는 서블릿을 실행할 수 있다.  즉 
이기종의 서버에서도 서블릿을 실행할 수 있다. 

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.