77
GAUCE 4.0(JAVA) SHIFT Info & Comm Co.,Ltd

GAUCE 4.0(JAVA)

  • Upload
    lynne

  • View
    645

  • Download
    8

Embed Size (px)

DESCRIPTION

GAUCE 4.0(JAVA). SHIFT Info & Comm Co.,Ltd. Contents. 1. The aim of Gauce Java Education. 2. What is GAUCE?. 3. GAUCE Component. 4. For Java of GAUCE. Gauce 4.0(Java) Install Environment Setting Gauce Service Structure & Sample explanation. 5. Q&A. Contents. 1. GAUCE 교육 목적 - PowerPoint PPT Presentation

Citation preview

Page 1: GAUCE 4.0(JAVA)

GAUCE 40(JAVA)

SHIFT Info amp Comm CoLtd

2

Contents

2 What is GAUCE 2 What is GAUCE

3 GAUCE Component 3 GAUCE Component

4 For Java of GAUCE 4 For Java of GAUCE

5 QampA 5 QampA

Gauce 40(Java) Install

Environment Setting

Gauce Service Structure amp Sample explanation

1 The aim of Gauce Java Education 1 The aim of Gauce Java Education

3

Contents

1 GAUCE 교육 목적

1-1 교육 목적

1-2 교육 목표

2 What is GAUCE

2-1 개념정리

2-2 GAUCE Architecture

2-3 개발방법론

2-4 지원방식

2-5 Merit of GAUCE

3 GAUCE Component

3-1 Component List

3-2 Component Install

4 For Java of GAUCE

4-1 GAUCE40 Install

4-2 Environment Setting

4-3 Service Structure

5 QampA

6 Tool guide

6-1 Report Builder

7 실습

7-1 List 조회

7-2 Report 작성

7-3 Transaction 처리

1 The aim of Gauce Java Education

SHIFT Info amp Comm CoLtd

5

1 The aim of Gauce Java Education

교육목적 Gauce Java 의 이해 Gauce Java 의 코딩 방법 숙지

교육목표 Gauce Java 의 개발에 앞서서 Gauce 개념과 Gauce

Java 의 동작구조를 이해하고 이를 바탕으로 Gauce Java 의 코딩 방법을 숙지하도록 한다

2 What is GAUCE

SHIFT Info amp Comm CoLtd

7

2What is Gauce

Component 기반의 통합 웹 개발 toolkit

JAVA NET COM+ 이라는 플랫폼 위에서 웹 어플리케이션 개발 시 라이브러리를 제공하여 효율적으로 개발하도록 도와주는 tookit

Client 측에서 HTML DHTML JSP Servlet 등을 이용하여 ActiveX Component 를 embedded 시켜 Webpage 를 구현

Server 측에서 ActiveX Component 에서 buffering 되었던 여러 개의 record 를 각각의 transaction type 과 함께 data tunneling 기법을 이용하여 한꺼번에 전송되어 서버 object 는 각각의 transaction type 에 따라 입력 수정 삭제를 동시에 처리

Gauce 개념 정리

8

bull GAUCE 는 기존 Web 개발의 난점을 극복하기 위한 다양한 웹 Data Presentation Model 들을 Component 화하여 단순히 조회 기능만이 가능한 웹 리포팅툴의 한계를 뛰어넘는 입력 수정 삭제까지 가능한 완벽한 애플리케이션의 손쉬운 개발이 가능한 제품입니다

bull GAUCE 는 분산 DB 환경에서 웹 브라우저를 통해 기업 고객 공급망 등 다양한 사용자가 다양한 방식으로 DB 에 접근 웹 애플리케이션을 활용할 수 있도록 해주는 Enterprise Client Web 개발 플랫폼입니다

2What is Gauce

9

2What is Gauce

Gauce Architecture

10

구분 기존 방식 GAUCE Active Enterprise 채용시

View HTML Applet HTML ActiveX Component Applet

Control JSP Servlet 일반 방식과 동일

Model EJB 일반 방식과 동일

주 ) View Data 를 사용자에게 보여주기 위한 기능요소 Control Business Logic 에 따라 Data 를 변환 가공하기 위한 기능 요소 Model Data 의 원천으로 DB 와 상호작용하며 Data 를 관리하는 기능 요소

GAUCE 는 Java 의 장점인 플랫폼 독립적인 시스템 구성과

Microsoft ActiveX 의 장점인 역동적 사용자 환경 (UI User Interface) 이조합된

최상의 MVC 모델을 지원합니다

2What is Gauce

11

2What is Gauce

Gauce 지원방식

Server

HTTP Tunneling

패킷 압축

helliphellip

MxGrid

MxChart MxTree

MxReport Etc

Pure JavaCOM+ NET

Server SideScript

J2EEWAS

Legacy System Database

DataSet

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

GAUCE Service

(XMLJSPCASP)

JVM

CLR

MTS

GAUCE EngineWebServer

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 2: GAUCE 4.0(JAVA)

2

Contents

2 What is GAUCE 2 What is GAUCE

3 GAUCE Component 3 GAUCE Component

4 For Java of GAUCE 4 For Java of GAUCE

5 QampA 5 QampA

Gauce 40(Java) Install

Environment Setting

Gauce Service Structure amp Sample explanation

1 The aim of Gauce Java Education 1 The aim of Gauce Java Education

3

Contents

1 GAUCE 교육 목적

1-1 교육 목적

1-2 교육 목표

2 What is GAUCE

2-1 개념정리

2-2 GAUCE Architecture

2-3 개발방법론

2-4 지원방식

2-5 Merit of GAUCE

3 GAUCE Component

3-1 Component List

3-2 Component Install

4 For Java of GAUCE

4-1 GAUCE40 Install

4-2 Environment Setting

4-3 Service Structure

5 QampA

6 Tool guide

6-1 Report Builder

7 실습

7-1 List 조회

7-2 Report 작성

7-3 Transaction 처리

1 The aim of Gauce Java Education

SHIFT Info amp Comm CoLtd

5

1 The aim of Gauce Java Education

교육목적 Gauce Java 의 이해 Gauce Java 의 코딩 방법 숙지

교육목표 Gauce Java 의 개발에 앞서서 Gauce 개념과 Gauce

Java 의 동작구조를 이해하고 이를 바탕으로 Gauce Java 의 코딩 방법을 숙지하도록 한다

2 What is GAUCE

SHIFT Info amp Comm CoLtd

7

2What is Gauce

Component 기반의 통합 웹 개발 toolkit

JAVA NET COM+ 이라는 플랫폼 위에서 웹 어플리케이션 개발 시 라이브러리를 제공하여 효율적으로 개발하도록 도와주는 tookit

Client 측에서 HTML DHTML JSP Servlet 등을 이용하여 ActiveX Component 를 embedded 시켜 Webpage 를 구현

Server 측에서 ActiveX Component 에서 buffering 되었던 여러 개의 record 를 각각의 transaction type 과 함께 data tunneling 기법을 이용하여 한꺼번에 전송되어 서버 object 는 각각의 transaction type 에 따라 입력 수정 삭제를 동시에 처리

Gauce 개념 정리

8

bull GAUCE 는 기존 Web 개발의 난점을 극복하기 위한 다양한 웹 Data Presentation Model 들을 Component 화하여 단순히 조회 기능만이 가능한 웹 리포팅툴의 한계를 뛰어넘는 입력 수정 삭제까지 가능한 완벽한 애플리케이션의 손쉬운 개발이 가능한 제품입니다

bull GAUCE 는 분산 DB 환경에서 웹 브라우저를 통해 기업 고객 공급망 등 다양한 사용자가 다양한 방식으로 DB 에 접근 웹 애플리케이션을 활용할 수 있도록 해주는 Enterprise Client Web 개발 플랫폼입니다

2What is Gauce

9

2What is Gauce

Gauce Architecture

10

구분 기존 방식 GAUCE Active Enterprise 채용시

View HTML Applet HTML ActiveX Component Applet

Control JSP Servlet 일반 방식과 동일

Model EJB 일반 방식과 동일

주 ) View Data 를 사용자에게 보여주기 위한 기능요소 Control Business Logic 에 따라 Data 를 변환 가공하기 위한 기능 요소 Model Data 의 원천으로 DB 와 상호작용하며 Data 를 관리하는 기능 요소

GAUCE 는 Java 의 장점인 플랫폼 독립적인 시스템 구성과

Microsoft ActiveX 의 장점인 역동적 사용자 환경 (UI User Interface) 이조합된

최상의 MVC 모델을 지원합니다

2What is Gauce

11

2What is Gauce

Gauce 지원방식

Server

HTTP Tunneling

패킷 압축

helliphellip

MxGrid

MxChart MxTree

MxReport Etc

Pure JavaCOM+ NET

Server SideScript

J2EEWAS

Legacy System Database

DataSet

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

GAUCE Service

(XMLJSPCASP)

JVM

CLR

MTS

GAUCE EngineWebServer

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 3: GAUCE 4.0(JAVA)

3

Contents

1 GAUCE 교육 목적

1-1 교육 목적

1-2 교육 목표

2 What is GAUCE

2-1 개념정리

2-2 GAUCE Architecture

2-3 개발방법론

2-4 지원방식

2-5 Merit of GAUCE

3 GAUCE Component

3-1 Component List

3-2 Component Install

4 For Java of GAUCE

4-1 GAUCE40 Install

4-2 Environment Setting

4-3 Service Structure

5 QampA

6 Tool guide

6-1 Report Builder

7 실습

7-1 List 조회

7-2 Report 작성

7-3 Transaction 처리

1 The aim of Gauce Java Education

SHIFT Info amp Comm CoLtd

5

1 The aim of Gauce Java Education

교육목적 Gauce Java 의 이해 Gauce Java 의 코딩 방법 숙지

교육목표 Gauce Java 의 개발에 앞서서 Gauce 개념과 Gauce

Java 의 동작구조를 이해하고 이를 바탕으로 Gauce Java 의 코딩 방법을 숙지하도록 한다

2 What is GAUCE

SHIFT Info amp Comm CoLtd

7

2What is Gauce

Component 기반의 통합 웹 개발 toolkit

JAVA NET COM+ 이라는 플랫폼 위에서 웹 어플리케이션 개발 시 라이브러리를 제공하여 효율적으로 개발하도록 도와주는 tookit

Client 측에서 HTML DHTML JSP Servlet 등을 이용하여 ActiveX Component 를 embedded 시켜 Webpage 를 구현

Server 측에서 ActiveX Component 에서 buffering 되었던 여러 개의 record 를 각각의 transaction type 과 함께 data tunneling 기법을 이용하여 한꺼번에 전송되어 서버 object 는 각각의 transaction type 에 따라 입력 수정 삭제를 동시에 처리

Gauce 개념 정리

8

bull GAUCE 는 기존 Web 개발의 난점을 극복하기 위한 다양한 웹 Data Presentation Model 들을 Component 화하여 단순히 조회 기능만이 가능한 웹 리포팅툴의 한계를 뛰어넘는 입력 수정 삭제까지 가능한 완벽한 애플리케이션의 손쉬운 개발이 가능한 제품입니다

bull GAUCE 는 분산 DB 환경에서 웹 브라우저를 통해 기업 고객 공급망 등 다양한 사용자가 다양한 방식으로 DB 에 접근 웹 애플리케이션을 활용할 수 있도록 해주는 Enterprise Client Web 개발 플랫폼입니다

2What is Gauce

9

2What is Gauce

Gauce Architecture

10

구분 기존 방식 GAUCE Active Enterprise 채용시

View HTML Applet HTML ActiveX Component Applet

Control JSP Servlet 일반 방식과 동일

Model EJB 일반 방식과 동일

주 ) View Data 를 사용자에게 보여주기 위한 기능요소 Control Business Logic 에 따라 Data 를 변환 가공하기 위한 기능 요소 Model Data 의 원천으로 DB 와 상호작용하며 Data 를 관리하는 기능 요소

GAUCE 는 Java 의 장점인 플랫폼 독립적인 시스템 구성과

Microsoft ActiveX 의 장점인 역동적 사용자 환경 (UI User Interface) 이조합된

최상의 MVC 모델을 지원합니다

2What is Gauce

11

2What is Gauce

Gauce 지원방식

Server

HTTP Tunneling

패킷 압축

helliphellip

MxGrid

MxChart MxTree

MxReport Etc

Pure JavaCOM+ NET

Server SideScript

J2EEWAS

Legacy System Database

DataSet

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

GAUCE Service

(XMLJSPCASP)

JVM

CLR

MTS

GAUCE EngineWebServer

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 4: GAUCE 4.0(JAVA)

1 The aim of Gauce Java Education

SHIFT Info amp Comm CoLtd

5

1 The aim of Gauce Java Education

교육목적 Gauce Java 의 이해 Gauce Java 의 코딩 방법 숙지

교육목표 Gauce Java 의 개발에 앞서서 Gauce 개념과 Gauce

Java 의 동작구조를 이해하고 이를 바탕으로 Gauce Java 의 코딩 방법을 숙지하도록 한다

2 What is GAUCE

SHIFT Info amp Comm CoLtd

7

2What is Gauce

Component 기반의 통합 웹 개발 toolkit

JAVA NET COM+ 이라는 플랫폼 위에서 웹 어플리케이션 개발 시 라이브러리를 제공하여 효율적으로 개발하도록 도와주는 tookit

Client 측에서 HTML DHTML JSP Servlet 등을 이용하여 ActiveX Component 를 embedded 시켜 Webpage 를 구현

Server 측에서 ActiveX Component 에서 buffering 되었던 여러 개의 record 를 각각의 transaction type 과 함께 data tunneling 기법을 이용하여 한꺼번에 전송되어 서버 object 는 각각의 transaction type 에 따라 입력 수정 삭제를 동시에 처리

Gauce 개념 정리

8

bull GAUCE 는 기존 Web 개발의 난점을 극복하기 위한 다양한 웹 Data Presentation Model 들을 Component 화하여 단순히 조회 기능만이 가능한 웹 리포팅툴의 한계를 뛰어넘는 입력 수정 삭제까지 가능한 완벽한 애플리케이션의 손쉬운 개발이 가능한 제품입니다

bull GAUCE 는 분산 DB 환경에서 웹 브라우저를 통해 기업 고객 공급망 등 다양한 사용자가 다양한 방식으로 DB 에 접근 웹 애플리케이션을 활용할 수 있도록 해주는 Enterprise Client Web 개발 플랫폼입니다

2What is Gauce

9

2What is Gauce

Gauce Architecture

10

구분 기존 방식 GAUCE Active Enterprise 채용시

View HTML Applet HTML ActiveX Component Applet

Control JSP Servlet 일반 방식과 동일

Model EJB 일반 방식과 동일

주 ) View Data 를 사용자에게 보여주기 위한 기능요소 Control Business Logic 에 따라 Data 를 변환 가공하기 위한 기능 요소 Model Data 의 원천으로 DB 와 상호작용하며 Data 를 관리하는 기능 요소

GAUCE 는 Java 의 장점인 플랫폼 독립적인 시스템 구성과

Microsoft ActiveX 의 장점인 역동적 사용자 환경 (UI User Interface) 이조합된

최상의 MVC 모델을 지원합니다

2What is Gauce

11

2What is Gauce

Gauce 지원방식

Server

HTTP Tunneling

패킷 압축

helliphellip

MxGrid

MxChart MxTree

MxReport Etc

Pure JavaCOM+ NET

Server SideScript

J2EEWAS

Legacy System Database

DataSet

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

GAUCE Service

(XMLJSPCASP)

JVM

CLR

MTS

GAUCE EngineWebServer

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 5: GAUCE 4.0(JAVA)

5

1 The aim of Gauce Java Education

교육목적 Gauce Java 의 이해 Gauce Java 의 코딩 방법 숙지

교육목표 Gauce Java 의 개발에 앞서서 Gauce 개념과 Gauce

Java 의 동작구조를 이해하고 이를 바탕으로 Gauce Java 의 코딩 방법을 숙지하도록 한다

2 What is GAUCE

SHIFT Info amp Comm CoLtd

7

2What is Gauce

Component 기반의 통합 웹 개발 toolkit

JAVA NET COM+ 이라는 플랫폼 위에서 웹 어플리케이션 개발 시 라이브러리를 제공하여 효율적으로 개발하도록 도와주는 tookit

Client 측에서 HTML DHTML JSP Servlet 등을 이용하여 ActiveX Component 를 embedded 시켜 Webpage 를 구현

Server 측에서 ActiveX Component 에서 buffering 되었던 여러 개의 record 를 각각의 transaction type 과 함께 data tunneling 기법을 이용하여 한꺼번에 전송되어 서버 object 는 각각의 transaction type 에 따라 입력 수정 삭제를 동시에 처리

Gauce 개념 정리

8

bull GAUCE 는 기존 Web 개발의 난점을 극복하기 위한 다양한 웹 Data Presentation Model 들을 Component 화하여 단순히 조회 기능만이 가능한 웹 리포팅툴의 한계를 뛰어넘는 입력 수정 삭제까지 가능한 완벽한 애플리케이션의 손쉬운 개발이 가능한 제품입니다

bull GAUCE 는 분산 DB 환경에서 웹 브라우저를 통해 기업 고객 공급망 등 다양한 사용자가 다양한 방식으로 DB 에 접근 웹 애플리케이션을 활용할 수 있도록 해주는 Enterprise Client Web 개발 플랫폼입니다

2What is Gauce

9

2What is Gauce

Gauce Architecture

10

구분 기존 방식 GAUCE Active Enterprise 채용시

View HTML Applet HTML ActiveX Component Applet

Control JSP Servlet 일반 방식과 동일

Model EJB 일반 방식과 동일

주 ) View Data 를 사용자에게 보여주기 위한 기능요소 Control Business Logic 에 따라 Data 를 변환 가공하기 위한 기능 요소 Model Data 의 원천으로 DB 와 상호작용하며 Data 를 관리하는 기능 요소

GAUCE 는 Java 의 장점인 플랫폼 독립적인 시스템 구성과

Microsoft ActiveX 의 장점인 역동적 사용자 환경 (UI User Interface) 이조합된

최상의 MVC 모델을 지원합니다

2What is Gauce

11

2What is Gauce

Gauce 지원방식

Server

HTTP Tunneling

패킷 압축

helliphellip

MxGrid

MxChart MxTree

MxReport Etc

Pure JavaCOM+ NET

Server SideScript

J2EEWAS

Legacy System Database

DataSet

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

GAUCE Service

(XMLJSPCASP)

JVM

CLR

MTS

GAUCE EngineWebServer

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 6: GAUCE 4.0(JAVA)

2 What is GAUCE

SHIFT Info amp Comm CoLtd

7

2What is Gauce

Component 기반의 통합 웹 개발 toolkit

JAVA NET COM+ 이라는 플랫폼 위에서 웹 어플리케이션 개발 시 라이브러리를 제공하여 효율적으로 개발하도록 도와주는 tookit

Client 측에서 HTML DHTML JSP Servlet 등을 이용하여 ActiveX Component 를 embedded 시켜 Webpage 를 구현

Server 측에서 ActiveX Component 에서 buffering 되었던 여러 개의 record 를 각각의 transaction type 과 함께 data tunneling 기법을 이용하여 한꺼번에 전송되어 서버 object 는 각각의 transaction type 에 따라 입력 수정 삭제를 동시에 처리

Gauce 개념 정리

8

bull GAUCE 는 기존 Web 개발의 난점을 극복하기 위한 다양한 웹 Data Presentation Model 들을 Component 화하여 단순히 조회 기능만이 가능한 웹 리포팅툴의 한계를 뛰어넘는 입력 수정 삭제까지 가능한 완벽한 애플리케이션의 손쉬운 개발이 가능한 제품입니다

bull GAUCE 는 분산 DB 환경에서 웹 브라우저를 통해 기업 고객 공급망 등 다양한 사용자가 다양한 방식으로 DB 에 접근 웹 애플리케이션을 활용할 수 있도록 해주는 Enterprise Client Web 개발 플랫폼입니다

2What is Gauce

9

2What is Gauce

Gauce Architecture

10

구분 기존 방식 GAUCE Active Enterprise 채용시

View HTML Applet HTML ActiveX Component Applet

Control JSP Servlet 일반 방식과 동일

Model EJB 일반 방식과 동일

주 ) View Data 를 사용자에게 보여주기 위한 기능요소 Control Business Logic 에 따라 Data 를 변환 가공하기 위한 기능 요소 Model Data 의 원천으로 DB 와 상호작용하며 Data 를 관리하는 기능 요소

GAUCE 는 Java 의 장점인 플랫폼 독립적인 시스템 구성과

Microsoft ActiveX 의 장점인 역동적 사용자 환경 (UI User Interface) 이조합된

최상의 MVC 모델을 지원합니다

2What is Gauce

11

2What is Gauce

Gauce 지원방식

Server

HTTP Tunneling

패킷 압축

helliphellip

MxGrid

MxChart MxTree

MxReport Etc

Pure JavaCOM+ NET

Server SideScript

J2EEWAS

Legacy System Database

DataSet

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

GAUCE Service

(XMLJSPCASP)

JVM

CLR

MTS

GAUCE EngineWebServer

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 7: GAUCE 4.0(JAVA)

7

2What is Gauce

Component 기반의 통합 웹 개발 toolkit

JAVA NET COM+ 이라는 플랫폼 위에서 웹 어플리케이션 개발 시 라이브러리를 제공하여 효율적으로 개발하도록 도와주는 tookit

Client 측에서 HTML DHTML JSP Servlet 등을 이용하여 ActiveX Component 를 embedded 시켜 Webpage 를 구현

Server 측에서 ActiveX Component 에서 buffering 되었던 여러 개의 record 를 각각의 transaction type 과 함께 data tunneling 기법을 이용하여 한꺼번에 전송되어 서버 object 는 각각의 transaction type 에 따라 입력 수정 삭제를 동시에 처리

Gauce 개념 정리

8

bull GAUCE 는 기존 Web 개발의 난점을 극복하기 위한 다양한 웹 Data Presentation Model 들을 Component 화하여 단순히 조회 기능만이 가능한 웹 리포팅툴의 한계를 뛰어넘는 입력 수정 삭제까지 가능한 완벽한 애플리케이션의 손쉬운 개발이 가능한 제품입니다

bull GAUCE 는 분산 DB 환경에서 웹 브라우저를 통해 기업 고객 공급망 등 다양한 사용자가 다양한 방식으로 DB 에 접근 웹 애플리케이션을 활용할 수 있도록 해주는 Enterprise Client Web 개발 플랫폼입니다

2What is Gauce

9

2What is Gauce

Gauce Architecture

10

구분 기존 방식 GAUCE Active Enterprise 채용시

View HTML Applet HTML ActiveX Component Applet

Control JSP Servlet 일반 방식과 동일

Model EJB 일반 방식과 동일

주 ) View Data 를 사용자에게 보여주기 위한 기능요소 Control Business Logic 에 따라 Data 를 변환 가공하기 위한 기능 요소 Model Data 의 원천으로 DB 와 상호작용하며 Data 를 관리하는 기능 요소

GAUCE 는 Java 의 장점인 플랫폼 독립적인 시스템 구성과

Microsoft ActiveX 의 장점인 역동적 사용자 환경 (UI User Interface) 이조합된

최상의 MVC 모델을 지원합니다

2What is Gauce

11

2What is Gauce

Gauce 지원방식

Server

HTTP Tunneling

패킷 압축

helliphellip

MxGrid

MxChart MxTree

MxReport Etc

Pure JavaCOM+ NET

Server SideScript

J2EEWAS

Legacy System Database

DataSet

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

GAUCE Service

(XMLJSPCASP)

JVM

CLR

MTS

GAUCE EngineWebServer

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 8: GAUCE 4.0(JAVA)

8

bull GAUCE 는 기존 Web 개발의 난점을 극복하기 위한 다양한 웹 Data Presentation Model 들을 Component 화하여 단순히 조회 기능만이 가능한 웹 리포팅툴의 한계를 뛰어넘는 입력 수정 삭제까지 가능한 완벽한 애플리케이션의 손쉬운 개발이 가능한 제품입니다

bull GAUCE 는 분산 DB 환경에서 웹 브라우저를 통해 기업 고객 공급망 등 다양한 사용자가 다양한 방식으로 DB 에 접근 웹 애플리케이션을 활용할 수 있도록 해주는 Enterprise Client Web 개발 플랫폼입니다

2What is Gauce

9

2What is Gauce

Gauce Architecture

10

구분 기존 방식 GAUCE Active Enterprise 채용시

View HTML Applet HTML ActiveX Component Applet

Control JSP Servlet 일반 방식과 동일

Model EJB 일반 방식과 동일

주 ) View Data 를 사용자에게 보여주기 위한 기능요소 Control Business Logic 에 따라 Data 를 변환 가공하기 위한 기능 요소 Model Data 의 원천으로 DB 와 상호작용하며 Data 를 관리하는 기능 요소

GAUCE 는 Java 의 장점인 플랫폼 독립적인 시스템 구성과

Microsoft ActiveX 의 장점인 역동적 사용자 환경 (UI User Interface) 이조합된

최상의 MVC 모델을 지원합니다

2What is Gauce

11

2What is Gauce

Gauce 지원방식

Server

HTTP Tunneling

패킷 압축

helliphellip

MxGrid

MxChart MxTree

MxReport Etc

Pure JavaCOM+ NET

Server SideScript

J2EEWAS

Legacy System Database

DataSet

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

GAUCE Service

(XMLJSPCASP)

JVM

CLR

MTS

GAUCE EngineWebServer

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 9: GAUCE 4.0(JAVA)

9

2What is Gauce

Gauce Architecture

10

구분 기존 방식 GAUCE Active Enterprise 채용시

View HTML Applet HTML ActiveX Component Applet

Control JSP Servlet 일반 방식과 동일

Model EJB 일반 방식과 동일

주 ) View Data 를 사용자에게 보여주기 위한 기능요소 Control Business Logic 에 따라 Data 를 변환 가공하기 위한 기능 요소 Model Data 의 원천으로 DB 와 상호작용하며 Data 를 관리하는 기능 요소

GAUCE 는 Java 의 장점인 플랫폼 독립적인 시스템 구성과

Microsoft ActiveX 의 장점인 역동적 사용자 환경 (UI User Interface) 이조합된

최상의 MVC 모델을 지원합니다

2What is Gauce

11

2What is Gauce

Gauce 지원방식

Server

HTTP Tunneling

패킷 압축

helliphellip

MxGrid

MxChart MxTree

MxReport Etc

Pure JavaCOM+ NET

Server SideScript

J2EEWAS

Legacy System Database

DataSet

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

GAUCE Service

(XMLJSPCASP)

JVM

CLR

MTS

GAUCE EngineWebServer

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 10: GAUCE 4.0(JAVA)

10

구분 기존 방식 GAUCE Active Enterprise 채용시

View HTML Applet HTML ActiveX Component Applet

Control JSP Servlet 일반 방식과 동일

Model EJB 일반 방식과 동일

주 ) View Data 를 사용자에게 보여주기 위한 기능요소 Control Business Logic 에 따라 Data 를 변환 가공하기 위한 기능 요소 Model Data 의 원천으로 DB 와 상호작용하며 Data 를 관리하는 기능 요소

GAUCE 는 Java 의 장점인 플랫폼 독립적인 시스템 구성과

Microsoft ActiveX 의 장점인 역동적 사용자 환경 (UI User Interface) 이조합된

최상의 MVC 모델을 지원합니다

2What is Gauce

11

2What is Gauce

Gauce 지원방식

Server

HTTP Tunneling

패킷 압축

helliphellip

MxGrid

MxChart MxTree

MxReport Etc

Pure JavaCOM+ NET

Server SideScript

J2EEWAS

Legacy System Database

DataSet

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

GAUCE Service

(XMLJSPCASP)

JVM

CLR

MTS

GAUCE EngineWebServer

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 11: GAUCE 4.0(JAVA)

11

2What is Gauce

Gauce 지원방식

Server

HTTP Tunneling

패킷 압축

helliphellip

MxGrid

MxChart MxTree

MxReport Etc

Pure JavaCOM+ NET

Server SideScript

J2EEWAS

Legacy System Database

DataSet

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

MxDataSet Component 를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component 간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행 ( 데이터 분할 전송 기능 FirstRow 기능 )

Data Tunneling 과 Data 압축 기법 - 변경된 Data 만을 Data Tunneling 기법을 통해 빠르게 출력 - Data Packet 에 대한 자동압축기능을 지원하여 Network 의 영향력 최소화 및 Brandwidth 가용성 향상

GAUCE Service

(XMLJSPCASP)

JVM

CLR

MTS

GAUCE EngineWebServer

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 12: GAUCE 4.0(JAVA)

12

2What is Gauce

Gauce 지원방법 GAUCE 구조

- View 영역과 Server 영역 분리

① View 영역

- 14 개의 ActiveX Component 를 이용하여 화면을 작성합니다

컴포넌트는 ActiveX 기반이므로 ltobjectgthellipltobjectgt 태그로 선언

② Server 영역

- 비즈니스 영역을 포함하고 Data 영역을 가짐

- GAUCE API 를 이용하여 클라이언트 요청 서비스 처리

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 13: GAUCE 4.0(JAVA)

13

2What is Gauce

웹상에서 다양한 Application UI 및 기능 제공 다중 입력 수정 삭제 및 조회 입력 화면의 일원화로

업무 처리시간의 단축

사용자

측면

ActiveX 및 Program의 재사용성 증대 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 로직 간편화로 신속한 장애 대처 및 유지보수 용이

개발자

운영자

측면

First-row방식 제공으로 Data 조회 및 트랜잭션 처리의 빠른 응답 Component를 통한 데이타 압축을 이용하여 네트웍 부하 감소 ( 압축 72) 다중 입력 수정 삭제 등으로 시스템 부하 최소화 데이터 갱신시 컴포넌트 안에서 구동되어 화면 깜박임 (Flickering Screen) 등의 단점을 보완

성능개선

측면

Merit of GAUCE

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 14: GAUCE 4.0(JAVA)

3 GAUCE Component

SHIFT Info amp Comm CoLtd

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 15: GAUCE 4.0(JAVA)

15

3GAUCE Component

Component(14 개 )bull Grid

bull EMEdit(MaskEdit)

bull Treeview

bull LuxeCombo(Combo)

bull Menu

bull TextArea

bull Radio

bull Tab

bull Report ndash Invisible

bull DataSet ndash Invisible

bull Tr(LogicalTR) - Invisible

bull ImgDataSet - Invisible

bull Bind(Binder) ndash Invisible

bull InputFile(FileControl) ndash etc

GAUCE Component Manual

MAX 메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼

httpmembershiftcokr Or httpwwwgaucecomonlineindexhtml

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 16: GAUCE 4.0(JAVA)

16

3GAUCE Component

Non-Visual Component

DataSetDataSetDataSetDataSet

bull 정의 DataSet 은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component 들을 연계하여 DataSet 의 Data 를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data 들 역시 DataSet 을 통해 관리

TRTRTRTR

bull 정의 여러 개의 DataSet 을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet 을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 17: GAUCE 4.0(JAVA)

17

3GAUCE Component

Non-Visual Component

BindBindBindBind

bull 정의 일반 HTML 에서 사용되는 Edit TextArea Combo 등의 일반 Component 제품에서 제공하는 LuxeCombo Radio TextArea EMedit Component 를 DataSet Component 와 연결할 수 있는 기능을 내장하는 Component 로써 자료를 변경하고 읽어오는 기능을 하는데 사용

ReportReportReportReport

bull 정의 DataSet 과 연결하여 데이터를 다양한 Report 로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능

User Interface

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 18: GAUCE 4.0(JAVA)

18

3GAUCE Component

Visual Component

GridGridGridGrid

bull 정의 DataSet 과 연결하여 화면에 Table 형태의 Data 의 표현 및 CUD 작업을 지원

User Interface

bull 기본기능 계산 column 생성 Column 위치 및 View 여부를 Control 이 가능 Fix Column 설정 및 Column 별 자유로운 속성이 지정 ( 변경 ) 이 가능 Summary Row 를 이용 합계와 소계를 손쉽게 처리 Grid 의 내용을 Excel CSV TXT 파일의 형태로 저장 가능 Combo Checkbox Popup Password 의 기능 이용 및 수정 입력이 가능 Tool tip Image column CrossTab 기능을 제공

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 19: GAUCE 4.0(JAVA)

19

3GAUCE Component

Visual Component

EMEditEMEditEMEditEMEdit

bull 정의 다양한 Format 지원을 통해 날짜 사원번호 금액 등 Mask 기능이 필요한 정보 표현시 사용

User Interface

TreeViewTreeViewTreeViewTreeView

bull 정의 DataSet Component 와 연결하여 Data Item 을 Tree 형태로 표현 Grouping 된 Item 들의 집합 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며 선택된 각 Item 은 Code와 Text 값을 갖고 있어 이를 사용하여 Item 의 상세 정보를 표시하는 작업에 사용

User Interface

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 20: GAUCE 4.0(JAVA)

20

3GAUCE Component

Visual Component

TextAreaTextAreaTextAreaTextArea

bull 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea

User Interface

RadioRadioRadioRadio

bull 정의 DataSet 에 있는 Column 들을 Binding 하여 Item 의 개수가 동적인 Radio Button 을 생성하거나 Radio 의 Format 을 Code 와 Text 로 지정해서 Item 의 개수가 정적인 Radio Button 생성

User Interface

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 21: GAUCE 4.0(JAVA)

21

3GAUCE Component

Visual Component

TabTabTabTab

bull 정의 DIV 를 변경하여 탭페이지 화면을 제어할 때 사용

User Interface

XChartXChartXChartXChart

bull 정의 DataSet 과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart 로 표현하며 Table 형식의 Data 를 막대 선 파이 등 30 여종의 다양한 형태 지원

User Interface

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 22: GAUCE 4.0(JAVA)

22

3GAUCE Component

기타

InputFileInputFileInputFileInputFile

bull 정의 File Save Dialog 기능으로 File 을 선택해서 파일명을 갖고 있으며 Server 로 임의의 File Upload 할 때 사용

User Interface

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 23: GAUCE 4.0(JAVA)

23

3GAUCE Component

Component 설치 ActiveUpdate 으로 설치하는 방법ltOBJECT ID=Manager CLASSID=CLSID3042C30E-50B7-44EF-B4B6-C9AB391DEF78 codebase=Managercabversion=1003gt

ltPARAM NAME=CompareVersionType VALUE=0gt

ltOBJECTgt

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 24: GAUCE 4.0(JAVA)

24

3GAUCE Component

Component 설치 installerexe 로 설치하는 방법

bull cabfiles폴더에 component cabfile 들을 넣어두고 installerexe 를 실행

( 만약 기존의 component 가 깔려 있으면 installer 가 기존 component 를 지운 후에 설치함 )

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 25: GAUCE 4.0(JAVA)

25

3GAUCE Component

Component 설치 codebase 로 설치하는 방법ltobject id=mxBind classid=CLSID4A35BB2C-B831-4199-A486-FEA332D085D9 codebase=MxBindercabversion=1212gt

ltobjectgt

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 26: GAUCE 4.0(JAVA)

26

3GAUCE Component

Component 설치 component dll 파일로 수동 설치하는 방법

bull component cabfile 을 압축을 풀어서 dll 파일들을 원하는 경로에

위치시킨 후 command창에서 regsvr32 dll 파일이 있는 경로부터

파일명까지 기술하여 Enter key누르면 설치

bull component cabfile 을 압축을 풀어서 inf file( 설치정보 file) 을 오른쪽

마우스 클릭하여 설치를 선택하여 설치

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 27: GAUCE 4.0(JAVA)

4 For Java of GAUCE

SHIFT Info amp Comm CoLtd

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 28: GAUCE 4.0(JAVA)

28

4 For Java of GAUCE

Gauce 40(JAVA) Install1) 가우스 설치 시 점검사항 네트워크 확인

- IP 스캔하여 사용하기 위함 JDK 버전이 14 이상인지 확인

- jce version 122 이상 권장

- 보안라이브러리를 사용하기 위함 Servlet 버전이 23 이상인지 확인

- Filter 가 Servlet23 이상에서만 동작 가우스가 설치될 WAS 의 WebContext 가 존재여부

- WebContext 의 WEB-INF 폴더에 설치작업이 이루어짐 webxml 필요

2) 가우스 설치 후 점검사항 GAUCE 가 설치된 디렉토리의 gauce-installlog 파일을 확인하여 정상적으로

설치작업이 이루어 졌는지 확인

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 29: GAUCE 4.0(JAVA)

29

4 For Java of GAUCE

Gauce 40(JAVA) Install GUI 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

을 누른다

② GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 선택하고

을 누른다

③ GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

④ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 을 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를 바탕으로

레지스트리 파일에 등록되고 WAS 의 webxml 파일을 수정하여

GauceFilter 를 등록시키고 gauce-installlog 파일이 생성된다

다음 gt

다음 gt

설치

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 30: GAUCE 4.0(JAVA)

30

4 For Java of GAUCE① ②

③④

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 31: GAUCE 4.0(JAVA)

31

4 For Java of GAUCE

Gauce 40(JAVA) Install Console 모드로 설치하기

① installcmd 를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후

GAUCE Server 를 설치할 디렉토리 (WAS or Web Server 의

Application Context 디렉토리 하부에 있는 WEB-INF) 를 입력하고

Enter key 를 누른다

② GAUCE 를 설치하고자 하는 컴퓨터의 IP 주소를 선택한다

③ 설치폴더와 설치할 컴퓨터 IP 정보를 확인한 후 install 할 건지에 대한

답으로 y 를 입력하고 Enter key 를 누른다

GAUCE 라이브러리 및 구동에 필요한 환경 파일 샘플 등이

지정한 설치 디렉토리에 복사되고 설치시에 입력한 정보를

바탕으로 레지스트리 파일에 등록되고 WAS 의 webxml 파일을

수정하여 GauceFilter 를 등록시키고 gauce-installlog 파일이

생성된다

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 32: GAUCE 4.0(JAVA)

32

4 For Java of GAUCE

Gauce 40(JAVA) Install Install

Directory내 용

actions - Gauce Servlet 사용시 실질적인 class 파일 들이 놓일 위치 - Action=gtgauce밑의 Directory 에 Gauce40 설치시 제공되어지는 sample 에 대한 Servlet class 파일들이 놓여진다 - Gauce action class 들이 놓여질 위치

lib - Gauce40 구동시 필요로한 파일들이 있는 Directory

license - gaucecrt license 파일을 check하기위한 보안인증서 - licensegaucegauce40 license key

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 33: GAUCE 4.0(JAVA)

33

4 For Java of GAUCE

Gauce 40(JAVA) InstallInstall Directory 내 용

gauce-installlog

- Gauce40 install 시에 발생하는 log

webxmlbackup - 기존 was 에 있는 webxml 파일을 backup 한 파일

webxml - Gauce40 을 설치후 변경된 webxml 파일

gaucexml - Gauce 서비스가 동작하기 위한 기본적인 항목들을 설정한다

gsaf-configxml - Gauce 자체 framework 의 action 들이 수행하기 위한 환경파일

DBManagerbat - 고급 샘플에 들어져있는 데이타들을 관리하기 위한 파일

runDBbat - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 create 하는 파일 (window 용 )

registry - Gauce40 설치시 해당서버의 정보가 들어져있다

runDBsh - Gauce40 설치시 고급 샘플을 보기위하여 DB 를 creategk 는 파일 (Unix 용 )

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 34: GAUCE 4.0(JAVA)

34

4 For Java of GAUCE

Platform UNIX(HP-UX AIX Solaris Digital 등 ) LINUX Windows NT 2000Server

DBMS Oracle816 이상 DB2 Informix Sybase SQL Server MySQL 등

Web Server Netscape Ent Server Oracle Web Server Apache Server IIS

WASApache-JServ Jakarta-Tomcat BEA-WebLogic IBM-WebSphere Sysbase-EAServer Alliare-JRUN HP-AP 등

OS Windows 2000 이상

CPU 최소 Pentium 166MHz 권장 Pentium 400MHz 이상

Memeory 최소 128MB (256MB 이상 권장 )

용량 11MB

Web Browser InternetExplorer 55 (InternetExplorer 60 권장 )

Server 환경 -gt servlet 23 지원되는 WAS 에서 동작

Client 환경 ( 개발자 )

Enduser 환경 ( 일반사용자 )OS Windows 98SE 이상부터 Windows ME Windows 2000 Windows XP

Web Server InternetExplorer 55 (InternetExplorer 60 권장 )

MemoryWin 98 SEME 최소 64MB (128MB 권장 ) =gt Client 에서 DataSet 이 메모리 사용 시Win 2000 최소 128MB (256MB 권장 )

용량 8MB -gt 컴포넌트 15 가지 설치하는데 필요한 용량

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 35: GAUCE 4.0(JAVA)

35

4 For Java of GAUCE

Environment Setting webxml

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 36: GAUCE 4.0(JAVA)

36

4 For Java of GAUCE

Environment Setting webxml

필터 1 필터 2

(GAUCE 필터 )

필터 3 필터 N

ServletRequest

ServletResponse

HttpGauceRequest

HttpGauceResponse

변환작업

GAUCE 서비스

Action Chain 구동

Filter Chain

XML to Binary 변환

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 37: GAUCE 4.0(JAVA)

37

4 For Java of GAUCE

Environment Setting - webxmlbull ltfilter-namegt GAUCE 서버를 위해 등록된 Filter 의 이름

bull ltfilter-classgt 등록된 filter 의 기능을 수행하도록 되어 있는 클래스 이름

bull ltparam-namegt 서블릿 컨테이너에 의해 등록된 GauceFilter 가 처음 로딩될 때

넘겨주는 초기 파라미터의 이름 conf-reload 파라미터는

환경파일 (gaucexml gsaf-configxml) 이 수정되었을 때 서버 또는

WAS 를 재시작하지 않고 동적으로 변경된 내용을 반영하기

위한 것으로 파라미터의 값만큼 주기적으로 환경파일을

감시하며 변경되었을 때 변경된 내용을 GAUCE 서버에

반영한다

bull ltparam-valuegt 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을

설정하는 값 (millisecond 단위 )( 단 0 일 경우 감시기능 수행안함 )

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 38: GAUCE 4.0(JAVA)

38

4 For Java of GAUCE

Environment Setting - webxmlbull lturl-patterngt ltfilter-mappinggt 에 정의되어 있는 이 값은 클라이언트에서 요청된

URL 과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된

GauceFilter 가 동작하도록 하는 기능을 한다

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 39: GAUCE 4.0(JAVA)

39

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltglobalgt GAUCE 서버를 통해 수행되는 모든 서비스에 반영되는 정보

- compressed 클라이언트 (컴포넌트 ) 와 GAUCE 서버 사이에서 데이터를 주고

받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에

대한 여부 설정 (default 값은 false)

- fragment GAUCE 서버에서 클라이언트로 데이터를 전송하는 동안 전송되는

데이터에 대한 전송단위를 설정 ( 한번에 전송되는 데이터셋의 내부에

저장된 행의 개수를 의미

bull ltcharsetgt 클라이언트와 GAUCE 서버 사이에서 전송되는 문자열 데이터에

대한 인코딩 방법을 명시 - default 서버 상에서 디폴트로 사용되는 character set 을 정의

- get 클라이언트에서 서버상으로 문자열을 전송할 때 GET 방식으로

전송된 문자열을 서버상에서 디코딩 하기 위한 character set

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 40: GAUCE 4.0(JAVA)

40

4 For Java of GAUCE

Environment Setting ndash gaucexml - post 클라이언트에서 POST 방식으로 전송된 문자열에 대해 서버상에서

디코딩을 하기 위한 character set

bull ltcol-defgt GAUCE 서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해

디폴트로 설정되는 값을 정의

- integer ldquointrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을

경우 기본적으로 사용하는 값을 정의

- decimal ldquodecimalrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지

않았을 경우 기본적으로 사용하는 값을 정의 (73 정수 7 소수 3) - string ldquostringrdquo 형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 (default 값 255)

- round ldquodecimalrdquo 형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가

더 클 경우 처리되는 방법을 명시 (F FLOOR R ROUND C CEIL)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 41: GAUCE 4.0(JAVA)

41

4 For Java of GAUCE

Environment Setting ndash gaucexmlbull ltcryptogt GAUCE 에서 암호화 모듈을 적용할 경우 3- 파티에서 제공하는

암호화 라이브러리를 적용 ( 생략 가능 )

- spi 3- 파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름

등록한다

bull ltresourcegt GAUCE 환경을 통해 등록할 수 있는 외부 리소스를 정의 (생략가능 )

bull ltdataSourcegt 데이터베이스에 대한 연결정보를 정의 데이터베이스와

GAUCE 서버 사이에서 주고 받는 문자열을 character set지정

( 한 개 이상 등록 가능 )

- name ltdataSourcegt 에 대한 이름을 정의 ( 이름 중복 주의 )

- charsetIn GAUCE 서버에서 데이터베이스로 문자열을 저장할 때

사용하는 character set 을 의미

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 42: GAUCE 4.0(JAVA)

42

4 For Java of GAUCE

Environment Setting ndash gaucexml - charsetOut 데이터베이스에서 GAUCE 서버로 문자열을 select 할 때

사용하는 character set 을 정의

bull ltjdbcgt 데이터베이스에 대한 연결정보를 정의 ( 단 하나의

ltdataSourcegt 에 대해서 하나의 ltjdbcgt 만을 정의해야함 )

- driver 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름

- url 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속

URL

- user 데이터베이스에 대한 사용자 계정

- password 사용자 계정에 대한 password

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 43: GAUCE 4.0(JAVA)

43

4 For Java of GAUCE

Gauce Service Structure GAUCE API

GAUCE40 API 참조하시려면

- Gauce 설치파일의 doc 폴더에 javadoc 존재

Gauce Service Structure

- 클라이언트에서 request 가 들어오면 WAS 의 서블릿 엔진이 ServletRequest 객체로 변환해서 GauceFilter 의 doFilter() 메소드의 매개변수로 전달 -gt HttpServletRequest 을 상속 받은 HttpGauceRequest 를 통해서 Dataset 과 요청 정보를 얻어옴

bull ServletRequest 클라이언트의 요청 정보를 가지고 있는 인터페이스

bull GauceFilter 클라이언트로부터 받은 request 에 대해 서비스를 함

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 44: GAUCE 4.0(JAVA)

44

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletRequest ServletRequest 를 상속 받은 인터페이스로 서블릿엔진이

이 인터페이스를 구현하고 http 통신을 통해

클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함

bull HttpGauceRequest HttpServletRequest 를 상속받은 클래스로

HttpServeltRequest 에서 제공되는 HTTP프로토콜과

관련된 정보를 추출할 수 있는 모든 메서드를 지원

bull getGauceInputStream() HttpServletRequest 에 body 로 전송되는 DataSet 에

대한 InputStream 을 추출하여 반환

bull GauceInputStream 클라이언트로부터 전송된 입력스트림과 입력스트림을

통해서 추가적으로 검출한 GauceDataSet 의 정보를 꺼낼

수 있는 추상화 클래스

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 45: GAUCE 4.0(JAVA)

45

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull HttpServletResponse GauceFilter 가 처리한 요청에 대한 응답인

SerlvetResponse 를 상속받은 인터페이스로 서블릿

엔진이 클라이언트의 요청을 처리하고 클라이언트에

응답을 보내기 위한 HTTP프로토콜을 통신을 하기

위한 인터페이스

bull getGauceOutputStream() 클라이언트로 전송하기 위한 결과를 가진

GauceOutputStream 를 반환

bull GauceOutputStream 클라이언트로 전송할 출력스트림과 Gauce Service 에

사용하기 위해서 부합하도록 추상화 시킨 클래스

bull GauceDataSet 컴포넌트와 GAUCE 서버 간에 전송되는 자료의 저장공간

( 이름 중복 주의 )

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 46: GAUCE 4.0(JAVA)

46

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull fragment() first-row 가 지원되는 GauceDataSet 으로 서비스를 제공하기 위한

메소드 ( 인자 dataset명 first-row 할 record 수 ( 생략가능 ))

bull put() GauceDataRow 에 원하는 데이터형의 컬럼 값을 삽입하고 heap() 가

호출될때 까지 입력된 값은 순차적으로 GauceDataRow 에 적재

bull heap() put 메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로

인식하고 GauceDataSet 에 적재 (Gauce 3X 제공하는 메소드인

addDataRow 와 동일한 기능을 수행 )

bull wirte() GauceDataSet 을 Component 로 전송

bull close() Component 와의 통신을 끊음

bull read() 주어진 GauceDataSet 이름으로 생성된 GauceDataSet 을 반환

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 47: GAUCE 4.0(JAVA)

47

4 For Java of GAUCE

Gauce Service Structure GAUCE API

bull getDataRows() DataSet 에 저장되어있는 GauceDataRow 를 배열로 반환

bull GauceDataRow GacueDataSet 에서 Row 정보를 나타냄 Row 객체를 생성한

후 GauceDataSet 에 등록해야함

bull getJobType() Row 에 대한 작업 유형을 반환

bull TB_JOB_NORMAL TB_JOB_INSERT TB_JOB_UPDATE

TB_JOB_DELETE 4 가지 상수를 제공함

bull getInt(int idx) getLong(int idx) getString(int idx) getFloat(int idx) 등 해당

인덱스의 값을 데이터형에 따라서 반환한다

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 48: GAUCE 4.0(JAVA)

5 QampA

SHIFT Info amp Comm CoLtd

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 49: GAUCE 4.0(JAVA)

PLUS

SHIFT Info amp Comm CoLtd

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 50: GAUCE 4.0(JAVA)

Report Builder

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 51: GAUCE 4.0(JAVA)

51

Report Designer Dynamic Report Builder

Web Reporting 개발 가능성을 극대화한 시각적 Web Report Designer

2

3

4

5

6

1

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 52: GAUCE 4.0(JAVA)

52

Report Component 에서 사용되는 스크립트를 생성해주는 저작도구

1

2

3

4

5

6

7

8

Report Builder 화면 (General)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 53: GAUCE 4.0(JAVA)

53

Report Builder 화면 (Subtype)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 54: GAUCE 4.0(JAVA)

54

Report Builder 화면 (Composite)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 55: GAUCE 4.0(JAVA)

55

Report Builder 화면 (General) - 예제

Design 화면 출력화면

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 56: GAUCE 4.0(JAVA)

56

Report Builder 화면 (Composite)-예제

SubType 화면

Composite 화면

출력 화면

1

2

3

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 57: GAUCE 4.0(JAVA)

57

Report Builder 툴바 설명

새파일

열기

저장 미리보기

도움말

잠금 컬럼

글상자 계산컬럼

이미지

텍스트

밴드 추가

Subtype

Area 추가

6

용지설정

8

9

2

3

4

5 7

10

1

10

7

1

2

3

4

5

화면비율설정

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 58: GAUCE 4.0(JAVA)

58

Report Builder 의 Option

1

2

3

4

5

6

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 59: GAUCE 4.0(JAVA)

59

Report Builder 의 Set Grid

1

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 60: GAUCE 4.0(JAVA)

60

Report Builder 의 Align

1

2

3

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 61: GAUCE 4.0(JAVA)

61

Report Builder 의 Source View

1

2

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 62: GAUCE 4.0(JAVA)

62

Report Builder(1)

1

2

3

4

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 63: GAUCE 4.0(JAVA)

63

Report Builder(2)1

2

3

4

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 64: GAUCE 4.0(JAVA)

64

Script 작성 (Report 출력 )

1

2

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 65: GAUCE 4.0(JAVA)

65

실행결과 확인 (Browser)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 66: GAUCE 4.0(JAVA)

6 실습

SHIFT Info amp Comm CoLtd

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 67: GAUCE 4.0(JAVA)

67

6 실습 -1

목표 부서정보 조회 수정 삭제 화면을 만든다

순서 업무정의 (Table 정의 화면정의 ) Service 생성 (JSPServlet) HTML 작성

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 68: GAUCE 4.0(JAVA)

68

6 실습 -1

실행결과

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 69: GAUCE 4.0(JAVA)

69

6 실습 -1

Table 정의

DEPTNO (2) - 부서코드

DNAME (14) - 부서명LOC (13) - 지점

DEPT

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 70: GAUCE 4.0(JAVA)

70

6 실습 -1

DataSet

clubs Visual Component 들이 사용할 Data 를 서비스 하는 Component

Attribute

- Logical Crosstab 으로 처리할 때 DataSet 간의 연결

- DataID Server 즉 URL 을 지정 ( 이 경로의 Data 를 Request)

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

- SortExpr DataSet 의 정렬식을 기술

Methods

- NameString DataSet 의 Data 를 조회하거나 지정할 수 있음

- Reset DataID 에 기술된 URL 을 통해 Data 를 수신

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 71: GAUCE 4.0(JAVA)

71

6 실습 -1

Tr

clubs DataSet 들을 묶는 전송패키징 Component (Post 방식지원 )

Attribute

- Action 해당 Data 처리를 요청할 경로

- KeyValue 여러개의 DataSet 을 Service 에서 사용할 수 있도록 묶어 준다

- Parameters Data 가 아닌 일반 변수값을 Server 로 전달

Methods

- Post KeyValue 에 설정되어있는 DataSet 에 변경내역이 있을때 해당 내용을 서비스로

Transaction 를 발생시킨다

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 72: GAUCE 4.0(JAVA)

72

6 실습 -1

Bind

clubs 각 UI컨트롤들간에 동일한 DataSet 을 묶는 binding Component

Attribute

- DataID UI컨트롤에 Mapping될 DataSet

- BindInfo DataSet 의 Column 정보와 UI컨트롤들간의 Bind 정보를 기술한다

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 73: GAUCE 4.0(JAVA)

73

6 실습 -1

Grid

clubs DataSet 과 연결하여 화면에 Table 형태로 Display

Attribute

- DataID 표현할 Data 를 가지고 있는 DataSet Component ID 기술

- Format Grid 에 출력될 Column 정보를 정의 (Format 속성 정의 가능 )

- Editable Grid 에 입력기능 여부를 지정

Methods

- ExportFile Grid 의 내용을 CSV Type 의 File 로 저장

- GridToExcel Grid 에 표현된 대로 Excel 을 실행시켜 표현

- CountRow 조회된 Row 의 개수

- RowPosition 현재 Row 의 위치값

ColumnProp

- EditStyle Grid 에서 Data 입력 시 지정된 Edit Style 로 정의

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 74: GAUCE 4.0(JAVA)

74

6 실습 -1

Report

clubs Tag script 를 이용한 다양한 형태의 report 를 web 에서 print 하는 component

Attribute

- DetailDataID Default Band 에 Binding 되는 DataSet Component ID

- MasterDataID Default Band 를 제외한 나머지 Band 에 Binding 되는 DataSet

Component ID

- Format Report Builder 에서 작성된 양식 format (Report Component 의 Format

에 사용 )

- SuppressColumns Suppress 양식 출력 시 Column 지정

- Landscape Report 출력 시 용지의 인쇄방향을 정의

Methods

- Preview Report 를 미리보기

- Print Report 를 인쇄

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 75: GAUCE 4.0(JAVA)

75

6 실습 -1

LuxeCombo

clubs 기존 CodeCombo 의 단점인 Code 와 Data 두개의 컬럼만을 지정할 수 있다는 한계를 멀티

컬럼의 형태로 확장 시킨 구조를 갖고 있는 Component 로서 DataSet 을 이용하여 Value 를

정의할 수도 있고 Value 를 직접 선언해서 정의할 수도 있음

Attribute

- ComboDataID List 용으로 사용할 DataSet 의 ID 를 기술

- ListExprFormat Combo 의 List 창에 표시할 Data Column 과 디스플레이 포맷

- CBData DataSet 을 연결하지 않고 직접 선언하여 사용할 때 Data 목록을 기술

- SearchColumn Search 기능에 대상이 되는 Column 을 지정

- CBDataColumns ComboDataID 에 DataSet 을 지정하는 방식이 아니고 CBData

Property 로 Combo Data 를 입력했을 때 입력된 데이터의 Column

명을 임의로 정의

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 76: GAUCE 4.0(JAVA)

76

6 실습 -1

서비스 생성 (JSPServlet)

STEP 1 GauceInputStream 객체를 생성한 후 HttpGauceRequest 를 통해

HttpServletRequest 를 받아온다

STEP 2 GauceOutputStream 객체를 생성한 후 HttpServletResponse 를 통해

Data 를 클라이언트로 전송하기 위한 Response 를 HttpGauceResponse 로

생성한다

STEP 3 자료를 저장할 GauceDataSet 객체를 생성한다

STEP 4 생성된 GauceDataSet 을 First-row 가 가능한 GauceDataSet 으로

설정한다

STEP 5 GauceDataSet 에 자료를 저장한다

STEP 6 GauceDataSet 에 컬럼 정보를 설정한다

STEP 7 GauceDataSet 을 Component 로 전송하고 작업을 종료한다

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741

Page 77: GAUCE 4.0(JAVA)

쉬프트정보통신 기술지원팀 - Mail techsupport shiftcokr- Tel 02-2106-1741