Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Anchor
_Toc269731891
_Toc269731891
개요

...

본 문서는 Altibase와 WebSphere를 연동하여 운영하기 위한 가이드 문서로써 WebSphere를 설치하는 방법 및 환경변수 설정방법, Altibase와 WebSphere를 연동하는 방법에 대해서 기술한다. 

...

Note

이 문서는 정보 제공을 목적으로 제공되며, 사전에 예고 없이 변경될 수 있습니다. 이 문서는 오류가 있을 수 있으며, 상업적 또는 특정 목적에 부합하는 명시적, 묵시적인 책임이 일절 없습니다.

이 문서에 포함된 Altibase 제품의 특징이나 기능의 개발, 발표 등의 시기는 Altibase 재량입니다.

Altibase는 이 문서에 대하여 관련된 특허권, 상표권, 저작권 또는 기타 지적 재산권을 보유할 수 있습니다.

 

 

 

Anchor
_Toc269731892
_Toc269731892
WebSphere 설치

...

본 장에서는 WebSphere를 다운로드 받고 설치하는 과정과 WebSphere의 디렉토리 구조에 대하여 기술하고, WebSphere를 구동하고 종료하는 방법에 대하여 기술한다.

  • Anchor
    _Toc269731893
    _Toc269731893
    기본 설치

...

  • WebSphere 패키지 다운로드

WebSphere 를 다운 받기 위해서는 IBM Installation Manager를 먼저 설치 해야  한다. 

...

작성이 완료되면 설정된 프로파일의 정보를 확인할 수 있다. 

설치 내용을 확인 하면 아래와 같다.

  • Anchor
    _Toc269731894
    _Toc269731894
    WebSphere 디렉토리 구조

...

WebSphere를 설치하면 다음과 같은 디렉토리를 확인할 수 있다.
 
설치 시(C:\IBM에 설치)에 아무런 변경 없이 WebSphere를 설치했다면 위의 그림에 표시된 것처럼 C:\IBM\WebSphere\AppServer의 경로가 환경변수인 WAS_INSTALL_ROOT가 되며,
JDBC 프로바이더 설정 시에 클래스 경로를 지정할 때도 ${WAS_INSTALL_ROOT}를 이용할 수 있다. 

...


WebSphere를 사용하면서 웹 관리콘솔을 이용하여 환경 설정을 변경하면 실제로는 Config 디렉토리에 있는 Resource.xml 파일에 기록되고, 수정된다.
이 Resource.xml 파일은 "cell", "node", "server" 별로 각각의 디렉토리에 존재한다. "cell", "node", "server" 에 대한 설명은 다음 장의 "JDBC 프로바이더 설정"에서 참고한다.

  • Anchor
    _Toc269731895
    _Toc269731895
    WebSphere 구동

...

WebSphere 설치가 완료되면 스크립트 파일을 이용하여 WebSphere를 구동할 수 있다.
커맨드 창을 열고 WebSphere 디렉토리 중 현재 설치한 프로파일의 bin 디렉토리로 이동하여 시작 스크립트 파일을 실행한다.
서버를 시작하는 명령어는 "startServer.bat" 파일이다. (예 D:\IBM\WebSphere\AppServer1\profiles\AppSrv01\bin)
WebSphere 설치 후에 WAS 서버 이름은 기본으로 "server1"으로 되어 있다.
따라서 해당 스크립트 파일이 있는 위치로 이동하여 커맨드 창에 "startServer server1" 라고 입력하면 WAS 서버가 구동된다.
 
위의 그림처럼 서버가 e-business용으로 열렸다는 메시지와 프로세스 ID 가 출력이 되었다면 정상적으로 WebSphere가 구동된 것이다.
정상 구동된 후에는 웹 관리콘솔 환경으로 접속하여 WebSphere를 관리할 수 있다.

웹 브라우저에 http://SERVER_IP:9060/ibm/console 을 입력하여 웹 관리콘솔에 접속한다. (여기서 SERVER_IP는 WebSphere를 설치한 서버의 IP를, 9060은 관리콘솔을 위한 서비스 포트이다.)
 
위와 같은 로그인 화면이 나오면 아무런 사용자나 입력하고 실제 관리콘솔로 들어간다.
WebSphere 설치 시에 관리보안 항목을 체크하고 ID와 Password를 설정한 경우에는 해당 ID로 로그인하면 된다.
 
관리콘솔의 왼쪽 메뉴 중 [서버] > [서버 유형] > [WebSphere Application Server]를 선택하면 현재 구동중인 노드 정보를 확인할 수 있으며, 자세한 정보는 해당 노드를 선택하면 확인할 수 있다.
 
오른쪽 하단의 [포트] 메뉴를 클릭하면 WAS 서버에서 사용하는 포트를 확인 및 수정할 수 있다.
관리콘솔의 서비스포트(9060)과 어플리케이션 서비스포트(9080) 등을 확인하고, 필요한 경우 수정하여 사용하도록 한다.

  • Anchor
    _Toc269731896
    _Toc269731896
    WebSphere 종료

...

WebSphere를 종료하는 방법은 커맨드 창에서 서버를 시작했던 위치로 이동하여 종료 스크립트 파일인 "stopServer.bat" 를 실행한다.
종료 시에도 구동 시와 마찬가지로 "stopServer server1" 이라고 실행하면 서버가 종료된다.

Anchor
_Toc269731897
_Toc269731897
JDBC 드라이버 설정

...

본 장에서는 Altibase와 WebSphere를 연동하여 사용하기 위한 설정 방법에 대해서 설명한다.

  • Anchor
    _Toc269731898
    _Toc269731898
    Altibase JDBC 드라이버 획득

...

Altibase에서 제공하는 JDBC driver는 Altibase.jar 이다. 이 파일은 Altibase가 설치되어있는 서버의 $Altibase_HOME/lib 디렉토리 안에 존재한다.

  • Anchor
    _Toc269731899
    _Toc269731899
    Altibase JDBC 드라이버 버전 확인

...

Altibase JDBC driver 버전을 확인하는 방법은 다음의 명령어를 수행하면 된다.

...

$ Altibase -v
version 7.1.0.2.5 X86_64_LINUX_redhat_Enterprise_release6.0-64bit-7.1.0.2.5-release-GCC4.6.3 (x86_64-unknown-linux-gnu) May 21 2019 13:44:56, binary db version 6.5.1, meta version 8.7.1, cm protocol version 7.1.7, replication protocol version 7.4.5, shard version 2.2.1

 

  • Anchor
    _Toc269731900
    _Toc269731900
    JDBC 드라이버 적용

...

WebSphere 에서 Altibase와 연동하기 위해 Altibase JDBC 드라이버를 적절한 곳에 위치시켜야 한다.
Altibase.jar 파일을 WebSphere의 디렉토리 중에서 ${WAS_INSTALL_ROOT}\universalDriver\lib 에 위치시켜준다.

Anchor
_Toc269731901
_Toc269731901
Altibase와 WebSphere 연동(AltibaseConnectionPool)

...

본 장에서는 Altibase와 WebSphere를 연동하는 방법에 대하여 기술한다.
WebSphere 에서 Altibase와 연동하기 위한 Connection 소스를 제공하지 않기 때문에 Altibase 에서 제공하는 AltibaseConnectionPool 을 이용하여 WebSphere와 연동해야 한다.

  • Anchor
    _Toc269731902
    _Toc269731902
    JDBC 제공자 설정

...

Altibase와 WebSphere를 연동하기 위해서 가장 먼저 수행할 작업은 JDBC 제공자 설정이다.
Altibase JDBC 드라이버를 WebSphere에 설정함으로써 Altibase와 WebSphere를 연동해서 사용할 수 있다.

...

(Altibase 6.1.1 이하 버전에서는 Altibase.jdbc.driver.ABConnectionPoolDataSource 을 사용하여 접속하여야 한다.)

새로운 JDBC 프로바이더를 작성한 후에 데이터베이스 클래스 경로를 지정하는데, 클래스 경로는 Altibase.jar 파일이 있는 위치를 입력해준다.
 
앞 장에서 설명한 것처럼 Altibase.jar 파일은 해당 서버의 ${WAS_INSTALL_ROOT}\universalDriver\lib 디렉토리에 위치시키므로 해당 위치를 클래스 경로로 지정한다.
클래스 경로까지 지정을 하면 JDBC 세공자 설정은 완료된다. 자신이 설정한 JDBC 제공자의 요약을 확인하여 수정할 내용이 있으면 수정하고, 없다면 완료한다.

  • Anchor
    _Toc269731903
    _Toc269731903
    데이터소스 설정

...

데이터소스는 Altibase와 WebSphere 의 엑세스를 위한 정보들을 관리하는 객체이며, 어플리케이션은 해당 데이터소스를 통하여 Altibase와 연결을 한다.
WebSphere 메뉴 중 왼쪽의 [자원] > [JDBC] > [데이터소스]를 선택한다.
 
JDBC 프로바이더 설정 시와 동일하게 범위를 "셀"로 지정하고 새로운 데이터소스를 작성한다.
 
"데이터소스 이름" 과 "JNDI 이름"을 설정한다. 본 문서에서는 데이터소스 이름을 "altitest" 로, JNDI 이름을 jdbc/altitest 로 설정했다.
JNDI 이름은 연동 테스트 시에 테스트 예제에서 lookup 할 때 사용된다.
 
데이터소스 이름과 JNDI 이름을 설정하고 다음 단계로 넘어가면 JDBC 제공자를 선택하게 되는데, 기존에 생성했던 JDBC 제공자를 선택한다.
만약, JDBC 제공자를 생성하지 않았다면 이 단계에서 새로 JDBC 제공자를 생성하여 사용할 수도 있다.
 
데이터 스토어 헬퍼 클래스는 지정되어 있는 이름을 그대로 사용한다.
 
다음으로 보안 관련 별명을 설정하는 부분이 나오는데, 아직 J2C를 설정하지 않았기 때문에 그냥 다음 단계로 넘어간다. 보안 별명 설정이 끝나면 데이터 소스 작성을 위한 기본 작업은 완료된다.
마지막으로 요약 단계에서 데이터소스 설정이 올바르게 되었는지 확인하고 완료한다.

데이터소스 설정을 완료하면 다음과 같이 생성한 데이터소스를 확인 할 수 있으며, 생성한 데이터소스를 클릭하여 세부적인 데이터소스 설정을 한다.
 
Altitest 데이터소스를 클릭한 후, 다음 화면의 메뉴 중에서 [사용자 정의 특성]을 클릭하여 세부적인 데이터소스 항목을 설정한다.
 
[사용자 정의 특성]에 들어가면 세부적인 데이터소스 설정을 위한 항목들이 나열되어 있다. 이 항목들 중에서 시스템 구성에 필요한 항목들을 원하는 수치로 설정한다.

...


위의 항목들을 설정한 후에, 연결 테스트를 해보면 다음과 같이 연결 테스트에 성공했다는 메시지가 출력된다. 이 메시지가 출력되면 Altibase와 WebSphere의 기본적인 연결은 성공한 것이다.

  • Anchor
    _Toc269731904
    _Toc269731904
    어플리케이션 등록 및 설정

...

WebSphere 에서는 EAR, WAR 모듈로 작성된 어플리케이션을 등록하여 사용할 수 있다.
본 절에서는 WAR 모듈을 WebSphere에 등록한 후, Altibase와 연동하기 위한 설정 방법에 대해서 기술한다.
 
WebSphere 웹 관리콘솔의 왼쪽 메뉴 중 [애플리케이션] > [새 응용프로그램]을 선택한 후, [새 엔터프라이즈 응용프로그램]을 클릭하여 WAR 모듈을 등록한다.
 
작성된 WAR 모듈의 경로를 지정하여 WebSphere에 등록한다.
경로를 지정하고, 다음 단계인 [응용 프로그램 설치 준비]에서는 "빠른 경로"를 선택한 후, 다음 단계로 넘어간다.
[설치 옵션 선택] 메뉴에서는 응용프로그램 이름이나 다른 항목들을 변경할 수 있지만 본 문서의 테스트에서는 그냥 넘어간다.
 
 
[서버에 모듈 맵핑]에서 현재 한 개의 모듈만 생성이 되어 있기 때문에 그냥 넘어가도록 한다. 만약 여러 개의 모듈을 생성한 후, 특정 모듈만 서버에 맵핑 하는 경우에는 특정 모듈을 선택해서 "적용" 버튼을 클릭한다.
 
가상 호스트 맵핑은 "default_host"로 선택하고 다음 단계로 넘어간다.
컨텍스트 루트 맵핑은 현재 설정하고 있는 WAR 모듈의 루트를 지정하는 단계이다. 사용자가 원하는 컨텍스트 루트를 지정하면 WAR 모듈 이름과 상관없이 "컨텍스트 루트 명/jsp 파일명"으로 해당 어플리케이션을 실행할 수 있다.
 
컨텍스트 루트 맵핑을 하고 완료를 하면 WebSphere 에서는 자동으로 어플리케이션을 구성하고 설치한다. 설치가 완료되면 [저장]을 클릭해서 구성 내용을 마스터에 저장한다.
 
마스터에 저장하면 사용하고자 하는 어플리케이션의 구성 및 설치가 모두 완료된다. 하지만 현재는 어플리케이션을 설치만 되어 있는 상태이기 때문에 직접 어플리케이션의 상태를 "시작"으로 변경해줘야 한다.

WebSphere 웹 관리콘솔 메뉴 중 왼쪽의 [애플리케이션] > [애플리케이션 유형] > [WebSphere 엔터프라이즈 애플리케이션]을 선택하면 사용자가 WebSphere에 설치한 어플리케이션을 확인할 수 있다.
  
"시작" 버튼을 클릭하여 해당 어플리케이션을 시작시키면 다음과 같은 메시지가 출력된다.
어플리케이션이 시작되었으면, 웹 브라우저를 실행시켜서 테스트를 진행한다.

  • Anchor
    _Toc269731905
    _Toc269731905
    연동 테스트

...

Altibase와 WebSphere의 연동 테스트는 위의 절에서 사용한 altitest.war 모듈을 사용한다.
아래의 테스트 예제를 사용하여 이클립스에서 WAR 모듈을 생성하고, WebSphere에 설치해서 테스트를 진행한다.

...

http://127.0.0.1:9080/altiweb/test.jsp


Anchor
_Toc269731906
_Toc269731906
FailOver Configuration

...

본 장에서는 Altibase가 제공하는 FailOver 기능을 이용하여 WebSphere와 연동하는 방법에 대해 기술한다.

  • Anchor
    _Toc269731907
    _Toc269731907
    FailOver

...

WebSphere은 FailOver 기능을 제공하지 않는다. 하지만 Altibase 5.3.3 버전부터 FailOver 기능을 제공하기 때문에, Altibase의 FailOver기능을 이용하면 FailOver 구현이 가능하다.
사용구문은 다음과 같다.

jdbc:Altibase://서버 IP:DB포트번호/DB이름?AlternateServers=(서버 IP:DB 포트번호)&ConnectionRetryCount=3&ConnectionRetryDelay=3&SessionFailOver=off

 

  • Anchor
    _Toc269731908
    _Toc269731908
    FailOver 관련 속성

FailOver 관련 속성은 다음과 같다.

항목

속성

AlternateServer

장애 발생시 접속하게 될 가용 서버를 나타내며 (IP Address1:Port1, IP Address2:Port2,...) 형식으로 기술한다.

ConnectionRetryCount

가용 서버 접속 실패 시, 접속 시도 반복 횟수

ConnectionRetryDelay

가용 서버 접속 실패 시, 다시 접속을 시도하기 전에 대기하는 시간(초단위)

SessionFailOver

STF(Service Time Fail-Over)를 할 것인지 여부를 나타낸다.
on : STF, off : CTF
CTF(Connection Time Fail-Over)는 DBMS 접속 시점에 장애를 인식하여 장애가 발생한 DBMS대신 다른 가용 노드의 DBMS로 접속하고 서비스를 진행한다.
STF(Service Time Fail-Over)는 DBMS 접속에 성공하여 서비스하는 도중에 장애가 발생하는 것으로, 다른 가용 노드의 DBMS에 다시 접속하여 세션의 프로퍼티를 복구한 후 사용자 응용 프로그램의 업무 로직을 다시 수행하도록 하는 것을 의미한다. 즉 장애가 발생한 DBMS에서 수행된 작업을 다시 한 번 수행할 필요가 있는 경우이다.


CTF 및 STF 의 구현방법은 Altibase FailOver 기술문서를 참조한다.

  • Anchor
    _Toc269731909
    _Toc269731909
    FailOver 적용

...

FailOver 기능을 사용하기 위해서는 위에서 언급한 FailOver 구문을 아래의 그림처럼 데이터소스 설정 시에 "url" 항목에 입력해야 한다.
 
데이터소스를 설정한 후에 다음의 테스트 예제를 WAR 모듈로 작성하여 WebSphere 에서 테스트 해본다.
테스트를 진행하면 로컬 DB의 시간이 화면에 출력되며, 사용자가 임의로 로컬 DB를 종료시키면 대체 DB(AlternateServer)로 FailOver 하여 대체 DB의 시간을 화면에 출력해준다.

...