주요 특징
전자정부 표준프레임워크 개발환경의 주요 특징은 다음과 같습니다.
개발환경 구축의 자동화 및 최적화
- 라이트버전의 개발환경 제공으로 개발환경을 경량화
- 필요 기능만을 선택적으로 설치함으로써 최적화된 개발환경을 구성하는 기능을 제공
- 한번의 설치로 쉽고 빠르게 OS별 서버 환경을 구성하는 기능을 제공
편리한 조립식 구현환경
- 위저드 방식을 이용하여 한번의 클릭으로 공통컴포넌트를 선택 및 설치하는 기능을 제공
- 공통컴포넌트 설정부터 테이블 생성까지 바로 실행 가능한 코드를 생성하는 기능을 제공
- 홈페이지, 포털사이트, 내부 업무 시스템 등 유형별 사이트 템플릿 프로젝트를 제공
모바일웹 구현 기능 제공
- 설치와 동시에 바로 적용 가능한 모바일에 최적화된 표준 소스코드를 제공
- 모바일 템플릿 및 공통컴포넌트 적용을 위한 위저드 방식의 조립식 구현환경을 제공
- 웹검증도구를 개발환경에 내장하여 모바일웹을 포함한 웹 호환성을 개발과 동시에 검증하는 기능을 제공
배치작업 구현기능 제공
- 배치템플릿 적용을 위한 위저드 방식의 조립식 구현환경을 제공
- 배치작업에 대한 설정만으로 파일을생성할 수 있는 배치작업 및 배치 실행파일 생성도구를 제공
- 배치작업 테스트 도구를 개발환경에 포함하여 기 개발된 배치작업을 검증하는 기능을 제공
-
구현도구
에디터, 디버거, 개발절차, 템플릿 기능
- 모델링, 에디팅, 컴파일링, 디버깅 환경
- 애플리케이션 개발을 위한 가이드
- 모델을 통한 유형별 템플릿 기반의 코드 자동생성
- 소스코드의 정합성을 체크하는 코드 인스펙션
- 모바일 웹 소스코드 구현 및 검증
-
테스트도구
테스팅, 테스트 리포팅, 커버리지 분석 기능
- JUnit 기반의 UnitTest 지원
- HTML/XML/Excel 형식의 테스트 리포팅
- 테스트케이스 커버리지 수치 및 코드영역 확인
-
형상관리도구
형상/변경관리 기능
- Subversion 기반의 소스 및 산출물 형상관리
- 형상관리에 대한 이슈관리 및 알림 기능 지원
-
빌드도구
빌드/빌드 자동화 기능
- Maven 기반의 빌드
- Nexus Repository를 사용한 라이브러리관리
- Hudson/Jenkins을 사용한 빌드 자동화 및 빌드 결과 피드백
- 구현 도구
- 개발자의 코드 작성을 지원하는 도구로 IDE, Mobile IDE, Common Component, Mobile Common Component, Editor, Debug, Batch IDE로 구성
- 테스트 도구
- 개발자가 작성된 코드를 테스트 하기 위한 도구로 Unit Test, Test Automation, Test Coverage, Test Reporting, Batch Job Test 으로 구성
- 빌드 도구
- 개발자가 작성된 코드를 컴파일, 빌드, 배포하기 위한 도구로 Build와 Deploy
- 형상관리도구
- 형상요소에 대한 식별 및 등록, 이력관리를 지원하는 Configuration Management와 이슈를 등록하고 검색할 수 있는 ChangeManagement로 구성
구현도구
- IDE
- 전자정부 표준프레임워크 퍼스펙티브를 제공하며, 코어 프로젝트, 웹 프로젝트 생성 및 관련 예제생성기능과 템플릿 프로젝트 생성기능을 제공
- Common Component
- 공통컴포넌트 마법사를 통해 95종의 전자정부 표준프레임워크 공통컴포넌트를 생성 및 조립하는 기능을 제공
- Mobile IDE
- 전자정부 모바일 프레임워크 퍼스펙티브를 제공하며, 표준 소스코드 생성 및 검증 기능과 모바일 템플릿 프로젝트 생성기능, 모바일 공통컴포넌트 생성/조립 기능을 제공
- Mobile Common Component
- 모바일 공통컴포넌트 마법사를 통해 40종의 모바일 공통컴포넌트를 생성 및 조립하는 기능을 제공
- Java Editor
- 이클립스를 기반으로 개발되어 이클립스가 제공하는 기본 기능인 Code Assist, Quick Fix, 코드 스타일 적용, 코드 템플릿 처리, 문자열 검색, Quick Type Hierarchy, Quick Outline, 소스 코드 네비게이션, Mark Occurrences, 로컬 히스토리 등과 추가 기능인 eGovFramework을 위한 Perspective, Menu, New Project Wizard 기능을 제공
- DBIO Editor
- iBatis를 기반한 프로젝트에 적합하도록 만들어진 Editor로써 SqlMapConfig 파일과 SqlMap 파일 작성을 위한 GUI / MyBatis를 기반한 프로젝트에 적합하도록 만들어진 Editor로써 MapperConfiguration 파일과 Mapper 파일 작성을 위한 GUI 와 Query sentence 작성시 발생할 수 있는 오류를 최소화 하기 위한 테스트기능, Query ID 중복체크기능, Query ID 조회기능 등의 편리한 기능이 제공
- UML Editor
- 객체를 모델링 하는 도구로 Class Diagram, Use Case Diagram, Sequence Diagram 등을 작성할 수 있는 기능을 제공하고 추가적인 기능으로 작성된 Class Diagram 으로 Java Source 생성 가능
- ERD Editor
- 데이타 모델링을 위한 도구로 논리모델과 물리모델의 표현이 가능하고 잘 알려진 DB Vendor 에 맞게 스키마 생성 스키립트를 만들 수 있는 기능을 제공
- Batch IDE
- 일괄 데이터 처리를 위한 배치작업 템플릿 생성, 배치작업파일 생성, 배치실행파일 생성 기능을 제공
빌드도구
- Build
- Maven을 표준 프로젝트 빌드 관리 도구로 활용하여 빌드 프로세스를 수행하며 Maven의 강력한 특징인 의존성 설정과 라이브러리 관리 기능을 통해 개발자가 라이브러리를 직접관리하지 않고 라이브러리 Repository 시스템을 활용하여 관리하고 Maven Plugin을 탑재하여 Eclipse에서 Build 수행을 지원
- CI
- 지속적인 통합 및 빌드를 위해 오픈소스인 Hudson/Jenkins을 사용하며 소스 저장소와의 연동을 통해 개발자가 올린 코드를 저장소 내 소스에 반영하여 빌드를 수행. 빌드가 실패할 경우, 실패 원인을 해당 개발자에게 통보하여 실패 원인을 분석하고 문제를 해결하도록 하고 주기 설정을 통하여 자동 빌드 기능을 수행
형상관리 도구
- Configuration
Management - Subversion기반으로 소스 및 산출물을 Chcek In, Check Out, History 내역을 확인 가능
- Change Management
- 개발시 발생하는 이슈를 등록, 처리, 검색할 수 있으며 Notification기능을 통해 담당자에게 통보 가능
개발환경 오픈소스 현황
전자정부 표준프레임워크의 개발 환경에 대한 오픈소스 소프트웨어의 서비스별 현황은 아래와 같습니다.
개발환경 서비스별 오픈소스 소프트웨어 현황표
서비스그룹 | 서비스 | 소프트웨어 현황 | 비고 | |
---|---|---|---|---|
Implemtation Tool | Editor | Source Editor | Eclipse | |
IDE | N/A | 신규개발 | ||
Batch IDE | N/A | 신규개발 | ||
Common Component | N/A | 신규개발 | ||
Customize Development Tool | N/A | 신규개발 | ||
Mobile IDE | N/A | 신규개발 | ||
DeviceAPI IDE | N/A | 신규개발 | ||
Mobile Common Component | N/A | 신규개발 | ||
Mobile Code Verification | N/A | 신규개발 | ||
Add Plug-In | N/A | 신규개발 | ||
UML Editor | AmaterasModeler | |||
ERD Editor | ||||
DBIO Editor | N/A | 신규개발 | ||
Web Flow | Spring Web Flow | |||
Code Generation | N/A | 신규개발 | ||
Code Inspection | PMD, FindBugs | |||
Server Connection Management | N/A | 신규개발 | ||
Debug | Local Debug | Eclipse | ||
Remote Debug | Eclipse | |||
TestTool | Unit Test | Test Case | JUnit | |
Mock Support | EasyMock | |||
DB Support | DbUnit | |||
Test Automation | Ant, Maven | |||
Test Reporting | Ant, Maven | 기능 추가 | ||
Test Coverage | EMMA | |||
TestCase Generator | N/A | 신규개발 | ||
Batch Job Test | N/A | 신규개발 | ||
Deployment Tool | Build | Build Tool | Maven | |
CI Server | Hudson/Jenkins | |||
Nexus | Nexus | |||
Generate Tool | Android Configurator for Eclipse | |||
Deploy | N/A | 신규개발 | ||
Conf.&Change Mgt.Tool | Configuration Management | Subversion | ||
Change Management | jTrac | UI 재개발 |