본문 바로가기
Bin/전자정부 프레임워크

[본격 전자정부 프레임워크 활용하기 Part 1] 전자정부 프레임워크란?

by cusmaker 2013. 3. 2.
반응형

안녕하세요 cocy입니다.

겨울잠을 자느라 오랜만에 포스팅을 하게되었습니다.

... 본격 게시판 강좌 이후 그동안 좀 바빠 포스팅에 게을러져있다가,

전자정부 프레임워크를 공부하게되어 포스팅을 계획하게 되었습니다.

이번 포스팅은 초보자가 진입하기에는 조금 어려울 수 있습니다.

본격게시판 part 1, 2, 3을 숙지하시고,

이외에 프로젝트를 몇번 거치신뒤,

스프링의 개념을 어느정도 알것 같다! 싶으실때 진행하신다면 좀 수월하겠습니다.


그럼 서두는 집어치우고 본격 전자정부 프레임워크 소개에 들어가도록 하겠습니다.

공부하면서 포스팅하는 내용들이니 부족한 점 이해해주시고, 

더 자세한 정보나 공부가 필요하신분들은 구글링부탁드립니다.


전자정부 프레임워크란? ( http://www.egovframe.go.kr/EgovIntro.jsp?menu=1&submenu=1 )

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

 표준프레임워크는 기존 다양한 플랫폼(.NET, php 등) 환경을 대체하기 위한 표준은 아니며, java 기반의 정보시스템 구축에 활용하실 수 있는 개발·운영 표준환경을 제공하기 위한 것입니다.


위의 설명처럼 자바 기반의!!! 스프링을 사용하는!!! 개발 프레임 워크입니다.

상당수의 공공기관의 프로젝트를 할 경우 전자정부프레임워크의 사용이 의무화되었을 정도로 그 신뢰도가 높고,

JSP 웹 개발분야에서 내로라하는 개발자들이 모여 최신 오픈소스를 가지고 만든만큼, 

많은 중소기업들에서도 사용되고 있다고 합니다.


개발툴은 IDE를 사용하구요, 그외에도 (retensi님의 말을 빌려) 아름다운 개발을 지원하는 오픈소스 개발도구들을 포함합니다.

이해를 돕도록 그림을 준비해봤습니다.


그림에 보이시는것 이외에도 많은 도구들이 존재하지만, 

개발자 마음대로 커스터마이징 할 수 있으며, 필요한 기능만 사용해도 됩니다.


전자정부 프레임워크는 실행환경개발환경, 그리고 공통컴포넌트로 나누어지는데요,

실행환경은 jar 형태로 배포되는 전자정부의 핵심 라이브러리입니다.

이 파일은 수정할수도, 수정할 필요도 없으니 그냥 사용하시면 되구요,

개발환경은 쉽게말해 이클립스를 말합니다.

개발자의 입맛에 맞게 추가할것은 추가하고, 사용하지 않는것은 제거하여 사용하실 수 있습니다.

마지막으로 공통컴포넌트는 이러한 실행환경과 개발환경을 바탕으로 정보 시스템 구축에 공통으로 쓰이는 모듈들을

미리 개발하여 지원하는 모듈들입니다. 다시말해 게시판같은것들을 몇번의 클릭만으로 생성시켜줍니다.

이는 뒤에 차차 설명하도록 하겠습니다.


그럼 설명은 이쯤하고 일단 받아볼까요?

다운로드 페이지입니다.

http://www.egovframe.go.kr/

회원가입 후 다운로드 받으실 수 있으며, 실행환경과 개발환경, 그리고 공통컴포넌트를 포함한 풀 버전입니다.


다운을 받고 압축을 풀면 됩니다.

(파일이 많고 폴더의 depth도 깊기때문에 압축풀다 피보지 않으시려면 C드라이브 바로 밑에 압축을 푸시는것을 권장합니다.)


그럼 폴더안에는 친숙한

eclipse 폴더와 workspace 폴더가 나타납니다.

이클립스를 실행합니다.


정부에서 주관하는 프레임워크이니, 정부느낌이 물씬나는군요

이클립스가 실행되면 프레임워크를 사용할 준비가 되었습니다.


잠시 new project를 통해 소스의 구조를 살펴보겠습니다.

(package Explorer > 우클릭 > new > New eGovFrame Web Project)


프로젝트 이름과 그룹 아이디를 적고 finish말고 next를 누르세요, 그러면

다음과 같이 샘플 코드를 자동으로 생성할건지를 묻는 창이 뜨게됩니다.

디폴트는 생성하지 않으니 next를 눌러 체크하시고 finish 합시다.


생성을 마치셨으면, 일단 데이터베이스에 계정을 하나 생성해주세요.

이부분은 이미 알고계신다는 가정하에 일일히 설명드리지 않겠습니다.

그래도 혹시 모르니 링크는 > http://cusmaker.tistory.com/66


소스 구조를 간략히 설명드리겠습니다.

전자정부 프레임워크에서는 Ant대신에 Build및 배포를 위한  Maven이라는 플러그인을 사용합니다.

요즘 대세이기도 하구요, 소스구조는 바로 Maven에서 사용되는 방식을 따라갑니다.


1. src/main/java 쪽에는 java코드들이 들어가게되구요

src/main/resources에는 각 나라별 메세지를 지원하기 위한 메세지 코드들이 담긴 메세지,

각종 spring설정을 위한 context xml파일들,

그리고 각종 dbms에 사용될 query xml파일들을 포함한 sqlmap 폴더가 있습니다.


2. 테스트용 코드들이 들어갑니다.


3. 샘플 코드를 구동시킬 데이터베이스 쿼리들이 들어있습니다.


4. 기존에 jsp에서 WebContent 폴더를 떠올리시면 됩니다.


5. Maven의 핵심 설정 파일입니다.

나중에 설명드리도록 하겠습니다.


그럼 이제 구조 파악이 끝났으면 샘플 DB를 만들어 봅시다.

위의 그림에 우측에 띄운 파일은 3번폴더 즉

DATABASE > db > sampledb_oracle.script 

이곳에 있습니다.

저는 오라클을 사용할것이기에 이 쿼리를 가지고 테이블을 생성하였습니다.


그리고 다음은 

아까 만든 계정을 데이터베이스 설정정보에 교체하기 위해 

src/main/resources > egovframework > spring > context-datasource.xml 파일을 수정합니다.


기본은 hsql로 셋팅되어있으니, 주석처리하시고 사용할 데이터베이스의 주석을 풀어주신뒤,

url과 계정, 패스워드를 수정합니다.


그 다음은 해당 데이터베이스의 드라이버를 프로젝트에 추가해줍니다.

ojdbc14.jar

추가하는 방법은 여러가지지만 쉽게 

/src/main/webapp/WEB-INF/lib 폴더에 드래그앤드랍해주세요


그리고 마지막으로 

src/main/resources/egovframework/sqlmap/rte/sql-map-config.xml 에서

사용할 sqlmap을 설정해줍니다. 기본은 hsql로 되어있습니다. 이것을 오라클로 바꿔주세요.



그리하면 모든 설정이 끝났습니다.

샘플 코드를 실행시키기위해 톰켓서버를 지정하고 Run해주세요!

게시판 비스무리한게 뚝딱 만들어졌습니다.

이 샘플소스를 토대로 참고하여 프로젝트를 만들면 됩니다.

그럼 이 프로젝트를 가지고 무엇을 만드느냐?

이번 포스팅은 전자정부 프레임워크를 활용하는데 초점을 맞췄기때문에 무언가를 만들지는 않습니다.

하여 다음 시간에는 전자정부 프레임워크의 공통 컴포넌트를 사용해 보도록 하겠습니다. 

수고하셨습니다.


다음글 보기 >> 

2013/03/02 - [Lecture/전자정부 프레임워크] - [본격 전자정부 프레임워크 활용하기 Part 2] 공통컴포넌트 생성하기 - 게시판