- 출처 : http://cafe.naver.com/purejava/52 -
XDoclet이란?
XDoclet은 open source code 생성 엔진입니다. 이것은 Attribute-Oriented Programming을 가능하게 합니다. 다시말해 자바소스들에 메타데이터(attributes)를 추가하여 코드에 의미를 확장시킬 수 있습니다. 이러한 작업은 특별한 javaDoc tag들에서 이루어집니다. XDoclet은 소스코드를 분석하여 javadoc tag들을 이용하여 xml descriptor 또는 소스코드를 생성합니다. 이러한 파일들은 소스코드와 소스코드내의 javadoc tag들의 정보를 이용하는 템플릿을 기반으로 생성됩니다. XDoclet은 컴포넌트 기반의 개발환경에 통합환경을 적용할 수 있게 합니다. 개발자들은 컴포넌트당 하나의 자바소스코드를 작성하는데에 집중할 수 있게 됩니다.
이러한 접근방식은 다음과 같은 몇가지의 장점을 가집니다.
1. 코드를 수정할때마다 deployment 메타 데이터의 날짜에 대해서 신경쓰지 않아도 됩니다. deployment 메타데이터는
끊임없이 통합됩니다.
2. 컴포넌트 당 하나의 파일로 작업하는 것은 더 나은 overview를 제공합니다. 컴포넌트가 몇개의 파일로 구성된다면 일관성을
잃기 쉽습니다. Enterprise Java Bean을 작성한 경험이 있다면 이 의미를 이해할 수 있을것입니다. 단일의 EJB는 일반적
으로 7개 이상의 파일들로 구성됩니다. XDoclet을 이용한다면 하나의 파일을 수정하면 나머지는 제네레이트 됩니다.
3. 혁신적으로 개발시간을 단축하고 XDoclet은 85%의 소스코드를 제네레이트 시켜줌으로 비즈니스로직에만 집중할 수
있습니다.
현재 XDoclet은 Jakarta Ant의 build process의 한 부분으로써만 사용할 수 있습니다.
XDoclet은 EJB를 생성하는데에 목적을 두며, 코드 생성 엔진으로서 시작되었습니다. XDoclet은 코어와 꾸준하게 증가하고 있는 모듈들로 구성됩니다. 새로운 종류의 컴포넌트가 필요하다면 새로운 모듈을 작성하여 사용할 수 있습니다.
Xdoclet은 다른 종류들의 파일을 생성하기 위한 모듈들로 구성되어있습니다. 사용자와 배포자들은 자신들의 모듈을 작성(기존의 모듈을 수정하거나)하여 XDoclet의 기능을 확장시킬 수 있습니다.