전자정부 표준프레임워크(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에 대한 전반적인 내용이 무엇인지 알수 있는 글이 되길 바라며, 이상으로 마치도록 하겠습니다. 감사합니다.