본문 바로가기

Better SW Development

jetty @ eclipse - 경량 자바 웹 컨테이너가 이클립스 프로젝트 안으로

Jetty 는 오픈소스이며, 표준을 준수하며 순수 자바로 만들어진 웹 서버입니다.

기존에는 codehaus.org에 기거하고 있었는데, 이번에 eclipse 프로젝트, 정확히는 Eclipse Runtime Project 안으로 들어가게 될 것 같습니다.

관련해서 eclipsecon 에서 발표도 한다고 하네요. 현재 commiter를 모으고 있습니다만 jetty 자체가 이미 오픈소스 형태로 진행되는 프로젝트 였기 때문에 적정 수준의 참여자들이 이미 있습니다. 게다가 이미 이클립스 3.3 부터 help 시스템이 tomcat 에서 jetty 로 교체된 상황인지라 무난하게 이클립스 프로젝트 안으로 진입할 것 같습니다.

jetty는 임베디드 된 형태의 오픈소스 웹컨테이너 중에서는 아는 사람들 사이에서는 꽤나 유용하게 쓰이던 웹 서버입니다. 현재 jetty가 거주하고 있는 http://jetty.mortbay.org/jetty/ 사이트를 가보면 내세우고 있는 장점 그대로입니다.

심플하고,

용량 확장성이 있으며,

효율적이고,

임베디드하기 쉽고,

플러그인 형태로 제공되기 쉽습니다.

실제로 작년 javalobby에서 선정한 The Best Java Tools You Never Knew Existed 중 하나로 뽑히기도 하였습니다.

그 전부터도 jetty는 유의깊게 봐 두고 있던 open source product 이었는데요, 어플리케이션 제작자의 입장에서 봤을때, 어떠한 형태가 되었든 배포가 되는 어플리케이션을 만들게 될 때 웹이 제공하는 기능(Feature)을 이용할 수 있으면 요긴할 경우가 많습니다. 그럴때 간단히 jetty 를 내장해서 쓰려 마음먹고 있었기 때문입니다. .

Eclipse galileo (eclipse 3.5) 에 jetty의 차기 버전인 jetty 7이 탑재되고 좀 더 발전된 형태로 integration 이 이루어 질 예정이라는데요, 어떤식으로 통합되어 어떻게 발전할지 기대 됩니다.

참고로 이런저런 상황을 다 떠나서 순수히 jetty의 아키텍처 자체를 살펴보는 것 만으로도 배울 것도 많고 매우 흥미롭답니다. (어플리케이션 라이프 사이클, NIO, 소켓통신등에 관심있으시다면 더할 나위 없겠죠)

ps. 응용하실 때 쓰는 예제 사이트는 다음 페이지를 참조하세요.
http://jetty.mortbay.org/xref/org/mortbay/jetty/example/package-summary.html