mod_tbPSM의 사용

Apache HTTP 웹 서버를 통하여 tbPSM 프러시저 호출 및 HTML 페이지를 가져올 수 있는 tbPSM를 사용하는 방법을 기술합니다.

개요

Tibero에서는 웹 브라우저 등을 이용하여 HTTP 페이지를 요청하는 경우 tbPSM으로 작성된 프러시저를 호출하여 전송할 수 있는 mod_tbPSM이라는 Apache 모듈을 제공합니다. Apache HTTP 서버는 구동할 때 Apache 설정 파일에 지정된 모듈 라이브러리들을 동적으로 로딩합니다. mod_tbPSM도 같은 원리로 Apache HTTP 서버로부터 로딩되어 기능을 수행합니다.

다음은 mod_tbPSM 모듈을 사용하기 위한 과정입니다.

  1. Apache HTTP 서버 설치

  2. mod_tbPSM 등록

  3. 프러시저 작성 및 실행

각 과정에 대한 자세한 설명은 해당 절의 내용을 참고합니다.

Apache HTTP 서버 설치

mod_tbPSM에 최적화된 Apache HTTP 서버 버전은 UNIX 계열의 경우 2.2.31, Windows 계열의 경우2.4.27입니다.

Apache HTTP 서버에 대한 내용은 아래 주소를 참고합니다.

UNIX: https://httpd.apache.org/download.cgi#apache22 
Windows 64bit: https://www.apachelounge.com/download
Windows 32bit: https://www.apachelounge.com/download

UNIX 계열은 소스 코드를 받아서 직접 빌드해야 하고, Windows 계열은 PC에 설치된 VC에 맞는 버전을 선택하여 다운로드 한 뒤, 포함된 ReadMe.txt 파일에서 Install을 참고하여 설치 및 실행합니다.

circle-info

참고

Tibero Windows 64bit를 사용할 경우 Apache HTTP도 64bit를 사용해야 합니다.

mod_tbPSM 등록

Apache HTTP 설치가 완료되면 설정 파일을 수정하여 mod_tbPSM을 등록시켜야 합니다. Apache 설정 파 일은 $(Apache 서버 설치 경로)/conf/httpd.conf 입니다.

  • UNIX 계열

httpd.conf 파일에 아래와 같이 추가합니다.

  • Windows 계열

Windows는 TB_HOME 환경변수를 사용하지 않으므로, 절대 경로를 지정해주거나 Apache 설치 경로 의 module 폴더에 dll 파일을 복사하고 아래와 같이 추가합니다.

[참고]

경로를 입력하는 경우 Windows 계열은 원래 역슬래시(\로 디렉터리를 지정하지만, Apache에서는 슬래시(/)로 입력받습니다.

circle-info

참고

Location 부분은 위의 예제와 똑같이 설정해야 합니다.

프러시저 작성 및 실행

본 절에서는 HTP 패키지를 이용하여 HTML 페이지를 리턴하는 프러시저를 작성하고 실행하는 방법을 설명합니다.

circle-info

참고

HTP 패키지 사용에 대한 자세한 내용은 "Tibero tbPSM 참조 안내서"를 참고합니다.

프러시저 생성

tbPSM 문법에 기반하여 HTP 패키지의 멤버 프러시저를 호출함으로써 HTML 소스 코드를 생성합니다.

[예 1] HTP 패키지를 사용한 tbPSM 프러시저 작성 예제

다음은 예제에 내용에 대한 간략한 설명입니다.

  • HTML의 HEAD 영역에서는 웹 브라우저 제목 표시줄에 title 파라미터를 통해 받은 문자열이 표시됩니다. 예를 들어 hello 프러시저의 첫 번째 인자로 'abc'를 지정하면 제목 표시줄에는 abc가 표시됩니다.

  • HTML의 BODY 영역에서는 웹 브라우저 메인 화면에 text 파라미터를 통해 받은 문자열이 표시됩니다. 예 를 들어 hello 프러시저의 두 번째 인자로 'def'를 지정하면 메인 화면에 def가 표시됩니다.

실행

mod_tbPSM 모듈을 통해 프러시저를 실행하기 위한 URL 주소 형식은 다음과 같습니다.

항목
설명

http_server_ip

HTTP 서버의 IP 주소

http_server_port

  • HTTP 서버의 포트 번호

  • 설정되지 않으면, 기본값 80이 적용

tbpsm

httpd.conf 파일에 지정한 경로처럼 mod_tbPSM와 연동되기 위해서 반드시 넣어줘야하는 상대 경로

tibero_dsn

  • tbdsn.tbr 파일에 명시된 DSN 이름

  • 프러시저가 저장되어있는 Tibero DBMS 서버를 가리킴

package_name

호출할 프러시저가 패키지의 멤버일 경우 패키지 이름 및 점(.)을 명시해야 함

procedure_name

호출할 프러시저의 이름

parameter1, parameter2, ... ,

parametern

  • 프러시저의 파라미터 이름

  • URL 주소 형식에서는 질의에 해당

value1. value2, ... , valuen

프러시저 해당 파라미터에 들어가는 IN값

예를 들어 "12.34.56.78" 주소를 가진 HTTP 서버에 접속하여 "test"라는 DSN을 가진 Tibero DBMS 서버 에 있는 hello 프러시저(위에서 작성한 프러시저 예제 기반)을 호출하고 싶다면, 아래와 같이 URL 주소를 작성합니다.

웹 브라우저에서 위와 같이 입력하고 요청하면 로그인 화면이 나타난다. 로그인 화면에 입력하는 아이디 및 비밀번호는 hello 프러시저 수행을 위해 로그인해야 하는 Tibero DBMS 계정의 아이디와 비밀번호와 동일합니다.

자동 로그인 기능 설정 방법

본 절에서는 URL 주소에 따라 자동 로그인할 수 있는 기능의 설정에 대해 설명합니다.

일반적으로 mod_tbPSM와 연동되는 HTTP 서버에 웹 페이지 요청을 하면 로그인 화면이 나타나서 아이 디 및 비밀번호를 직접 입력해야 합니다. 자동 로그인 기능을 설정하면 아이디와 비밀번호을 저장해서 자동 로그인합니다. 다만 모든 사용자가 해당 URL 주소로 접근이 가능해지기 때문에 보안상 주의가 필요합니다.

mod_tbPSM에서는 mod.tbr 파일을 읽어들여 자동 로그인 기능을 지원합니다. mod.tbr 파일은TB_HOME/client/config 경로에 아래와 같은 형식으로 작성합니다.

[예 2] mod.tbr 작성 예제

다음은 mod.tbr 예제의 내용에 대한 간략한 설명입니다.

항목
설명

LOCATION

URL 주소의 상대 경로

USERNAME

접속할 DB 사용자 계정의 이름

PASSWORD

접속할 DB 사용자 계정의 비밀번호

'http://12.34.56.78/tbpsm/test/hello?title=abc&text=def'와 같이 접속합니다고 했을 때, 'http://12.34.56.78/tbpsm 기준으로 상대 경로를 찾고, mod.tbr 파일에서 일치하는 LOCATION을 찾으면 설정된 'USERNAME'과 'PASSWORD'로 자동으로 로그인합니다.

위의 예제처럼 여러 개의 접속 정보를 사용할 경우 tbdsn.tbr 파일도 DSN 접속 정보를 수정해야 합니다.

[예 3] tbdsn.tbr 수정 예제

Last updated