기술과 산업/언어 및 프레임워크

전자정부 표준프레임워크 시리즈 13화 - 공통컴포넌트의 이해와 확장 전략

B컷개발자 2025. 6. 11. 20:27
728x90

전자정부 표준프레임워크(eGovFrame)는 단순한 템플릿 수준을 넘어, 현업 시스템 개발에서의 효율성과 확장성을 높이기 위해 다양한 **공통컴포넌트(Common Components)**를 제공하고 있습니다. 이번 화에서는 공통컴포넌트의 구조, 종류, 실제 활용 방식, 그리고 현업에서 어떻게 확장해 적용할 수 있는지에 대해 집중적으로 다뤄보겠습니다.

 

 

공통컴포넌트란 무엇인가?

 

전자정부 표준프레임워크에서 공통컴포넌트란, 반복적으로 사용되는 기능을 재사용 가능하게 설계한 범용 모듈을 의미합니다. 예를 들어, 사용자 인증, 파일 업로드, 메일 전송, 게시판, 일정관리, 코드 관리 등은 대부분의 시스템에서 유사한 형태로 반복됩니다. 이러한 기능을 매번 새로 개발할 필요 없이 재사용하도록 만든 것이 바로 공통컴포넌트입니다.

 


 

v4.3.0 기준 공통컴포넌트 구성

 

전자정부프레임워크 공식 사이트(2025년 6월 기준 v4.3.0)를 기준으로, 제공되는 주요 공통컴포넌트는 다음과 같이 정리됩니다:

분류주요 컴포넌트설명

사용자 관리 로그인, 권한관리, 사용자관리 Spring Security 기반 인증/인가 처리
공통기능 코드관리, 게시판, 일정관리, 팝업관리 대부분 템플릿 기반 + JPA 연동 가능
시스템 관리 모니터링, 로그관리, 메일전송 외부 연계(Mail, SMS) 포함
협업 기능 설문조사, 일정관리, 포틀릿 커뮤니티형 서비스 구축 가능

각 컴포넌트는 표준 API + 공통 테이블 + JSP 템플릿 + Controller/Service Layer로 구성되어 있으며, 대부분 기본 제공 샘플이 포함되어 있어 확장이 용이합니다.

 


 

공통컴포넌트 확장 전략

 

단순히 사용하는 것을 넘어서, 자신의 도메인에 맞게 커스터마이징하거나 리팩토링해야 할 때가 많습니다. 대표적인 확장 전략은 다음과 같습니다:

 

 

1. 테이블 구조 확장

 

기본 제공 테이블 외에 도메인 속성을 추가하고 싶은 경우, 테이블을 확장하고 MyBatis 혹은 JPA 매핑을 수정해주는 방식이 일반적입니다.

 

 

2. UI 레이어 변경

 

기본 제공 JSP는 UX 관점에서 한계가 있으므로, 대부분 React, Vue, Thymeleaf 등으로 프론트 단을 별도로 구성합니다. 이때 REST API 형태로 재구성하여 연동합니다.

 

 

3. 비즈니스 로직 커스터마이징

 

Controller, Service, DAO가 분리되어 있어 AOP나 공통 인터셉터 적용, 사용자 정의 Validator 추가 등 구조적으로 커스터마이징이 가능합니다.

 


 

실전 구축 팁: 커스터마이징 가이드라인

 

전자정부 표준프레임워크를 도입한 실제 공공 프로젝트에서 가장 자주 마주하는 이슈는 “공통컴포넌트와 고객 요구사항의 간극”입니다. 이를 해결하기 위한 몇 가지 실전 팁은 다음과 같습니다:

 

  • JPA 기반 구조로 마이그레이션: MyBatis 중심 구조를 Spring Data JPA로 재설계하면 유지보수성과 생산성이 증가합니다.
  • Swagger/OpenAPI 도입: API 명세를 자동화하여 개발자 간 협업을 용이하게 만들 수 있습니다.
  • 배치/스케줄링 관리: Spring Batch 또는 Quartz를 연계해 공통컴포넌트를 통해 예약 관리 기능을 쉽게 확장할 수 있습니다.

 


 

결론

 

전자정부 표준프레임워크의 공통컴포넌트는 단순히 “공짜로 제공되는 기능 모음”이 아닙니다. 오히려 공공 SI 프로젝트에서 반복되는 업무를 구조적으로 해결하기 위한 프레임 설계 도구에 가깝습니다. 단, 제공되는 기능을 맹목적으로 따르기보다는, 현업 맥락에 맞게 재구성하는 실전적 전략이 무엇보다 중요합니다.

 

728x90