Skip to content

Instantly share code, notes, and snippets.

@lhy880518
Last active April 14, 2019 00:35
Show Gist options
  • Save lhy880518/3f60ebdc5f20a33fdeff4d3f64d88a8d to your computer and use it in GitHub Desktop.
Save lhy880518/3f60ebdc5f20a33fdeff4d3f64d88a8d to your computer and use it in GitHub Desktop.
톰캣은 무엇인가?

Java Technology Platforms

  • 자바를 특정 환경에서 실행하기 위한 기술

Java Micro Edition(JME)

  • 모바일 환경에서 실행하기 위해 특화된 기술

Java Standard Edition(JSE)

  • 가장 널리 쓰이는 자바 API집합체

Java EnterPrise Edition(JEE)

  • 자바를 이용한 서버측 개발 플랫폼
  • 구성요소
    • Servlet : 클라이언트가 보내는 HTTP 요청을 처리하는 서버측 자바 프로그램이며, Servlet 엔진이 있어야 합니다.
    • JSP(Java Server Pages): HTML이나 Java 코드를 써서 사용자에게 정보를 보여 줍니다. JSP가 처음 실행될 때 Servlet 엔진이 이것을 Servlet으로 컴파일시켜서 내부적으로는 Servlet으로 동작합니다.
    • EJB(Enterprise Java Beans) : Java에서 제공하는 분산 컴포넌트 기술로 비즈니스 로직이나 데이터, 메시지를 처리할 수 있습니다.
    • Remote Method Invocation(RMI): 프록시를 써서 원격에 있는 Java 객체의 메소드를 실행시키기 위한기술입니다.
    • Java Naming DirectoryInterface (JNDI): 자바 기술로 만들어진 객체에 이름을 붙여 찾을 수 있도록 단일한인터페이스를 제공합니다.
    • Java Database Connector(JDBC): 여러 종류의 데이터베이스 시스템에 접근하는 단일한 인터페이스를 제공합니다. 각각의 데이터베이스에 맞는 JDBC 드라이버가 있어야 합니다.
    • Java Connector Architecture(JCA): 이기종 플랫폼을 통합할 수 있도록 플랫폼 독립적인 인터페이스를 제공합니다.
    • Java Message Service (JMS): 여러 가지 메시징 시스템에 대한 플랫폼 독립적인 인터페이스를 제공합니다.

좀더 쉽게 하자면 자바 API를 각각의 용도에 맞게 뺄껀빼고 더할건 더한 스펙집합체들 이라고 보면되겠다.

엔터프라이즈 환경(서버 클라이언트 환경)

EnterpriseEnvironment

container

  • Container라고 함은 기술적인 구현체 혹은 스펙을 말하기도 한다.
  • Web Container란 JSP, Servlet을 실행시킬 수 있는 소프트웨어를 말한다.

JEE Architecture

  • 위는 JEE 5에 대한 기술스택을 표현한 그림이다.

javaEE8

  • Java EE8의 컴포넌트들은 위와 같다.

그래서 톰캣이 뭐냐고???

WhatIsTomcat

  • 아파치 소프트웨어 재단에서 개발된 웹 컨테이너를 구현한 웹 어플리케이션 서버이다.
  • 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바 서버 페이지와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다.

Client - Was의 구조

clientWas

  • Was로 사용되어지는 제품의 종류 - Tomcat, JBoss, Jeus, Web Sphere등등
  • Web Server로 사용되어지는 제품의 종류 - 아파치, nginx등등
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment