본문 바로가기
[ 전자정부프레임워크 ]

eGov 호환성 인증 및 고객 샘플 제작 프로젝트 후기

by 히앤님 2024. 9. 11.
반응형
SMALL

프로젝트 개요

이번 프로젝트는 eGov 호환성 인증과 고객 샘플 제작 두 가지 주요 작업으로 진행되었다.

  1. eGov 호환성 인증 샘플 제작
    • 목표: 전자정부 표준 프레임워크와의 호환성 인증을 통해 제품의 신뢰성과 안정성을 검증받고, 공공기관 및 고객에게 공식적으로 인정받기 위함이었다.
    • 내용: 기존 버전 제품은 3.5 버전에서 인증을 받았고, 이번 버전 제품은 최신 4.2 버전으로 인증을 받기 위해 Spring Boot 기반으로 개발했다. 인증 샘플은 게시판 형태로, 페이징과 간단한 CRUD 기능을 제공한다. 공공 데이터를 활용했다.
  2. 고객 샘플 제작
    • 목표: 고객의 요구 사항을 충족하기 위해 전자정부 표준 프레임워크를 활용한 다양한 기능을 시연하는 샘플을 제작했다.
    • 내용: 고객이 필요로 하는 다양한 기능을 포함하여, 전통적인 JSP와 Spring 내장 데이터베이스를 사용하는 [3.10 샘플]과 최신 기술이 적용된 [4.2 샘플]을 개발했다. 고객의 요청사항을 충족하기 위해 다양한 기능을 추가하였고 요청에 따라 각 샘플을 배포할 예정이다.
  3. 각 샘플별 특징

[3.10 샘플]

  • 특징:
    • 프레임워크: 전자정부프레임워크 3.10 사용
    • View Layer: JSP(Java Server Pages)를 사용하여 뷰(View) 구현
    • Database: Spring 내장 데이터베이스 사용
    • 프로젝트 설정: XML 기반 설정 (e.g., applicationContext.xml)
    • 전통적인 Spring MVC 아키텍처: 모델(Model), 뷰(View), 컨트롤러(Controller)로 구성된 전통적인 Spring MVC 패턴 사용
  • 장점:
    • 정부 기관 및 공공 프로젝트에서의 신뢰성
    • 광범위한 문서화 및 지원
    • JSP의 대중성
  • 단점:
    • 설정 복잡성
    • 낮은 생산성
    • 기술 스택의 낡음
    • 내장 데이터베이스의 한계

[4.2 샘플]

  • 특징:
    • 프레임워크: Spring Boot 기반 전자정부프레임워크 4.2 사용
    • View Layer: Thymeleaf를 사용하여 뷰(View) 구현
    • Database: H2DB 사용 (내장형 데이터베이스)
    • 프로젝트 설정: 간소화된 설정 (application.properties 또는 application.yml 파일에서 관리)
    • 자동 설정 및 내장 서버: Spring Boot의 자동 설정과 내장 서버(예: Tomcat)를 통해 빠른 개발과 배포 가능
  • 장점:
    • 간편한 설정
    • 현대적 템플릿 엔진
    • 빠른 개발 및 배포
    • 확장성 및 유연성
    • H2DB의 유용성
    • RESTful API의 용이한 구현
  • 단점:
    • 정부 기관에서는 아직 사용이 제한적
    • 내장 데이터베이스의 제약
    • Thymeleaf의 학습 곡선

Spring Boot를 선택한 이유와 특징

  • Spring Boot는 복잡한 설정을 최소화하고, 빠르게 애플리케이션을 개발할 수 있도록 지원하는 프레임워크이다. 자동 설정(Autoconfiguration), 내장 서버(Embedded Server), 스타터 종속성(Starter Dependency) 등을 제공하여 Spring 프로젝트를 쉽게 시작하고 관리할 수 있다.
  • 특징:
    • 간편한 설정
    • 자동 설정과 간소화된 설정 관리
    • 현대적인 뷰 템플릿
    • 강력한 내장형 데이터베이스
    • 확장성과 유연성
    • 통합된 개발 환경 제공

 

느낀 점

  1. 호환성 인증의 중요성: 전자정부 표준 프레임워크와의 호환성 인증은 제품의 신뢰성과 품질을 보장하고, 공공기관 및 대기업과의 계약 기회를 확대하는 데 큰 도움이 된다. 전자정부 표준 프레임워크를 이해하는데에 좋은 경험이 되었다.
  2. 기술적 도전: 최신 기술을 적용하면서도 기존 기술과의 호환성을 유지하는 것이 많은 도전이 되었고, 기술적 숙련도를 향상시킬 수 있었다. 특히나 springBoot를 사용하여 처음부터 만들어보는 경험이 유익했다.
  3. 일정 관리: 일정 지연 상황에서의 빠른 대응과 수정이 프로젝트 성공에 중요한 역할을 했음을 알게 되었다. 일정 관리를 더욱 철저히 해야겠다는 생각이 들었다.

 

 

후기와 배운 점

후기:

  • 프로젝트 리딩 경험: 이번 프로젝트를 통해 처음으로 PL로서 WBS를 짜고 프로젝트를 리딩해본 경험이 큰 도움이 되었음을 느꼈다. 프로젝트 관리와 고객 요구 사항 충족의 중요성을 배웠다.

배운 점:

  1. 효율적인 일정 관리: 일정 관리와 리스크 대응의 중요성을 실감했으며, 일정 지연 상황에서의 대응 전략이 프로젝트 성공에 필수적임을 깨달았다.
  2. 기술적 숙련도 향상: 최신 기술을 적용하면서도 기존 기술과의 호환성을 유지하는 방법에 대해 많은 것을 배웠고, 기술적 도전 과제를 해결하는 데 도움을 받았다.
  3. 워크와 소통: 팀원들과의 효과적인 소통과 협업이 프로젝트 목표 달성에 큰 영향을 미쳤음을 알게 되었다. 팀워크의 중요성을 다시 한 번 느꼈다.
  4. PL 역할의 시야 확대: PL이 처음이었는데 프로젝트를 전반적으로 리딩하는 경험이 IT 프로젝트를 넓게 보는 시야를 제공했다.
  5. 기술 비교 분석: 같은 기능을 하는 샘플을 각각 다른 환경으로 만들어보며 비교분석을 통해 기술적 이해도가 높아졌다.
  6. 일정 분배와 프로젝트 핸들링: 일정을 분배하고 샘플별 난이도를 나누는 과정에서 프로젝트 핸들링이 쉽지 않음을 깨달았다. 회의를 통해 이를 더 잘 분배하고 사용하기 위한 전략을 세웠으며, 회의록을 꼼꼼히 작성했다.
반응형
LIST

댓글