본문 바로가기
프로그램 개발(분석, 설계, 코딩, 배포)/100. 기타

egovframe 소프트웨어

by 3604 2026. 7. 13.
728x90

 

Gemini와의 대화

egovframe에서flow diagram 사용하는 방법?

전자정부프레임워크(eGovFrame)에서 Flow Diagram(흐름도) 또는 흐름을 제어하는 기능을 다루는 방법은 질문하신 의도(설계/개발 도구 사용 vs 화면 흐름 제어) 따라 크게 가지로 나뉩니다.

1. 개발 환경(IDE)에서 UML/클래스 흐름도 그리기

전자정부프레임워크가 제공하는 이클립스 기반 개발 환경(Dev Channel)에는 시스템 설계를 돕는 UML 모델링 도구 내장되어 있습니다. 도구로 Class Diagram, Use Case Diagram, Sequence Diagram(시퀀스 다이어그램) 등을 작성할 있습니다.

사용 방법

1.    eGovFrame Perspective 전환: Eclipse 우측 상단에서 eGovFrame 퍼스펙티브를 선택합니다.

2.    UML 모델 생성: File New Other eGovFrame 카테고리에서 UML Model 선택하고 파일을 만듭니다.

3.    다이어그램 추가: 생성된 모델 파일 내에서 마우스 우클릭 New Diagram Sequence Diagram (또는 원하는 흐름도 형태) 선택합니다.

4.    컴포넌트 배치: 팔레트(Palette) 있는 객체, 메시지 흐름 등을 드래그 드롭하여 비즈니스 로직이나 컴포넌트 간의 Flow 시각적으로 작성합니다.

2. 실행 환경(Runtime)에서 화면 흐름 제어하기 (Spring Web Flow)

만약 시스템 내부에서 회원가입 프로세스, 주문/결제 프로세스처럼 여러 페이지를 거치는 복잡한 화면의 흐름(Flow) 코드로 정의하고 관리하고 싶다면, 전자정부프레임워크 비즈니스 로직 레이어에 포함된 Spring Web Flow 기능을 활용하게 됩니다.

사용 방법

1.    의존성(pom.xml) 확인: 전자정부프레임워크 실행환경 라이브러리에 spring-webflow 포함되어 있는지 확인합니다.

2.    설정 파일 구성 (context-webflow.xml ): 플로우 엔진과 이를 처리할 핸들러 Mapping Spring 설정 파일에 등록합니다.

3.    Flow 정의 파일 작성 (XML): WEB-INF/flows 폴더 등에 웹의 흐름을 정의하는 xml 파일을 작성합니다. 상태(State) 전이(Transition) 선언적 구조로 정의할 있습니다.

XML

<flow xmlns="http://www.springframework.org/schema/webflow" ...>

    <view-state id="viewCart" view="cart">

        <transition on="checkout" to="enterShippingDetails"/>

    </view-state>

 

    <view-state id="enterShippingDetails" view="shipping">

        <transition on="submit" to="processOrder"/>

    </view-state>

 

    <action-state id="processOrder">

        <evaluate expression="orderAction.process(order)"/>

        <transition on="success" to="finishOrder"/>

    </action-state>

 

    <end-state id="finishOrder" view="orderConfirmed"/>

</flow>

혹시 이클립스 개발 도구 내에서 데이터베이스 ERD 아키텍처 다이어그램 그리는 방법이 궁금하셨던 건가요, 아니면 Spring Web Flow 이용한 화면 제어 직접 구현하시려는 건가요? 알고 싶으신 구체적인 방향을 말씀해주시면 자세히 안내해 드릴게요!

egovframe에서 업무 프로세스를 시각적으로 확인 가능 방법은?

전자정부프레임워크(eGovFrame) 환경에서 개발된 시스템의 업무 프로세스나 데이터 흐름을 시각적으로 확인(모니터링 추적)하는 방법은 크게 3가지 접근 방식으로 나뉩니다.

어떤 단계를 시각화하고 싶으신가요? 목적에 맞는 적절한 방법을 선택해 활용하실 있습니다.

1. 공통컴포넌트의 모니터링 기능 활용 (운영/관리자 관점)

전자정부프레임워크가 제공하는 공통컴포넌트(Common Components) 중에는 시스템 내부의 프로세스 상태나 배치(Batch) 흐름을 시각적·통계적으로 확인할 있는 관리자 화면 기능이 포함되어 있습니다.

  • 프로세스 모니터링: 시스템에서 구동 중인 주요 서비스나 데몬 프로세스의 현재 상태(정상, 장애 ) 로그를 화면에서 실시간으로 모니터링합니다.
  • 배치 작업 흐름(eGovFrame Batch): 대용량 데이터 처리를 위한 배치 스케줄러와 연동되어, 배치 프로세스가 어느 단계(Step)까지 실행되었고 어디서 오류가 났는지 관리자 UI 통해 흐름을 추적할 있습니다.

2. Spring Web Flow + 흐름 가시화 (사용자 동선 관점)

실행 환경(Runtime)에서 복잡한 비즈니스 프로세스(: 민원 신청 단계, 다단계 결제 흐름 ) 다루고 있다면, Spring Web Flow 정의서 파일 기반으로 시각화할 있습니다.

  • 설계 단계 시각화: Web Flow 정의용 XML 파일(-flow.xml) 작성하면 Eclipse IDE 내의 정의서 편집기(Graphical Editor) 통해 상태(State) 전이(Transition) 화살표를 시각적인 다이어그램으로 확인할 있습니다.
  • 런타임 추적: 사용자가 프로세스의 어떤 단계(: 장바구니 배송지 입력 결제 완료) 머물러 있는지 세션(Flow Execution) 단위로 상태를 다이어그램 형태로 (JSP/Thymeleaf) 바인딩하여 사용자나 관리자 화면에 보여주는 커스텀 구현이 가능합니다.

3. APM 분산 트레이싱 도구 연계 (시스템/코드 흐름 관점)

가장 확실하게 실제 실무 업무(Transaction) 호출 프로세스 시각화하는 방법입니다. 전자정부프레임워크 내부에서 컨트롤러 서비스 DAO 데이터베이스로 이어지는 병목 구간이나 실행 흐름을 실시간 다이어그램으로 제공합니다.

  • Pinpoint (핀포인트): 국내 공공 금융 기관에서 전자정부프레임워크 기반 시스템에 가장 많이 연계하는 오픈소스 APM입니다. 특정 업무(URL 요청) 발생했을 연관된 컴포넌트나 외부 API, DB 쿼리로 이어지는 프로세스 맵을 토폴로지 형태로 시각화해 줍니다.
  • Spring Actuator + Zipkin: 마이크로서비스 아키텍처(MSA) 형태의 전자정부프레임워크를 구축했다면, 서비스 간의 비즈니스 프로세스 호출 흐름을 실시간 시퀀스 다이어그램 형태로 추적 가시화할 있습니다.

현재 운영 중인 시스템의 "사용자 업무 단계 화면 흐름" 시각화하고 싶으신가요, 아니면 내부 "소스코드 시스템 호출 흐름" 실시간으로 추적·시각화하고 싶으신가요? 구현하시려는 대상에 맞춰 조금 상세히 가이드해 드리겠습니다.

egovframe에서 소스 품질관리 오픈소스 프로그램은?

전자정부프레임워크(eGovFrame) 환경에서 소스 코드의 품질을 정적·동적으로 검증하고 관리하기 위해 기본 탑재되었거나 공공 프로젝트에서 가장 널리 연계해 사용하는 오픈소스 프로그램은 다음과 같습니다.

목적과 사용 환경(로컬 개발 도구 vs 빌드/배포 서버) 따라 구분하여 활용할 있습니다.

1. 개발 환경(Eclipse IDE) 내장 오픈소스 도구

전자정부프레임워크 개발 환경(eGovFrame Dev Channel) 다운로드하면, 개발자가 코딩하는 단계에서 실시간으로 소스 품질을 검사할 있도록 아래 오픈소스 플러그인들이 기본 포함되거나 연계 가이드로 제공됩니다.

  • PMD (Code Inspection): * 전자정부프레임워크의 공식 정적 소스 코드 검사(Inspection) 표준 도구입니다.
  • FindBugs / SpotBugs:
  • JUnit:

2. 지속적 통합(CI/CD) 서버 연계용 소스 품질 오픈소스 플랫폼

실제 공공 프로젝트 운영이나 배포 단계에서는 개발 환경 플러그인에만 의존하지 않고, Jenkins(젠킨스) 등과 결합하여 서버 수준에서 전체 소스 품질을 통합 관리합니다. 영역에서 가장 독보적인 오픈소스는 단연 SonarQube입니다.

SonarQube (소나큐브)

현재 전자정부프레임워크 기반 프로젝트에서 소스 품질 관리 표준처럼 연계되어 사용되는 가장 대표적인 오픈소스 플랫폼입니다. (일부 고급 기능은 유료이지만, 커뮤니티 버전은 오픈소스로 무료 제공됩니다.)

  • 주요 기능: * 정적 분석 통합: PMD, FindBugs 등의 기능을 흡수하여 코드의 버그, 취약점(Security Vulnerabilities), 코드 스멜(Code Smells) 한눈에 대시보드로 시각화합니다.

요약 추천

  • 개발자 개인의 코딩 표준 단순 오류 수정: 개발 도구(Eclipse) 내장된 PMD 기능을 활성화하여 eGovFrame Perspective Violation Overview 통해 실시간 품질 관리를 수행하세요.
  • 프로젝트 전체 품질 모니터링 이력 관리: 빌드 서버에 SonarQube(Community Edition) 구축하고 Maven/Gradle 빌드 스크립트와 연동하여 주기적으로 소스 품질 점검 리포트를 시각화하는 구조를 추천합니다.

egovframe 테스트커버리지 관리 화면 테스트품질 모니터링 화면 url알려줘

전자정부프레임워크(eGovFrame) 자체는 애플리케이션 개발을 위한 개발 프레임워크(라이브러리 개발 도구)이며, 소스 코드의 테스트 커버리지나 품질 리포트를 실시간으로 수집하여 보여주는 별도의 내장 모니터링 화면(URL) 자체적으로 탑재하고 있지는 않습니다.

대신, 전자정부프레임워크 환경에서는 앞서 언급된 소스 품질관리 오픈소스 플랫폼인 SonarQube(소나큐브) 또는 Jenkins(젠킨스) 등과 같은 CI/CD 도구를 연계하여 해당 모니터링 화면을 확인하게 됩니다.

프로젝트 환경에 맞게 구축된 서버의 일반적인 URL 접근 방식과 대시보드 진입 경로는 다음과 같습니다.

1. SonarQube 통한 테스트 품질/커버리지 확인 (가장 일반적)

프로젝트 빌드 환경(Maven/Gradle) SonarQube 연계되어 있다면, 해당 품질 서버의 URL 접속하여 확인할 있습니다.

  • 기본 접속 URL 형태: http://[품질관리서버_IP]:9000 (기본 포트 9000)
  • 테스트 커버리지 확인 경로: 1. SonarQube 메인 페이지에서 해당 [프로젝트 이름] 클릭합니다. 2. 상단 메뉴 또는 메인 요약 대시보드에서 Measures 탭을 선택합니다. 3. 좌측 카테고리 Coverage 메뉴를 클릭합니다. 4. 여기에서 라인 커버리지(Line Coverage), 조건 커버리지(Branch Coverage) 수치와 함께 전체 소스 코드 어떤 라인이 테스트되지 않았는지 시각적으로 확인 있습니다.

2. Jenkins + Jacoco 플러그인을 통한 확인

빌드 자동화 서버인 Jenkins 자바 코드 커버리지 측정 도구인 JaCoCo 플러그인 연동하여 품질을 모니터링하는 구조입니다.

  • 기본 접속 URL 형태: http://[젠킨스서버_IP]:8080 (기본 포트 8080)
  • 테스트 품질 모니터링 경로:

1.    Jenkins 대시보드에서 해당 프로젝트의 [Job(파이프라인)] 선택합니다.

2.    좌측 메뉴 화면에 활성화된 JaCoCo Coverage Report 아이콘을 클릭합니다.

3.    패키지 단위, 클래스 단위, 메서드 단위로 세분화된 테스트 커버리지 그래프와 리포트 화면이 나타납니다.

3. 로컬 개발 환경(Eclipse IDE) 내부에서 확인하는 방법

만약 서버(URL) 환경을 별도로 구축하지 않고, PC 전자정부프레임워크 개발 도구 내에서 바로 모니터링 화면을 보고 싶다면 EclEmma(JaCoCo 기반) 플러그인을 활용합니다.

  • 확인 방법: Eclipse 상단 툴바에서 Coverage As JUnit Test 실행하면, 하단 영역에 Coverage 화면이 활성화됩니다. 소스 파일별로 테스트 실행 비중이 백분율(%) 표기되며, 소스 코드 에디터 창에 녹색(테스트 완료) 적색(테스트 누락)으로 라인이 하이라이트됩니다.

Note: 프로젝트 내부에서 사용하는 실제 테스트 품질 모니터링 화면의 정확한 주소는 사내 인프라 담당자나 프로젝트 PL/PM에게 **"소나큐브(또는 젠킨스) 품질 관리 서버 URL"** 확인하셔야 합니다.

 

728x90