|
Jakarta main
About
Sub-Projects
|
아발론 프로젝트 - 개요
by Federico Barbieri, Berin Loritsch, Leo Simons, Peter Donald, Paul Hammant, Jin Woo, Min (번역)
아발론이란 무엇인가? |
아발론 프로젝트는 공통 프레임웍과 자바 언어를 사용하여 작성된 어플레이케이션(특히 서버쪽)을 위한
컴포넌트의 집합들을 생성하고, 설계하며, 개발하고 유지하기 위한 노력의 결정체이다.
이 프레임웍은 단독으로 구성되는것이 아니라 기존의 것뿐만 아니라 새로 작성될 서버 어플리케이션에 있어서
코드와 설계, 그리고 인적 자원들까지도 공통의 플랫폼으로 맞춰준다.
|
프로젝트 목표 |
많은 사람들이 지적하듯이 소프트웨어 공학은 소프트웨어 개발에 있어서
그리 보편적이지 않은 절차이며 자발적으로 조직된 공개 소스 프로젝트라는건 더더욱이나
찾아보기 힘들다. 이 프로젝트의 중심 목표는 서로 다른 프로젝트들이 자원들을 공유함으로서
중복되는 노력를 최대한 줄이는 방법을 설계하는 것이다.
아발론 팀은 아발론으로 개발하는 방법에 대한 백서를 공개하게 되어 자랑스럽다.
이 문서에는 Framework을 이용한 LogKit, Excalibur에 대해서 다루고 있다. 이 문서는 이 사이트에서
아파치 아발론으로 개발하기라는 곳에서도 볼 수 있습니다.
|
하위 프로젝트 |
아발론 프로젝트를 형성하는 하위의 개별 프로젝트들이 있다:
프레임웍(Framework) |
프레임웍은
디자인 패턴에 대한 상세와 인터페이스 양식안의 법칙(rule)들을
제공한다. 또한 인터페이스들에 대한 기본 구현을 제공한다
프레임웍은 어떠한 제품이나 API 모음, 혹은 인터페이스들의 집합을 얘기하는게 아니라
프레임웍에 레고블럭처럼 끼워질 수 있는 (서버)소프트웨어를 어떻게 작성할 것이냐에 대한
코드 설계 패턴, 법칙(rule), 지침(guideline), 그리고 제안들의 집합이다. 프레임웍은 그것을
사용하는 어플리케이션에 대해서 제약을 강요하진 않는다. 오히려 다른 솔루션들로부터의
작업들을 최대한 재사용 할 수 있도록 개발자들을 도와주는 아주 멋진 가이드라인을 제시해준다.
|
엑스칼리버(Excalibur) |
엑스칼리버는
이것은 자주 사용되어지는 재사용 가능 컴포넌트들의 집합이다.
이것은 쓰레딩, 풀링, 데이타소스, 프록시 서비스 등을 제공하는 툴이다.
|
피닉스(Phoenix) |
피닉스는
피닉스 커널(서버 지향의)은 실행가능한 프레임웍 원칙(rule)들을 따르는 어플리케이션의 내부에
위치한다. 표준 자바 보안, 일반적인 클래스로더등을 지원한다. 또한 JMX기반 관리 기능도 제공한다.
|
로그킷(LogKit) |
로그킷은
아발론 하위 프로젝트에서 사용하는 로깅 툴킷이다.
|
코너스톤(Cornerstone) |
코너스톤은
블럭이라
부르는 것들에 대한 저장소이다. 서버 어플리케이션에 스케쥴링이나 소켓 유틸리티 같은 서비스들을
제공해주는 녀석이 바로 블럭이다. 아발론 프레임웍을 적절하게 사용해서 보여주는
예제 어플리케이션도 포함하고 있다.
|
테스트릿(Testlet) |
2001년 8월 1일 아발론 개발팀은 JUnit
테스팅 프레임웍을 대신하고 테스트릿 개발을 더이상 진행하지 않기로 결정했다.
우리는 JUnit TestCases가 모든 테스트를 포용할 때까지 이 프로젝트를 참고할 것이다.
테스트릿 하위프로젝트는
다른 하위 프로젝트에서 사용하는 단위 테스팅 프레임웍의 일종이다.
|
어플리케이션(Applications) |
어플리케이션은
피닉스용 블럭의 저장소이다. 어떤것은 피닉스 어플리케이션과 독립적인 단순한 데모이기도 하고,
어떤 것은 완전한 독립형(standalone) 제품이다. 또 다른 것은 야심적으로 진행중이다.
여러분이 피닉스 블럭이나 서버에 대해서 초심자라면 이것이 많은 도움을 가져다 줄 것이다.
|
|
jakarta-k 프로젝트는? |
한국 개발자들을 위해 jakarta-k는
Apache Jakarta 사이트의 한글판을 제작하기 만든 프로젝트입니다.
|
|