전자정부 프레임워크 (eGovFramework)
- 아키텍처, 빌드, 관리/구축 정보
- 2015. 7. 21.
시스템 아키텍처 문서를 작성하면서,
전자정부 프레임워크에 대해서도 문서를 작성하게 되었다.(고객의 교육 요청)
해당 문서는 전자정부프레임워크 사이트
http://www.egovframe.go.kr
를 참조하여 만들었으며, 거의 내용이 동일하다.
1.1. 전자정부 표준프레임워크 아키텍처
전자정부표준프레임워크는 전자정부법 및 관련 법률을 근거하여 구축되었으며 본 프로젝트는 표준프레임워크 및 프레임워크가 제공하는 기술기반을(기술적용계획표) 따른다.
전자정보 표준프레임워크 각 구성요소 기능 및 역할은 아래와 같다.
1.2. 전자정부 표준프레임워크의 주요 특징
실행환경 경량화 : 하나의 파일로 일괄 배포 및 설치되던 실행환경을 필수적 부분과 선택적 부분으로 나누어 배포하여 각 사업에 적합한 최적의 실행환경 구성
- 실행환경 사용시 ‘필수적인 서비스’들과 타 서비스의 ‘의존성이 높은 서비스’들을 “핵심 계층”으로 제공
- 실행환경 사용에 필수적이지 않은 서비스들은 “선택계층”으로 분류하여 각 사업에서 선택적으로 설치할 수 있도록 제공
- 핵심서비스는 기본적으로 설치되며 이외 각 사업에서 필요한 서비스는 개발환경에서 선택적으로 설치 가능
1.3. 전자정부 표준프레임워크의 처리 흐름도
전자정부 표준프레임워크 실행환경은 7개 서비스 그룹으로 구성되며 38개 서비스를 제공한다. 실행환경 서비스 구조는 아래 그림과 같다.
- MVC 아키텍처 기반으로 개발을 수행하며, 서버간 데이터는 REST로 주고 받는다.
1.4. 전자정부 표준프레임워크의 오픈소스 현황
전자정부 표준프레임워크의 서비스는 오픈소스 소프트웨어에 기반하여 재활용하거나 확장하여 제공한다.
서비스그룹 |
서비스 |
소프트웨어 |
실행환경 확장 및 자체 개발 |
화면처리 |
Ajax Support |
Ajax Tags |
|
Internationalization |
Spring |
|
|
MVC |
Spring MVC |
Custom Tag 외 기능 확장 |
|
Security |
Apache Commons Validator |
|
|
업무처리 |
Process Controll |
Spring Web Flow |
|
Exception Handling |
Spring |
Exception 기능 확장 |
|
데이터처리 |
Data Access |
iBatis SQL Maps MyBatis |
Spring-iBatis 기능 확장 |
Data Source |
Spring |
|
|
ORM |
Hibernate Spring Data JPA |
|
|
Transaction |
Spring |
|
|
연계통합 |
Naming Service Support |
Spring |
|
Web Service |
Apache CXF |
Intergration Service 연계 기능 확장 |
|
배치처리 |
Batch Core |
Spring Batch |
Configuration 외 기능 확장 및 데이터 처리 성능 향상 |
공통기반 |
AOP |
Spring |
|
Cache |
EHCache |
|
|
Compress / Decompress |
Apache Commons Compress |
|
|
Encryption / Decryption |
Java simplified encryption (jasypt) |
암호화 기능 확장 |
|
Excel |
Apache POI, jXLS |
Excel 기능 확장 |
|
File Handling |
Jakarta Commons VFS |
File Access 기능 확장 |
|
File Upload / Download |
Apache Commons FileUpload |
|
|
FTP |
Apache Commons Net |
|
|
IoC Container |
Spring |
|
|
Logging |
Log4j |
|
|
|
Aapche Commmons Email |
|
|
Marshalling / Unmarsharlling |
Castor Apache XML Beans |
|
|
Object Pooling |
Apache Commons Pool |
|
|
Property |
Spring |
Property 기능 확장 |
|
Resource |
Spring |
|
|
Scheduling |
Quartz |
|
|
Server Security |
Spring Security |
인증, 권한 관리 기능 확장 |
|
String Util |
Jakarta Regexp |
문자열 처리 기능 확장 |
|
XML Manipulation |
Apache Xerces2, JDOM |
XML 처리 기능 확장 |
1.5. 전자정부 표준프레임워크의 기대효과
기대효과 |
상세설명 |
개발 생산성 증대와 동반한 품질 향상 효과 |
- 공통적으로 필요한 기능의 사전 제공으로 개발 공수 최소화 등 생산성 증대 및 교체 손실비용 절감으로 전반적 품질향상 예상 - 일선 개발자들이 숙지한 프레임워크를 활용함으로써 개발자 교육기간이 점차 감소되고, 일관된 적용으로 전문성 강화 - 검증된 아키텍처 및 공통기능을 활용함으로써 개발자 개인별 능력,성향에 따른 품질편차를 최소화하고 그로인한 어플리케이션 시스템의 품질향상과 산출물의 신뢰성 확보를 이끌어내어 서비스 전반의 신뢰도 향상 |
재사용성 및 상호운용성 극대화 |
- 표준프레임워크 기반으로 개발된 컴포넌트들이 타 사업에서 쉽게 사용할 수 있어 재사용성이 극대화됨 - 선행사업에서 개발된 컴포넌트를 후속사업에서 쉽게 재사용 가능 - 전자정부 표준프레임워크 기반 시스템들간 컴포넌트 공유 및 연계가 용이하여 상호운용성 극대화 |
정보화 서비스 표준화율 향상 |
- 템플릿 기반의 정형화된 개발 패턴과 방법을 제공함으로써 설계, 개발 등 시스템 구축 전반에 걸친 표준 제시 - 선행사업에서 개발된 컴포넌트를 후속사업에서 쉽게 재사용 가능 |
웹 프로젝트 관련 포스팅은 전자정부 프레임워크를 활용하여, 포스팅을 할 예정이다.
전자정부프레임워크를 잘 모르는 사용자 및 공부해야 하는 사용자를 위하여 Step by Step 방식으로 포스팅 하기로 한다.
'아키텍처, 빌드, 관리 > 구축 정보' 카테고리의 다른 글
마이크로서비스(Microservices) 에 대해 (0) | 2021.05.30 |
---|---|
데이터베이스 표준화 용어사전 (0) | 2015.07.23 |
전자정부 프레임워크 (eGovFramework) 설치 및 세팅 (2) | 2015.07.21 |