개발프레임워크 개발환경 소개
개요
전자정부 표준프레임워크의 개발환경 대해 전체적인 개요를 설명한다.
설명
개발환경 목표
전자정부 표준프레임워크 개발환경은 비즈니스 프로그램 개발, 버전관리, 단위 테스트, 빌드 등의 개발 Life-Cycle 전반에 대한 지원 도구를 제공한다.
- Implementation Tool
- Test Tool
- Configuration & Change Management Tool
- Deployment Tool
개발자 개발환경과 서버 개발환경
개발자 개발환경
개발자 개발환경은 Implementation Tool(Editor, Debug, IDE, Common Component, Mobile IDE)과 Test Tool(Test Reporting, Unit Test)로 구성되어있다.
개발자 개발환경의 세부 기능을 좀 더 자세히 살펴보면 개발자들이 필수적으로 사용해야 하는 기능과 개발 편의성을 위해 선택적으로 사용하는 기능으로 구분됨을 알 수 있다.
이에 따라 전자정부 표준프레임워크에서는 개발환경을 경량화하기 위해 개발자 필수 기능만으로 구성된 경량 개발환경을 제공한다. 경량 개발환경은 개발자들이 간편하게 설치하여 사용할 수 있으며 소규모 프로젝트에서 사용하기 용이한 개발환경이다.
또한 전자정부 표준프레임워크에서는 개발자 필수 기능과 개발 편의성 향상을 위한 선택적 기능을 모두를 설치한 통합 개발환경도 제공한다.
개발자는 프로젝트의 상황에 적합한 환경을 다운로드하여 사용하도록 한다.
서버 개발환경
서버 개발환경은 Deployment Tool(Build, Deploy)과 Conf. & Change Mgt. Tool(Configuration Management, Change Management)로 구성되어 있다.
전자정부 표준프레임워크에서는 서버 개발환경 역시 프로젝트에서 필수적으로 사용하는 기능과 선택적으로 사용하는 기능으로 구분하였다.
프로젝트 상황에 따라 Deployment Tool과 Conf. & Change Mgt. Tool 중 일부 기능을 선택적으로 사용할 수 있다.(서버 개발환경)
개발 프로세스
개발환경에서 제공하는 개발환경 도구를 기반으로 개발을 진행할 경우 제시될 수 있는 개발 프로세스이다.
개발 프로세스는 아래의 4개 영역으로 분류되며 각 영역에서 수행하는 상세 프로세스는 그림에서 확인할 수 있다.
- 개발자 PC
- 형상관리 서버
- CI 서버
- 어플리케이션 서버
환경 설정
기본 환경
| 항목 | 권장버전 | 비고 |
|---|---|---|
| Java Development Kit | 5.0 | |
| Servlet | 2.4 | |
| Eclipse IDE for Java EE Developers | 3.6.2 | http://www.eclipse.org/downloads/ 새 창 열림 |
WAS
| 이름 | 권장버전 | 자바호환성 | 비고 |
|---|---|---|---|
| Jboss application platform | 4.3.0 | JDK 5.0 | |
| Tmax JEUS | 6.0.0.5 | JDK 5.0 이상 | |
| Oracle WebLogic Server | 9.2 | JDK 5.0 이상 |
DBMS
| 이름 | 권장버전 | 비고 |
|---|---|---|
| Mysql | 5.1.30 | |
| Tibero | 3.0(sp2) | |
| Altibase DBMS Server | 5.1.3.18 | |
| Oracle | 9.2(mp3) |
Open Source Software 사용 현황
| 서비스 그룹 | 서비스 | 오픈소스 소프트웨어 | 버전 | 라이선스 | 확장 및 개발 | |
|---|---|---|---|---|---|---|
| Implemtation Tool | Editor | Source Editor | Eclipse | 3.6.2 | EPL & EDL | *Indigo(3.7)버전은 유지보수팀으로 문의하시기 바랍니다. |
| IDE | N/A | 신규 개발 | ||||
| Common Component | N/A | 신규 개발 | ||||
| Customize Development Tool | N/A | 신규 개발 | ||||
| Mobile IDE | N/A | 신규 개발 | ||||
| Mobile Common Component | N/A | 신규 개발 | ||||
| Mobile Code Verification | N/A | 신규 개발 | ||||
| Add Plug-In | N/A | 신규 개발 | ||||
| UML Editor | AmaterasUML | 1.3.2 | EPL 1.0 | |||
| ERD Editor | AmaterasERD | 1.0.8 | EPL 1.0 | |||
| DBIO Editor | N/A | 신규 개발 | ||||
| Web Flow | Spring Web Flow | 2.0.7 | ||||
| Code Generation | N/A | 신규 개발 | ||||
| Code Inspection | PMD, FindBugs | 3.2.6, 1.3.9 | BSD, LGPL | |||
| Server Connection Management | N/A | 신규 개발 | ||||
| Debug | Local Debug | Eclipse | 3.6.2 | EPL & EDL | ||
| Remote Debug | Eclipse | 3.6.2 | EPL & EDL | |||
| TestTool | Unit Test | Test Case | JUnit | 4.8.1, 3.8.2 | CPL | |
| Mock Support | EasyMock | 3.0 | MIT | |||
| DB Support | DbUnit | 2.4.8 | LGPL 2.1 | |||
| Test Automation | Ant, Maven | 1.8.2, 3.0.3 | Apache License 2.0 | |||
| Test Reporting | Ant, Maven | 1.8.2, 3.0.3 | Apache License 2.0 | 기능 추가 | ||
| Test Coverage | EMMA | 2.1 | CPL | |||
| TestCase Generator | N/A | 신규 개발 | ||||
| Deployment Tool | Build | Build Tool | Maven | 3.0.3 | Apache License 2.0 | |
| CI Server | Hudson | 1.398 | Creative Commons Attribution Share-Alike License,MIT | |||
| Nexus | Nexus | 1.8.0.1 | GPL | |||
| Deploy | N/A | 신규 개발 | ||||
| Conf.& Change Mgt.Tool | Configuration Management | Subversion | Subversion License | |||
| Change Management | jTrac | Apache License 2.0 | UI 재개발 | |||
✔ DBUnit, EasyMock, Emma, Ant 사용이 필요한 경우 제공된 pom.xml 파일에 있는 주석을 풀고 Maven Install을 실행하도록 한다.
사용법
개발환경 메인은 개발프레임워크 개발 환경에 대한 소개 및 링크 URL 정보를 관리한다.
일반 사용자가 개발도구를 사용하기 위해서는 각 프로젝트의 개발환경에 맞게 개발도구의 링크 URL을 변경하여야 한다. 이를 변경하기 위해서는 다음의 절차를 따라야 한다.
- 관리자 로그인
시스템 초기 배포시 admin/admin123으로 셋팅되어 있으며 로그인 후 비밀번호를 변경하여야 한다.
- 메뉴 관리
각 도구에 대한 프로젝트 별 링크 URL 정보 및 활성화 여부를 수정하여 저장한다.
환경설정
- 개발환경 메인 Tool 설치
전자정부 표준프레임워크 포탈(http://www.egovframe.go.kr 새 창 열림)을 통해 개발환경 메인 Tool을 내려받고 해당 WAS서버에 Deploy한다.
- DB 스키마 생성
전자정부 표준프레임워크 포탈(http://www.egovframe.go.kr 새 창 열림)을 통해 개발환경 메인 Tool의 DB Schema 생성 sql 다운로드 후 DB에 접속하여 sql을 실행한다.
- DB 접속정보 변경
개발환경 메인 Tool을 해당 WAS에 Deploy한 후 배포위치 하위의 WEB-INF/config/context-datasource.xml 파일을 해당 프로젝트에 맞게 변경한다.
배포시 MySQL 데이터베이스의 dev 유저로 기본 세팅되어 있다.
초기 화면
- 개발환경 개발도구의 각각의 메인페이지로 이동할 수 있다.
- 일반사용자가 사용전에 각 프로젝트 환경에 맞게 개발도구에 대한 환경설정이 되어 있어야 하며, 그에 대한 링크 URL을 관리자가 수정해 주어야 한다.




