SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES xframe Version Management 가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax ww

Similar documents
SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Windows 8에서 BioStar 1 설치하기

로거 자료실

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

ISP and CodeVisionAVR C Compiler.hwp

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

PowerPoint Template

PowerPoint 프레젠테이션

C H A P T E R 2

ActFax 4.31 Local Privilege Escalation Exploit

슬라이드 1

Microsoft Word - src.doc

슬라이드 1

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

SBR-100S User Manual

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

하둡을이용한파일분산시스템 보안관리체제구현

The Pocket Guide to TCP/IP Sockets: C Version

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

문서의 제목 나눔고딕B, 54pt

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

쉽게 풀어쓴 C 프로그래밍

Javascript.pages

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Windows 10 General Announcement v1.0-KO

Install stm32cubemx and st-link utility

행자부 G4C

Windows Server 2012

3장

- 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager clas

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

CODESYS 런타임 설치과정

ICAS CADWorx SPLM License 평가판설치가이드

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

PowerPoint 프레젠테이션

untitled

Office 365 사용자 가이드

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

슬라이드 1

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

슬라이드 1

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Secure Programming Lecture1 : Introduction

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

PowerPoint 프레젠테이션

Building Mobile AR Web Applications in HTML5 - Google IO 2012

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

PowerPoint 프레젠테이션

Keil Flexlm 라이선스 설명서

서현수

*2008년1월호진짜

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

단계

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른

게시판 스팸 실시간 차단 시스템


네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

BEA_WebLogic.hwp

Visual Studio online Limited preview 간략하게살펴보기

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

SANsymphony-V

한국에너지기술연구원 통합정보시스템설치방법설명서 한국에너지기술연구원 지식정보실 - 1 -

PowerPoint 프레젠테이션

Cubase AI installation guide

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

Studuino소프트웨어 설치

슬라이드 1

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

슬라이드 1

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

PowerPoint 프레젠테이션

Interstage5 SOAP서비스 설정 가이드

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

고객 카드

Title Here

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

PowerPoint Presentation

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

Microsoft Word - Windows_apahce_php_CUBRID2008

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

문서의 제목 나눔고딕B, 54pt

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES xframe 개요및아키텍처가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

Transcription:

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES 2011.11.03 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone 02-2108-8030 Fax 02-2108-8031 www.softbase.co.kr Copyright 2010 SOFTBase Inc. All rights reserved

목차 1 장 : 개요... 3 본문서의목적... 3 주요내용... 3 관련자료... 3 2 장 : xframe 버전관리개요... 4 버전관리개요및목적... 4 사용자운영체제환경구분... 5 UI 실행환경구분... 6 사용환경세부비교... 7 윈도우사용자계정콘트롤개요... 8 사용자계정콘트롤의설정은방법... 8 3 장 : 버전관리페이지구성...11 버전관리페이지구성... 11 전용브라우저사용환경... 11 XSyncStart 컴포넌트파리미터... 12 샘플페이지... 15 범용브라우저기동 전용브라우저사용환경페이지구성샘플... 15 전용브라우저사용환경페이지구성샘플... 18 4 장 : 버전관리아키텍처...21 버전관리컴포넌트구성... 21 버전관리컴포넌트구성파일... 21 버전관리절차... 22 버전관리세부절차... 23 리스트파일구조... 24 샘플리스트파일내용... 25-2 -

1 장 : 개요 이장에서는본문서의목적, 주요내용및관련자료에대해서기술합니다. 이장에서기술하는내용은아래와 같습니다. 본문서의목적 주요내용 관련자료 본문서의목적 본문서는사용자 PC 에 xframe 설치와관련된아키텍처와실행환경 (IE, 전용브라우저 ) 에따른관련환경 정보를구성하는방식에대한정보를포함하고있습니다. 주요내용 본문서에서는아래와같은내용을포함하고있습니다. xframe 버전관리개요 xframe 버전관리아키텍처 xframe 사용환경설정방법 관련자료 본문서와관련된자료는다음과같습니다. 솔루션홈페이지 : http://www.softbase.co.kr - 3 -

2 장 : xframe 버전관리개요 이장에서는 xframe 버전관리와관련된내용에대해서기술합니다. 이장에서기술하는내용은아래와 같습니다. 버전관리개요및목적 사용자환경구분 버전관리개요및목적 버전관리의목적은사용자 PC 에설치되는 xframe 관련파일들을항상최신버전으로업데이트하는것을 목적으로합니다. 버전관리는최초설치및업그레이드과정으로구분되며, 각각의단계에따라진행되는부분은아래와 같습니다. 구분 최초설치 업그레이드 절차 사용자가 PC에최초로 xframe을설치하는경우를의미함. 사용자가 Web 브라우저를이용하여지정된 URL에접속함. 지정된 URL에접속하며, xframe 버전관리 Control을설치함. 설치되 xframe 버전관리 Control이사용자 PC에최신버전을설치하고, UI 시작페이지로이동함. 사용자 PC 바탕화면에업무에직접연결할수있는바로가기아이콘생성함 바탕화면의바로가기아이콘또는브라우저에직접 URL을접속함. 서버의파일버전과로컬의파일버전을비교하여변경된부분을다운로드함. UI 시작페이지로이동함. - 4 -

사용자운영체제환경구분 사용자운영체제환경은 xframe 으로구축된 UI 를사용하는사용자 PC 의운영체제환경을의미하며, 다음과 같이사용자 PC 의운영체제에따라다음과같은기본적인제약사항이있습니다. 구분 Windows XP (SP2 이상 ) Windows Vista Windows 7 이상 내용 최초설치시사용자 PC에버전관리콘트롤설치와관련된내용이브라우저에표시되고, 사용자가승인하는절차를수행해야함. 사용자계정콘트롤관련설정이사용함으로설정되어있는경우, 버전관리절차시로컬에파일을저장하는것자체를보안정책에따라허용하지않음. - 5 -

UI 실행환경구분 UI 실행환경은 xframe 으로구축된 UI 를실행하는브라우저환경을의미하며, 사용할수있는환경은다음과 같이구분됩니다. 구분 내용 범용브라우저 범용브라우저를이용하여 xframe 을실행하고사용한다. 전용브라우저 최초설치시에는범용브라우러를통해서사용자 PC 에 xframe 을설치한다. 최초설치이후에는전용브라우저를이용하여 xframe 을실행하고사용한다. - 6 -

사용환경세부비교 브라우저사용구분에따른세부항목별비교내용은아래의표와같습니다. 구분전용브라우저범용브라우저실행파일 xframebrowser.exe IEXPLORER.exe 메모리사용량 28M 45M 버전관리방식 WEB 방식 WEB 방식 실행환경 기동절차 범용브라우저또는버전관리프로그램을통해버전관리수행 전용브라우저기동업무화면표시 범용브라우저를통해버전관리수행 범용브라우저를통해업무화면표시 화면변경사항 해당사항없음 해당사항없음 악성코드영향 관련없음 관련있음 각종 IE 부가컴포넌트영향 ( 키보드처리, 관련없음 관련있음 브라우저 특수키처리등등 ) 독립성 브라우저버전업그레이드호환성 관련없음 호환성테스트진행및 패치적용 브라우저보안관련 관련없음 관련있음 브라우저비정상종료영향도 관련없음 관련있음 OS 업그레이드에따른호환성 관련없음 호환성테스트진행및패치적용 운영체제 독립성 OS 보안정책에따른호환성 ( 로컬파일, 레지스트리접근, 포트접근 ( 디바이스연결 ), 네트워크포트접근 ( 책임자거래 관련없음 호환성테스트진행및패치적용 등등 )) - 7 -

윈도우사용자계정콘트롤개요 윈도우사용자계정콘트롤은마이크로소프트의운영체제중 Windows Vista 부터적용된사용자보안 정책으로, 사용자 PC 를보다안정적으로운영하기위한기능을포함하고있다. 기본적인보안정책은사용자 PC 에로그인한사용자가관리자권한을가지고있더라고, 관리자권한이필요한 동작을수행하는프로그램을실행할때, 다시한번사용자에게승인을얻는구조로되어있다. 이로인해서 xframe 을이용한 UI 사용시로컬에 PC 에파일설치하고, PC 자원을저장하고조회하는기능을 수행하기위해서는반드시관리자권한을수행하기위한사용자승인을얻어야한다. 사용자계정콘트롤의설정은방법 사용자계정콘트롤은아래의그림과같이제어판에서 시스템및보안 항목을선택한다. - 8 -

아래의그리과같이 사용자계정콘트롤설정변경 을선택한다. - 9 -

아래의그림과같이좌측의슬라이드를마우스로이용하여설정할수사용자계정콘트롤의알림조건을 변경할수있다. - 10 -

3 장 : 버전관리페이지구성 이장에서는버전관리를수행하기위한서버쪽버전관리페이지에대한내용을대해서기술합니다. 이장에서 기술하는내용은아래와같습니다. 버전관리페이지구성 XSyncStart 컴포넌트파라미터 샘플페이지 버전관리페이지구성 사용자 PC 에 xframe 프로그램을설치하는데접근되는서버의 HTML 페이지는 UI 사용환경에따라다음과 같이구성한다. 전용브라우저사용환경 전용브라우저를사용하는환경에서는다음과같은두가지방식으로구성할수있다. 두가지방식모두최초 설치시에는범용브라우저를통해서설치가수행된다. 구분범용브라우저기동 전용브라우저사용전용브라우저사용범용브라우저기동 전용브라우저사용 내용 범용브라우저를통해서버전관리수행한다. 버전관리가완료되면, 전용브라우저가기동된다. 전용브라우저가기동된이후에범용브라우저를종료할수있다.( 옵션 ) 바탕화면의전용브라우저아이콘을이용해서버전관리를수행한다. 버전관리가완료되면, 전용브라우저가기동된다. 범용브라우저를통해서버전관리수행한다. 버전관리가완료되면, 전용브라우저가기동된다. 전용브라우저가기동된이후에범용브라우저를종료할수있다.( 옵션 ) - 11 -

XSyncStart 컴포넌트파리미터 XSyncStart 컴포넌트의파라미터는아래와같다. 파라미터 LOG_ENCODE_FLAG SVR_IP_ADDR SVR_PORT_NO DOWNLOAD_BASE_URL 내용 XSyncStart가기록하는로그파일에대한암호화여부를지정한다.. 값이 0 인경우, 암호화를수행하지않고, 1 이경우암호호를수행한다. 로그파일은 TARGET_DIR 파라미터에지정된디렉토리밑에 log 라는디렉토리에 XSyncStart_ 로시작되는파일에저장된다. 사용자 PC 환경이윈도우 Vista 이상에서는로그파일이기록되지않는다. 파일을다운로드할서버의 IP 주소를입력한다. DNS가등록되어있을경우, 도메인이름으로등록이가능하다. HTTP 프로토콜로접속할포트번호를지정한다. 웹서버에서서비스하는포트번호와동일하게지정한다. 파일을다운로드할서버의기본 URL을지정한다. 지정된디렉토리하위에서, LIST_FILE_NAME 파라미터에지정된파일을참조하여파일을다운로드한다. LIST_FILE_NAME 다운로드할파일에대한목록이저장되어있는파일이름을지정한다. TARGET_DIR 로컬에다운로드할대상기본디렉토리를지정한다. CHECK_LIST_FILE_FLAG EXCLUDE_DIRS TIME_CHECK_SPAN RUN_MODE 서버의리스트파일 ( 파일목록파일 ) 과로컬에저장된리스트파일의비교여부를지정한다. 1 이면비교하고, 0 이면비교하지않는다. 1 로설정한경우에는서버의리스트파일과로컬의리스트파일만먼저비교하여, 다운로드대상파일이있는지를비교한다. 서버에있는파일중, 다운로드를제외한디렉토리를지정한다. 디렉토리는콤마로구분하여여러개를지정할수있다. 서버에있는파일의수정시각과로컬 PC에있는파일수정시각을비교할때, 시간비교간격을지정한다. 예를들어 5 로설정한경우, 서버파일시각과로컬파일시각이 5초이내의차이가있는경우, 동일할파일로간주하고다운로드를수행하지않는다. CHECK_LIST_FILE_FLAG 파라미터를 1 로설정할경우, 로컬에저장할리스트파일이름뒤에붙을확장자를지정한다. - 12 -

XBROWSER_PROG_FILE_PATH XBROWSER_PROG_ARGUMENT 전용브라우저를사용할경우, 전용브라우저파일의전체경로를지정한다. 전용브라우저를사용할경우, 전용브라우저에게전달할파리미터를지정한다. 파라미터를지정할경우, 첫번째파라미터는반드시전용브라우저가사용하는설정파일에대한경로여야한다. 그외의파라미터는공백으로분리하고, 큰따옴표로 ( ) 로값을구분하여 KEY=VALUE 형식으로지정한다. 이렇게지정된첫번째이후의파라미터값은화면에서 factory.getshareddata 함수를이용해서얻어올수있다. AGENT_PROG_FILE_PATH 버전관리수행완료후, 기동할프로그램의경로를지정한다. AGENT_PROG_ARGUMENT 버전관리수행완료후, 기동할프로그램의파라미터를지정한다. DESKTOP_LINK_NAME 바탕화면에생성할바로가기아이콘의이름을지정한다. DESKTOP_LINK_URL DESKTOP_LINK_ICON_LOCATION PROGRAM_LINK_NAME PROGRAM_FILE_PATH PROGRAM_ARGUMENT PROGRAM_LINK_ICON_LOCATION VIEWER_INSTANCE_NAME 바탕화면에생성할바로가기아이콘의웹경로를지정한다 바탕화면에생성할바로가기아이콘의아이콘경로를지정한다. 지정하지않을경우, 인터넷브라우저의아이콘이사용된다. 전용브라우저를사용할경우, 바탕화면에생성할전용브라우저버전관리프로그램의바로가기아이콘의이름을지정한다. 전용브라우저를사용할경우, 바탕화면에생성할전용브라우저버전관리프로그램경로를지정한다. 전용브라우저를사용할경우, 바탕화면에생성할전용브라우저버전관리프로그램의파라미터를지정한다. 파라미터는각각하나의공백으로구분되면순서대로의미하는부분은아래와같다. 실행모드 (2) 고정 로그암호화여부 : 0 또는 1 다운로드서버 IP 다운로드서버 WEB 포트번호 XSycnStart.txt 파일 URL Target 디렉토리 전용브라우저를사용할경우, 바탕화면에생성할전용브라우저버전관리프로그램의아이콘의경로를지정한다. 지정하지않을경우, 버전관리프로그램의기본아이콘이사용된다. xframeviewer 가기동되어있는지검사하기위한인스턴스이름을지정한다. 지정하지않았을경우, 기본값이사용된다. - 13 -

Viewer.js 또는 xframeconfig.ini 파일에 INSTANCENAME 항목에값을 지정하였을경우, 동일한값을사용한다. - 14 -

샘플페이지 범용브라우저기동 전용브라우저사용환경페이지구성샘플 범용브라우저기동 전용브라우저사용환경페이지구성샘플은아래와같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@ page contenttype="text/html;charset=euc-kr"%> <html> <head> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="content-type" content="text/html; charset=euc-kr"> <title>xframe</title> <script language="javascript" type="text/javascript"> // 버전관리콘트롤이로드되면호출되는함수 function XSyncStart_StartDownload() { // 버전관리콘트롤이 Load 되지않았으면오류메시지표시 if(frmstarter.isxsyncstartloaded.value!= "1") { alert(" 버전관리모듈이로드되지않았습니다."); return; // download start var ret; ret = XSyncStart.StartDownload(); if (ret == 0) { // SUCCESS alert(" 버전관리오류가발생하였습니다. 오류코드 : " + nret); return; // 버전관리가관료되면호출되는함수 function XSyncStart_DownloadComplete(nErrCode, strerrmsg) { // nerrcode 0 이아니면오류다. if (nerrcode!= 0) { alert("error code = " + nerrcode + ", " + strerrmsg); return; // 전용브라우저를사용함으로브라우저창을닫는다. ExitBrowser(); // 브라우저종료함수 function ExitBrowser() { - 15 -

47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 var brver = navigator.useragent; var brverid = brver.indexof('msie'); var brnum = brver.substr(brverid, 8); var brvernum = brnum.substr(5, brnum.length); var nvernum = 0; nvernum = parsefloat(brvernum); if(nvernum >= 7) { window.open('', '_self', ''); window.close(); else if(nvernum = 6) { window.opener = null; window.close(); else { window.opener = ''; self.close(); //--> </script> <!-- Event Map Start --> <SCRIPT LANGUAGE=javascript FOR=XSyncStart EVENT="DownComplete(nErrCode, strerrmsg)"> XSyncStart_DownloadComplete(nErrCode, strerrmsg); </SCRIPT> <SCRIPT LANGUAGE=javascript FOR=XSyncStart EVENT="LoadComplete()"> frmstarter.isxsyncstartloaded.value = "1"; XSyncStart_StartDownload(); </SCRIPT> <!-- Event Map End --> </head> <body background="images/bg.gif" leftmargin="0" topmargin="0"> <!-- 밑에경로는 XFrameViewer 경로 --> <FORM id=frmstarter action="./viewer.html" method="post"> <INPUT id=isxsyncstartloaded type="hidden" value="0"> </FORM> <OBJECT id=xsyncstart classid="clsid:89073cd5-59d5-4bac-a0e1-a770970d55ca" CODEBASE="XSyncStart.cab#version=11,10,27,1" width="1" height="1"> <PARAM NAME="LOG_ENCODE_FLAG" VALUE= 0"> <PARAM NAME="SVR_IP_ADDR" VALUE="125.133.62.11"> <PARAM NAME="SVR_PORT_NO" VALUE="80"> <PARAM NAME="DOWNLOAD_BASE_URL" VALUE="xframe/version/studio/prod/master"> <PARAM NAME="LIST_FILE_NAME" VALUE="_listfile.txt"> - 16 -

101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 <PARAM NAME="TARGET_DIR" VALUE="C:\xFrame"> <PARAM NAME="CHECK_LIST_FILE_FLAG" VALUE="0"> <PARAM NAME="EXCLUDE_DIRS" VALUE=""> <PARAM NAME="TIME_CHECK_SPAN" VALUE="5"> <PARAM NAME="RUN_MODE" VALUE="XFRAME_BROWSER"> <PARAM NAME="XBROWSER_PROG_FILE_PATH" VALUE="C:\xFrame\bin\xFrameBrowser.exe"> <PARAM NAME="XBROWSER_PROG_ARGUMENT" VALUE="C:\xFrame\bin\xFrameConfig.ini"> <PARAM NAME="AGENT_PROG_FILE_PATH" VALUE=""> <PARAM NAME="AGENT_PROG_ARGUMENT" VALUE=""> <PARAM NAME="DESKTOP_LINK_NAME" VALUE="Start Browser"> <PARAM NAME="DESKTOP_LINK_URL" VALUE="http://127.0.0.1:80/index.html"> <PARAM NAME="DESKTOP_LINK_ICON_LOCATION" VALUE=""> <PARAM NAME="PROGRAM_LINK_NAME" VALUE=""> <PARAM NAME="PROGRAM_FILE_PATH" VALUE=""> <PARAM NAME="PROGRAM_ARGUMENT" VALUE=""> <PARAM NAME="PROGRAM_LINK_ICON_LOCATION" VALUE=""> </OBJECT> </body> </html> 위의소스에대한설명은아래와같습니다. 라인 설명 13 버전관리콘트롤이로드되면호출되는함수로써, 버전관리절차를시작한다. 32 버전관리절차가완료되면호출되는함수로써, 정상처리시브라우저를닫는함수를호출한다. 73 ~ 77 버전관리콘트롤의이벤트발생에대한처리를설정한다. 91 ~ 116 버전관리콘트롤의정보를설정한다. - 17 -

전용브라우저사용환경페이지구성샘플 전용브라우저사용환경페이지구성샘플은아래와같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@ page contenttype="text/html;charset=euc-kr"%> <html> <head> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="content-type" content="text/html; charset=euc-kr"> <title>xframe</title> <script language="javascript" type="text/javascript"> // 버전관리콘트롤이로드되면호출되는함수 function XSyncStart_StartDownload() { // 버전관리콘트롤이 Load 되지않았으면오류메시지표시 if(frmstarter.isxsyncstartloaded.value!= "1") { alert(" 버전관리모듈이로드되지않았습니다."); return; // download start var ret; ret = XSyncStart.StartDownload(); if (ret == 0) { // SUCCESS alert(" 버전관리오류가발생하였습니다. 오류코드 : " + nret); return; // 버전관리가관료되면호출되는함수 function XSyncStart_DownloadComplete(nErrCode, strerrmsg) { // nerrcode 0 이아니면오류다. if (nerrcode!= 0) { alert("error code = " + nerrcode + ", " + strerrmsg); return; // 전용브라우저를사용함으로브라우저창을닫는다. ExitBrowser(); // 브라우저종료함수 function ExitBrowser() { var brver = navigator.useragent; var brverid = brver.indexof('msie'); var brnum = brver.substr(brverid, 8); var brvernum = brnum.substr(5, brnum.length); - 18 -

51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 var nvernum = 0; nvernum = parsefloat(brvernum); if(nvernum >= 7) { window.open('', '_self', ''); window.close(); else if(nvernum = 6) { window.opener = null; window.close(); else { window.opener = ''; self.close(); //--> </script> <!-- Event Map Start --> <SCRIPT LANGUAGE=javascript FOR=XSyncStart EVENT="DownComplete(nErrCode, strerrmsg)"> XSyncStart_DownloadComplete(nErrCode, strerrmsg); </SCRIPT> <SCRIPT LANGUAGE=javascript FOR=XSyncStart EVENT="LoadComplete()"> frmstarter.isxsyncstartloaded.value = "1"; XSyncStart_StartDownload(); </SCRIPT> <!-- Event Map End --> </head> <body background="images/bg.gif" leftmargin="0" topmargin="0"> <!-- 밑에경로는 XFrameViewer 경로 --> <FORM id=frmstarter action="./viewer.html" method="post"> <INPUT id=isxsyncstartloaded type="hidden" value="0"> </FORM> <OBJECT id=xsyncstart classid="clsid:89073cd5-59d5-4bac-a0e1-a770970d55ca" CODEBASE="XSyncStart.cab#version=11,10,27,1" width="1" height="1"> <PARAM NAME="LOG_ENCODE_FLAG" VALUE= 0"> <PARAM NAME="SVR_IP_ADDR" VALUE="125.133.62.11"> <PARAM NAME="SVR_PORT_NO" VALUE="80"> <PARAM NAME="DOWNLOAD_BASE_URL" VALUE="xframe/version/studio/prod/master"> <PARAM NAME="LIST_FILE_NAME" VALUE="_listfile.txt"> <PARAM NAME="TARGET_DIR" VALUE="C:\xFrame"> <PARAM NAME="CHECK_LIST_FILE_FLAG" VALUE="0"> <PARAM NAME="EXCLUDE_DIRS" VALUE=""> <PARAM NAME="TIME_CHECK_SPAN" VALUE="5"> - 19 -

105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 <PARAM NAME="RUN_MODE" VALUE="XFRAME_BROWSER"> <PARAM NAME="XBROWSER_PROG_FILE_PATH" VALUE="C:\xFrame\bin\xFrameBrowser.exe"> <PARAM NAME="XBROWSER_PROG_ARGUMENT" VALUE="C:\xFrame\bin\xFrameConfig.ini"> <PARAM NAME="AGENT_PROG_FILE_PATH" VALUE=""> <PARAM NAME="AGENT_PROG_ARGUMENT" VALUE=""> <PARAM NAME="DESKTOP_LINK_NAME" VALUE=""> <PARAM NAME="DESKTOP_LINK_URL" VALUE=""> <PARAM NAME="DESKTOP_LINK_ICON_LOCATION" VALUE=""> <PARAM NAME="PROGRAM_LINK_NAME" VALUE="Start xframe Browser"> <PARAM NAME="PROGRAM_FILE_PATH" VALUE="%SystemDir%\XSyncExe.exe"> <PARAM NAME="PROGRAM_ARGUMENT" VALUE="2 0 127.0.0.1 80 XSyncStart/XSyncExe.txt C:\xFrame"> <PARAM NAME="PROGRAM_LINK_ICON_LOCATION" VALUE="C:\xFrame\CustomData\XSyncStart_X.ico"> </OBJECT> </body> </html> 위의소스에대한설명은아래와같습니다. 라인 설명 13 버전관리콘트롤이로드되면호출되는함수로써, 버전관리절차를시작한다. 32 버전관리절차가완료되면호출되는함수로써, 정상처리시브라우저를닫는함수를호출한다. 73 ~ 77 버전관리콘트롤의이벤트발생에대한처리를설정한다. 91 ~ 116 버전관리콘트롤의정보를설정한다. - 20 -

4 장 : 버전관리아키텍처 이장에서는버전관리아키텍처에대한내용을대해서기술합니다. 이장에서기술하는내용은아래와 같습니다. 버전관리컴포넌트구성 버전관리프로그램흐름 버전관리리스트파일구조 버전관리컴포넌트구성 사용자 PC 에 xframe 프로그램을설치하는데접근되는서버의 HTML 페이지에는버전관리를수행하는 XSyncStart.cab 파일이포함되어있고, XSyncStart.cab 파일에는 XSyncStart.ocx 파일과 XSyncExe.exe 파일이포함되어있다. 버전관리컴포넌트구성파일 XSyncStart.cab 파일에는아래의두개의파일이포함돠어있고, 각각의기능은아래와같다. 파일 XSyncStart.ocx XSyncExe.exe 설명및기능 서버페이지에서직접사용하는컴포넌트파일 서버페이지에지정된파라미터를버전관리를실제로수행하는 XSyncExe.exe 프로그램을실행시키면서전달 XSyncExe.exe 프로그램이버전관리를완료결과를대기하고, 버전관리완료이후, 후처리작업진행 (Viewer 페이지로이동또는브라우저종료 ) 프로그램다운로드버전관리를수행하는프로그램 XSyncStart.ocx 파일에의해서실행되고, Windows Vista 이상의 OS에서사용자계정콘트롤사용시관리자권한으로실행됨 버전관리완료이후, 결과정보를 XSyncStart.ocx 에게전달함. 전용브라우저를사용하는경우, 전용브라우저를실행시킴. - 21 -

버전관리절차 XSyncExe.exe 프로그램에의해서수행되는버전관리흐름은아래와같다. WEB Server 실행관련리소스파일 화면관련리소스파일 다운로드리스트파일 Binary File (Engine) Image File Style File Code File Menu File Screen Form File (XML) Screen Scrript File (JS) Global Module List File Global Module File Global XDataSet List File Global XDataSet File Start 자동설치및실행 XSyncStart ( 버전관리콤포넌트 ) 버전관리완료후실행 xframe-viewer 리소스접근설정정보 다운로드리스트파일의내용을기준으로버전비교및파일업데이트 Install Dir 로컬에저장된리소스파일 Load 로컬 Cache 디렉토리에저장된파일을기준으로파일다운로드 Cache Dir 사용자 PC 사용자가 Web 브라우저를시작하여 UI 시작페이지에접속하면, XSyncStart.cab 파일이자동설치되고, XSyncStart.cab 파일에포함된컴포넌트파일을이용하여버전관리가수행된다. 버전관리가완료되면, 전용브라우저를사용할경우, 전용브라우저를실행하고나, 그렇지않을경우에는 Viewer 페이지로이동한다. - 22 -

버전관리세부절차 버전관리를위한다운로드세부절차는아래와같다. 단계절차설명 1 리스트파일 다운로드 다운로드받아야할파일에대한정보가포함되어있는리스트파일을다 운로드한다. 2 파일비교 다운로드받은리스트파일의내용에해당하는파일을정보를기준으로다운로드할파일목록을추출한다. 다운로드받을파일에대한정보에대한기준은아래와같다. 로컬에파일이존재하는지여부 로컬의파일과리스트파일에있는파일수정시각비교 로컬의파일과리스트파일에있는파일크기비교 3 파일다운로드 다운로드할파일에대한다운로드수행 4 다운로드후 파일처리 다운로드받은파일에대한후처리작업진행 후처리작업은리스트파일에있는파일에대한 파일처리구분 정보를기준으로한다. 파일처리구분 에대한정보는 리스트파일구조 절을참조한다. 5 다운로드완료처리 전용브라우저를사용하는경우, 전용브라우저를기동한다. 범용브라우저를사용하는경우, Viewer 페이지로이동한다. - 23 -

리스트파일구조 리스트파일은아래와같은역할을수행한다. 버전관리수행시가장먼저참조되는파일이다. 로컬에다운로드를수행해야할파일에대한정보가포함돠어있다. 리스트파일내용에포함되어있지않은파일들은다운로드대상에서제외된다. 리스트파일의내용에는각파일에대한경로, 다운로드완료후처리방식등의정보가포함되어있다. 리스트파일구조는아래와같으며, 파일수정시각및파일크기정보는옵션으로처리되며, 리스트파일에 해당정보가존재하지않을경우, 서버에있는파일에대한정보를 HTTP HEAD 명령을통해서구한다. 각항목은콤마 (, ) 로구분되면, 각항목에대한설명은아래와같다. 구분서버파일상대경로로컬파일상대경로파일카테고리파일처리구분 설명및기능 DOWNLOAD_BASE_DIR 파라미터에설정된디렉토리를기준으로서버에위치한파일의상대경로 TARGET_DIR 파리미터에설정된디렉토리를기준으로로컬에저장할파일의상대경로 아래와같이특수한디렉토리에대한변수가사용될수있다. %SystemDir % : 운영체제가설치된디렉토리의 system32 디렉토리 %WINDIR% : 운영체제가설치된디렉토리 APP : 일반파일, 파일수정시각과파일크기를비교하여다운로드수행 SYS : 시스템파일, 로컬에파일이존재하면, 서버에있는파일과크기와수정시각이다를지라도다운로드하지않음. 다운로드완료후, 파일처리방식 FILE : 파일에대한다운로드만수행 REG : 파일을다운로드이후, 레지스트리에등록 REF : 파일의내용을레지스트리에등록 EXE : 다운로드완료후, 프로그램실행 FNT : 윈도우폰트폴더로파일복사 파일수정시각 ( 옵션 ) 파일의최종수정시각 ( 단위 : 년월일시분초 ) 파일크기 ( 옵션 ) 파일의크기 ( 단위 : 바이트 ) - 24 -

샘플리스트파일내용 아래의내용은샘플리스트파일의내용이다. 1 2 3 4 config/optionconfig.ini,config/optionconfig.ini,sys,file bin/mfc42.dll,%systemdir%/mfc42.dll,sys,file bin/sbcolorpicker.ocx,bin/sbcolorpicker.ocx,app,reg bin/xframeorainterface.dll,bin/xframeorainterface.dll,app,file 위의소스에대한설명은아래와같습니다. 라인 설명 1 로컬에 OptionConfig.ini 파일이존재하면다운로드하지않는다. 2 로컬에파일이존재하지않으면, 윈도우설치디렉토리의 system32 폴더로다운로드한다. 3 서버의파일과비교하여다운로드여부를결정하고, 파일을다운로드한이후에레지스트리에 등록한다. 4 서버의파일과비교하여다운로드여부를결정하고, 파일을다운로드한다. - 25 -