전자정부 표준프레임워크는 대한민국의 공공부문 정보화 사업 시 플랫폼별 표준화된 개발 프레임워크를 말한다.
JAVA 언어는 사설 표준으로 우후죽순으로 업체의 자체 프레임워크를 개발하여 적용되다 보니 각 개발프레임워크의 구조 및 수준의 차이에 의하여 여러 가지 문제점이 발생할 수 있다.
현재 배포되고 있는 프레임워크는 과거 JAVA 플랫폼 기반의 정보화 구축 사업 시 수행업체의 자체 개발프레임워크를 사용하여 정보시스템이 구축되어 유지보수 등 여러 가지 문제점이 있어, 2008년에 스프링 프레임워크 등의 오픈소스를 기반으로 웹 사이트 개발 시 필요한 여러 가지 기능들을 미리 구현해 놓았으며 최근에는 모바일 개발을 위한 프레임워크도 출시되었다.
프레임워크 개발에 대기업도 참여하였다. 순수 개발자만 200명이 넘어가거나, 기업레벨이 높을수록 전자정부프레임워크를 접할 확률이 높다.
스프링프레임워크를 기반으로동작한다. 우리나라가 타 국가에 비해 JAVA로 웹개발을 주로하게 된 1등공신이라고 할 수 있다. 국가에서 밀어주는 프레임워크다보니 공공기관에서 특수한 경우가 아니라면 웹으로 요청하는 프로젝트는 주로 전자정부프레임워크를 사용할 가능성이 높다. 이러한 추세로 민간기업에서도 사용을 많이한다. 그렇기에 JOBKOREA에서도 전자정부로 검색시 많은 일자리를 볼 수 있다. 참조하는 library에대한 부분이 전자정부프레임워크버전마다 정해져있게에 개발또한 쉽다.
공무원,회사입장에서도 "전자정부프레임워크로 해주세요."하면 업무나 관리면에서 쉬워진다. 프로젝트를 관리하는 입장에서도 뭔가 해킹등의 이슈사항이 생기더라도 라이브러리가 전자정부프레임워크버전마다 관리되기에 웹사이트가 수십, 수백개가 되더라도 일괄적용+인원수로 이슈대응속도 또한 빨라진다.
앞서 설명했듯이 국내의 이익집단이 얽혀있다보니 국내에서는 전자정부프레임워크(+MYBATIS)를 추천한다.
역사
2009년 대한민국 안전행정부에서 국내 공공부문 국가정보화사업(전자정부) JAVA 플랫폼 기반의 추진 시에 개발 프레임워크의 표준 정립으로 응용 소프트웨어의 표준화, 품질 및 재사용성을 향상을 목표로 하며 특정 업체의 종속성 심화와 사업별 공통 컴포넌트 중복 개발을 막기 위해 개발하여 아파치 라이선스 2.0으로 배포하고 있다.
[1]
2007년 12월에서 2008년 6월까지 정보화 전략계획(ISP)을 수립하였고 2008년 11월부터 2009년 11월까지 1, 2단계 구축사업을 추진하여 대기업(삼성 SDS, LG CNS, SK C&C) 및 중소기업(티맥스소프트 등 6개)이 공동으로 JAVA 플랫폼 기반의 표준프레임워크 실행/개발/관리환경 및 공통 컴포넌트 172종을 개발하여 1.0 버전을 발표하였다.
그 후 2010년 4월부터 11월까지 3단계 구축사업을 통해 공통 컴포넌트 47종을 구축하고 CMMI 인증을 획득하였으며 2011년 4월부터 11월까지 4단계 구축사업을 통해 오픈소스의 버전 업그레이드, 경량화, 모바일 프레임워크 등을 구축하고 2.0 버전을 발표하였으며 배치 프레임워크를 포함한 2012년 5단계 구축사업이 완료되었다. 2017년 3월 22일 표준프레임워크 버전 3.6.0이 배포되었다.
[2]2017년 11월 1일 표준프레임워크 버전 3.7.0이 발표되었다.
2023년 1월 표준프레임워크 버전 4.1 베타버전이 발표되었다. 4.1버전에는 spring boot로 개발이 가능하다.
버전 4.0버전부터 전자정부프레임워크 개발에 시민들도 참여할 수 있는 환경으로 되어 있다.
2023년 12월에 4.2버전의 베타버전이 발표되었으며 2024년에 출시될 것으로 예상된다.
특징
배포 중인 JAVA 플랫폼의 표준 프레임워크는 다음과 같은 특징을 가지고 있다.
[1]
- 개방형 표준 준수 : 오픈소스 기반의 범용화되고 공개된 기술의 활용으로 특정 사업자에 대한 종속성 배제
- 상용 솔루션 연계 : 상용 솔루션과 연계가 가능한 표준을 제시하여 상호운용성 보장
- 표준화 지향 : 민, 관, 학계로 구성된 자문협의회를 통해 표준화 수행
- 변화 유연성 : 각 서비스의 모듈화로 교체가 용이하며 인터페이스 기반 연동으로 모듈간 변경 영향 최소화
- 편리하고 다양한 환경 제공 : 이클립스 기반의 모델링(UML, ERD), 에디팅, 컴파일링, 디버깅 환경 제공
- 템플릿 지원: 간단한 웹페이지생성, 4.1버전부터 react 템플릿,MSA를 지원한다.
각주
관련법률 및 아키텍처
외부 링크