Tmax Application Development Guide 

Tmax v5.0 SP2 Fix#1

Restricted Rights Legend

All TmaxSoft Software (Tmax®) and documents are protected by copyright laws and international convention. TmaxSoft software and documents are made available under the terms of the TmaxSoft License Agreement and may only be used or copied in accordance with the terms of this agreement. No part of this document may be transmitted, copied, deployed, or reproduced in any form or by any means, electronic, mechanical, or optical, without the prior written consent of TmaxSoft Co., Ltd.

이 소프트웨어(Tmax®) 사용설명서의 내용과 프로그램은 저작권법과 국제 조약에 의해서 보호받고 있습니다. 사용설명서의 내용과 여기에 설명된 프로그램은 TmaxSoft Co., Ltd.와의 사용권 계약 하에서만 사용이 가능하며, 사용권 계약을 준수하는 경우에만 사용 또는 복제할 수 있습니다. 이 사용설명서의 전부 또는 일부분을 TmaxSoft의 사전 서면 동의 없이 전자, 기계, 녹음 등의 수단을 사용하여 전송, 복제, 배포, 2차적 저작물작성 등의 행위를 하여서는 안 됩니다.

Trademarks

Tmax®, Tmax WebtoB® and JEUS® are registered trademark of TmaxSoft Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies.

Tmax®, Tmax WebtoB® 와 JEUS®는 TmaxSoft Co., Ltd.의 등록 상표입니다. 기타 모든 제품들과 회사 이름은 각각 해당 소유주의 상표로서 참조용으로만 사용됩니다.

Open Source Software Notice

Some modules or files of this product are subject to the terms of the following licenses. : openssl-0.9.7.m, zlib-1.1.4, expat-2.0.0, netsnmp, DCE1.0, pthread, google-diff-match-patch, libevent, getopt

Detailed Information related to the license can be found in the following directory : ${INSTALL_PATH}/license/oss_licenses

본 제품의 일부 파일 또는 모듈은 다음의 라이선스를 준수합니다. : openssl-0.9.7.m, zlib-1.1.4, expat-2.0.0, netsnmp, DCE1.0, pthread, google-diff-match-patch, libevent, getopt

관련 상세한 정보는 제품의 다음의 디렉터리에 기재된 사항을 참고해 주십시오. : ${INSTALL_PATH}/license/oss_licenses

안내서 정보

안내서 제목: Tmax Application Development Guide 

발행일: 2013-10-11

소프트웨어 버전: Tmax v5.0 SP2 Fix#1

안내서 버전: v2.1.5.1


내용 목차

안내서에 대하여
1. Tmax 애플리케이션 소개
1.1. 개요
1.2. 구성
1.3. 특징
2. 클라이언트 프로그램
2.1. 프로그램 특징 및 구성
2.2. 개발 환경 및 툴
2.3. 프로그램 흐름
2.4. 프로그램 컴파일
2.5. 프로세스 기동 및 종료
2.5.1. sdlc
2.5.2. fdlc
3. 서버 프로그램
3.1. 프로그램 특징 및 구성
3.1.1. TCS
3.1.2. UCS
3.2. 개발 환경 및 툴
3.3. 프로그램 흐름
3.3.1. TCS
3.3.2. UCS
3.4. 프로그램 컴파일
3.4.1. TCS
3.4.2. UCS
3.5. 프로세스 생성 및 종료
4. 통신 유형
4.1. 개요
4.2. 동기형 통신
4.3. 비동기형 통신
4.4. 대화형 통신
4.4.1. 대화형 통신 관련 이벤트
5. 버퍼 유형
5.1. 개요
5.2. 버퍼의 종류
5.3. 버퍼 관리
5.3.1. 구조체 버퍼
5.3.2. 필드 버퍼
6. 트랜잭션
6.1. 개요
6.2. 분산 트랜잭션
6.2.1. XA 모드
6.2.2. Non-XA 모드
6.3. 트랜잭션 관련 에러
6.3.1. TX 에러
6.3.2. XA 에러
7. Multithread와 Multicontext
7.1. 개요
7.2. 클라이언트 프로그램
7.2.1. 프로그램 흐름
7.2.2. 프로그램 구현
7.2.3. 프로그램 예제
7.3. 서버 프로그램
7.3.1. 개요
7.3.2. 프로그램 흐름
7.3.3. 프로그램 구현
7.3.4. 서비스 처리 프로그램 예제
7.3.5. context 공유 프로그램 예제
8. 보안 시스템
8.1. 개요
8.2. 1단계 보안(시스템 접속 제어)
8.3. 2단계 보안(사용자 인증)
8.4. 3단계 보안(서비스 접근 제어)
9. 클라이언트 API
9.1. 개요
9.2. 연결 및 해제
9.2.1. tpstart
9.2.2. tpend
9.3. 동기형 통신
9.3.1. tpcall
9.4. 비동기형 통신
9.4.1. tpacall
9.4.2. tpgetrply
9.4.3. tpcancel
9.5. 대화형 통신
9.5.1. tpconnect
9.5.2. tpsend
9.5.3. tprecv
9.5.4. tpdiscon
9.6. 비요청 메시지 처리
9.6.1. tpsetunsol
9.6.2. tpgetunsol
9.7. 타임아웃 변경
9.7.1. tpset_timeout
9.7.2. tpsetsvctimeout
9.8. 버퍼 관리
9.8.1. tpalloc
9.8.2. tprealloc
9.8.3. tpfree
9.8.4. tptypes
9.9. 트랜잭션 관리
9.9.1. tx_begin
9.9.2. tx_commit
9.9.3. tx_info
9.9.4. tx_rollback
9.9.5. tx_set_transaction_timeout
9.9.6. tx_set_transaction_control
9.9.7. tx_set_commit_return
9.10. RQ 시스템
9.10.1. tpenq
9.10.2. tpdeq
9.10.3. tpqstat
9.10.4. tpextsvcname
9.11. 이벤트를 활용하는 API
9.11.1. tpsubscribe
9.11.2. tpunsubscribe
9.11.3. tppost
9.12. 브로드 캐스트/멀티 캐스트
9.12.1. tpbroadcast
9.13. 환경 프로그램
9.13.1. WinTmaxAcall
9.13.2. WinTmaxAcall2
9.13.3. WinTmaxStart
9.13.4. WinTmaxEnd
9.13.5. WinTmaxSetContext
9.13.6. WinTmaxSend
9.14. Multithread/Multicontext
9.14.1. tpgetctxt
9.14.2. tpsetctxt
10. 서버 API
10.1. TCS
10.1.1. tpreturn
10.1.2. tpforward
10.1.3. tpsvrinit
10.1.4. tpsvrdone
10.1.5. tpsvrthrinit
10.1.6. tpsvrthrdone
10.1.7. tpgetctxt
10.1.8. tpsetctxt
10.1.9. tpsendtocli
10.1.10. tpgetclid
10.1.11. tpchkclid
10.2. UCS
10.2.1. tpschedule
10.2.2. tpuschedule
10.2.3. tpsetfd
10.2.4. tpissetfd
10.2.5. tpclrfd
10.2.6. tpsavectx
10.2.7. tpgetctx
10.2.8. tpcancelctx
10.2.9. tprelay
10.2.10. tpregcb
10.2.11. tpunregcb
11. 에러 처리
11.1. 개요
11.2. API 레벨 에러 처리
11.2.1. tpstrerror
11.3. 시스템 레벨 에러 처리
11.3.1. Uunixerr
11.3.2. Uunix_err
11.3.3. Ustrerror
11.4. 디버그
11.4.1. 디버그 CLH
11.4.2. 디버그 라이브러리
12. 예제
12.1. 통신 유형 예제
12.1.1. 동기형 통신
12.1.2. 비동기형 통신
12.1.3. 대화형 통신
12.2. 전역 트랜잭션 프로그램 예제
12.3. 데이터베이스 프로그램
12.3.1. Oracle Insert 프로그램
12.3.2. Oracle Select 프로그램
12.3.3. Informix Insert 프로그램
12.3.4. Informix Select 프로그램
12.4. 데이터베이스 연동 프로그램
12.4.1. 동기형 모드(동일 기종)
12.4.2. 동기형 모드(이기종)
12.4.3. 비동기형 모드(동일 기종)
12.4.4. 대화형 모드(동일 기종)
12.5. TIP를 이용한 프로그램
12.5.1. TIP 구조
12.5.2. TIP 사용
12.5.3. TIP 사용 예제
12.5.4. 시스템 환경 정보 조회 프로그램
12.5.5. 시스템 통계 정보 조회 프로그램
12.5.6. 서버 프로세스 기동 및 종료 프로그램
12.6. Local recursive call
A. Tmax 환경설정
A.1. 환경 파일
A.1.1. DOMAIN 절
A.1.2. NODE 절
A.1.3. SVRGROUP 절
A.1.4. SERVER 절
A.1.5. SERVICE 절
A.2. Makefile
색인

그림 목차

[그림 1.1] Tmax 애플리케이션 프로그램
[그림 2.1] 클라이언트 프로그램 흐름
[그림 2.2] 클라이언트 프로그램 함수 프로세스
[그림 2.3] 클라이언트 프로그램 컴파일 과정 - 구조체 버퍼 사용
[그림 2.4] 클라이언트 프로그램 컴파일 과정 - 필드 버퍼 사용
[그림 3.1] Tmax 서버 프로세스 유형
[그림 3.2] 서버 프로그램 흐름
[그림 3.3] TCS 방식 서버 프로그램 흐름
[그림 3.4] UCS 방식 서버 프로그램 흐름
[그림 3.5] 서버 프로그램 컴파일 - 구조체 버퍼
[그림 3.6] 서버 프로그램 컴파일 - 필드 버퍼
[그림 4.1] 동기형 통신
[그림 4.2] 동기형 통신 모델
[그림 4.3] 비동기형 통신
[그림 4.4] 비동기형 통신 모델
[그림 4.5] 대화형 통신
[그림 4.6] 대화형 통신 모델
[그림 5.1] Tmax 통신 버퍼 유형
[그림 5.2] 구조체 버퍼를 이용한 애플리케이션 프로그램 컴파일
[그림 5.3] 필드 버퍼를 이용한 애플리케이션 프로그램 컴파일
[그림 6.1] 2PC(2 Phase Commit) 프로토콜
[그림 6.2] X/Open DTP의 구조
[그림 6.3] 분산 트랜잭션의 처리 과정
[그림 6.4] XA 모드
[그림 6.5] Non-XA 모드
[그림 7.1] Tmax 클라이언트 Multithread 애플리케이션
[그림 7.2] Tmax 클라이언트 Multicontext 애플리케이션
[그림 7.3] Tmax 서버 Multithread 애플리케이션
[그림 7.4] Tmax 서버 Multicontext 애플리케이션
[그림 10.1] tpforward
[그림 10.2] UCS 방식 서비스 포워딩
[그림 12.1] 2개의 데이터베이스 접속
[그림 12.2] 동기형 모드 흐름도(동일 기종 데이터베이스)
[그림 12.3] 동기형 모드 흐름도(이기종 데이터베이스 접속)
[그림 12.4] 비동기형 모드 흐름도(동일 기종 데이터베이스 접속)
[그림 12.5] 대화형 모드 흐름도(동일 기종 데이터베이스 접속)