곰돌이 놀이터

[전자정부 표준프레임워크] 소개 및 버전별 구성 본문

전자정부 표준프레임워크

[전자정부 표준프레임워크] 소개 및 버전별 구성

달나라 곰돌이 2019. 7. 27. 13:39

 표준 프레임워크 

 

정확한 명칭은 '전자정부 표준프레임워크(eGovFrame)'
대한민국 공공 부분 정보화 사업시 플랫폼별 표준화된 개발 프레임워크.

 

※프레임워크 vs 라이브러리
- 프레임워크 : 어플리케이션의 틀과 구조를 프레임워크에서 제어하고, 프레임워크 위에서 개발자의 코드가 동작한다.
- 라이브러리 : 개발자의 코드 안에서만 재사용됨을 총칭한다.

 

 표준프레임워크 등장배경 및 목적

 

개발프레임워크는 정보시스템 개발을 위해 필요한 기능 및 아키텍처를 미리 만들어 제공함으로써 효율적인 어플리케이션 구축을 지원한다. “전자정부 표준프레임워크”는 공공사업에 적용되는 개발프레임워크의 표준 정립으로 응용 SW 표준화, 품질 및 재 사용성 향상을 목표로 한다. 이를 통해“전자정부 서비스의 품질향상” 및 “정보화 투자 효율성 향상”을 달성하고, 대ㆍ중소기업이 동일한 개발기반 위에서 공정 경쟁이 가능하게 된다.

※프레임워크는 하나의 주어진 상황 문제를 어떻게 해결하는지를 보는 것을 협의의 디자인 패턴 또는 매커니즘이라면, 전체 프로그램을 어떻게 구성할 것인가를 생각하는 디자인 패턴이 바로 프레임워크이다. 디자인 패턴과 같은 부분적인 해결책을 전체적인 관점에서 통합하여 애플리케이션의 설계 및 구현틀을 제공하는 것이다.

 

 표준프레임워크 특징

 표준프레임워크 적용 효과

 

정보시스템을 개발하거나 운영할 때 필요한 기본 기능을 미리 구현한 것으로 이를 기반으로 추가 기능을 개발하여 조립함으로써 전체 정보시스템을 완성할 수 있다.

 전자정부 표준프레임워크 구성

 

전자정부 표준프레임워크는 웹 기반 정보화시스템 구축 시 필요로 하는 어플리케이션 아키텍처, 기본기능 및 공통컴포넌트를 제공하는 표준프레임워크로서 다음과 같이 실행환경, 개발환경, 운영환경, 관리환경과 공통컴포넌트로 구성되어 있다.

 

공통컴포넌트

표준프레임워크

전자정부 표준프레임워크 구성 요소의 기능 및 역할

구분 기능 및 역할

실행환경

전자정부 사업에서 개발하는 업무 프로그램의 실행에 필요한 공통모듈 등 업무 프로그램 개발 시 화면, 서버 프로그램, 데이터 개발, 배치처리기능 개발을 표준화가 용이하도록 지원하는 응용프로그램환경

개발환경

전자정부 업무 프로그램의 개발에 필요한 환경 제공

데이터개발도구, 테스트자동화도구, 코드검사도구, 템플릿 프로젝트 생성도구, 공통컴포넌트 조립도구, 맞춤형 개발환경 구성도구, 서버환경관리도구,모바일용 표준 소스코드 생성도구, 모바일용 템플릿 프로젝트 생성도구,  모바일용 공통컴포넌트 조립도구, 모바일용 맞춤형 개발환경 구성도구, 서버용 개발환경(Windows, Unix 계열)설치, 배치템플릿 프로젝트 생성도구, 배치작업파일 생성도구, 배치실행파일 생성도구 등

운영환경

실행환경에서 운영되는 서비스를 운영하기 위한 환경제공(모니터링, 배포, 관리시스템 등)

배치 환경을 운영하기 위한 환경제공(배치실행, 스케줄링, 결과모니터링 등)

관리환경

개발프레임워크 및 공통서비스를 각 개발 프로젝트에 배포 및 관리하기 위한 모듈

공통컴포넌트

전자정부 공통컴포넌트는 전자정부 사업에서 응용SW 개발 시 곹오적으로 활용하기 위하여, 재사용이 가능하도록 개발한 어플리케이션의 집합

모바일 디바이스 API

CoreAPI : 모바일 하이브리드 어플리케이션에서 모바일 디바이스 자원에 대한 직접적인 접근과 활용이 가능한 다양한 API 제공

가이드 어플리케이션(앱) : 디바이스 API를 손쉽게 접근할 수 있도록 제공하는 디바이스 API의 활용예제

모바일 디바이스 API 실행환경

디바이스 어플리케이션이 웹 리소스 기반으로 구현 및 실행될 수 있도록 지원하는 응용 프로그램 환경 디바이스 API, 자바스크립트 프레임워크, 하이브리드 프레임워크 등

모바일 디바이스 API 개발환경

Android 기반환경에서의 디바이스 어플리케이션 개발을 위한 Eclipse 플러그인과 iSO 환경에서의 개발을 위한 Xcode 내의 프레임워크 프로젝트로 구성되어 있다.

 

 버전별 구성

버전 구성

표준프레임워크 3.8 

표준프레임워크 3.8은 다음과 같은 변경을 통해 '19년 2월 공개

- 실행환경 적용 오픈소스SW 업그레이드 반영 (Spring Framework 4.2.4 -> 4.3.16)

- 실행환경 오픈소스 버전 변경(Spring Security, myBatis, Log4j 등)

- 실행환경 eGovFrame Crypto 간소화 서비스 추가

- 개발환경 오픈소스 SW 업그레이드 반영 (Eclipse 4.6.3 Neon.3 -> 4.7.3 a)

- 개발환경 공통컴포넌트 개선 251종 all-in-one 템플릿 추가

- 공통컴포넌트 실행환경 3.8.0 적용공통컴포넌트 3.8.0 개선 251종(실행환경 v3.8.0, 신규 CSS 디자인, Servlet v3.1, MyBatis, 국제화, 시큐어코딩 적용)

표준프레임워크 3.7 

표준프레임워크 3.7은 다음과 같은 변경을 통해 '18년 3월 공개

실행환경 적용 오픈소스SW 업그레이드 반영 (Spring Framework 4.1.2 -> 4.2.4)

실행환경 오픈소스 버전 변경(Spring Security, Sprng Batch, Log4j, Apache CXF)

실행환경 eGovFrame Batch 신규 기능 18종 추가

개발환경 오픈소스 SW 업그레이드 반영 (Eclipse 4.5.2 -> 4.6.3 Neon.3)

개발환경 공통컴포넌트 개선 50종 템플릿 추가

공통컴포넌트 실행환경 3.7.0 적용공통컴포넌트 3.7.0 개선 20종(실행환경 v3.7.0, 신규 CSS 디자인, Servlet v3.1, MyBatis, 국제화, 시큐어코딩 적용)

표준프레임워크 3.6 

표준프레임워크 3.6은 다음과 같은 변경을 통해 '17년 3월 공개

실행환경 적용 오픈소스SW 업그레이드 반영 (Spring Framework 4.0.9 -> 4.1.2)

실행환경 오픈소스 버전 변경(MyBatis, EhCache, Hibernate, Poi)

개발환경 오픈소스 SW 업그레이드 반영 (Eclipse 4.4 -> 4.5.2)

공통컴포넌트 실행환경 3.6.0 적용

공통컴포넌트 3.6.0 개선 30종(실행환경 3.6.0 적용, 신규 CSS 디자인 적용, Servlet 3.1 적용, MyBatis적용, 국제화 적용, 시큐어코딩 49건)

Device API 가이드프로그램 10종 추가

Device API 오픈소스 업그레이드 (Cordova 6.1.0->6.4.0)

표준프레임워크 3.5 

표준프레임워크 3.5는 다음과 같은 변경을 통해 '15년 6월 공개

실행환경 적용 오픈소스SW 업그레이드 반영 (Spring Framework 3.0.5 -> 4.0.9)

실행환경 오픈소스 변경기능(DB기반 iBatis 적용기능 수정 등)

수정개발환경 적용 오픈소스SW 업그레이드 반영 (jdk6 -> jdk7)

(단, 개발환경 3.5.1 부터는 JDK8 적용 가능)

템플릿 프로젝트 실행환경 3.5 반영 등 개발환경 개선

공통컴포넌트 오픈소스 변경기능 적용 및 버그수정 (총 62건)

모바일 화면처리 오픈소스SW 업그레이드 반영 (jQuery Mobile 1.3.2 -> 1.4.5 등)

모바일 디바이스 API 오픈소스SW 업그레이드 반영 (phoneGap) 2.9 -> 4.3, iScroll 4 -> 5 등)

표준프레임워크 3.0 

표준프레임워크 3.0은 다음과 같은 변경을 통해 '14년 6월 공개

오픈소스SW 39종(실행환경 26종, 개발환경 13종) 업그레이드 반영

실행환경 신규기능(DB기반 PropertyService, Server Security 설정 간소화 등) 추가

실행환경 적용 오픈소스SW 업그레이드 반영 (Spring Framework 3.0.5 -> 3.2.9 등 26종)

개발환경 적용 오픈소스SW 업그레이드 반영 (eclise 4.2.2 -> 4.3.2 등 13종)

템플릿 프로젝트 실행환경 3.0 반영 등 개발환경 개선

표준프레임워크 2.7 

표준프레임워크 2.7은 다음과 같은 변경을 통해 '13년 12월 공개

모바일 화면처리 오픈소스SW 업그레이드 반영 (jQuery Mobile 1.1.1 -> 1.3.2 등)

모바일 디바이스 API 오픈소스SW 업그레이드 반영 (phoneGap) 1.9 -> 2.9)

공통컴포넌트 JFile 업로드/다운로드 컴포넌트 추가 및 패치(patch) 개선 수행

표준프레임워크 2.6 

표준프레임워크 2.6은 다음과 같은 변경을 통해 '13년 6월 공개

개발환경 안정화 지원

공통기반 오픈소스SW 업그레이드 반영 (Apache POI 3.2-FINAL -> 3.9)

데이터처리 신규 기능(MyBatis, Spring Data JPA) 추가를 통하여 데이터 서비스 개선구현도구 적용

오픈소스SW 업그레이드 반영 (eclipse 4.2 -> 4.2.2 등)

표준프레임워크 2.5 

표준프레임워크 2.5는 다음과 같은 변경을 통해 '12년 11월 공개

대용량 일괄처리를 위한 배치 프레임워크(배치실행, 배치개발, 배치운영 추가) 추가

모바일 하이브리드 앱 지원을 위한 모바일 디비이스 API 제공모바일 화면처리 적용

오픈소스SW 업그레이드 반영 (jQuery Mobile 1.0b3 -> 1.1.1 등)

향상된 성능 및 안정화 지원

표준프레임워크 2.0 

표준프레임워크 2.0은 다음과 같은 변경을 통해 '11년 11월 공개

표준프레임워크 1.0의 오픈소스SW 업그레이드(Spring Framework 2.5.6 -> 3.0.5 등)

실행환경 핵심 및 선택 기능 분리 및 공통컴포넌트 의존성 최소화를 통한 경량화

모바일 웹 서비스를 지원하기 위한 모바일 실행환경, 모바일 개발환경, 모바일 공통컴포넌트 확보 

(신규 10종, 전환 30종)

보안성, 웹표준 및 접금성 반영을 통한 표준준수 지원

공통컴포넌트 생성 위저드 및 모바일 개발환경 기능 개선 및 적용 오픈소스SW 업그레이드 반영 

(eclipse 3.6 -> 4.2 등)

표준프레임워크 1.0 

표준프레임워크 1.0은 '09년 6월 공개되었습니다.실행환경, 개발환경, 운영환경, 관리환경 및 공통 콤포넌트 공개

 

 표준프레임워크 설치

 

아래의 방식으로 설치가 어려울 시에는 링크 를 클릭하여 공식 홈페이지의 Getting Started 확인!!

 

1. http://www.egovframe.go.kr 접속

    다운로드  통합다운로드 버튼 클릭(노란버튼)

    첨부파일부분  운영체제에 맞는 파일 다운로드

    다운로드 받은 파일 실행

    압축 풀 경로 지정  Extract 클릭

    지정한 경로에 압축 해제된 파일 확인

 

2. 해제된 파일 클릭  eclipse.exe 실행

    browse 클릭  해제된 파일안에 workspace 파일 클릭  확인

 

3. 상단 우측 패키지 구조변경 클릭

    전자정부프레임워크(eGovFrame) 구조 선택

 

4. 전자정부프레임워크 공통 컴포넌트 설치 시 필요한 DB Table 생성을 위해 Data Source 설정

    Data Source Explorer_Databse Connections 우클릭_New...

 

5. 사용할 DBMS 선택  Next

    설정한 DBMS 정보가 없을때는 설정 정보를 추가

    사용할 DBMS 버전 확인 후 더블킬릭하여 선택

    (여기서는 Oracle 사용) Oracle 연결을 위해 ojdbc.jar 설정

    JAR List 탭 클릭  Add JAR/Zip 클릭  ojdc6.jar 파일 선택

   ※ Draiver files 목록에 있는 ojdbx14.jar 파일은 Remove JAR/Zip 클릭해 삭제

    properties 탭 클릭  DB접속 정보를 입력  OK 버튼 클릭

    입력한 접속 정보가 보여지고, Test Connextion 버튼 클릭

    접속 되는지 확인  Success 메세지

 

6. Package Explorer 탭 클릭  우클릭  New  eGovFrame Web Project 선택

    Project name과 Group ID 입력  Finish 버튼 클릭

 

7. 사용할 컴포넌트 설치 위해 생성된 Project 우클릭  New  eGovFrame Common Component 선택

    사용할 컴포넌트 체크(공통, 로그인, 공통코드관리, 메뉴관리, 프로그램관리, 시스템관리, 장애관리, 달력 ..)

    앞에서 설정한 DB정보에 테이블을 생성하기 위해 '사용자 DB에 생성(사용자지정)'선택

    앞에서 설정한 드라이버 선택 후 설정한 정보가 맞는지 확인  Connection Test 버튼 클릭

    접속 확인  완료

 

8. 패키지 보는 방식 설정하기  Package Presentation  Flat&Hierarchical

 

 표준프레임워크 구조

 

java : java 소스

resources : 프레임워크 설정 파일 및 sql 파일

              - egovProps : 시스템설정파일

              - message : 공통메세지파일/자주사용되는 출력 메세지를 공통으로 관리하여 일관성있게 처리

                              고객의 요청에 따라 변경시 일괄 처리되므로 매우 유용

                              알림 메세지 또한 웹 취약점에 노출됨 시스템 쪽에서 처리하여 메세지 코드만

                              리턴하므로 취약점에서도 유리함

              - spring : 스프링프레임워크 설정파일

                           Exception 처리 및 DB설정, Mybatis(sql) 설정 등 스프링 프레임워크가 지원하는

                           라이브러리를 설정

              - sqlmap : Mybatis 의 sql 파일 및 설정 파일

              - log4j.xml : 콘솔에 출력되는 로그의 출력 범위를 설정

webapp : 웹소스

             ※ webapp 경로 : src_main_webapp

             - config : sevlet 설정파일

             - jsp : controller 에서 forward 하는 jsp 파일 위치, Servlet 설정 파일에서 설정

             - lib : 라이브러리 파일

             - web.xml : 웹 어플리케이션 환경파일, 웹 어플리케이션 시작 시 메모리에 로딩됨

                            filter, sevlet, 시작페이지 등을 설

 

 표준프레임워크 프로젝트 설정

 

1. Project 에서 pom.xml 을 이용해 maven 설정

    pom.xml 우클릭  Run As  Maven Install 클릭  배포파일 생성 및 lib 생성됨

 

2. Context path 설정 위해 Project 우클릭  Properties 클릭  Web Project Settings 선택

    Context root  값 수정(기본으로 Project명으로 되어있다)  '/'

 

3. Project 우클릭  Build Path  Configure Build Path 클릭

    Java Build Path  Libraries  JDK 는 기본으로 설치된 JDK버전으로 설정되어 있다.

    JRE System Library 선택  Edit 활성화  변경을 원하면 클릭 (버전별로 설치된 JRE 설정 가능)

 

4. Source 탭  컴파일 대상이 되는 폴더를 확인  컴파일 된 파일이 위치할 경로 설정

 

 

 참고 

 

egovframe

javarayo.tistory

 

 

Comments