📌 전자정부프레임워크의 전체 구조

이 구조는 MVC 패턴을 기반으로 하며, 공공기관 프로젝트의 표준 개발 방식으로 많이 사용돼요.

전자정부프레임워크는 크게 다음과 같은 4개 계층으로 구성되어 있습니다:

 

전자정부프레임워크 구조 다이어그램

┌──────────────────────────────────────┐
│            Presentation Layer        │
│        ────────────────────────      │
│        • Controller (Spring MVC)     │
│        • JSP / Tiles / HTML / JS     │
└──────────────────────────────────────┘
                  │
                  ▼
┌──────────────────────────────────────┐
│             Business Layer           │
│        ────────────────────────      │
│        • Service (Spring)            │
│        • 트랜잭션 처리 (AOP)         │
└──────────────────────────────────────┘
                  │
                  ▼
┌──────────────────────────────────────┐
│          Persistence Layer           │
│        ────────────────────────      │
│        • DAO (MyBatis)               │
│        • SQL Mapper / JDBC           │
└──────────────────────────────────────┘
                  │
                  ▼
┌──────────────────────────────────────┐
│               Database               │
│        ────────────────────────      │
│        • Oracle / MySQL / PostgreSQL │
└──────────────────────────────────────┘

🔁 **공통 컴포넌트 (Integration Layer)**는 위 모든 계층에서 필요 시 참조됩니다.

공통 기능 (통합 계층)
 ─────────────────────
 • 로그인/권한관리
 • 공통코드
 • 로깅(Log4j)
 • 암호화(Security)
 • 메시지처리
 • 에러 처리 등

 

 


1. Presentation Layer (표현 계층)

  • 사용자 인터페이스(UI) 처리 담당
  • Spring Framework 기반의 Controller, View(JSP, Tiles 등)를 구성
  • 주요 기술:
    • Spring MVC
    • Tiles, JSP, HTML, JavaScript

2. Business Layer (업무 계층)

  • 비즈니스 로직을 처리하는 계층
  • Controller와 DAO 사이의 로직 구현
  • 주요 기술:
    • Spring Framework (Service, AOP 등)
    • 이 계층에서 트랜잭션 처리도 수행

3. Persistence Layer (데이터 처리 계층)

  • DB와의 연결 및 데이터 처리 담당
  • SQL 실행 및 결과 매핑
  • 주요 기술:
    • MyBatis (구 iBatis)
    • JDBC, DataSource
    • Spring JDBC 지원

4. Integration Layer (통합 계층)

  • 공통 기능을 모듈화하여 제공하는 계층
  • 주요 기능:
    • 공통 컴포넌트 (예: 로그인, 권한, 공통코드 등)
    • 보안, 암호화, 로깅, 에러 처리 등

🧩 주요 구성 요소 및 특징

구성 요소 설명

Spring Framework 전반적인 구조와 의존성 주입, 트랜잭션 관리 등을 담당
MyBatis SQL 매핑 프레임워크로, 데이터베이스 접근에 사용
Tiles 화면 레이아웃 재사용을 위한 템플릿 기술
EgovComponent 공통 컴포넌트 모음 (공통코드, 로그인 등)
로그 시스템 Log4j 등 연동 가능
보안 기능 인증, 인가, 암호화 모듈 제공

🧱 아키텍처 다이어그램 (텍스트 버전 예시)

[사용자]
   |
[Controller (Spring MVC)]
   |
[Service (비즈니스 로직)]
   |
[DAO (MyBatis)]
   |
[DB (Oracle, MySQL 등)]

공통 모듈: 로깅, 보안, 암호화, 공통코드 등은 전체 계층에서 사용

📝 요약

  • 목표: 공공기관 시스템 개발의 표준화, 생산성 향상, 유지보수 용이
  • 기술 스택: Spring Framework + MyBatis + JSP/Tiles + 공통 컴포넌트
  • 장점: 공통 모듈 제공, 오픈소스 기반, 유지보수 효율

 

전자정부프레임워크(eGovFrame)를 처음 배우는 경우, 효율적으로 익히기 위해 체계적인 학습 방법과 자료를 활용하는 것이 중요합니다.  

 

전자정부프레임워크(eGovFrame) 교육용 자료에 템플릿이 제공되어 실무에 가까운 환경으로 실습할 수 있는 장점이 있습니다. 

JAVA를 배우고자 하시는 분은 eGovFrame 템플릿으로 실습해보시길 추천드립니다. 

 


1. 기초 지식 학습

전자정부프레임워크는 Java 기반이므로 기본적인 프로그래밍 지식이 필요합니다.

(1) 필수 선행 학습

  • Java 기초: 객체지향 프로그래밍, 클래스, 메서드, 인터페이스 등.
  • 웹 개발: HTML, CSS, JavaScript, JSP/Servlet 기본 지식.
  • 데이터베이스: SQL 기본문법 및 관계형 데이터베이스의 이해.
  • 프레임워크 개념: Spring Framework의 DI, AOP, MVC 패턴 이해.

2. 전자정부프레임워크 개념 이해

전자정부프레임워크의 기본 개념과 구조를 이해합니다.

(1) 공식 문서 읽기

(2) 구조와 계층 이해

  • 3계층 구조(MVC):
    • Presentation Layer: 사용자 인터페이스와 컨트롤러.
    • Business Layer: 비즈니스 로직 처리.
    • Data Access Layer: 데이터베이스 연동.

3. 실습을 통한 학습

이론 학습 후 바로 실습에 돌입하여 프레임워크를 직접 다뤄보는 것이 중요합니다.

(1) 전자정부프레임워크 IDE 설치

  1. Eclipse 기반의 eGovFrame IDE 다운로드 및 설치. ( JAVA로 개발시 Eclipse 툴 사용은 필수!! )
  2. IDE에서 전자정부 템플릿 프로젝트 생성:
    • 예: 게시판 프로젝트, 공통 컴포넌트를 포함한 프로젝트.

(2) 샘플 프로젝트 분석

  • 전자정부프레임워크가 제공하는 샘플 프로젝트를 실행해보고 구조를 이해.
  • 예:
    • 게시판 만들기
    • 로그인 및 회원 관리 기능
    • 공통 컴포넌트 활용(위 세가지는 반드시 분석하고 실습하길 권장!!!)

(3) 간단한 프로젝트 생성

  • 직접 작은 프로젝트를 만들어보며 기능을 구현.
    • 예: 게시판 구현 (글 작성, 조회, 수정, 삭제).
    • 데이터베이스 연동 및 MyBatis 활용 실습.

4. 온라인 강의 및 자료 활용

전자정부프레임워크는 공공기관에서 많이 사용되므로 다양한 무료/유료 강의와 자료가 있습니다.

(1) 유튜브

  • 전자정부프레임워크 강의를 제공하는 채널 활용.
  • 추천 검색 키워드:
    • "전자정부프레임워크 초보자 강의"
    • "전자정부프레임워크 게시판 만들기"

(2) 온라인 강의 플랫폼

  • KOCW: 무료 강의를 제공하며, 전자정부프레임워크 관련 강좌도 있음.
  • 인프런: 전자정부프레임워크 및 Spring Framework 강의.

(3) 공식 커뮤니티


5. 학습 시 팁

(1) 순차적인 학습

  • 처음부터 모든 기능을 배우려고 하지 말고, 기초적인 CRUD 기능을 구현하면서 점진적으로 학습.(일단 기초가 없어도 무작정 게시판 코딩을 따라 해보길 권장합니다. 코딩 후 작성한 프로그램 분석 후 리뉴얼해보시길... 어느 순간 웹프로그램 작동 원리가 눈에 들어오기 시작함!!  )

(2) 문제 해결 능력 향상

  • 실습 중 발생하는 에러를 스스로 해결하려고 노력.
  • Stack Overflow전자정부포럼을 적극 활용.

(3) 팀 프로젝트 참여

  • 가능하다면 팀 프로젝트를 통해 전자정부프레임워크를 활용해 개발.
  • 협업과 코드 리뷰를 통해 실력을 향상.

6. 실무 활용

전자정부프레임워크는 실무에서 주로 사용되므로, 공공기관 프로젝트를 사례로 학습.

(1) 공통 컴포넌트 활용

  • 전자정부프레임워크의 공통 컴포넌트(로그인, 권한 관리, 파일 업로드 등)를 실습.

(2) 기능 확장 및 커스터마이징

  • 프레임워크가 제공하는 기본 기능을 확장하고 커스터마이징하여 고급 기능 구현.

7. 학습 로드맵

  1. 1~2주: Java, Spring Framework 복습 및 전자정부프레임워크 개념 이해.
  2. 3~4주: 샘플 프로젝트 분석 및 CRUD 기능 구현 실습.
  3. 5주 이후: 공통 컴포넌트 활용 및 실무 프로젝트 적용.

 

전자정부프레임워크(eGovFrame)는 대한민국의 전자정부 구현을 위해 개발된 오픈소스 기반의 소프트웨어 개발 프레임워크입니다. 이 프레임워크는 공공기관에서 소프트웨어 개발 시 표준화, 재사용성, 효율성, 품질 향상을 목표로 설계되었습니다.


전자정부프레임워크

  1. 정의
    전자정부프레임워크는 공공기관이 웹 애플리케이션을 개발할 때 사용할 수 있는 표준화된 개발 플랫폼으로, Java 기반의 오픈소스 프레임워크입니다. 다양한 개발 도구와 가이드라인, 템플릿을 제공합니다.
  2. 목적
    • 표준화된 개발 환경 제공
    • 재사용성효율성 향상
    • 품질 보증유지보수 용이성 확보
    • 공공 IT 프로젝트의 비용 절감
  3. 특징
    • 오픈소스 기반: 스프링(Spring), 마이바티스(MyBatis) 등 널리 사용되는 오픈소스 기술로 구성.
    • 모듈화된 구조: 다양한 기능을 모듈화하여 필요에 따라 선택적으로 사용 가능.
    • 표준 기술 스택 지원: J2EE, MVC, ORM, DI, AOP 등 다양한 표준 기술을 지원.

전자정부프레임워크 구조

전자정부프레임워크는 아키텍처구성 요소로 나뉘며, 크게 아래와 같은 계층 구조를 가집니다.

1. 아키텍처 계층

전자정부프레임워크는 일반적으로 3계층 아키텍처를 따릅니다:

  • Presentation Layer (표현 계층)
    사용자와 상호작용하는 UI 계층.
    • JSP, HTML, JavaScript, CSS 등.
    • Spring MVC를 사용하여 컨트롤러와 뷰를 연결.
  • Business Logic Layer (비즈니스 로직 계층)
    핵심 로직을 처리하는 계층.
    • Service 객체에서 비즈니스 로직 수행.
    • 트랜잭션 관리, 서비스 연계.
  • Data Access Layer (데이터 접근 계층)
    데이터베이스와의 연동을 처리하는 계층.
    • MyBatis, JPA 등을 활용한 DB 접근.
    • DAO(Data Access Object) 패턴 적용.

2. 주요 구성 요소

기본 프레임워크

전자정부프레임워크의 기본 모듈로, 공통적으로 사용하는 기능을 제공.

  • 공통 컴포넌트: 로그인, 권한 관리, 파일 업로드 등.
  • Spring Framework: 애플리케이션 개발의 기본 구조 제공.
  • MyBatis: 데이터베이스 연동 및 SQL 관리.

개발 도구

전자정부프레임워크 개발을 위한 도구.

  • eGovFrame IDE: Eclipse 기반 통합 개발 환경.
  • Batch Scheduler: 배치 처리 지원.
  • 로그 관리: Logback, SLF4J를 통한 로깅 기능.

운영 환경

전자정부 시스템이 운영되는 환경을 지원.

  • Tomcat: 기본 WAS(Web Application Server).
  • DBMS: Oracle, MySQL, MariaDB 등 다양한 데이터베이스 지원.

공통 모듈

프로젝트에서 자주 사용되는 기능들을 모듈화하여 제공.

  • 게시판: 공통 게시판 템플릿 제공.
  • 권한 관리: 사용자 권한 및 인증 관리.
  • 전자결재: 공공기관의 전자결재 시스템 연계.

3. 주요 기술 스택

전자정부프레임워크는 다음과 같은 기술로 구성됩니다:

계층 사용 기술

표현 계층 Spring MVC, JSP, JSTL, HTML, JavaScript
비즈니스 계층 Spring Framework, Spring AOP, Spring DI
데이터 접근 계층 MyBatis, JPA
공통 서비스 Spring Security, Quartz Scheduler, Logback
운영 환경 Apache Tomcat, Oracle, MySQL, MariaDB

전자정부프레임워크의 장점

  1. 표준화된 구조 제공: 통일된 개발 방식을 제공하여 개발자 간의 협업 효율성을 높임.
  2. 기능 재사용: 공통 컴포넌트를 활용하여 반복적인 개발을 줄임.
  3. 품질 보증: 검증된 기술과 표준화된 아키텍처로 품질을 높임.
  4. 유지보수 용이: 표준화된 코딩 스타일과 모듈화를 통해 유지보수가 쉽다.
  5. 오픈소스: 무료로 사용 가능하며 커뮤니티를 통해 다양한 자료와 도움 제공.

전자정부프레임워크 적용 사례

  • 공공기관의 웹사이트(민원 처리, 공고 게시판 등)
  • 공공 데이터 연계 시스템
  • 전자결재 시스템
  • 공공기관 내부 관리 시스템

전자정부프레임워크는 공공기관뿐만 아니라 민간 기업에서도 표준화된 개발 환경이 필요할 때 유용하게 사용할 수 있는 프레임워크입니다. 이를 통해 안정적이고 효율적인 소프트웨어를 개발할 수 있습니다.

+ Recent posts