2003년 자바를 기반으로 만들어진 웹 프레임워크로,
개발자들이 더 쉽게 프로젝트를 개발할 수 있도록 만들어졌다.
다른 프레임워크나 데이터베이스 관리 서비스와의 연계가 자연스럽고, 동적 웹에 최적화 되어있다.
정확한 명칭은
전자정부 표준프레임워크(eGovFrame)
이며,
행정안전부 산하기관에서 만든 웹 기간 어플리케이션 프레임워크이다.
대한민국 공공 부분 정보화 산업시 표준화된 개발 프레임워크이며,
Java 기반의 정보시스템 구축에 사용된다.
특정 프로그램을 개발하기 위한 여러가지 요소들과 룰을 제공하는 프로그램으로,
Spring, Django, Ruby on Rails 등이 이에 속한다.
두 프레임워크 모두 본질적으로 자바
를 활용하고 있다는 공통점이 있으나,
스프링은 자바 기반
, 전자정부는 스프링 기반
이라는 차이점이 있다.
스프링은 java를 활용해서 프로젝트 시작시 뼈대를 제공해주는데,
전자정부프레임워크는 이러한 스프링의 형태를 정부의 프로젝트 형태로
가공한 일종의 2차 가공 프레임워크
이다.
따라서, 전자정부 프레임워크를 사용하기 위해서는 DAO단에서 전자정부프레임워크에서 만들어 둔
DAO를 꼭 extend로 구현해야한다.
/WEB-INF/lib 폴더 아래에 egovframework.rte로 시작하는 .jar파일 존재 여부
import egovframework.rt 라는 구문이 검색되는 소스 코드가 있는지 확인
MyBatis 나 iBatis를 사용한다면 DAO 클래스(@Repository)는 EgovAbstractDAO(iBatis) 또는 EgovAbstractMapper(MyBatis)를 상속하는 구문이 존재하는지 확인
JPA 등의 ORM을 사용한다면 DAO에서 SessionFactory 또는 EntityManagerFactory 설정을 통해 HibernateTemplate/JpaTemplate를 활용하거나, HibernateDaoSupport/JpaDaoSupport를 상속하여 활용
그렇다면 굳이 전자정부프레임워크를 사용하는 이유는 무엇일까?
일단 스프링은 확장성이 뛰어나다는 장점이 있지만, 그 뛰어난 확장성 만큼 플러그인들끼리
충돌할 가능성도 높다.
따라서 개인 또는 프로젝트 개발사에서 플러그인을 자기 멋대로 사용한다면, 그 코드는 신뢰할 수 없는 코드가 된다.
하지만 전자정부프레임워크처럼 개인이나 단체가 한가지 형태로 통합해서 패키지 형태로 배포한다면
적어도 그 코드는 신뢰성
이 있는 즉, 검증된 코드
가 된다. 또한 문제가 생기면 기술지원을 받는것도 편해진다!
민/관/학계로 구성된 자문협의회를 통해 국가적 차원의 표준화 수행
각 서비스의 모듈화로 교체가 용이하며 인터페이스 기반 연동으로 모듈간 변경 영향 최소
Eclipse 기반의 모델링(UML,ERD), 에디팅, 컴파일링, 디버깅 환경 제공
오픈소스 기반의 범용화되고 공개된 기술의 활용으로 특정 사업자에 대한 종속성 배제
상용 솔루션 연계가 가능한 표준으로 제시하여 상호운용성 보장
모바일 웹(UX/UI) 및 하이브리드 앱 지원