eGovframe Portal 전자정부 표준프레임워크

행정안전부
  • 홈
  • 로그인
  • 사이트맵
  • ENGLISH

표준프레임워크 개요 : 전자정부 표준프레임워크의 전체적인 개요를 살펴보실 수 있습니다.

HOME > 표준프레임워크 개요 > 아키텍처 > 개발환경

개발환경 아키텍처구성 (2.0.0)


주요 개선점
전자정부 표준프레임워크 2.0 개발환경의 주요 변경사항은 다음과 같습니다.
  • 개발환경 구축의 자동화 및 최적화
  • - 라이트버전의 개발환경 제공으로 개발환경을 경량화
    - 필요 기능만을 선택적으로 설치함으로써 최적화된 개발환경을 구성하는 기능을 제공
    - 한번의 설치로 쉽고 빠르게 OS별 서버 환경을 구성하는 기능을 제공
  • 편리한 조립식 구현환경
  • - 위저드 방식을 이용하여 한번의 클릭으로 공통컴포넌트를 선택 및 설치하는 기능을 제공
    - 공통컴포넌트 설정부터 테이블 생성까지 바로 실행 가능한 코드를 생성하는 기능을 제공
    - 홈페이지, 포털사이트, 내부 업무 시스템 등 유형별 사이트 템플릿 프로젝트를 제공
  • 모바일웹 구현 기능 제공
  • - 설치와 동시에 바로 적용 가능한 모바일에 최적화된 표준 소스코드를 제공
    - 모바일 템플릿 및 공통컴포넌트 적용을 위한 위저드 방식의 조립식 구현환경을 제공
    - 웹검증도구를 개발환경에 내장하여 모바일웹을 포함한 웹 호환성을 개발과 동시에 검증하는 기능을 제공
  • 오픈소스 업그레이드
  • - 개발환경의 업그레이드는 최신 버전의 반영과 표준프레임워크 1.0과 호환성을 최대한 확보하도록 진행
『 개발환경 서비스별 오픈소스 소프트웨어 업그레이드 상황 』
서비스 그룹 서비스 기존버전 업그레이드버전 비고
Implemtation Tool Editor Source Editor Eclipse3.4 Eclipse3.6
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.1 AmaterasUML 1.3.2
ERD Editor AmaterasERD 1.0.5 AmaterasERD 1.0.8
DBIO Editor N/A 신규 개발
Web Flow Spring Web Flow 2.2.0 Spring Web Flow 2.3.0
Code Generation N/A 신규 개발
Code Inspection PMD 3.2.6, FindBugs 1.3.9 PMD 3.2.6, FindBugs 1.3.9
Server Connection Management N/A 신규 개발
Debug Local Debug Eclipse 3.4 Eclipse 3.6
Remote Debug Eclipse 3.4 Eclipse 3.6
TestTool Unit Test Test Case JUnit 4.3.1 JUnit 4.8.1
Mock Support EasyMock 2.4 EasyMock 3.0
DB Support DbUnit 2.4.2 DbUnit 2.4.8
Test Automation Ant 1.7.0, Maven 2.0.9 Ant 1.8.2, Maven 3.0.3
Test Reporting Ant 1.7.0, Maven 2.0.9 Ant 1.8.2, Maven 3.0.3 기능 추가
Test Coverage EMMA2.0 EMMA2.1
TestCase Generator N/A 신규 개발
Deployment Tool Build Build Tool Maven 2.0.9 Maven 3.0.3
CI Server Hudson 1.266 Hudson 1.398
Nexus Nexus 1.4.1 Nexus 1.8.0.1
Deploy N/A 신규 개발
Conf.&Change Mgt.Tool Configuration Management Subversion 1.5.5 Subversion 1.6.16
Change Management jTrac UI 재개발


개발환경의 구성
  • 개요
    - 전자정부 표준프레임워크의 실행환경 기반으로 효율적인 어프릴케이션 개발을 할 수 있는 구현(코팅, 디버깅), 테스트, 배포, 형상관리 도구들을 제공
    - 전자정부 표준프레임워크의 개발 환경은 보다 정확하고 효율적인 어플리케이션의 개발을 위해 실행환경에서 제공하는 다양한 기능들을 효과적으로 사용하기 위한 개발 툴을 의미
    - 전자정부 표준프레임워크 개발환경은 4개 서비스 툴로 구성
  • 구현도구
    개발자의 코드 작성을 지원하는 도구로 IDE, Mobile IDE, Common Component, Mobile Common Component, Editor, Debug로 구성
  • 테스트 도구
    개발자가 작성된 코드를 테스트 하기 위한 도구로 Unit Test, Test Automation, Test Coverage, Test Reporting 으로 구성
  • 빌드 도구
    개발자가 작성된 코드를 컴파일, 빌드, 배포하기 위한 도구로 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와 Query sentence 작성시 발생할 수 있는 오류를 최소화 하기 위한 테스트기능, Query ID 중복체크기능, Query ID 조회기능 등의 편리한 기능이 제공
  • UML Editor
    객체를 모델링 하는 도구로 Class Diagram, Use Case Diagram, Sequence Diagram 등을 작성할 수 있는 기능을 제공하고 추가적인 기능으로 작성된 Class Diagram 으로 Java Source 생성 가능
  • ERD Editor
    데이타 모델링을 위한 도구로 논리모델과 물리모델의 표현이 가능하고 잘 알려진 DB Vendor 에 맞게 스키마 생성 스키립트를 만들 수 있는 기능을 제공

테스트 도구
  • Unit Test
    JUnit 기반으로 TestCase 작성을 지원합니다. TestCase Generator를 통하여 유형에 따라 TestCase를 화면기반으로 작성할 수 있고 가상의 객체인 Mock과 DB 단위 테스트케이스를 작성할 수 있도록 지원
  • Test Automation
    작성된 Test를 자동으로 수행. Test Suite으로 그룹핑하거나 TestCase로 작성된 다수의 테스트케이스 클래스들을 Build 도구(Maven)를 통해 자동으로 테스트가 수행가능
  • Test Coverage
    오픈소스인 EMMA를 사용하여, 개발자가 작성한 TestCase가 대상 소스코드에 대해 어느 정도 Test Coverage를 갖는지 분석
  • Test Reporting
    Build 도구(Maven)를 통해 JUnit으로 작성된 TestCase의 테스트 결과를 XML, HTML, Excel 형태로 리포팅하고 Coverage 분석 결과 또한 XML, HTML 형태로 리포팅하며, 배포도구의 CI 서버는 XML 리포트 파일을 이용하여 대시보드에서 테스트 결과와 Test Coverage 분석 결과를 보여지는것이 가능

빌드 도구
  • Build
    Maven을 표준 프로젝트 빌드 관리 도구로 활용하여 빌드 프로세스를 수행하며 Maven의 강력한 특징인 의존성 설정과 라이브러리 관리 기능을 통해 개발자가 라이브러리를 직접관리하지 않고 라이브러리 Repository 시스템을 활용하여 관리하고 Maven Plugin을 탑재하여 Eclipse에서 Build 수행을 지원
  • CI
    지속적인 통합 및 빌드를 위해 오픈소스인 Hudson을 사용하며 소스 저장소와의 연동을 통해 개발자가 올린 코드를 저장소 내 소스에 반영하여 빌드를 수행. 빌드가 실패할 경우, 실패 원인을 해당 개발자에게 통보하여 실패 원인을 분석하고 문제를 해결하도록 하고 주기 설정을 통하여 자동 빌드 기능을 수행

형상관리 도구
  • Configuration Management
    Subversion기반으로 소스 및 산출물을 Chcek In, Check Out, History 내역을 확인 가능
  • Change Management
    개발시 발생하는 이슈를 등록, 처리, 검색할 수 있으며 Notification기능을 통해 담당자에게 통보 가능

개발환경 오픈소스 현황
전자정부 표준프레임워크의 개발 환경에 대한 오픈소스 소프트웨어의 서비스별 현황은 아래와 같습니다.
『 개발환경 서비스별 오픈소스 소프트웨어 현황표 』
서비스 그룹 서비스 소프트웨어현황 비고
Implemtation Tool Editor Source Editor Eclipse3.6
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
ERD Editor AmaterasERD 1.0.8
DBIO Editor N/A 신규 개발
Web Flow Spring Web Flow 2.3.0
Code Generation N/A 신규 개발
Code Inspection PMD 3.2.6, FindBugs 1.3.9
Server Connection Management N/A 신규 개발
Debug Local Debug Eclipse 3.6
Remote Debug Eclipse 3.6
TestTool Unit Test Test Case JUnit 4.8.1
Mock Support EasyMock 3.0
DB Support DbUnit 2.4.8
Test Automation Ant 1.8.2, Maven 3.0.3
Test Reporting Ant 1.8.2, Maven 3.0.3 기능 추가
Test Coverage EMMA
TestCase Generator N/A 신규 개발
Deployment Tool Build Build Tool Maven 3.0.3
CI Server Hudson 1.398
Nexus Nexus 1.8.0.1
Deploy N/A 신규 개발
Conf.&Change Mgt.Tool Configuration Management Subversion
Change Management jTrac UI 재개발


이전 버전의 아키텍처 구성

  • 공지사항
  • 행사안내
  • FAQ
  • Q&A
  • 용어사전 서비스
  • 다운로드 서비스
  • 위로이동