eGovFrame 표준프레임워크 포털

메뉴 건너띄기
상단메뉴 바로가기
본문 바로가기

이 누리집은 대한민국 공식 전자정부 누리집입니다.

본문 영역

표준프레임워크의 개요, 구성, 아키텍처, 라이선스 및 적용 사례를 소개합니다.

구성

모바일 디바이스 API는 각 플랫폼(Android, iOS) 별 구현환경 위에서 HTML, CSS, JavaScript 로 구성된웹 리소스를 통한 디바이스 하이브리드 애플리케이션 구현을 지원하며 플랫폼 별 SDK를 활용 하여 구현된 웹 리소스 내의 JavaScript 형태의 Device API와 각 플랫폼 별 Native Code 가 하이브리드 프레임워크 및 웹 뷰 인터페이스를 통해 연동되어 실제 디바이스의 고유 기능을 호출 할 수 있도 록 지원한다.

표준프레임워크 웹어플리케이션과 모바일 디바이스API가 상호 연계되어 시스템을 구성할 수 있다. 표준프레임워크 웹어플리케이션은 서버라고 할 수 있으며 하이브리드앱은 클라이언트라고 할 수 있다. 서버와 클라이언트간의 통신은 Restful API 를 이용한다. 표준프레임워크 웹어플리케이션과 모바일 디바이스API가 상호 연계되어 시스템을 구성할 수 있다. 표준프레임워크 웹어플리케이션은 서버라고 할 수 있으며 하이브리드앱은 클라이언트라고 할 수 있다. 서버와 클라이언트간의 통신은 Restful API 를 이용한다.
SDK

모바일 디바이스 API는 Android, iOS 두 가지의 모바일 플랫폼을 지원한다.

모바일 디바이스 API에 관한 구분, 구성요소, 설명으로 구성된 테이블 표
구분 구성요소 설명
Android Linux kernel 하드웨어 드라이버, 프로세스와 메모리 관리, 보안, 네트워크, 전력 관리 등의 핵심 서비스를 담당한다.
Libraries MAndroid libc와 SSL 같은 다양한 C/C++ 코어 라이브러리로서 핸드폰에 사용되는 하드웨어를 지원하기 위해 컴파일되어 핸드폰 공급업체에 의해 핸드폰에 미리 설치된다.
Android Runtime Core Libraries, Dalvik Virtual Machine으로 구성, 커널 위에 존재하며 Dalvik, VM, 코어 라이브러리 등이 포함된다.
Application Framework Android Application을 만드는데 필요한 기능을 지원, App들을 관리하는 역할을 한다.
Application 안드로이드 아키텍처 다이어그램의 최상위 계층, 안드로이드의 특징 중 하나로 모든 애플리케이션이 동일한 수준으로 실행된다.
iOS Kernel Mac OS X와 같은 Mach에 기초한다.
Core OS와 Core Services 계층 기본적인 iOS의 인터페이스를 가지고 있다. 데이터 타입들, 봉주르 서비스, 네트워크 소켓 등이 있다.
Media 계층 2D/3D 그리고, 오디오, 비디오 등의 기반 기술을 가지고 있다.
OpenGL ES, Quartz Core Audio와 Core Animation이 있다.
Cocoa Touch 계층 모든 기술이 Objective-C를 기본으로 하며, 각종 프레임워크로 응용프로그램을 만들 때 가장 기본적인 인프라를 제공한다.
  • 웹 리소스와 Native 모듈과의 연계를 위한 하이브리드 프레임워크로 Cordova(PhoneGap)을 사용한다.
  • 오픈소스 하이브리드 프레임워크인 Cordova(PhoneGap)은 네이티브 플랫폼 종속적인 디바이스 API와 플랫폼 비종속적인 영역인 애플리케이션 부분으로 나누어지며 웹 뷰 클라이언트를 이용해 애플리케이션을 구동시킨다.
  • 하이브리드 애플리케이션 영역은 플랫폼에 비종속적인 언어인 HTML5, 자바스크립트, CSS로 구현 되며 앱 빌드시 컴파일 되지 않는다.
  • 애플리케이션이 동작하면 디바이스 API의 웹뷰에 의해 인터프리팅 방식으로 랜더링 된다.
웹뷰 인터페이스
  • 웹 리소스와 각 SDK 사이에서 인터페이스 역할을 수행한다. 웹 뷰 인터페이스는 각 디바이스 플랫폼에 내장 되어있는 Web Kit 기능을 통하여 수행된다.
  • 각 플랫폼 별 SDK 내에 내장되어 있는 브라우저 기능을 포함 한 웹 Tool Kit 으로서 하이브리드 애플리케이션의 디바이스 API 호출을 위한 브릿지 역할을 해준다.
  • SDK 로 부터 상속받은 웹뷰를 생성해서 그웹뷰에 내 소스를 로드한 후 네이티브API를 사용할 수 있도록 연계한다.
DEVICE API
  • 모바일 하이브리드 애플리케이션 구현 시 모바일 디바이스 API 실행환경에서는 Javascript 객체를 이용하여, Device에 접근이 가능도록 다양한 API를 제공한다.
  • 하이브리드 애플리케이션 동작 하기 위한 기반 구성요소로 네이티브 플랫폼에 종속적인 언어로 구성된다.
  • HTML5와 자바스크립트 표준 코드 이외의 디바이스 종속 기능을 사용하기 위한 기능을 구현하며 사용자의 커스텀 라이브러리가 포함된다.
  • Accelerator

    단말기의 가속도계 정보를 제공하는 API(단말기의 움직임 정보를 x, y, z 축의 값으로 제공)

  • GPS

    단말기의 현재 위치에 대한 정보를 제공하는 API

  • Vibrator

    단말기의 진동 및 알림음 기능을 호출할 수 있는 API

  • Camera

    단말기의 카메라 촬영 기능을 호출할 수 있는 API

  • Contact

    단말기의 주소록(연락처) 정보를 조회 및 수정할 수 있는 API

  • Compass

    단말기의 방향정보를 조회할 수 있는 API

  • File Reader/Writer

    단말기의 내장 저장 장치의 파일을 읽기 쓰기 기능을 제공하는 API

  • Network

    단말기의 네트워크 연결 정보를 조회할 수 있는 API

  • Device

    단말기의 기본 정보(UUID, 버전 등)을 조회할 수 있는 API

  • Media

    단말기의 오디오 파일을 컨트롤할 수 있는 API

  • Interface

    전자정부 표준프레임워크 기반 웹 서버 애플리케이션과 연계를 지원하는 API

  • Push Notifications

    모바일 앱 사용자에게 다양한 푸시 메세지를 전달할 수 있는 기능을 제공하는 API

  • File Opener

    연결 단말기의 사용 가능한 문서 앱의 연동을 제공하는 API

  • Streaming Media

    멀티미디어 동영상을 실시간으로 볼수 있도록 내장 미디어 플레이어로 연동하는 기능을 호출할 수 있는 API

  • Barcode Scanner

    바코드, QR코드 등 정보를 확인할 수 있는 기능을 호출할 수 있는 API

  • WebResource Update

    웹 리소스의 최신버전 조회 및 버전 업데이트를 진행할 수 있는 기능을 호출할 수 있는 API

  • Device FileMgmt

    디바이스 저장소 내의 폴더(디렉토리) 및 파일 관리(이동, 삭제, 복사) 기능을 호출할 수 있는 API

  • JailbreakDetection

    디바이스의 루팅 및 탈옥 정보 조회 기능을 호출할 수 있는 API

  • SocketIO

    웹 서버의 웹소켓에 접속하여 양방향 데이터 처리 기능을 사용할 수 있는 API

  • SQLite DB

    디바이스 내 독립적인 데이터베이스를 사용할 수 있는 기능을 지원하는 API

  • Unzip

    단말기의 파일의 압축과 해제 기능을 지원하는 API

웹 리소스
  • 폰갭 프로젝트는 일반적인 웹 리소스 (HTML5, CSS3, JavaScript) 등을 활용하여 모바일 하이브리드 APP을 구현하며 해당 웹 리소스는 디바이스의 종류에 상관없이 재활용이 가능하다.
  • HTML, CSS, Image, js 등의 파일을 추가할 수 있으며 디바이스의 종류에 관계없이 재활용이 가능하다.
  • 전자정부 디바이스 API 실행환경에서는 HTML5, CSS3을 적용한 웹 리소스 구현을 지원한다.
JavaScript Framework
  • 전자정부 모바일 웹 실행환경
  • jQuery
  • iScroll
JavaScript Framework 서비스 그룹, 서비스, 오픈소스, 확장 및 개발로 구성된 테이블 표
서비스 그룹 서비스 오픈소스 확장 및 개발
UX처리 UI/UX 라이브러리 jQuery Mobile  
디바이스 API 실행환경 Mobile Hybrid Framework Cordova(PhoneGap)  

이 페이지의 구성