xFrame5 아키텍처 가이드
실행 환경 아키텍처
xFrame5 솔루션의 실행 환경 아키텍처는 아래와 같이 사용자 시스템, 서버 시스템, 형상 관리 시스템으로 구성되며, 서버 시스템 내부에는 WEB/WAS 서버 S/W 내에 xFrame5 관련 파일이 구성된다.
개발 아키텍처
xFrame5는 HTML5기반의 UI개발 솔루션으로 Any Device, Any Brower, Any Server Platform을 지원하는 One Source Multi Use를 지원합니다.
전용 브라우저
xFrame5 PC용 전용 브라우저는 크롬 브라우저의 기반 소스인 크로미엄 오픈 소스 기반의 엔진에 기반한 브라우저입니다. 범용 브라우저에서 제공이 불가능한 다양한 부가 기능을 제공합니다.
구분 | 설명 |
주요특징 |
범용 브라우저 업데이트에 독립적인 업데이트 환경 제공
로컬 파일 모드 지원 (로컬 파일에 존재하는 화면 소스를 기준으로 UI 표시)
타이틀바 아이콘/닫기 버튼 커스터마이징 기능 제공
주소바 숨김 기능
프로그램 이름, 프로그램 아이콘 커스터마이징 제공
크롬 브라우저와 동일한 기능/성능/개발 환경 제공
32비트/64비트용 브라우저 제공
엑셀 DRM 처리를 위한 엑셀 오토메이션 읽기 기능 제공
|
주요기능 |
로컬 파일 직접 제어 API 제공 (읽기/쓰기/삭제/복사/이동)
-
실행 인스턴스 개수 제어 기능, 브라우저 종료 제어 기능
외부 프로세스 기동 및 종료 기능
IME 처리 기능 (한글/영문)
브라우저 크기 변경 가능 여부 및 크기 변경 기능
로그 파일 저장 및 로그 레벨 제어 기능 제공
캐쉬 저장 및 크기/삭제 제어 기능 제공
크로스 도메인 보안 정책 제어 기능
인증서 오류 무시 정책 제어 기능
|
XPlus 확장 기능
xFrame5 솔루션의 범용 Browser 형태의 내부 구조는 아래와 같이 범용 브라우저 기반하에 HTML5 기반 업무 화면 표시 영역과 xPlus5 기반 기능 확장 영역으로 구성되며, 각 영역간 통신은 WebSocket 통신 프로토콜을 이용하여 수행된다.
모바일 하이브리드 앱
모바일 하이브리드 앱은 일반 모바일 WEB 환경에서 제공하지 못하는 다양한 네이티브(Native) 앱 기능을 제공하기 위해서, HTML5 환경에서 JavaScript로 연계를 위한 모바일 하이브리드 앱 기능 연계 모듈을 제공합니다.
구분 | 설명 |
주요특징 |
모바일 디바이스 장비 정보 획득
전화 걸기/문자 보내기/메일 보내기
진동, 소리, 카메라 플레이
연락처, 앨범 열기
앱 종료, 타 앱 연동
앱 업데이트 기능, 앱 강제 업데이트 기능
QR 코드 읽기, NFC 읽기 기능
PUSH 메시지 연동 기능
외부 디바이스 연동 커스트마이징 기능 제공
다양한 모바일 키보드 입력 방식 지원
다양한 터치 이벤트 처리
화면 모드 (가로/세로) 지정 및 고정 기능
|
보안 |
보안 바이러스 외부 앱 기능 기능 (예: Droid-X)
외부 HTML 보안 키보드 연동 (예: Open Web nFilter)
외부 앱 난독화, 위변조탐지, 안티해킹 솔루션 연동 (Android 전용 앱 보호 서비스) (예: FxShield)
|
초기 화면 실행 아키텍처
xFrame5 솔루션의 초기 화면 로딩 절차 및 실행 절차 아키텍처는 아래와 같다.
xFrame5 솔루션의 초기 화면 로딩 절차 및 실행 절차 아키텍처는 아래와 같다.
번호 | 구분 | 설명 |
1 | xFrame Viewer 파라미터 처리 | |
2 | 스타일 로드 | |
3 | Global Module 로드 | |
4 | Global xDataSet 로드 | |
5 | 초기 화면 로드 | |
화면 실행 아키텍처
xFrame5 솔루션의 업무 화면 로딩 절차 및 실행 절차 아키텍처는 아래와 같다.
xFrame5 솔루션의 업무 화면 로딩 절차 및 실행 절차 아키텍처는 아래와 같다.
번호 | 구분 | 설명 |
1 | 화면 로딩 및 표시 |
화면 로딩시 해당 화면 XML 파일내의 “외부 컴포넌트 정보”, “Attribute Map 정보”, “UI 콘트롤 속성” 정보를 분석하여 외부 리소스 파일들을 화면내에 로딩하고 표시한다.
“Attribute Map 정보”를 이용하여 UI 콘트롤의 초기 속성을 설정한다.
|
2 | 화면 이벤트 처리 및 로직 수행 |
화면 XML 파일 내에 UI 콘트롤 이벤트 정의에 정의된 이벤트가 발생하면, 화면 스크립트 파일의 해당 함수가 호출된다.
화면 스크립트 파일의 함수는 화면 내 변수 및 “Global Module”내에 있는 변수 및 함수를 이용하여 비즈니스 로직을 수행한다.
|
3 | Global Module 로드 | |
4 | Global xDataSet 로드 | |
배포환경 아키텍처
WEB/WAS가 하나의 시스템으로 구성 및 공유 디스크 사용
상세 아키텍처는 아래와 같다.
상세 아키텍처는 아래와 같다.
번호 | 구분 | 설명 |
1 | 파일 이행 |
XAdmin의 로컬 파일 업로드 또는 이관 업로드 기능을 통해 “운영자 시스템” 로컬 시스템의 파일을 업로드 하거나, 테스트 시스템의 파일을 업로드합니다.
XAdmin의 등록/결재/이행 기능을 통해 파일을 이행합니다.
각 시스템은 XAdmin은 서버 관리 기능을 통해서 모두 “MASTER” 시스템으로 등록합니다.
|
2 | 파일 시스템 공유 | |
3 | 파일 다운로드 및 접근 | |
WEB/WAS가 하나의 시스템으로 구성 및 로컬 디스크 사용
상세 아키텍처는 아래와 같다.
상세 아키텍처는 아래와 같다.
번호 | 구분 | 설명 |
1 | 파일 이행 |
운영자는 XAdmin UI를 통해서 “MASTER” 시스템으로 등록된 시스템에 접속합니다.
XAdmin의 로컬 파일 업로드 또는 이관 업로드 기능을 통해 “운영자 시스템” 로컬 시스템의 파일을 업로드 하거나, 테스트 시스템의 파일을 업로드합니다.
XAdmin의 등록/결재/이행 기능을 통해 파일을 이행합니다.
각 시스템은 XAdmin은 서버 관리 기능을 통해서 모두 한 시스템을 “MASTER” 시스템으로 다른 시스템은 “SLAVE” 시스템으로 등록합니다.
“MASTER” 시스템에만 백업본이 관리됩니다.
|
2 | 파일 시스템 동기화 | |
3 | 파일 다운로드 및 접근 | |
장애 처리 절차
번호 | 구분 | 설명 |
1 | 마스터 서버가 장애인 경우 |
“SLAVE” 시스템에 XAdmin으로 접속하여, “SLAVE” 시스템의 정보를 “MASTER” 시스템으로 변경합니다.
XAdmin의 로컬 파일 업로드 또는 이관 업로드 기능을 통해 “운영자 시스템” 로컬 시스템의 파일을 업로드 하거나, 테스트 시스템의 파일을 업로드합니다.
XAdmin의 등록/결재/이행 기능을 통해 파일을 이행합니다.
|
2 | 장애 발생 시스템이 복구된 경우 |
“MASTER”로 설정된 시스템에 접속하여, 이행 이력을 확인하여, 장애 발생 시간동안 배포된 파일 목록을 확인합니다.
마스터 관리 메뉴를 통해서 해당 파일들을 로컬로 다운로드 합니다.
로컬로 다운로드된 파일들을 다시 업로드/등록/결재/이행 절차를 수행하여 배포합니다.
|
3 | 서버 구성 정보 복구 | |
WEB/WAS가 분리된 시스템으로 구성 및 공유 디스크 사용
상세 아키텍처는 아래와 같다.
상세 아키텍처는 아래와 같다.
번호 | 구분 | 설명 |
1 | 파일 이행 |
운영자는 XAdmin UI를 통해서 “MASTER” 시스템으로 등록된 시스템에 접속합니다.
XAdmin의 로컬 파일 업로드 또는 이관 업로드 기능을 통해 “운영자 시스템” 로컬 시스템의 파일을 업로드 하거나, 테스트 시스템의 파일을 업로드합니다.
XAdmin의 등록/결재/이행 기능을 통해 파일을 이행합니다.
각 시스템은 XAdmin은 서버 관리 기능을 통해서 모두 한 시스템을 “MASTER” 시스템으로 다른 시스템은 “SLAVE” 시스템으로 등록합니다.
“MASTER” 시스템에만 백업본이 관리됩니다.
|
2 | 파일 시스템 동기화 |
마스터 시스템에서 파일 이행시 “SLAVE” 시스템으로 등록된 시스템, WEB 서버 시스템으로 설정된 서버와 FTP 통신을 통해 파일을 동기화 합니다.
HTTP 동기화 방식은 지원하지 않습니다.
FTP 통신 방식을 사용할 경우, FTP 서버가 설치되어 있어야 하며, XAdmin을 통해서 FTP 사용자 ID와 Password를 등록해야 합니다.
|
3 | 파일 다운로드 및 접근 | |
장애 처리 절차
번호 | 구분 | 설명 |
1 | 마스터 서버가 장애인 경우 |
“SLAVE” 시스템에 XAdmin으로 접속하여, “SLAVE” 시스템의 정보를 “MASTER” 시스템으로 변경합니다.
XAdmin의 로컬 파일 업로드 또는 이관 업로드 기능을 통해 “운영자 시스템” 로컬 시스템의 파일을 업로드 하거나, 테스트 시스템의 파일을 업로드합니다.
XAdmin의 등록/결재/이행 기능을 통해 파일을 이행합니다.
|
2 | 장애 발생 시스템이 복구된 경우 |
“MASTER”로 설정된 시스템에 접속하여, 이행 이력을 확인하여, 장애 발생 시간동안 배포된 파일 목록을 확인합니다.
마스터 관리 메뉴를 통해서 해당 파일들을 로컬로 다운로드 합니다.
로컬로 다운로드된 파일들을 다시 업로드/등록/결재/이행 절차를 수행하여 배포합니다.
|
3 | 서버 구성 정보 복구 | |
WEB/WAS가 분리된 시스템으로 구성 및 로컬 디스크 사용
상세 아키텍처는 아래와 같다.
상세 아키텍처는 아래와 같다.
번호 | 구분 | 설명 |
1 | 파일 이행 |
운영자는 XAdmin UI를 통해서 “MASTER” 시스템으로 등록된 시스템에 접속합니다.
XAdmin의 로컬 파일 업로드 또는 이관 업로드 기능을 통해 “운영자 시스템” 로컬 시스템의 파일을 업로드 하거나, 테스트 시스템의 파일을 업로드합니다.
XAdmin의 등록/결재/이행 기능을 통해 파일을 이행합니다.
각 시스템은 XAdmin은 서버 관리 기능을 통해서 모두 한 시스템을 “MASTER” 시스템으로 다른 시스템은 “SLAVE” 시스템으로 등록합니다.
“MASTER” 시스템에만 백업본이 관리됩니다.
|
2 | 파일 시스템 동기화 |
마스터 시스템에서 파일 이행시 “SLAVE” 시스템으로 등록된 시스템, WEB 서버 시스템으로 설정된 서버와 FTP 통신을 통해 파일을 동기화 합니다.
HTTP 동기화 방식은 지원하지 않습니다.
FTP 통신 방식을 사용할 경우, FTP 서버가 설치되어 있어야 하며, XAdmin을 통해서 FTP 사용자 ID와 Password를 등록해야 합니다.
|
3 | 파일 다운로드 및 접근 | |
장애 처리 절차
번호 | 구분 | 설명 |
1 | 마스터 서버가 장애인 경우 |
“SLAVE” 시스템에 XAdmin으로 접속하여, “SLAVE” 시스템의 정보를 “MASTER” 시스템으로 변경합니다.
XAdmin의 로컬 파일 업로드 또는 이관 업로드 기능을 통해 “운영자 시스템” 로컬 시스템의 파일을 업로드 하거나, 테스트 시스템의 파일을 업로드합니다.
XAdmin의 등록/결재/이행 기능을 통해 파일을 이행합니다.
|
2 | 장애 발생 시스템이 복구된 경우 |
“MASTER”로 설정된 시스템에 접속하여, 이행 이력을 확인하여, 장애 발생 시간동안 배포된 파일 목록을 확인합니다.
마스터 관리 메뉴를 통해서 해당 파일들을 로컬로 다운로드 합니다.
로컬로 다운로드된 파일들을 다시 업로드/등록/결재/이행 절차를 수행하여 배포합니다.
|
3 | 서버 구성 정보 복구 | |
컴포넌트 아키텍처
코드 정보 아키텍처
상세 아키텍처는 아래와 같다.
번호 | 구분 | 설명 |
1 | CODE ID |
각 코드는 고유의 ID를 가지며, 이 ID를 이용하여 화면에서 참조한다.
각 코드는 코드 ID를 이용하여 파일로 저장되며, 확장자는 “.pic”로 만들어 진다.
|
2 | 코드 | |
3 | Comment | |
그리드 정보 아키텍처
상세 아키텍처는 아래와 같다.
번호 | 구분 | 설명 |
1 | Grid 속성 및 이벤트 | |
2 | Column 헤더 속성 | |
3 | Column 데이터 속성 및 이벤트 | |
번호 | 구분 | 설명 |
1 | Grid Header | |
2 | Grid Row | |
3 | Grid Column | |
4 | Grid Item | |
탭 정보 아키텍처
번호 | 구분 | 설명 |
1 | Tab 속성 및 이벤트 | |
2 | 탭 아이템 속성 | |
번호 | 구분 | 설명 |
1 | Tab Item | |
2 | Tab Content Panel | |
이벤트 아키텍처
단순 이벤트 아키텍처
상세 아키텍처는 아래와 같다.
리턴 이벤트 아키텍처
상세 아키텍처는 아래와 같다.
xFrame5 데이터셋 아키텍처
데이터셋 내부 아키텍처
상세 아키텍처는 아래와 같다.
데이터셋 통신 아키텍처
상세 아키텍처는 아래와 같다.
데이터셋 흐름 아키텍처
상세 아키텍처는 아래와 같다.