아주 심플한 JDBC to JDBC Interface 개발방법에 대해서 기술 하겠습니다.
우선 소스쪽 테이블(PI_SELECT_TEST) 입니다.
이건 똑같은 구조의 타겟쪽 테이블입니다.(PI_INSERT_TEST)
Enterprise Services Builder
우선 소스쪽 Object들을 생성 해보도록 하겠다.
DataType → MessageType → Service Interface 순이다.
DataType생성 (HUIEOK_01_Out_DT)
- SELECT 한 DataType은 row Element 밑에 각 필드명으로 들어 가게 된다. row는 여러값이 들어 갈수 있기 때문에 1..unbounded로 셋팅한다
DataType을 만들었으면, 해당 MessageType(HUIEOK_01_Out_MT)도 위에서 생성한 DataType을 Load해서 생성한다.
Service Interface(HUIEOK_01_Out)도 생성한다. 해당건은 Async / Outbound다.
소스쪽 관련 정보들은 모두 생성했다. 이제는 DB에 Insert하기 위한 타겟쪽 Object를 생성 하겠다.
DataType(HUIEOK_01_In_DT)은 아래오 같은 구조로 만들어야 한다. 주의점은 action은 Element가 아닌 Attribute다
action은 INSERT, UPDATE, DELETE, UPDATE_INSERT, SELECT, SQL_QUREY가 있으며
table은 실 테이블 명이다. access 밑으로는 실제 사용되는 필드명이 들어간다.
UPDATE등을 사용할때는 access Element 말고도 key Element가 들어간다.
필요하면 아래 Site를 참고 하길 바란다.
[XI/PI] JDBC Adapter 사용시 여러가지 Attributes
DataType을 만들었으면, 해당 MessageType(HUIEOK_01_In_MT)도 위에서 생성한 DataType을 Load해서 생성한다.
Service Interface(HUIEOK_01_In)도 생성한다. 해당건은 Async / Inbound다.
이제 각각 Inbound / Outbound Object들은 다 생성했다.
이제 서로 매핑해주는 일만 남았다.
Message Mapping(HUIEOK_01_MM)을 아래 그림과 같이 생성해보길 바란다.
action에는 "INSERT"를 매핑하고, table에는 "PI_INSERT_TEST"를 매핑한다.
row와 access를 매핑해야 에러가 안나며 에러가 안나더라도 매핑을 하지 않으면 값이 하나의 row밖에 매핑되지 않을것이다.
나머지는 각각 필드명을 매핑한다.
Operration Mapping은 다음과 같이 Outbound / Inbound Service Interface와 Message Mapping을 할당해주고 Active 한다.
Configuration Integration Builder
디자인단을 끝냈으면 이제 Configure 부분 Object들을 만들어야
테스트 비지니스 시스템으로 HUIEOK_D로 만든다.
Channel 2개는 JDBC Sender와 Receiver 2개를 만든다.
왼쪽 그림과 같이 Object들 을 모두 생성 해야 한다.
우선 Sender JDBC Channel(HUIEOK_03_JDBCReceiver) 설정이다.
Adapter Type은 JDBC Sender고Database Connection부분에 DB접속 정보를 입력해준다.
아래 그림과 같이 Sender에 관련된 Object 명들과 SQL문을 각각 넣어 준다.
Quality of Service : Best Effort(Sync), Exactly Once(ASnyc / 순서보장X), Exactly Once in Order(ASync / 순서보장O)
Poll Interval(secs) : 배치 주기, 초단위
Query SQL Statement : select할 Qeury 문
Document Name : Outbound Message Type
Document namespace : Outbound Message Type의 Namasapce
Update SQL statment : select 문 후에 사용할 UPDATE SQL문(아무 동작도 안할시 "<TEST>"로 입력면 됨
Sender Channel을 셋팅했으면 다음은 Receiver Channel을 아래와 같이 만들어 준다.
특별한 셋팅 필요 없이 접속 정보만 제대로 넣어 준다.
다음으로는 Receiver Determination,
Interface Determination
Sender Agreement
Receiver Agreement
를 만들어 준다
끄읏..
'EAI > XI/PI' 카테고리의 다른 글
[XI/PI] HTTP Post 방식으로 PI호출 하는 자바 소스 (0) | 2013.08.12 |
---|---|
[XI/PI] JDBC Adapter 사용시 여러가지 Attributes (0) | 2013.08.12 |
[XI/PI] ABAP Mapping (0) | 2013.08.12 |
[XI/PI] ABAP Mapping 사용하기 위한 Exchange Profile Setting (0) | 2013.08.09 |
[XI/PI] Retry Setting in AE (0) | 2013.08.07 |