자바(Java)/JAVA 2EE

Java 2 EE 플랫폼 특성 및 구성

본클라쓰 2010. 12. 5. 15:58

■ J2EE의 특성

 

 J2EE는 프로그래밍 언어라 보기보다 운영환경과 프로그램을 포함한 플랫폼으로 보는 것이 맞다. 또한, 프로세스 방식이 아닌 분할 멀티 쓰레드 모델을 사용하며, 어플리케이션의 로직은 다양한 컴포넌트들로 분할되고 다양한 컴포넌트들이 J2EE어플맄이션을 구성한다.

 

 

[그림] 웹 어플리케이션 시스템 분할 구성도

 

 위와 같이 EE 플랫폼은 클라이언트와 서버간의 요청과 응답 처리에 있어 '클라이언트, 자바 EE 서버, 데이터베이스 서버' 세 개의 계층으로 구분하고 있다. 여기서 Java 2 EE 플랫폼은 '자바 EE 서버' 영역을 구현하는 데 중점을 둔 어플리케이션 개발 기술이다.

 

 이렇게 계층을 분할하여 어플리케이션을 제작하면, 각각의 영역에 맞게 어플리케이션을 제작할 수 있으며, 생산성과 확장성을 높일 수 있는 장점이 있다. 현재 어플리케이션 개발의 중점은 디자인, 개발, 생산에 보다 적은 비용, 최상의 스피드, 적은 자원을 사용하는데 있으며, Java 2 EE 플랫폼은 애플릿을 기반으로 분할되고, 이식성이 높으며, 가벼운 프로그램을 제작하는데 유용하다.

 

 Java 2 EE 플랫폼은 웹 어플리케이션의 전체 구조를 3개의 계층으로 구분하였다. 이렇게 구분된 각 계층의 기능에 충실히 하여 생산성과 확장성을 높일 수 있다. 또한, 개발의 속도가 빠르며 전문적으로 개발을 수행할 수 있는 장점이 있다.

 

각 계층은 다음과 같다.

  1. 클라이언트(Client) 계층: 클라이언트 머신에서 동작하는 계층으로, 사용자에게 결과를 표시하는 계층이며 클라이언트의 브라우저와 상호 작용하여 사용자 인터페이스, 클라이언트간의 호환성, 클라이언트와의 상호작용 등을 제공한다.
  2. 웹(Web) 계층: 자바 서버내에서 동작하는 컴포넌트들로 로직이 구현되는 부분이며, 비즈니스 컴포넌트로 구성되어 있다.
  3. 데이터베이스 계층: 퍼시스턴스 영역으로 데이터의 저장, 수정, 삭제를 담당하며, 어플리케이션의 데이터를 관리하는 계층이다.

 

 이와 같이 컴포넌트를 분할하고 각 계층이 하는 일을 나눠 버림으로써 개발에 필요한 시간을 단축한다. 또한, Java 2 EE 플랫폼은 계층 분할을 통해 보안성이 향상되며, 각 부분별로 보안에 대한 다양한 방어책을 개발자에게 부여해 준다.

 

 

 

■ Java 2 EE 플랫폼의 기술적 구성 요소

 

 Java 2 EE 플랫폼은 다양한 컴포넌트(비즈니스 로직 및 프리젠테이션 로직을 구성하는 구성품)들로 구성되어 있다. 하지만 가장 기본이 되는 컴포넌트는 서블릿(Servlet)이다.

 

[참고: http://download.oracle.com/javaee/6/tutorial/doc/]

 

 서블릿을 기반으로 웹 인터페이스를 부분을 처리하며, JSF나 JSP등의 스크립트 언어로 프리젠테이션 영역을 구현한다. 또한, EJB(Enterprise Java Beans)는 엔터프라이즈급 개발에서 데이터 추상화와 비즈니스 로직에 대한 부분을 구현하는 기술이며, JDBC는 데이터베이스를 조작하기 위한 표준 방식이다. 이와 JNDI(Java Naming and Directory Interface)등으로 필요한 자원을 key/value 쌍으로 저장한 후 나중에 key를 이용해 value를 얻는 방법등도 있으며, Java 2 EE 플랫폼을 구성하는 컴포넌트들을 매우 다양하다.

 

따라서, 어떠한 컴포넌트들이 구성되어 있는지는 해당 tutorial를 참조해야 한다.