40.배포

40.1nexacro platform 14 (Web browser : 기존 HTML5)

nexacro platform 14 (Web browser) 버전은 별도의 배포과정이 필요하지 않습니다.

40.2nexacro platform 14 (nexacro browser : 기존 Runtime)

40.2.1nexacro platform 14 배포 전 준비사항

40.2.2nexacro platform 14 배포 구성 시 필요한 최신 배포파일 다운로드

가) 투비소프트 기술지원 홈페이지에 접속합니다.
  http://support.tobesoft.co.kr
나) Downloads - nexacro platform 메뉴를 선택
다) Products 의 All 메뉴의 파일 다운로드
  (홈페이지에는 최신버전의 nexacro platform 배포파일만 제공 됩니다.
  개발 시 사용하던 nexacro platform 버전을 다운로드 받아 놓지 않았을 경우 
  고객지원센터에 문의 하시기 바랍니다.)

그림 40-1nexacro_deploy1

배포 구성 시에는 테스트가 끝난 Nexacro Stuio 버전과 동일한 버전으로 배포를 합니다.

즉 개발모듈과, 배포모듈을 동일하게 유지합니다.

nexacro studio 버전 확인 방법

nexacro Studio 가 실행 된 상태에서 help 의 About NexacroStudio 를 선택 후 File 버전 확인

그림 40-2nexacro_deploy2

nexacro platform 14 배포파일 샘플 위치

투비소프트 기술지원 홈페이지에서 최신샘플 파일을 다운로드 할 수 있습니다. 
http://support.tobesoft.co.kr
가) Comunity - TIP - nexacro platform 선택
나) “배포” 제목 검색 Nexacro14 배포샘플 파일 다운로드

관련 자료를 사전에 다운로드 받은 후 아래 내용을 참고하시기 바랍니다.

40.2.3nexacro browser(런타임) 배포의 의미

배포란

배포의 의미

배포란 서비스를 위하여 필요한 프로그램 모듈을 사용자용 PC에 설치하는 작업을 뜻합니다. 개발된 nexacro platform 시스템 화면을 사용자용 PC에서 사용하려면 nexacro platform 프로그램을 다운로드 후 설치해야 합니다. 이 과정을 ‘배포’라고 하며, 사용자는 배포 후 원하는 서비스를 이용할 수 있습니다.

배포의 단계

배포는 nexacro Launcher 배포, nexacro Engine 배포가 이루어집니다.

nexacro Launcher 배포 및 nexacro Engine 배포 단계

WebBrower(IE) 를 통해 CAB 파일 형태로 배포가 진행이 됩니다
예)
<OBJECT ID="NexacroAXCtrl" CLASSID="CLSID:6DB5422D-536F-4B80-B32C-16BEA0971512" width="1000" height="800"></OBJECT>
타브라우저의 경우
<embed ID="nexacrolauncherplugin14" type="application/nexacrolauncher14-plugin" width="0" height="0"></embed>

40.2.4배포샘플을 통한 배포방법 설명

배포샘플은 nexacro platform 14 버전을 사용하였습니다.

배포샘플 파일 이해

배포샘플을 다운로드 및 압축을 해제 후 해당 폴더를 열게 되면 Sample 프로젝트 폴더 및 실제 다운로드에 필요한 파일이 있는 Install 폴더를 볼 수 있습니다.

홈페이지에서 다운로드 받은 NEXACRO “ALL” 파일 이해

본 문서에서는 2015년 12월 11일 버전의 파일(2015.12.11.00(14.0.0.902.zip)를 이용

ㅇ 2015.12.11.00(14.0.0.902).zip
  Nexacro 배포를 위한 엔진 및 기본 라이브러리 파일들
  (배포 시 사용 되는 파일은 아래 3가지 파일만 사용)
  nexacro14_Launcher.cab, nexacro14_SetupEngine.cab, nexacro14_Library.zip 파일내의 js 파일 (IE 기준)
ㅇ nexacro14_SetupDeveloper.exe
  개발자 도구인 UX Studio 설치 파일 - 배포 시 사용 되지 않음
ㅇ nexacro14_SetupEngine.exe
  Nexacro 엔진 파일 - 사용자가 PC 다운받아 수동으로 설치 할 때 사용 혹은 IE 이외의 브라우저에서 배포가 이루어져야 할 때 사용
ㅇ nexacro14_Launcher.cab
  nexacrolauncherax14 파일 - IE 브라우저를 통해 배포 시 사용
ㅇ nexacro14_SetupEngine.cab
  Nexacro 엔진 파일 ? IE 브라우저를 통해 배포 시 사용
ㅇ nexacro14_Library.zip
  Nexacro 기본 라이브러리(Component) 파일
ㅇ  nexacro14_VersionInfo_xxxxxxxx_x.txt - 배포 시 필요한 버전 정보 기입 파일

배포 파일의 종류(확장자) 이해(CAB)

캐비닛 파일(Cabinet File) 이라 하며 압축포맷의 일종이며 웹 브라우저(Internet Explorer)를 통해 사용자 PC에 자동으로 응용프로그램 설치 시 사용 할 수 있다.
( IE 를 통해 CAB 파일을 배포 시 HTML 의 OBJECT 태그를 이용하여 자동 설치가 가능)
표 40-1배포모듈 설명

모듈명

주요기능

nexacro14_Launcher

- Icon 이미지를 다운로드 합니다.

- 단축아이콘(shortcut)을 만들어 줍니다.

- Nexacro Engine을 구동시켜 줍니다.

nexacroax14

- Nexacro Engine을 Web Brower(IE) 상에서 구동시켜 줍니다

Nexacro Engine

- 컴포넌트들을 배포합니다.

- ADL, FDL 파일들을 배포합니다.

- 화면 UI를 출력합니다.

npnexacrolauncher14

- IE 이외의 브라우저에서 nexacro14_Launcher 와 같은 역할을 합니다.

npnexacro14

- IE 이외의 브라우 저에서 nexacroax14 와 같은 역할을 합니다.

nexacro platform 배포 프로세스의 이해

nexacro 의 배포는 Object(인터넷익스플로러) 혹은Embed(파이어폭스,오페라 등) 태그를 이용하여 CAB 파일 혹은 exe 파일을 사용자 PC에 Nexacro Engine 파일이 설치 된 후 Nexacro Engine이 구동이 되며 엔진 구동 시 XADL 파일을 읽어 들여 클라이언트 라이선스를 확인 후 TypeDfinition의 default_typedef.xml 을 읽어 Nexacro Library(Component) 파일들을 사용자 PC에 배포 합니다.
  1. Web Brower를 통한 Nexacro Engine 및 nexacro14_Launcher 파일 배포

  2. Nexacro Engine 구동 시 nexacro14_client_license.xml 파일 확인

  3. default_typedef.xml 정보를 통한 Library(Component) 파일 배포

ADL 파일의 이해

nexacro Studio를 통해 개발 된 시스템을 실행하기 위한 환경설정 정보 담고 있음
(이 파일은 nexacro Studio에 의하여 관리 됩니다.)

ADL 예제

<ADL version="1.2"> 
<TypeDefinition url="default_typedef.xml"/> -----------------------------------가 
<GlobalVariables url="globalvars.xml"/> ---------------------------------------나 
<Application id="Nexacro_Sample" licenseurl="../ nexacro14_client_license.xml
…> --------------------------------------------------------------------------- 다 
<Layout>---------------------------------------------------------------------- 라
<MainFrame id="mainframe" …> 
<ChildFrame ormurl="Base::SampleForm.xfdl"…/> ---------------------------------마
</MainFrame> 
</Layout> 
</Application> 
<Script><![CDATA[
]]></Script> 

</ADL>
가. 컴포넌트 파일들의 배포정보가 default_typedef.xml에 정의 되어있음을 알 수 있음
나. Nexacro 개발 프로젝트에서 사용하는 Global 변수들이 globalvars.xml에 저장 되어 있음을 알 수 있음
다. Id 는 Nexacro_Sample 이며 license가 있는 서버 url 위치는 상위폴더의 License 폴더에
    NEXACRO_Client_License.xml 파일이 존재함을 알 수 있음
라. Layout이 MainFrame아래에 ChildFrame 하나만 있는 것으로 보아 Application Model이 싱글
    프레임 형태인 것을 알 수 있음
마. 맨 처음 화면에 출력되는 화면이 Base::SampleForm.xfdl 임을 알 수 있음

Default_typedef.xml 파일의 이해

default_typedef.xml은 nexacro platform 개발 프로젝트의 Library(Component)들의 배포 정보를 담고 있습니다.

default_typedef.xml 예제

<?xml version="1.0" encoding="utf-8"?>
<TypeDefinition version="1.2">
  <Modules>
    <Module url="CompBase.json"/>
    <Module url="ComComp.json"/>
    <Module url="Grid.json"/>
    <Module url="DeviceAPI.json"/>
  </Modules>
  <Components>
    <Component type="JavaScript" id="Div" classname="nexacro.Div"/> ------ 가
    <Component type="JavaScript" id="Button" classname="nexacro.Button"/>
    <Component type="JavaScript" id="PopupDiv" classname="nexacro.PopupDiv"/>
    <Component type="JavaScript" id="Combo" classname="nexacro.Combo"/>
    <Component type="JavaScript" id="CheckBox" classname="nexacro.CheckBox"/>
    <Component type="JavaScript" id="ListBox" classname="nexacro.ListBox"/>
    <Component type="JavaScript" id="Edit" classname="nexacro.Edit"/>
    <Component type="JavaScript" id="MaskEdit" classname="nexacro.MaskEdit"/>
    <Component type="JavaScript" id="TextArea" classname="nexacro.TextArea"/>
    <Component type="JavaScript" id="Menu" classname="nexacro.Menu"/>
    <Component type="JavaScript" id="Tab" classname="nexacro.Tab"/>
    <Component type="JavaScript" id="ImageViewer" classname="nexacro.ImageViewer"/>
    <Component type="JavaScript" id="Radio" classname="nexacro.Radio"/>
    <Component type="JavaScript" id="Calendar" classname="nexacro.Calendar"/>
    <Component type="JavaScript" id="Static" classname="nexacro.Static"/>
    <Component type="JavaScript" id="Grid" classname="nexacro.Grid"/>
    <Component type="JavaScript" id="Spin" classname="nexacro.Spin"/>
    <Component type="JavaScript" id="PopupMenu" classname="nexacro.PopupMenu"/>
    <Component type="JavaScript" id="GroupBox" classname="nexacro.GroupBox"/>
    <Component type="JavaScript" id="ProgressBar" classname="nexacro.ProgressBar"/>
    <Component type="JavaScript" id="Plugin" classname="nexacro.Plugin"/>
    <Component type="JavaScript" id="Dataset" classname="nexacro.NormalDataset"/>
  </Components>
  <Protocols/>
  <Services>
    <Service prefixid="Base" type="form" url="./Base/" version="0" communicationversion="0"/>
  </Services>
  <Update>
    <Item systemtype="Windows" url="http://127.0.0.1:8080/tobe/nex"> ---- 나
      <Os type="default" url="" engineurl="" enginesetupkey="" engineversion="">
        <Device type="default" url="" engineurl="" enginesetupkey="" engineversion="" desc="">
          <Resource type="File" file="./nexacro14Runtime/Install/Download/ExtComponents/ExtCommonV13.dll" targetpath="%Component%" version="2014,2,19,1" failpass="true"/>
        </Device>
      </Os>
    </Item>
  </Update>
</TypeDefinition>
가. Div Componet에 대한 배포 정보를 담고 있습니다.
- 배포되는 컴포넌트는 ComComp.json 파일안에서 js 파일 입니다.
- Div Component를 위해서는 nexacro14lib의 component - ComComp 안의Div.js 필요합니다.
- Div Component 를 이용하기 위해서는 classname="nexacro.Div" 같이 선언합니다.

나. 배포 될 Library (Component) 파일들이 있는 위치를 지정합니다.
- http://127.0.0.1 Web Server Root tobe/nex 업데이트 하기 위한 파일들이 위치 되어있는 base url 의미하며 base url 밑에 Library 파일 및 기타 배포 파일이 존재하게 됩니다. 웹 서버의 경로에 맞게 수정을 합니다.

40.2.5배포 스크립트의 이해

그림 40-3nexacro_deploy3

그림 40-4nexacro_deploy4

그림 40-5nexacro_deploy5

그림 40-6nexacro_deploy6

그림 40-7nexacro_deploy7

그림 40-8nexacro_deploy8

그림 40-9nexacro_deploy9