====== xPlusAgent 가이드 ====== 이 장에서는 xPlusAgent 에 대한 개요를 설명한다. * xPlusAgent 개요 * 구성 파일 및 내용 * 전용 브라우저와 범용 브라우저 비교 ===== xPlusAgent 개요 ===== xPlusAgent 는 다음과 같은 기능 및 특징을 가지고 있다. |< 100% 150px - >| ^ 구분 ^ 설명 ^ | 목적 | HTML5 환경에서 보안 및 기능의 제약사항으로 구현이 불가능한 기능을 지원하기 위한 확장기능을 제공한다. | | 엔진 | xFrame5 RunTime 엔진을 기반으로 제공된다. 즉 xFrame5 RunTime 엔진 기반의 개발 환경 및 기능을 제공한다. (xPlusAgent 프로그램의 실제 파일 이름은 xFrameBrowser.exe 이다.) | | 부가 컴포넌트 | HTML5 환경에서 XPlusAgent 와 통신을 수행하기 위해서 XPlusHttpSvr 와 XPlusWebSockSvr 컴포넌트를 제공한다. | ===== 개발 아키텍처===== ==== 개발 환경 ==== HTML5 기반 업무 화면 표시 영역 및 XPlusAgent 에서 실행되는 XPlus5 기반 기능 확장 영역 부분에 대한 개발 진행이 모두 xFrame5-DevStudio 를 통해서 개발한다. {{ .:xplusagent:00.png?nolink |}} === xPlus5 기반 기능 확장 영역 === xPlus5 기반 기능 확장 영역은 xPlusAgent 엔진에서 실행되는 부가적인 기능을 의미한다. xPlus5 확장 영역에 기본적으로 제공되는 컴포넌트는 아래와 같다. |< 100% 150px - 200px >| ^ 컴포넌트 ^ 주요 기능 ^ 템플릿 ^ | XPlusWebSockSvr | Web Socket 프로토콜에 대한 서버 기능을 제공하는 컴포넌트이다. | /XPLUS5/xplus_websocksvr | | XPlusHttpSvr | HTTP 프로토콜에 대한 서버 기능을 제공하는 컴포넌트이다. | /XPLUS5/xplus_httpsvr | | XPlusTcpSvr | TCP 서버 소켓 기능을 제공하는 컴포넌트이다. | /XPLUS5/xplus_tcpsvr | | XPlusTcpComm | TCP 클라이언트 소켓 기능을 제공하는 컴포넌트이다. | /XPLUS5/xplus_tcpcomm | | XPlusLogger | XPlusAgent 용 화면에서 로그를 파일에 저장하기 위한 기능을 제공한다. | /XPLUS5/xplus_logger | | xFrameViewer | xFrame 런타임 엔진에서 제공하는 컴포넌트이다.\\ xFrame 런타임 엔진에서 제공하는 모든 UI 컴포넌트 및 API 를 제공한다. | | 위의 기능 이외에도 프로젝트에서 사용하는 ActiveX 컴포넌트를 추가하여 기능을 확장할 수 있다. ===== 실행 아키텍처 ===== 실행 아키텍처는 아래의 그림과 같이 구성된다. xPlus5 기반 기능 확장 영역을 사용하기 위해서는 사용자 PC에 버전 관리 프로그램에 대한 설치 작업이 필요하다. {{ .:xplusagent:01.png?nolink |}} xPlusAgent 와의 통신 수행시 WebSocket 방식은 프로토콜 표준에 의해서 비동기 통신 방식만을 제공한다. 동기식 통신을 꼭 해야하는 경우에는 xPlusAgent 에 제공되는 XPlusHttpSvr 컴포넌트를 배치하고, AJAX 의 동기통신 방식을 사용해야한다. ===== 시작 아키텍처 ===== xFrame5 브라우저 시작 흐름은 아래와 같다. xFame5 버전 관리 프로그램이 설치되어 있다는 것을 전제한다. 실행 아키텍처에 대한 흐름은 /XPLUS/xplus_agentmain 및 xplus_browsermain 템플릿 화면을 참조한다. |< 100% 50px 150px - 150px >| ^ 순서 ^ 단계 ^ 설명 ^ 주체 ^ | 1 | 버전 관리\\ 프로그램 시작 | 바탕화면에 표시된 버전 관리 프로그램 아이콘을 통해서 버전 관리 프로그램이 시작된다.\\ 버전 관리 프로그램은 버전 관리 프로그램 자체에 대한 업데이트 작업도 수행한다 | 버전 관리\\ 프로그램 | | 2 | 변경된 파일\\ 다운로드 | WEB 서버에 배포된 파일을 기준으로 변경된 파일에 대한 동기화 작업을 수행한다. | 버전 관리\\ 프로그램 | | 3 | XPlusAgent\\ 프로그램 기동 | 버전 관리 프로그램이 바탕화면에 아이콘을 생성하고, XPlusAgent 프로그램을 시작하고, 자신은 종료한다. | 버전 관리\\ 프로그램 | | 4 | XPlusAgent\\ 메인 화면 기동 | XPlusAgent 메인 화면에서 웹 소켓 서버를 기동하고, xFrame5Browser 를 시작한다. | xPlusAgent | | 5 | xFrame5Browser\\ 메인 화면 기동 | xFrame5Browser 메인 화면에서 웹 소켓 클라이언트 컴포넌트를 이용하여 xPlusAgent 에서 생성한 웹 소켓 서버와의 세션을 연결하고, UI 표시 작업을 수행한다. | xFrame5Browser | | 종료 | | xFrame5Browser 종료시 XPlusAgent 프로그램도 자동으로 종료된다. | | ===== 구성 파일 및 내용 ===== ==== 구성 파일 개요 ==== XPlusAgent 는 별도의 파라미터가 없는 경우, XPlusAgent 파일이 위치한 디렉토리의 “xFrameConfig.ini” 파일을 사용한다. 별도의 구성 파일을 지정할 필요가 있는 경우에는 구성 파일 경로를 파라미터로 전달한다. (예시: C:\xFrame5\bin\XPlusAgent.exe C:\xFrame5\bin\xFrameConfig_PROD.ini”) ==== 구성 파일 주요 내용 ==== 구성파일은 일반적인 ini 파일의 구조를 가지며, “XFRAMEVIEWER” 섹션값을 사용한다. 구성 파일의 기본 내용은 xFrame5 RunTime 엔진에서 사용하는 값과 동일하다. 아래의 내용은 XPlusAgent 에 추가되거나 반드시 설정해야 할 내용이다. |< 100% 150px 150px - >| ^ 키 ^ 설정값 예시 ^ 설명 ^ | USE_TRAYICON | TRUE | XPlusAgent 기동시 트레이 아이콘에 표시 여부 | | BROWSER_SHOW | TRUE | XPlusAgent 기동시 기본창 표시 여부 | | MAINFRAMESCREEN | /xplus_agentmain | XPlusAgent 기동시 시작할 화면 URL 이다. 설정값의 내용은 반드시 프로젝트에서 생성된 화면에 대한 URL로 변경해야 한다. |