오픈 소스 기반의 개발 프레임워크 구축 방안

Dev - @ 2008년 01월 14일 01시 23분

개발자들이 개발을 하다가 보면 아래와 같은 그림의 형태로 큰그림을 그리고 난 다음
하나 하나 항목별로 실행 시나리오를 작성하곤 한다.

사용자 삽입 이미지

그래서 이 방법들중 개발 프레임워크에 국한되어 선택과 집중의 방법을 사용하여
다양한 오픈 소스 기반의 개발 프레임워크를 내재화 할 수 있도록 정리를 할 예정이다.
이에 앞서 맛보기로 전체 오픈 소스의 개발 환경별 필요한 것들을 리스트업 해봤다.


*. Open Source로 구성된 개발 프레임워크 도구들



1. 프로젝트 관리 도구들

 1.1 웹 기반 프로젝트 관리
    -  Basecamp(블로그 기반으로 RSS, milestones, To-Do List, 아웃룩 , IM연동 , E-mail을 지원)
 1.2 Issue Tracking
    - Trac(Issue tracking, Wiki, Subversion의 조합으로 다양한 버그 트랙킹, 요구사항 트랙이 가능)
    - Roundup(심플, Python으로 개발됨)
 1.3 일정 및 리소스 관리
    - GanttProejct(Ms Porj3ect와 유사한 기능 지원, 한글지원 안됨)
    - jxProject(기능 심플하고 프로젝트 관리 편리함, 한글 지원)
 1.4 형상 관리
    - CVS(Eclipse와 조합을 이루어 가장 널리 쓰임, Unix기반으로도 사용)
    - Subversion(CVS를 보완한 웹 기반의 소스 버젼 관리, Trac과 연동하여 요즘 사용하는 추세가 가파르게 상승)
 1.5 문서 보관
    - Google Desktop Search + DNKA(검색과 다운로드가 가능한 웹 기반의 문서저장소 개발 가능)
 1.6 설계
    - gModeler(웹 기반의 UML 툴)
    - Gliffy(웹 기반의 Vision - UML 지원)

 
2. 아키텍쳐 도구들

 2.1 SOA의 구성요소인 ESB 툴
    - ChainBuilder ESB(이클립스와 결합하여 ESB 설계가 가능)
    - GlassFish(Jboss, Webshpere와 결합하여 Open Message Queue기능 구현이 가능)
 2.2 BPM
    - Drools(Rule-based 엔진(JSR-94)을 기반)


3. 개발 도구들

 3.1 개발 환경
    - Eclipse(IDE기반의 개발 툴)
    - Junit(단위 테스트 향상으로 코드의 품질 향상)
    - Maven(프로젝트 관리 및 빌드)
 3.2 Framework
    - Spring Framework(POJO, AOP, IoC, OR 매핑 프레임웍을 지원)
    - Struts Framework(MVC 모델 구현)
    - Hibernate Framework(객체를 RDB에 매핑해서 저장하는 ORM(Object-Relational Mapping) Tool)
    - Velocity(템플릿 기능 사용으로 개발 생산성 높임)
    - FreeMarker(Velocity와 같은 templating언어임)
 3.3 Ajax구현 개발 라이브러리
    - aSSL(Ajax Secure Service Layer로 HTTPS없이 ssl서버스 가능하므로 Ajax기능 구현시 보안 문제 커버 가능)
    - DWR(Java기반의 원격 호출 라이브러리)
    - Dojo(Javascript toolkit)
    - Prototype(객체 지향적 자바스크립트 라이브러리)
    - Rico(오픈 소스 기반의 자바 스크립트 라이브러리)
    - Scriptaculous(오픈 소스 기반의 자바 스크립트 라이브러리)
    - JFreeChart(통계 프로그램 등에 유용한 차트 지원)
 3.4 성능
    - Eclipse의 TPTP 프로젝트(Performance Tuning 지원)
    - Bcel(Byte Code Engineering Library로 바이너리 코드를 진단하여
              트래픽 진단 및 에러 발견 등의 성능 진단 프로그램 개발 가능)


4. 운영 도구들

 - WAS모니터링 툴(Bcel 확장으로 Java기반 어플리케이션 모니터링 가능)
 - Quartz(Job Scheduler로 응용하여 배치 작업 모니터링 및 스케쥴링 가능)



*. 개발 도구들 사이트 주소

1. Basecamp(http://www.basecamphq.com/
2. Trac(http://trac.edgewall.org/)
3. Roundup(http://roundup.sourceforge.net/)
4. GanttProejct(http://ganttproject.sourceforge.net/)
5. jxProject(http://www.jxproject.com/)
6. CVS(http://www.gnu.org/software/cvs/)
7. Subversion(http://subversion.tigris.org/)
8. Google Desktop Search(http://desktop.google.com/)
9. DNKA(http://dnka.com/)
10.ChainBuilder ESB(http://desktop.google.com/)
11.GlassFish(http://glassfish.dev.java.net/)
12.Drools(http://drools.codehaus.org/)
13.gModeler(http://www.gskinner.com/gmodeler/app/run.html)
14.Gliffy(http://www.gliffy.com/)
15.Eclpise(http://www.eclipse.org/)
16.Junit(http://www.junit.org/)
17.Maven(http://maven.apache.org/)
18.Spring Framework(http://www.springframework.org/)
19.Struts Framework(http://struts.apache.org/)
20.Hibernate Framework(http://www.hibernate.org/)
21.Velocity(http://jakarta.apache.org/velocity/)
22.FreeMarker(http://freemarker.sourceforge.net/)
23.aSSL(http://assl.sullof.com/)
24.DWR(http://getahead.ltd.uk/dwr/)
25.Dojo(http://www.dojotoolkit.org/)
26.Prototype(http://prototype.conio.net/)
27.Rico(http://openrico.org/)
28.Scriptaculous(http://script.aculo.us/)
29.JFreeChart(http://www.jfree.org/jfreechart/)
30.Eclipse의 TPTP(http://www.eclipse.org/tptp/index.html)
31.Bcel(jakarta.apache.org/bcel/)
32.Quartz(http://www.opensymphony.com/quartz/)


*. 오픈 소스 기반의 개발 프레임워크 구축 방안

 - 동질의 목표를 위해서 모인 커뮤니티를 구축하고 발표 및 토론의 진행형태로 운영
 - 오픈 소스라서 인큐베이팅 활동이 활발한 오픈 소스 위주로 선택 과 집중
 - Prototype 형태의 구현을 할수 있는 환경 구축
 - 웹 개발 프로세스에 맞는 개발 프레임워크 구축
 - 실제 적용 및 FeedBack을 통한 내재화




|  1  |  ···  |  66  |  67  |  68  |  69  |  70  |  71  |  72  |  73  |  74  |  ···  |  128  |