전자정부 표준프레임워크(eGovFrame) 소개(4)

Updated:

1. 데이터 처리 레이어

데이터 처리 레이어의 개념(정의)를 살펴보면 데이터베이스에 대한 연결 및 영속성 처리, 선언적인 트랜잭션 관리를 제공하는 Layer라고 말할 수 있습니다.

구성 요소

데이터 처리 레이어는 Data Access, ORM, Transaction, DataSource 총 4개의 서비스를 제공하며, 각각의 SW를 살펴보면 iBatis, MyBatis, Spring, Hibernate 등 총 4개의 오픈소스 SW를 사용하고 있습니다.

(1) Data Access

  • JDBC 데이터 엑세스에 대한 추상화된 접근 방식으로 간편하고 쉬운 API, 자원 연결/해제, 공통 에러 처리 등을 통합 지원
  • 자바 코드로부터 SQL문 분리, SQL 자동실행, 입/출력 파라미터 자동 바인딩 지원, Dynamic SQL 지원

(2) ORM

  • ORM(Object Relational Mapping)은 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결) 해주는 기능 제공

(3) Transaction

  • 트랜잭션 서비스는 Spring 트랜잭션 서비스를 채택, DataSource를 사용하여 Transaction 관리 기능 제공

(4) DataSource

  • 데이터베이스에 대한 연결 기능 제공
  • 추상화 계층을 제공하여 업무 로직과 데이터베이스 연결방식 간의 종속성 배제

2. 배치 처리 레이어

배치 처리 레이어의 개념(정의)를 살펴보면 대용량 데이터 처리를 위한 기반 환경을 제공하는 Layer라고 말할 수 있습니다.

구성 요소

배치 처리 레이어는 Batch Core, Batch Execution, Batch Support 총 3개의 서비스를 제공하며, 각각의 특징 요소를 살펴보면 Spring Batch 기반 구현, 일반적인 작업유형은 관리자에 의한 실행, 스케줄링 실행, 백그라운드 실행 등이 있습니다.

(1) Batch Core

  • Batch Job을 실행하거나 제어하는데 필요한 설정 또는 구현체를 의미
  • Job 설정 및 수행, File/DB 처리, Job 실행중 배치 작업 외 단순처리가 필요한 작업(파일 이동 등) 처리 기능 등을 제공

(2) Batch Execution

  • Job 실행 정보 저장 및 실행방법 설정과 스케줄러, 실행 명령어(CronTab), 웹 호출 방식 인터페이스 지원 기능 제공

(3) Batch Support

  • 동기/비동기 처리, 병렬처리, 전처리/후처리 Event Handling, 건너뛰기/반복/재시도 기능 제공
  • Job Repository와 이력관리 기능 제공

3. 화면 처리 레이어

화면 처리 레이어의 개념(정의)를 살펴보면 업무 프로그램과 사용자 간의 Interface를 담당하는 Layer로서, 사용자 화면 구성 및 사용자 입력 정보 검증 등의 기능을 제공하는 Layer라고 말할 수 있습니다.

구성 요소

화면 처리 레이어는 Ajax Support, MVC, UI Adaptor, Internationalization, Validation 총 5개의 서비스를 제공 합니다.

(1) Ajax Support

  • JQuery Ajax는 자바스크립트 프레임워크로 간결한 표현으로 Front-End(화면) 개발 생산성 향상과 동적 제어 기능 제공

(2) MVC

  • MVC(Model-View-Controller) 패턴은 UI코드와 비즈니스 코드를 분리함으로써 종속성을 줄이고, 재사용성을 높여 보다 쉬운 변경이 가능하도록 제공
  • 전자정부 FWK 는 Spring MVC를 채택함

(3) UI Adaptor

  • 상용 솔루션과 연동이 가능하도록 표준 및 연동 기능 제공

(4) Internationalization(국제화)

  • 전자정부 표준 프레임워크는 다국어를 지원하기 위해 Spring MVC에서 제공하는 LocaleResolver를 사용함

(5) Validation

  • 입력 값의 유효성 검증 기능 제공
  • 전자정부 FWK 는 Jakarta Commons Validator를 채택함

마지막으로 전자정부 표준 프레임워크에서 제공하는 모바일 웹(Web), Device API에 대해서 살펴보도록 하겠습니다.

4. 모바일 웹(Web)

개요

전자정부 표준프레임워크(eGovFrame)의 모바일 웹(Web) 환경은 2011년 하반기에 구축되었으며, 모바일 웹 개발을 위한 실행환경, 개발환경, 공통 컴포넌트 기능을 제공하고 있습니다.

구성

전자정부 표준프레임워크(eGovFrame)의 모바일 웹(Web)은 JQueryMobile 환경을 기반으로 모바일 UX컴포넌트 및 공통 컴포넌트 표준 코드를 사용하고 있습니다.

  • 전자정부 모바일 표준프레임워크는 실행 환경은 기존 전자정부 표준프레임워크의 디렉토리 구조 및 표준을 준수하고 있으며, 모바일 웹 개발을 위해 하위 디렉토리 구조를 다음과 같이 구성하고 있습니다.

  • 전자정부 모바일 표준프레임워크는 CSS 및 JavaScript를 이용하여 실행환경을 제공하며, CSS, javascript, image는 각각 유기적으로 연결되어 있습니다.
  • 실행 환경 라이브러리 구성

5. 모바일 Device API

개요

전자정부 표준프레임워크(eGovFrame)의 모바일 Device API 환경은 2012년 하반기에 구축되었으며, 하이브리드 어플리케이션 구성 기반과 구현 및 실행시 필요한 기본 기능을 제공하고 있습니다.

지원 기능

전자정부 표준프레임워크(eGovFrame)의 모바일 Device API 는 웹 리소스를 통해 디바이스 내 기능 호출을 위하여 각 디바이스 API 기능을 제공 합니다.

NO Device API 명 설명
1 Accelerator 단말기의 가속도계 정보를 제공하는 API(단말기 움직임 정보를 x,y,z축 값으로 제공)
2 GPS 단말기의 현재 위치 정보를 제공하는 API
3 Vibrator 단말기의 진동 및 알림음 기능을 호출할 수 있는 API
4 Camera 단말기의 카메라 촬영 기능을 호출할 수 있는 API
5 Contact 단말기의 주소록(연락처) 정보를 조회 및 수정할 수 있는 API
6 Compass 단말기의 방향 정보를 조회할 수 있는 API
7 File Reader/Writer 단말기의 내장 저장 장치의 파일을 읽기/쓰기 할수 있는 API
8 Network 단말기의 네트워크 연결 정보를 조회할 수 있는 API
9 Device 단말기의 기본정보(UUID, 버전등)을 조회할 수 있는 API
10 Media 단말기의 오디오 파일을 컨트롤 할 수 있는 API
11 Interface 전자정부 표준프레임워크 기반 웹서버 어플리케이션과 연계를 지원하는 API
12 NPKI 단말기에 설치된 NPKI 모듈을 호출할 수 있는 API
13 Push Notifications 모바일 앱 사용자에게 다양한 푸쉬 메시지를 전달할 수 있는 기능 제공하는 API
14 File Opener 단말기의 사용 가능한 문서 앱의 연동을 제공하는 API
15 Streaming Media 멀티미디어(동영상)을 실시간으로 볼수 있도록 내장 미디어 플레이어로 연동하는 기능을 호출할 수 있는 API
16 Barcode Scanner 바코드, QR코드 등 정보를 확인할 수 있는 기능을 호출할 수 있는 API
17 WebResource Update 웹 리소스의 최신버전 조회 및 버전 업데이트를 진행할 수 있는 기능을 호출할 수 있는 API
18 Device FileMgmt 디바이스 저장소 내의 폴더(디렉토리) 및 파일 관리(이동/삭제/복사) 기능 호출 API
19 JailBreakerDetection 디바이스의 루팅 및 탈옥 정보 조회 기능을 호출할 수 있는 API
20 SocketIO 웹서버의 WebSocket에 접속하여 양방향 데이터 처리 기능을 사용할 수 있는 API
21 SQLite 디바이스 내 독립적인 DB를 사용할 수 있는 기능을 지원하는 API
22 Unzip 단말기 내 파일의 압축/해제 기능을 지원하는 API

포스트를 마치며…

지금까지 전자정부 표준프레임워크(eGovFrame)에 대한 전반적인 소개를 해보았습니다. 전자정부 프레임워크이 무엇인지, 등장배경 및 특징, 왜 이것을 사용하는지(고객 입장에서도 생각을 해보았습니다.), eGov/Spring FWK 차이점, 라이브러리/프레임워크 차이점 등을 살펴 보았고, 실행환경 및 Layered 구조 및 기능에 대해서도 알아 보았습니다.

해당 포스팅을 쑤~~욱 읽어보고, 짧은 시간에 전자정부 FWK에 대한 전반적인 내용이 무엇인지 알수 있는 글이 되길 바라며, 이상으로 마치도록 하겠습니다. 감사합니다.

참고자료: https://www.egovframe.go.kr