webMethods Adapter for JDBC
Integration Server 설치 후 , JDBC Driver를 아래 경로에 넣어야 Adapter가 정상 작동됩니다.
webMethod Version 9.5 이상부터는 instances 안에 ojdbc를 저장
경로 : {IntegrationServer Directory}\instances\default\packages\WmJDBCAdapter\code\jars
webMethod Version 9.5 이하부터는 packages에 저장
경로 : {IntegrationServer Directory}\packages\WmJDBCAdapter\code\jars
JDBC Connection 설정 및 생성 화면
Connection Properties
Package : Connection 이 생성될 패키지 선택합니다.
Folder Name : Connection 이 생성될 폴더 경로를 입력합니다.
Connection Name : Connection 이 생성될 명칭을 지정합니다. [ 사용되는 DB 명칭을 넣어주는것이 좋습니다.]
Transaction Type :
-
Local Transaction : 일반적으로 start,commit,rollback Transaction 을 선언하여 사용합니다.
-
XA - Transaction : 이 기종간의 (예시, Oracle,Mssql) 데이터베이스가 하나의 서비스에 사용될때 사용됩니다.
-
No Transaction : 묵시적으로 Transaction을 진행합니다.
-
만일 Local Transaction 을 사용하더라도 패지키를 사용하지 않으면 묵시적으로 Commit 됩니다.
DataSource class : 데이터베이스 드라이버 및 Transaction 종류에따라 다르게 사용됩니다.
-
Oracle Thin Driver [No Transaction , Local Transaction ]: oracle.jdbc.pool.OracleDataSource
-
MSSQL [No Transaction , Local Transaction ]: com.microsoft.sqlserver.jdbc.SQLServerDataSource
Server Name : 데이터 베이스가 존재하는 서버의 Ip를 기재합니다.
Minimum Pool Size :연결 풀링이 활성화 된 경우이 필드는 연결이 활성화 될 때 만들 연결 수를 지정합니다.
[해당 설정을 0으로 지정하는 이유는 오류 발생된 세션 Pool이 남아있어 메모리를 차지하는 경우가 존재하기 때문입니다.]
Maximum Pool Size : 연결 풀링이 활성화 된 경우이 필드는 연결 풀에 한 번에 존재할 수있는 최대 연결 수를 지정합니다.
Pool Increment Size : 연결 풀링이 활성화 된 경우이 필드는 연결이 필요한 경우 최대 풀 크기까지 풀을 증분 할 연결 수를 지정합니다.
Block TimeOut : IS 서버가 DB 연결을 위해 대기하는 시간 지정합니다. [ 초 단위 - 일반적으로 5000까지 기다려줍니다. ]
Expire TimeOut : Pool이 활성화 되었지만, 연결 중인 DB가 대기 상태일때 제거합니다. [ 초 단위]
Startup Retry Count : 초기 시도가 실패한 경우 시스템이 시작시 연결 풀을 초기화하려고 시도하는 횟수입니다. 기본값은 0입니다.
Startup BackoffTimeout : 시스템이 연결 풀 초기화 시도 사이에 대기해야하는 시간 (초)입니다.
Designer 에서 어댑터의 종류
CustomSQL : SQL 구문을 직접 입력하여 쿼리를 실행 시킬 수 있습니다.
DynamicSQL : CustomSQL과 동일한 기능을 하나 SQL문, 테이블, 조건 등을 모두 변수로 처리할 수 있습니다.
해당 SQL실행시, Return 값으로 statement 에는 실행된 SQL문이, results 라는 DocumentList에 결과값이 담깁니다.
InsertSQL : 데이터를 1건만 삽입하며 일반적으로 Loop를 통한 Update - Insert 시 주로 사용합니다.
BatchInsertSQL : 데이터가 여러건일 경우, 한번에 삽입을 하며, 결과 또한 전부 성공하거나 실패로 이뤄집니다.
StoredProcedureWithSignature : 저장 되어있는 프로시저를 호출합니다. Param 값 또한 프로시저 내 저장된 값을 가져옵니다.
Batch 의 장점은 한개의 문제가 존재하면 나머지는 진행하지 않으므로 처리 속도가 빠릅니다.
Upsert는 결과값이 건바이건 이기때문에 어느 부분에서 에러가 발생하는지 확인하기 쉽습니다.
Integration Server 에 등록된 Adapter 중 outbound password store 에 저장되었을때 비밀번호 추출방법
-
Is Admin Page > Extended > watt.security.ope.AllowInternalPasswordAcess = true 를 설정합니다.
-
Is 를 Restart 합니다.
-
디자이너에서 pub.security.outboundPassword:listKeys 를 실행하여 isInternal:true 로 변경합니다.
-
해당 서비스를 실행시키면 등록되어있는 Adapter List 가 출력됩니다.
-
4번에서 출력된 리스트를 pub.security.outboundPassword:getPassword 에 넣어줍니다.
-
만약 pub.security.outboundPassword:getPassword만 사용할 경우에는 wm.is.art.password.(Connection Path)에 옵션 :True로 진행합니다.
추가 정리예정
Oracle MSSQL
NVL(?,' ') ISNULL(?,' ')
SYSDATE GETDATE()
REPLACE(?,'_','')
MSSQL에서 Java.util.date 를 쓸떄 pub.date:formateDate로 변경하여 Oracle에 넣는다.