Tmax Application Development Guide 

Tmax v5.0 SP2 Fix#2

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 this document may only be distributed 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. Nothing in this software document and agreement constitutes a transfer of intellectual property rights regardless of whether or not such rights are registered) or any rights to TmaxSoft trademarks, logos, or any other brand features.

This document is for information purposes only. The company assumes no direct or indirect responsibilities for the contents of this document, and does not guarantee that the information contained in this document satisfies certain legal or commercial conditions. The information contained in this document is subject to change without prior notice due to product upgrades or updates. The company assumes no liability for any errors in this document.

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

이 소프트웨어 사용설명서와 프로그램의 사용권 계약은 어떠한 경우에도 사용설명서 및 프로그램과 관련된 지적재산권(등록 여부를 불문)을 양도하는 것으로 해석되지 아니하며, 브랜드나 로고, 상표 등을 사용할 권한을 부여하지 않습니다. 사용설명서는 오로지 정보의 제공만을 목적으로 하고, 이로 인한 계약상의 직접적 또는 간접적 책임을 지지 아니하며, 사용설명서 상의 내용은 법적 또는 상업적인 특정한 조건을 만족시키는 것을 보장하지는 않습니다. 사용설명서의 내용은 제품의 업그레이드나 수정에 따라 그 내용이 예고 없이 변경될 수 있으며, 내용상의 오류가 없음을 보장하지 아니합니다.

안내서 정보

안내서 제목: Tmax Application Development Guide 

발행일: 2016-04-08

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

안내서 버전: v2.1.8


내용 목차

안내서에 대하여
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.3.5. DB2 프로그램
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] 대화형 모드 흐름도(동일 기종 데이터베이스 접속)