- 자바를 특정 환경에서 실행하기 위한 기술
- 모바일 환경에서 실행하기 위해 특화된 기술
- 가장 널리 쓰이는 자바 API집합체
- 자바를 이용한 서버측 개발 플랫폼
- 구성요소
- 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를 각각의 용도에 맞게 뺄껀빼고 더할건 더한 스펙집합체들 이라고 보면되겠다.
- Container라고 함은 기술적인 구현체 혹은 스펙을 말하기도 한다.
- Web Container란 JSP, Servlet을 실행시킬 수 있는 소프트웨어를 말한다.
- 위는 JEE 5에 대한 기술스택을 표현한 그림이다.
- Java EE8의 컴포넌트들은 위와 같다.
- 아파치 소프트웨어 재단에서 개발된 웹 컨테이너를 구현한 웹 어플리케이션 서버이다.
- 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바 서버 페이지와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다.
- Was로 사용되어지는 제품의 종류 - Tomcat, JBoss, Jeus, Web Sphere등등
- Web Server로 사용되어지는 제품의 종류 - 아파치, nginx등등