제5장 mod_tbPSM의 사용

내용 목차

5.1. 개요
5.2. Apache HTTP 서버 설치
5.3. mod_tbPSM 등록
5.4. 프러시저 작성 및 실행
5.4.1. 프러시저 생성
5.4.2. 실행

본 장에서는 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. 프러시저 작성 및 실행

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

mod_tbPSM에 최적화된 Apache HTTP 서버 버전은 2.2.21이다.

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

http://projects.apache.org/projects/http_server.html

UNIX 계열은 소스 코드를 받아서 직접 빌드해야 하고, Windows 계열은 별도로 설치 바이너리를 제공하므로 설치만 하면 된다.

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

  • UNIX 계열

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

    LoadModule tbpsm_module       "${TB_HOME}/client/lib/libmod_tbpsm.so"
    <Location /tbpsm>
        SetHandler  tbpsm_handler
        AuthType Basic
        AuthName "Tibero"
    </Location>
  • Windows 계열

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

    LoadModule tbpsm_module       modules/libmod_tbpsm.dll
    <Location /tbpsm>
        SetHandler  tbpsm_handler
        AuthType Basic
        AuthName "Tibero"
    </Location>

[참고]

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

LoadModule tbpsm_module       c:/tibero/client/lib/libmod_tbpsm.dll
<Location /tbpsm>
    SetHandler  tbpsm_handler
    AuthType Basic
    AuthName "Tibero"
</Location>

참고

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

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

참고

본 절에서 설명하고 있는 HTP 패키지 사용에 대한 자세한 안내는 "Tibero tbPSM 참조 안내서"의 "제49장 HTP"를 참고한다.

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

http://{http_server_ip}:{http_server_port}/tbpsm/{tibero_dsn}/
{package_name}.{procedure_name}?{parameter1}={value1}&{parameter2}={value2)&...

항목설명
http_server_ipHTTP 서버의 IP 주소이다.
http_server_portHTTP 서버의 포트 번호이다. 설정되지 않으면, 기본값 80이 적용된다.
tbpsmhttpd.conf 파일에 지정한 경로처럼 mod_tbPSM와 연동되기 위해서 반드시 넣어줘야하는 상대 경로이다.
tibero_dsntbdsn.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 주소를 작성한다.

http://12.34.56.78/tbpsm/test/hello?title=abc&text=def

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