개발 창고/잡학사전

[서버이야기] Tomcat

로이제로 2021. 3. 16. 01:25
반응형

 최근 많은 일이 복합적으로 다가와서 블로그를 못하다 오랜만에 글을 써보려고 합니다. 그런 만큼 조금 가벼운 주제를 가지고 이야기해볼까 하는데, 오늘의 주제는 Tomcat입니다.

 

 처음 Java를 접하고 제일 먼저 접하는 것은 eclipse일겁니다. 그리고 Java나 JSP를 이용한 개발을 하게 되면서부터 Java의 수식어처럼 따라붙어 다니는 것이 바로 Tomcat입니다.

 

아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 애플리케이션 서버이다.

톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다. 톰캣은 관리툴을 통해 설정을 변경할 수 있지만, XML 파일을 편집하여 설정할 수도 있다. 그리고, 톰캣은 HTTP 서버도 자체 내장하기도 한다.

아파치 톰캣은 Apache Licence, Version 2를 채용한 오픈소스 소프트웨어로서, 자바서버 페이지이나 자바 서블릿를 실행하기 위한 서블릿 컨테이너를 제공하며, 상용 웹 애플리케이션 서버에서도 서블릿 컨테이너로 사용하는 경우가 많다. 버전 5.5 이후는 기본적으로 Java SE 5.0 이후를 대응한다.

참고로 Tomcat은 사전적 의미로 '수고양이'를 뜻한다

- 위키백과, '아파치 톰캣'

 

사람들이 늘 헷갈려하는 부분이 아파치 톰캣? 톰캣? 아파치?? 이런 경우가 많습니다. 이에 대해서는 여러 이야기가 있지만, 일부만 말씀드려보면, 일단 톰캣은 WAS입니다. 여기서 WAS란, 아래의 글에서 확인 바랍니다.

 

2020.09.07 - [개발 창고/서버 개발] - [서버이야기] 웹서버(WS)와 와스(WAS)서버

 

[서버이야기] 웹서버(WS)와 와스(WAS)서버

 흔히들 하는 질문 중에 웹서버가 무어냐? 와스서버가 무어냐 하는 질문을 받곤 합니다. 웹서버와 와스서버란 무엇일까요?? 한때는 저도 이 개념에 대해 궁금해하곤 했는데 알고 보면 매우 간단

royzero.tistory.com

 간략하게 실생활 예로 들면, 식당으로 따지면, WebServer는 카운터(메뉴를 접수받거나 계산을 해주는) 역할을 하는 곳이고, WAS는 주방에서 요리를 하는 요리사라고 보시면 됩니다. (삼천포로 안 빠지게 최대한 노력해서)

 

 카운터는 메뉴를 받고 계산을 하는 단순하고 빨리 처리하는 업무를 합니다. 고객들은 메뉴를 받았으니 그때부터는 음식을 기다리죠

 요리사는 카운터에서 받은 메뉴를 조리하고 물론 국밥 같은 빠른 요리도 있지만, 주문과 동시에 조리를 해야 하는 오래 걸리는 음식들도 있죠.

 

 이처럼 WebServer는 바로 응답 가능한 정적 파일(HTML, JSP, IMAGE, DOC 등등)을 처리하고, 그것보다 조금 복잡한 업무 (데이터 처리, 통계, 메일링 등)은 WAS에서 처리하도록 요청합니다.

 

 Tomcat은 이런 WAS의 역할을 하는 요리사이고, Apache는 이 WAS에게 처리를 요청하는 WebServer입니다. (물론, 아파치 톰캣이라고 할 때, 혹자는 '아파치사의 톰캣'이라고도 합니다.)

 

 과거에 제가 교육받을 때는, Tomcat 자체가 개발용으로 만들어진 소프트웨어로 WAS다 WAS가 아니다는 걸로 개발자들끼리 의견이 분분하였고, 실제로 Tomcat은 Enterprise급에서 WAS로 쓰기에는 현재도 많은 부분이 부족합니다.

 

 그런데 왜 많은 사람들이 Tomcat을 사용할까요??

 

 그것은 Apache재단의 라이선스 정책 때문입니다. Tomcat은 Apache 라이선스 2.0에 따라 무료로 이용이 가능하기 때문에 초반 접근이 용이합니다. 또한 적은 인원이 접근하는 경우 가성비가 최고였기 때문에 많은 이들이 사용하였습니다. 현재는 node.js나 golang 등이 더 효율적인 듯 하지만 JAVA 개발자에게 있어서 Tomcat은 그들이 계속 Java 웹 개발자로 남을 수 있게 해 준 지원군 같은 거라고 생각됩니다.

 

 현재에도 Tomcat은 꾸준히 진화 중이며, 자세한 이야기는 하단의 홈페이지에서 확인하실 수 있습니다. (다만, 모든 게 영어라 독해가 필요,,,)

 

tomcat.apache.org/

 

Apache Tomcat® - Welcome!

The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket specifications ar

tomcat.apache.org

 

반응형