Java2 - J2EE 어플리케이션의 구성
목록 추천  
추천수:
제 목 J2EE 어플리케이션의 구성
작성자 박세청 작성일 2014/01/14 16:54


J2EE 어플리케이션의 구성

 

J2EE 어플리케이션을 최초에 시스템에 설치하는 것을 배치라고 부른다.

J2EE 어플리케이션 확장자가 ear로 끝나는 파일 하나로 배포가 되어 배치된다. 이 ear파일은 윈도우 프로그램을 설치할 때 압축을 풀어서 관련 파일을 설치해주는 설치자와는 다르다. 단지, J2EE 어플리케이션에 포함되어 있는 요소들을 jar로 압축한 형태이다. 하나의 J2EE어플리케이션은 여러 개의 J2EE모듈로 구성되는데, J2EE 모듈의 종류로는 세가지 있다. 첫번째는 확장자가 war인 웹모듈, 두번째는 확장자가 jar인 EJB모듈, 마지막으로 역시 확장자가 jar인 애플리케이션 클라이언트 모듈이다.

[웹모듈]

웹모듈은 웹컴포넌트인 서블릿과 JSP, 커스텀 태그와 자바빈즈 관련 클래스, HTML파일등의 웹문서, GIF파일 등의 각종 웹 컨텐츠로 구성된다. 웹모듈도 역시 jar파일로 압축한 형태인데, 특별히 war로 확장자를 만들어 주는 것은 웹 모듈임을 분명하게 해주려는 것이다. J2EE 어플리케이션에 속하지 않아도 웹 모듈은 하나의 어플리케이션으로서 독립적으로 배포, 배치가 가능하므로 war로 붙이는 것이다.

/ : WEB-INF/, xxx.jsp, xxx.html, xxx그림파일
WEB-INF/ : web.xml, class/
class/ : xxx서블릿, xxx태그라이브러리, xxx클래스 파일

웹모듈은 전형적으로 위와 같이 구성된다.

WEB-INF/classes디렉토리에는 서블릿 클래스와 서블릿/jsp가 사용하는 클래스들이 위치한다. web.xml은 배치 설명자라고 불리는 파일인데, 웹 모듈에 포함된 요소들에 대한 설명이 담겨있다.

[EJB 모듈]

EJB를 구성하는 클래스 파일과 배치 설명자 파일인 ejb-jar.xml 파일로 구성된다.

/ : META-INF/, EJB(Entityu Bean, Session Bean)
META-INF/ : ejb-jar.xml

EJB모듈의 구조는 위와 같다.

[어플리케이션 클라이언트 모듈]

J2EE 어플리케이션의 클라이언트는 브라우저 혹은 스탠드얼론 자바 프로그램이다. 브라우져가 클라이언트인 경우는 이미 만들어진 브라우저에 동적으로 결과물을 보내주는 일을 웹 모듈이 맡게 되지만, 스탠드얼론 자바프로그램이 클라이언트인 경우는 크라이언트 프로그램을 새로 만들어야 한다. 스탠드 얼론 자바프로그램을 구성하는 각종 파일들을 jar 실행파일로 묶고 jar확장자를 붙인 것이 바로 애플리케이션 클라이언트 모듈이다. 여기에는 EJB모듈이 ejb-jar.xml 파일이나 웹모듈의 web.xml 파일과 같은 성격의 배치 설명 파일인 application-client.xml 파일이 포함된다

/ : META-INF/, xxx클래스 파일
META-INF/ : application-client.xml

[J2EE 애플리케이션 ear파일과 배치]

웹 모듈, EJB모듈, 애플리케이션 클라이언트 모듈은 각각 사용되는 컨테이너 별로 나누어 놓은 형태이다. 즉, 웹 컨테이너 내에서 구동되는 모든 요소들은 웹 모듈에 포함시키고, EJB컨테이너 내에서 구동되는 모든 요소들은 EJB모듈에 포함시킨것이다. 물론, 복수 개의 웹모듈과 복수개의 EJB모듈을 만들 수도 있다.

/ : META-INF/, xxx.war파일들(웹모듈), xxx.jar파일들(EJB모듈), xxx.jar파일들(클라이언트애플리케이션 모듈)
META-INF/ : application.xml

J2EE 애플리케이션의 구성은 위와 같다.

J2EE 어플리케이션은 필요한 모듈을 모두 jar로 묶어서 ear 확장자를 붙인 것에 지나지 않는다. ear파일을 시스템에 설치하기 위해서는 파일을 시스템 내에 복사하는 것 외에 몇가지 작업을 해야 하는데 이런 과정을 배치라고 부르고, 이런 역할을 수행하는 주체를 특별히 배치자(deployer)라고 한다. META-INF 디렉토리 아래의 application.xml 파일은 J2EE 애플리케이션을 구성하는 각 모듈에 대한 설명과 기타 배치에 관련된 정보를 담는 배치 설명 파일이다. 엔터프라이즈 환경에 애플리케이션을 배치하는 일은 PC에 프로그램을 설치하는 것과는 많이 다르고 간단한 일이 아니므로, 배치 과정과 이를 수행하는 배치자의 역할은 매우 비중이 높다.





이전글 J2EE요약
다음글 [commons.lang] ToStringBuilder

목록 추천