Java

Jakarta Project

_침묵_ 2006. 9. 14. 01:51

Jakarta Project는 Apache project중 자바기반의 오픈소스 솔루션을 만들고 유지 배포하는 프로젝트 입니다.

여러분들이 잘 알고있는 톰캣이나 최근 가장 많이 사용하고 있는 프레임 워크로 스트러츠 같은 것들이 자카르타 프로젝트 제품들입니다.http://jakarta.apache.org에서 자카르타 프로젝트 정보들을 상세히 알 수 있으며 이 사이트에서는 이 사이트를 참고하여 실제로 유용하게 사용되는 모듈들을 소개하고자 합니다.

 

1. Jakarta 제품들

Jakarta 는 일반적으로 3개의 분류로 나뉘어져 있습니다.

 -. Libraries, Tools, and APIs( 라이브러리, 도구, API)

 -. Frameworks and Engines

 -. Server Applications

 

 

라이브러리, 도구, API
BCEL The Byte Code Engineering 라이브러리 (원래 자바Class로 알려져 있는)는 (바이너리) 자바 클래스 파일들(확장자가 .class인)을 분석하고,만들고,조작하기 편리하게 하기 위해서 만들어졌습니다.
BSF 빈 스크립팅 프레임워크(BSF)는 자바 어플리케이션 내에서 스크립팅 언어 지원과, 스크립팅 언어로부터 자바 객체와 메소드를 접근할 수 있도록 하는 자바 클래스 모음입니다.
Commons 많은 자카르타 부속 프로젝트들에서 유용한 작은 크기의, 재사용가능한, 코드 컴퍼넌트들의 저장소입니다. --컴포넌트목록
ECS The Element Construction Set은 다양한 마크업 언어들을 위한 요소들을 생성하기 위한 자바API이며 HTML 4.0과 XML을 기본 지원한다.

JMeter

테스트 기능을 수행하고 성능을 측정하기위해 디자인된 순수 자바 데스크탑 애플리케이션
ORO 파일이름의 치환, 분할, 필터링 등을 수행하기 위한 Perl5 호환 정규식, AWK와 같은 정규식, glob 표현, 그리고 유틸리티 클래스들을 제공하는 텍스트 처리 자바 클래스들의 집합.
POI 자 바만을 이용하여(native api의 도움을 받지 않고) OLE 2 Compound 문서 양식에 기반을 둔 파일을 생성하고, 읽고, 쓰기 위한 API의 집합. 현재는 OLE 2 Compound 문서 양식과 마이크로소프트 엑셀(XLS) 파일 형식만 제공된다.

Regexp

100% 순수 자바 정규식 패키지.

Taglibs

웹 어플리케이션들을 만드는 데 유용한 JSP용 사용자정의 태그 라이브러리들의 모음

Watchdog

서블릿/JSP 컨테이너의 구현이 스펙에 맞는지를 체크하는 호환성 검사

 

프레임웍과 엔진
Cactus Cactus(선인장)는 단위테스트를 필요로하는 서버측 자바코드를 위한 간단한 테스트 프레임웍이다. (서블릿, EJB, 태그 라이브러리, 필터, ...).
HiveMind HiveMind는 서비스와 환경설정 마이크로커널이다; 단순한 자바 객체와 인터페이스로부터 복잡한 어플리케이션을 만들기 위한 프레임웍이다.
Lucene Jakarta Lucene는 자바로 작성한 고성능의 통합 텍스트 검색 엔진이다. 이것은 full-text 검색을 필요로 하는 거의 모든 애플리케이션에 적합한 기술이다.
Tapestry Tapestry는 고도로 재사용 가능하고 매우 순수하게 모델-뷰-컨트롤러 패턴으로 구성된 컴포넌트들에 기반한 웹 어플리케이션 프레임웍이다.

Turbine

Velocity 또는 JSP와 함께 웹어플리케이션을 만드는 모델-뷰-컨트롤러 프레임웍.

Velocity

Velocity는 일반적인 용도의 자바 기반의 템플릿(template) 엔진이다.

 

서버 어플리케이션
Alexandria Alexandria는 오픈 소스 프로젝트에서 사용되는 CVS/Javadoc/Source code/Documentation 관리 시스템이다.

Slide

WebDAV를 활용한 컨텐츠 관리 시스템(CMS)
Tomcat Tomcat 3은 서블릿 2.2와 JSP 1.1 기술을 구현한 공식적인 참조 구현(RI:Reference Implementation)이다.

 

Tomcat 4는 서블릿 2.3와 JSP 1.2 기술을 구현한 공식적인 참조 구현(RI:Reference Implementation)이다.

 

Tomcat 5.0Tomcat 5.5는 서블릿 2.4와 JSP 2.0 기술을 구현한 공식적인 참조 구현(RI:Reference Implementation)이다.

 

 

2. 자카르타 관련 프로젝트

 -.Apache Ant Project  (아파치 앤트 프로젝트)

 -.Apache Avalon Project(아파치 아바론 프로젝트)

 -.Apache Cocoon Project  (아파치 코쿤 프로젝트)

 -.Apache DB Project  (아파치 DB 프로젝트)

 -.Apache Excalibur Project(아파치 엑스칼리버 프로젝트) -_-;

 -.Apache Geronimo Project(아파치 제로니모 프로젝트)

 -.Apache Gump Project  (아파치 검프 프로젝트)

 -.Apache HTTP WebServer Project  (아파치 HTTP 웹서버 프로젝트)

 -.Apache Incubator Project  (아파치 인큐베이터 프로젝트)

 -.Apache James Project  (아파치 제임스 프로젝트)

 -.Apache Logging Services Project  (아파치 로깅 서비스 프로젝트)

 -.Apache Maven Project  (아파치 메이븐 프로젝트)

 -.Apache Portals Project  (아파치 포털 프로젝트)

 -.Apache Struts Project  (아파치 스트러츠 포르젝트)

 -.Apache WebServices Project  (아파치 웹서비스 프로젝트)

 -.Apache XML Project  (아파치 XML 프로젝트)

 -.Apache XMLBeans Project  (아파치 XML빈즈 프로젝트)

 

 

아파치 앤트 프로젝트

Ant

앤트는 자바기반의 빌트툴입니다.

 

아파치 아바론 프로젝트

Avalon

아바론은 컴포넌트지향 프로그래밍 프로젝트입니다.

 

아파치 코쿤 프로젝트
Cocoon 2.1 아파치 코쿤은 XML과 XSLT기술을 사용해서 서버 어플리케이션의 단계를 한층 높인 XML 프레임워크입니다. 연속적인 SAX 처리과정의 성능과 확장성을 위해 설계되었습니다.

 

아파치 DB 프로젝트
Torque 토크는 퍼시스턴스 레이어입니다. 토크는 어플리케이션에서 필요한 데이터베이스 자원을 만들어주는 생성기를 포함하고, 생성된 클래스를 실행하는 실행 환경도 포함하고 있습니다.
OJB 객체관계브릿지(OJB)는 관계형 데이터베이스와 자바 객체 사이의 투명한 퍼시스턴스를 사용하는 객체/관계 매핑 도구입니다.

 

아파치 엑스칼리버 프로젝트
Excalibur 엡스칼리버의 중심 제품은 포트리스라는 자바로 된 경량의 이식가능한 Inversion of Control 컨테이너입니다.

 

아파치 제로니모 프로젝트
Geronimo 아파치 제로니모는 ASF가 주도해서 J2EE 호환 컨테이너를 만들기 위해서 새롭게 노력하는 제품입니다.

 

아파치 컴프 프로젝트
Gump 검프는지속적인 통합 Continuous Integration을 위한 도구입니다. 모든 자카르타와자카르타 관련 프로젝트에 있는 제품들을 CVS의 HEAD에 있는 것들을매일밤마다빌드합니다.

 

아파 HTTP 웹서버 프로젝트
HTTP WebServer 유닉스와 윈도우즈 NT를 포함해서 요즘의 운영체제를 위한 고성능의 인정받은 오픈소스 HTTP 서버.

 

아파치 인큐베이터 프로젝트

 

아파치 인큐베이터 프로젝트는 재단 노력의 일부가 되기를 원하는 프로젝트와 코드베이스를 위한 진입로를 제공합니다.

 

아파치 제임스 프로젝트
James 제임스는 자바로 만들어진 이메일/뉴스/메시징 서버입니다. 아바론 컨포넌트 프레임워크를 사용하고 있습니다. 현재 SMTP, POP3, NNTP를 지원하고 있고, 머지않아 IMAP도 지원할 것입니다.

 

아파치 로깅 서비스 프로젝트
Log4J Log4J - 아파치 로깅 서비스 프로젝트 - 는 신뢰할 수 있고, 빠르고, 확장성있는 자바용 로깅 라이브러리 프로젝트입니다.

 

아파치 메이븐 프로젝트
Maven 메이븐은 프로젝트 객체 모델(POM) 개념에 기반을 두고 있는, 자바 프로젝트 관리와 프로젝트 총괄 도구 입니다.

 

아파치 포탈 프로젝트

Jetspeed-1

터빈 프레임워크를 기반한 사용자별로 특화된 자바 포탈 시스템입니다.

Jetspeed-2

제트스피드-2는 아파치에서의 차세대 엔터프라이즈 포탈입니다.

 

아파치 스트러츠 프로젝트

Struts

서블릿과 JSP로된 웹 어플리케이션 제작용 모델-뷰-컨트롤러 프레임워크입니다.

 

아파치 웹서비스 프로젝트

 

아파치 웹서비스(WS) 프로젝트는 합작하는 소프트웨어 개발 프로젝트입니다. 다양한 플랫폼에서 견고하고, 모든 기능을 지원하고, 상용 제품 수준이며, 자유롭게 사용할 수 있는 웹서비스 지원을 목표로 만들어졌습니다. 현재는액시스 Axis,솝 SOAP,WSIF, WSIL,XMLRPC, 등으로 이루어져 있습니다.

 

아파치 XML 프로젝트

 

아파치 XML 프로젝트는 XML관련 활동들에 촛점을 맞추고 있습니다. 현재는 저시스 Xerces (J/C/P), 잴런 Xalan(J/C),바틱 Batik,에프오피 FOP,포레스트 Forrest,시큐리티 Security,진디체 Xindice,XML-커먼스,액스킷 AxKit, 등으로 구성되어 있습니다.

 

아파치 XMLBeans 프로젝트
XMLBeans XML빈즈는 편리하고 강력하게 정해진 자바 클리스와 통합된 XML 인포셋 전체에 커서기반으로 접근할 수 있는 XML 스키마 기반의 XML-자바 바인딩 도구입니다.

 

 

3. 참여방법

모든 Jakarta 제품의 지원은 부속프로젝트의 메일링 리스트를 통해서 제공됩니다.

http://jakarta.apache.org/site/mail2.html

http://www.mail-archive.com/

http://jakarta.apache.org/site/cvsindex.html

 

Fromhttp://http://jakarta.apache-korea.org