820 likes | 2.1k Views
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 교육 목적
E N D
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 교육 목적 1-1 교육 목적 1-2 교육 목표 2. What is GAUCE? 2-1 개념정리 2-2 GAUCEArchitecture 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 GAUCE4.0 Install 4-2 Environment Setting 4-3 Service Structure 5. Q&A 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 & Comm Co.,Ltd
1. The aim of Gauce Java Education • 교육목적 • Gauce Java의 이해 • Gauce Java의 코딩 방법 숙지 • 교육목표 • Gauce Java의 개발에 앞서서 Gauce개념과 Gauce Java의 동작구조를 이해하고 이를 바탕으로 Gauce Java의 코딩 방법을 숙지하도록 한다.
2. What is GAUCE SHIFT Info & Comm Co.,Ltd
2.What 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 개념 정리
2.What is Gauce? • GAUCE는 기존 Web 개발의 난점을 극복하기 위한 다양한 웹 Data Presentation Model 들을 Component 화하여 단순히 조회 기능만이 가능한 웹 리포팅툴의 한계를 뛰어넘는 입력, 수정, 삭제까지 가능한 완벽한 애플리케이션의 손쉬운 개발이 가능한 제품입니다. • GAUCE는 분산 DB 환경에서 웹 브라우저를 통해 기업, 고객, 공급망 등 다양한 사용자가 다양한 방식으로 DB 에 접근, 웹 애플리케이션을 활용할 수 있도록 해주는 Enterprise Client Web 개발 플랫폼입니다.
2.What is Gauce? • Gauce Architecture
2.What is Gauce? GAUCE 는 Java 의 장점인 플랫폼 독립적인 시스템 구성과 Microsoft ActiveX 의 장점인 역동적 사용자 환경 (UI : User Interface)이조합된 최상의 M.V.C 모델을 지원합니다. 주) View : Data 를 사용자에게 보여주기 위한 기능요소 Control : Business Logic 에 따라 Data 를 변환 / 가공하기 위한 기능 요소 Model : Data 의 원천으로 DB 와 상호작용하며 Data 를 관리하는 기능 요소
Pure Java COM+ / .NET Server Side Script DataSet J2EE W.A.S … Legacy System / Database 2.What is Gauce? • Gauce지원방식 • MxDataSet Component를 통한 빠른 응답 속도와 대용량 데이터 통합 처리 - UI Component간의 데이터를 클라이언트에서 통합하여 처리 - 대용량 Data 처리에도 원활한 버퍼링 수행(데이터 분할 전송 기능 FirstRow기능) • Data Tunneling과 Data 압축 기법 - 변경된 Data만을 Data Tunneling기법을 통해 빠르게 출력 - Data Packet에 대한 자동압축기능을 지원하여 Network의 영향력 최소화 및 Brandwidth 가용성 향상 MxChart MxTree Server GAUCE Service (XML,JSP,C#,ASP) MxGrid 패킷 압축 Web Server HTTP Tunneling GAUCE Engine Etc. MxReport JVM CLR MTS
2.What is Gauce? • Gauce지원방법 GAUCE 구조 - View 영역과 Server 영역 분리 ① View 영역 - 14개의 ActiveX Component를 이용하여 화면을 작성합니다. : 컴포넌트는 ActiveX 기반이므로 <object>…</object>태그로 선언 ② Server 영역 - 비즈니스 영역을 포함하고 Data 영역을 가짐 - GAUCE API를 이용하여 클라이언트 요청 서비스 처리
사용자 측면 • 웹상에서 다양한 Application UI 및 기능 제공 • 다중 입력/수정/삭제 및 조회·입력 화면의 일원화로 • 업무 처리시간의 단축 개발자 / 운영자 측면 • ActiveX 및 Program의 재사용성 증대 • 프레젠테이션과 비즈니스 로직의 분리로 관리 용이 • 로직 간편화로 신속한 장애 대처 및 유지보수 용이 성능개선 측면 • First-row방식 제공으로 Data 조회 및 트랜잭션 • 처리의 빠른 응답 • Component를 통한 데이타 압축을 이용하여 네트웍 • 부하 감소(압축:72%) • 다중 입력/수정/삭제 등으로 시스템 부하 최소화 • 데이터 갱신시 컴포넌트 안에서 구동되어 화면 • 깜박임 (Flickering Screen) 등의 단점을 보완 2.What is Gauce? • Merit of GAUCE
3. GAUCE Component SHIFT Info & Comm Co.,Ltd
3.GAUCE Component • Component(14개) • Grid • EMEdit(MaskEdit) • Treeview • LuxeCombo(Combo) • Menu • TextArea • Radio • Tab • Report – Invisible • DataSet – Invisible • Tr(LogicalTR) - Invisible • ImgDataSet - Invisible • Bind(Binder) – Invisible • InputFile(FileControl) – etc ☞ GAUCE Component Manual • MAX메뉴 - MAX 자료실에서 다운로드 Or 온라인 매뉴얼 http://member.shift.co.kr Or http://www.gauce.com/online/index.html
3.GAUCE Component • Non-Visual Component TR • 정의 여러 개의 DataSet을 서버로 송수신시 사용 CUD 작업 후 Transaction 처리할 DataSet을 서버로 송신시 또는 여러 개의 DataSet 구조를 하나의 서비스를 통해 조회시에도 사용 • 정의 DataSet은 내부적으로 다양한 Buffer 와 Header 정보를 관리하는 Table 형태 Buffer 간의 상호작용 및 제공하는 외부 인터페이스를 통해 Viewer 기능을 담당하는 Component들을 연계하여 DataSet의 Data를 각기 고유의 UI 형태로 표현하게 하는 DataBuffer CUD 작업이 발생시 변경된 Data들 역시 DataSet을 통해 관리 DataSet
3.GAUCE Component • Non-Visual Component • 정의 DataSet과 연결하여, 데이터를 다양한 Report로 표현 직접출력과 미리보기 기능을 제공하며 출력화면을 이미지 형태 저장 가능 ▲ User Interface Report • 정의 일반 HTML에서 사용되는 Edit, TextArea, Combo등의 일반 Component, 제품에서 제공하는 LuxeCombo, Radio, TextArea, EMedit Component를 DataSet Component와 연결할 수 있는 기능을 내장하는 Component로써 자료를 변경하고, 읽어오는 기능을 하는데 사용 Bind
3.GAUCE Component • Visual Component • 정의 DataSet과 연결하여, 화면에 Table형태의 Data의 표현 및 CUD 작업을 지원 ▲ User Interface • 기본기능 계산column 생성, Column 위치 및 View여부를 Control이 가능 Fix Column 설정 및 Column별 자유로운 속성이 지정(변경)이 가능 Summary Row를 이용 합계와 소계를 손쉽게 처리 Grid의 내용을 Excel, CSV, TXT 파일의 형태로 저장 가능 Combo, Checkbox, Popup, Password의 기능 이용 및 수정, 입력이 가능 Tool tip, Image column, CrossTab 기능을 제공 Grid
3.GAUCE Component • Visual Component • 정의 다양한 Format 지원을 통해 날짜, 사원번호, 금액 등 Mask 기능이 필요한 정보 표현시 사용 ▲ User Interface EMEdit • 정의 DataSet Component와 연결하여, Data Item을 Tree형태로 표현 Grouping된 Item들의 집합, 또는 부서 목록 등 계층 구조로 효율적인 표시를 할 수 있는 정보를 표시하는데 일반적으로 사용하며, 선택된 각 Item은 Code와 Text값을 갖고 있어 이를 사용하여 Item의 상세 정보를 표시하는 작업에 사용 ▲ User Interface TreeView
3.GAUCE Component • Visual Component • 정의 URL 경로로부터 직접 데이터를 받아 보여주는 TextArea ▲ User Interface TextArea • 정의 DataSet에 있는 Column들을 Binding하여, Item의 개수가 동적인 Radio Button을 생성하거나, Radio의 Format을 Code와 Text로 지정해서 Item의 개수가 정적인 Radio Button 생성 ▲ User Interface Radio
3.GAUCE Component • Visual Component • 정의 DIV를 변경하여 탭페이지 화면을 제어할 때 사용 ▲ User Interface Tab • 정의 DataSet과 연결하여 각종 수치 데이타를 보다 이해하기 쉽게 다양한 Chart로 표현하며 Table형식의 Data를 막대,선, 파이 등 30여종의 다양한 형태 지원 ▲ User Interface XChart
3.GAUCE Component • 기타 • 정의 File Save Dialog기능으로 File을 선택해서 파일명을 갖고 있으며, Server로 임의의 File Upload할 때 사용 ▲ User Interface InputFile
3.GAUCE Component • Component설치 • ActiveUpdate 으로 설치하는 방법 • <OBJECT ID="Manager" CLASSID="CLSID:3042C30E-50B7-44EF-B4B6-C9AB391DEF78" codebase="./Manager.cab#version=1,0,0,3"> • <PARAM NAME="CompareVersionType" VALUE=0> • </OBJECT>
3.GAUCE Component • Component설치 • installer.exe로 설치하는 방법 • cabfiles폴더에component cabfile들을 넣어두고installer.exe를 실행 (만약, 기존의component가 깔려 있으면installer가 기존component를 지운 후에 설치함.)
3.GAUCE Component • Component설치 • codebase로 설치하는 방법 • <object id=mxBind classid=CLSID:4A35BB2C-B831-4199-A486-FEA332D085D9 codebase="./MxBinder.cab#version=1,2,1,2"> • </object>
3.GAUCE Component • Component설치 • component dll파일로 수동 설치하는 방법 • component cabfile을 압축을 풀어서dll파일들을 원하는 경로에 위치시킨 후command창에서regsvr32 dll파일이 있는 경로부터 파일명까지 기술하여Enter key누르면 설치 • component cabfile을 압축을 풀어서inf file(설치정보 file)을 오른쪽 마우스 클릭하여 설치를 선택하여 설치
4. For Java of GAUCE SHIFT Info & Comm Co.,Ltd
4. For Java of GAUCE • Gauce 4.0(JAVA) Install • 1) 가우스 설치 시 점검사항 • 네트워크 확인 • - IP 스캔하여 사용하기 위함 • JDK버전이 1.4 이상인지 확인 • - jce version : 1.2.2 이상 권장 • - 보안라이브러리를 사용하기 위함 • Servlet 버전이 2.3이상인지 확인 • - Filter가 Servlet2.3 이상에서만 동작 • 가우스가 설치될 WAS의 WebContext가 존재여부 • - WebContext의 WEB-INF 폴더에 설치작업이 이루어짐. web.xml 필요 • 2) 가우스 설치 후 점검사항 • GAUCE가 설치된 디렉토리의 gauce-install.log 파일을 확인하여 정상적으로 • 설치작업이 이루어 졌는지 확인
Gauce 4.0(JAVA) Install • GUI모드로 설치하기 • install.cmd를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후 • 을 누른다. • GAUCE Server를 설치할 디렉토리(WAS or Web Server의 • Application Context 디렉토리 하부에 있는 WEB-INF)를 선택하고 • 을 누른다. • GAUCE를 설치하고자 하는 컴퓨터의 IP주소를 선택한다. • 설치폴더와 설치할 컴퓨터 IP정보를 확인한 후 을 누른다. • ☞ GAUCE 라이브러리 및 구동에 필요한 환경 파일, 샘플 등이 • 지정한 설치 디렉토리에 복사되고, 설치시에 입력한 정보를 바탕으로 • 레지스트리 파일에 등록되고, WAS의 web.xml파일을 수정하여 • GauceFilter를 등록시키고, gauce-install.log파일이 생성된다. 다음 > 다음 > 설치 4. For Java of GAUCE
4. For Java of GAUCE ① ② ④ ③
4. For Java of GAUCE • Gauce 4.0(JAVA) Install • Console모드로 설치하기 • install.cmd를 실행시켜 환영메시지와 주의사항을 잘 읽어본 후 • GAUCE Server를 설치할 디렉토리(WAS or Web Server의 • Application Context 디렉토리 하부에 있는 WEB-INF)를 입력하고 • Enter key를 누른다. • GAUCE를 설치하고자 하는 컴퓨터의 IP주소를 선택한다. • 설치폴더와 설치할 컴퓨터 IP정보를 확인한 후 install할 건지에 대한 • 답으로 y를 입력하고 Enter key를 누른다. • ☞ GAUCE 라이브러리 및 구동에 필요한 환경 파일, 샘플 등이 • 지정한 설치 디렉토리에 복사되고, 설치시에 입력한 정보를 • 바탕으로 레지스트리 파일에 등록되고, WAS의 web.xml파일을 • 수정하여 GauceFilter를 등록시키고, gauce-install.log파일이 • 생성된다.
★ ★ ★ ★ 4. For Java of GAUCE • Gauce 4.0(JAVA) Install • ★
★ ★ ★ ★ 4. For Java of GAUCE • Gauce 4.0(JAVA) Install
4. For Java of GAUCE • Server 환경 -> servlet 2.3 지원되는 WAS에서 동작 • Client 환경(개발자) • Enduser 환경(일반사용자)
4. For Java of GAUCE • Environment Setting • web.xml
변환작업 HttpGauceRequest ServletRequest ServletResponse Filter Chain HttpGauceResponse GAUCE서비스 필터1 필터3 필터N 필터2 (GAUCE필터) XML to Binary 변환 Action Chain 구동 4. For Java of GAUCE • Environment Setting • web.xml
4. For Java of GAUCE • Environment Setting - web.xml • <filter-name> : GAUCE서버를 위해 등록된 Filter의 이름 • <filter-class> : 등록된 filter의 기능을 수행하도록 되어 있는 클래스 이름 • <param-name> : 서블릿 컨테이너에 의해 등록된 GauceFilter가 처음 로딩될 때 넘겨주는 초기 파라미터의 이름.conf-reload파라미터는 환경파일(gauce.xml, gsaf-config.xml)이 수정되었을 때 서버 또는 WAS를 재시작하지 않고 동적으로 변경된 내용을 반영하기 위한 것으로 파라미터의 값만큼 주기적으로 환경파일을 감시하며 변경되었을 때 변경된 내용을 GAUCE서버에 반영한다. • <param-value> : 주기적으로 환경파일이 변경되었는지 감시하기 위해 시간을 설정하는 값(millisecond단위)(단, 0일 경우 감시기능 수행안함.)
4. For Java of GAUCE • Environment Setting - web.xml • <url-pattern> : <filter-mapping>에 정의되어 있는 이 값은 클라이언트에서 요청된 URL과 비교하여 패턴 매핑이 이루어 질 경우 위에서 등록된 GauceFilter가 동작하도록 하는 기능을 한다.
4. For Java of GAUCE • Environment Setting – gauce.xml • <global> : GAUCE서버를 통해 수행되는 모든 서비스에 반영되는 정보 - compressed : 클라이언트(컴포넌트)와 GAUCE서버 사이에서 데이터를 주고 받을 때 전송되는 데이터에 대해 압축을 수행한 후 전송하는지에 대한 여부 설정(default값은 false) - fragment : GAUCE서버에서 클라이언트로 데이터를 전송하는 동안 전송되는 데이터에 대한 전송단위를 설정(한번에 전송되는 데이터셋의 내부에 저장된 행의 개수를 의미 • <charset> : 클라이언트와 GAUCE서버 사이에서 전송되는 문자열 데이터에 대한 인코딩 방법을 명시 - default : 서버 상에서 디폴트로 사용되는 character set을 정의 - get : 클라이언트에서 서버상으로 문자열을 전송할 때 GET방식으로 전송된 문자열을 서버상에서 디코딩 하기 위한 character set
4. For Java of GAUCE • Environment Setting – gauce.xml - post : 클라이언트에서 POST방식으로 전송된 문자열에 대해 서버상에서 디코딩을 하기 위한 character set • <col-def> : GAUCE서비스를 작성할 때 데이터셋에 정의하는 컬럼에 대해 디폴트로 설정되는 값을 정의 - integer : “int”형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의 - decimal: “decimal”형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의(7.3 : 정수 7, 소수 3) - string: “string”형에 해당하는 컬럼정의에 대해 길이를 명시하지 않았을 경우 기본적으로 사용하는 값을 정의(default값 255) - round: “decimal”형의 컬럼이 정의된 크기보다 실제 입력된 값의 자리수가 더 클 경우 처리되는 방법을 명시(F : FLOOR, R : ROUND, C : CEIL)
4. For Java of GAUCE • Environment Setting – gauce.xml • <crypto> : GAUCE에서 암호화 모듈을 적용할 경우 3-파티에서 제공하는 암호화 라이브러리를 적용(생략 가능) - spi : 3-파티에서 제공하는 암호화 라이브러리에 대한 어댑터 클래스이름 등록한다. • <resource> : GAUCE환경을 통해 등록할 수 있는 외부 리소스를 정의(생략가능) • <dataSource> : 데이터베이스에 대한 연결정보를 정의, 데이터베이스와 GAUCE서버 사이에서 주고 받는 문자열을 character set지정 (한 개 이상 등록 가능) - name : <dataSource>에 대한 이름을 정의(이름 중복 주의) - charsetIn : GAUCE서버에서 데이터베이스로 문자열을 저장할 때 사용하는 character set을 의미
4. For Java of GAUCE • Environment Setting – gauce.xml - charsetOut: 데이터베이스에서 GAUCE서버로 문자열을 select할 때 사용하는 character set을 정의 • <jdbc>: 데이터베이스에 대한 연결정보를 정의(단, 하나의 <dataSource>에 대해서 하나의 <jdbc>만을 정의해야함.) - driver : 데이터베이스 벤더 회사들이 제공하는 드라이버의 이름 - url : 데이터베이스에 접속하기 위한 정보로서 데이터베이스의 접속 URL - user : 데이터베이스에 대한 사용자 계정 - password : 사용자 계정에 대한 password
4. For Java of GAUCE • Gauce Service Structure • GAUCE API • GAUCE40 API 참조하시려면 • - Gauce 설치파일의 doc 폴더에 javadoc 존재 • Gauce Service Structure - 클라이언트에서 request가 들어오면 WAS의 서블릿 엔진이 ServletRequest객체로 변환해서 GauceFilter의 doFilter()메소드의 매개변수로 전달 -> HttpServletRequest을 상속 받은 HttpGauceRequest를 통해서 Dataset과 요청 정보를 얻어옴. • ServletRequest : 클라이언트의 요청 정보를 가지고 있는 인터페이스 • GauceFilter : 클라이언트로부터 받은 request에 대해 서비스를 함.
4. For Java of GAUCE • Gauce Service Structure • GAUCE API • HttpServletRequest : ServletRequest를 상속 받은 인터페이스로 서블릿엔진이 이 인터페이스를 구현하고 http통신을 통해 클라이언트의 전송정보를 쉽게 얻을 수 있는 역할을 함. • HttpGauceRequest : HttpServletRequest를 상속받은 클래스로 HttpServeltRequest에서 제공되는 HTTP프로토콜과 관련된 정보를 추출할 수 있는 모든 메서드를 지원 • getGauceInputStream() : HttpServletRequest에 body로 전송되는 DataSet에 대한 InputStream을 추출하여 반환 • GauceInputStream : 클라이언트로부터 전송된 입력스트림과 입력스트림을 통해서 추가적으로 검출한 GauceDataSet의 정보를 꺼낼 수 있는 추상화 클래스
4. For Java of GAUCE • Gauce Service Structure • GAUCE API • HttpServletResponse : GauceFilter가 처리한 요청에 대한 응답인 SerlvetResponse를 상속받은 인터페이스로 서블릿 엔진이 클라이언트의 요청을 처리하고 클라이언트에 응답을 보내기 위한 HTTP프로토콜을 통신을 하기 위한 인터페이스 • getGauceOutputStream() : 클라이언트로 전송하기 위한 결과를 가진 GauceOutputStream를 반환 • GauceOutputStream : 클라이언트로 전송할 출력스트림과 Gauce Service에 사용하기 위해서 부합하도록 추상화 시킨 클래스 • GauceDataSet : 컴포넌트와 GAUCE서버 간에 전송되는 자료의 저장공간 (이름 중복 주의)
4. For Java of GAUCE • Gauce Service Structure • GAUCE API • fragment() : first-row가 지원되는 GauceDataSet으로 서비스를 제공하기 위한 메소드(인자 : dataset명, first-row할 record 수(생략가능)) • put() : GauceDataRow에 원하는 데이터형의 컬럼 값을 삽입하고, heap()가 호출될때 까지 입력된 값은 순차적으로 GauceDataRow에 적재 • heap() : put메소드를 통해 순차적으로 입력된 컬럼의 값을 하나의 행으로 인식하고 GauceDataSet에 적재 (Gauce 3.X제공하는 메소드인 addDataRow와 동일한 기능을 수행) • wirte() : GauceDataSet을 Component로 전송 • close() : Component와의 통신을 끊음 • read() : 주어진 GauceDataSet이름으로 생성된 GauceDataSet을 반환
4. For Java of GAUCE • Gauce Service Structure • GAUCE API • getDataRows() : DataSet에 저장되어있는 GauceDataRow를 배열로 반환 • GauceDataRow : GacueDataSet에서 Row정보를 나타냄. Row객체를 생성한 후 GauceDataSet 에 등록해야함. • getJobType() :Row에 대한 작업 유형을 반환 • TB_JOB_NORMAL, TB_JOB_INSERT, TB_JOB_UPDATE, TB_JOB_DELETE 4가지 상수를 제공함. • getInt(int idx), getLong(int idx), getString(int idx), getFloat(int idx) 등 해당 인덱스의 값을 데이터형에 따라서 반환한다.
5. Q&A SHIFT Info & Comm Co.,Ltd
※ PLUS ※ SHIFT Info & Comm Co.,Ltd