전자정부 프레임워크) eGovFrame 소개 및 Spring Frame과 차이점
본문 바로가기
programming/전자정부프레임워크

전자정부 프레임워크) eGovFrame 소개 및 Spring Frame과 차이점

by 코딩하는 핑가 2021. 8. 31.
반응형

* 본 포스팅을 무단 복제하시거나 배포하지 마시기 바랍니다.

( 게시글 최상단에 본 블로그 출처를 밝히시면 포스팅은 가능합니다. )

 

1탄 eGovFrame 소개 및 Spring Frame과 차이점

2탄 eGovFrame 구성 및 아키텍쳐

3탄 eGovFrame 개발 환경 설치 ( v3.10.0 )

4탄 eGovFrame 개발 환경 Maven 환경설정 및 예제 프로젝트 생성 ( v3.10.0 )

5탄 eGovFrame 개발 환경 Maven 빌드 및 Junit test 실습 ( v3.10.0 )

6탄 eGovFrame 실행 환경 실습 1탄 ( v3.10.0 )

7탄 eGovFrame 실행 환경 실습 2탄 Simple Homepage Project 실습 - DB 연동 ( v3.10.0 )

8탄 eGovFrame 실행 환경 실습 3탄 Common All-in-one Project 실습 - DB 연동 ( v3.10.0 )


본론에 들어가기 전 프레임워크와 라이브러리의 차이점을 짚고 가야한다.

 

1. 프레임워크

프레임워크를 직역하여 해석하면 제공받은 일정한 요소와 틀 규약을 가지고 무언가를 만드는 일이다.

이를 IT에 접목시키면 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램으로 Spring, Django, Ruby on Rails 등이 이에 속한다.

그리고, 어플리케이션 틀과 구조를 프레임워크에서 제어하고, 프레임워크 위에서 개발자의 코드가 동작한다.

 

2. 라이브러리

라이브러리는 소프트웨어를 개발하기 쉽게 어떤 기능을 제공하는 도구의 모음이며, Java에서 Guava, Apache common library, ... C++ 에서는 STL 등이 이에 속한다.

그리고, 개발자의 코드 안에서만 재사용된다.

 

정리하면,

프레임워크와 라이브러리는 프로그램을 쉽게 만들 수 있게하는 공통된 목적이 있지만,

프레임워크는 정해진 규약을 지켜야하고 라이브러리는 정해진 규약이 없는 차이점이 있다.

 

1. 전자정부 프레임워크 소개

정확한 명칭은 전자정부 표준프레임워크(eGovFrame)이며, 행정안전부 산하기관인 한국정보화진흥원에서 만든 웹 기반 어플리케이션 프레임워크이다.

정부 및 공공기관, 공기업 등의 웹사이트에서 자주 쓰이는 공통 기능들을 Java의 Spring 프레임워크와 유명 Java 라이브러리(iBatis/MyBatis, Jackson, Apache Commons 등)를 가지고 미리 만들어 놓은 공통 컴포넌트와 이를 개발하는 개발환경, 실행환경, 운영환경, 관리환경 등으로 구성되어 있다.

즉, 대한민국 공공 부분 정보화 사업시 플랫폼별 표준화된 개발 프레임워크이며, java 기반의 정보시스템 구축에 활용할 수 있는 개발, 운영 표준 환경을 제공한다. ( 기존의 대체품은 아님 )

 

2. 전자정부 프레임워크 특징

출처 : eGovFrame 공식 홈페이지

3. 전자정부 프레임워크 적용 효과

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

출처 : eGovFrame 공식 홈페이지

4. eGov Framework vs Spring Framework

전자정부프레임워크가 스프링을 기반으로 만들어졌기 때문에 두 프레임워크가 같은 것으로 취급하기도 하는데 eGov에서 제공하고 있는 표준프레임워크 적용 가이드를 읽어보면 둘의 차이점이 존재한다.

 

먼저, Spring Framework 에 대해 짚고 가면 spring은 java를 활용하여 프로젝트 시작 시 뼈대를 제공해준다.이 뼈대는 누구나 사용할 법한 것을 의미하며 spring의 뼈대를 이용하여 배민에서 쓰면서 배민만의 고유한 기능을 넣어서 이름을 붙이면 배민프레임워크가 되고, 네이버에서 쓰면서 네이버만의 고유한 기능을 넣어서 이름을 붙이면 네이버프레임워크가 된다.

 

이것처럼 전자정부프레임워크는 대한민국 정부에서 정부의 프로젝트들을 미리 Spring + @ 로 가공한 형태로 제공한 것으로 정리하면 스프링 기반의 대한민국 정부에서 만들어놓은 일종의 2차 가공 프레임워크이다.

 

Spring Framework와 달리 전자정부프레임워크를 사용하기 위해서는 DAO단에서 전자정부프레임워크에서 만들어 둔 DAO를 꼭 extends하여 구현해야하며, 이게 적용되지 않으면 전자정부프레임워크 요건에 어긋나서 전자정부프레임워크라고 할 수가 없다.

 

표준 프레임워크 적용 가이드에 명시된 둘의 차이점을 정리하면

 

1.  /WEB-INF/lib 폴더 아래에 egovframework.rte로 시작하는 .jar 파일 존재 여부

 

2. import egovframework.rt 라는 구문이 검색되는 소스코드가 있는지 확인

 

3. MyBatis나 iBatis를 사용한다면 DAO 클래스(@Repository)는 EgovAbstractDAO(iBatis) 또는 EgovAbstractMapper(MyBatis)를 상속하는 구문이 존재하는지 확인

 

4. JPA 등의 ORM을 사용한다면 DAO에서 SessionFactory 또는 EntityManagerFactory 설정을 통해 HibernateTemplate/JpaTemplate를 활용하거나, HibernateDaoSupport/JpaDaoSupport를 상속하여 활용

 

위의 4가지로 볼 수 있다.

반응형

댓글