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

 

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

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

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

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

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을 통한 내재화

 

This entry was posted in SCM/ITS, Util/Tools and tagged , . Bookmark the permalink.

댓글 남기기