공통설정
본 장에서는 대응답 서버 & 클라이언트를 기동하기 전에 선행 등록되어야하는 방법에 관해 설명한다.
1. 전문관리 등록
시뮬레이터는 전문기반으로 거래를 수행하기때문에 모든 거래에 대한 전문등록이 되어있어야한다.
전문등록시 웹어드민을 이용하여 등록하는방법과, 외부배포전문을 통하여 등록하는 방법 2가지가 있다.
웹어드민 전문등록
시뮬레이터 전문레이아웃 등록은 시뮬레이터 구성정보 > 전문관리
에서 등록한다.
- 전문ID : 전문레이아웃의 ID를 나타낸다.
- 전문명 : 전문레이아웃의 명칭을 나타낸다.
- 채널구분 : 대내/외전문을 나타낸다.
- 거래구분 : Online 거래시 사용되는 전문인지를 나타낸다.
- 전문타입 : 해당전문이 어떤 전문타입인지를 나타낸다.
- 전문버전 : 전문버전을 나타낸다. 미등록시 '1'로 자동입력된다.
- IO명 : IO명칭을 나타낸다.
- 외부배포여부 : 외부로부터 받은 전문을 통하여 배포된경우는 'Y'표시. 화면에서 직접등록시는 'N'표시. 'Y'인경우 화면에서 수정 불가능하다.
- 총길이 : 전문의 총길이값을 나타낸다. (SUB레이아웃 포함)
- 등록자ID : 등록자ID를 나타낸다.
- 등록일자 : 등록일자를 나타낸다.
외부배포 전문등록
웹어드민을 이용하지않고 외부배포전문을 통하여 직접 등록한다.
http://ip:port/migration
url로 아래의 JSON전문을 직접 요청하면된다.
{
"deployStatus":"DEPLOY",
"intrfcId":"intrfc13",
"deployTime":"2022-03-08 17:55:02",
"deployer":"simadmin",
"deployVersion":"1",
"intrfcDto":{
"intrfcId":"intrfc13",
"intrfcNm":"인터페이스13",
"intrfcTypeCd":"MCI",
"bizCd":"05",
"trxDscd":"ONLINE",
"userId":"simadmin",
"regDttm":"2023-04-08 17:55:02",
"rqstExtrnlMsgNoNm":"rqstMsg",
"rspsExtrnlMsgNoNm":"rspsMsg",
"intrfcMsgDstnctnDto":[
{
"srTypeCd":"SEND",
"srSeq":"0",
"rqstRspsTypeCd":"REQUEST",
"sysCd":"CORE",
"msgLayoutId":"EduSystemHeader2",
"msglayoutDto":[
{
"msgLayoutId":"EduSystemHeader2",
"msgNm":"Edu표준전문헤더",
"msgVersion":1,
"chlDscd":"INTERNAL",
"trxDscd":"ONLINE",
"msgDscd":"STH",
"msgDesc":"emis배포전문",
"regDttm":"20230408 224832273",
"msglayoutdtDto":[
{
"msgSeq":1,
"fldEngNm":"guid",
"fldKorNm":"GUID",
"dataTypeNm":"String",
"msgLen":32,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":2,
"fldEngNm":"msgClssCd",
"fldKorNm":"요청응답구분코드",
"dataTypeNm":"String",
"msgLen":1,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":3,
"fldEngNm":"sycClssCd",
"fldKorNm":"동기구분코드",
"dataTypeNm":"String",
"msgLen":10,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":4,
"fldEngNm":"test",
"fldKorNm":"테스트",
"dataTypeNm":"String",
"msgLen":3,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":5,
"fldEngNm":"itrfcId",
"fldKorNm":"인터페이스ID",
"dataTypeNm":"String",
"msgLen":20,
"decimalLen":0,
"fldLvNo":1
}
]
}
]
},
{
"srTypeCd":"SEND",
"srSeq":"1",
"rqstRspsTypeCd":"REQUEST",
"sysCd":"CORE",
"msgLayoutId":"MELSNLayout",
"msglayoutDto":[
{
"msgLayoutId":"MELSNLayout",
"msgNm":"parent레이아웃",
"msgVersion":1,
"chlDscd":"INTERNAL",
"trxDscd":"ONLINE",
"msgDscd":"IV",
"msgDesc":"emis배포전문",
"regDttm":"20230408 224832273",
"msglayoutdtDto":[
{
"msgSeq":1,
"fldEngNm":"userId",
"fldKorNm":"사원ID",
"dataTypeNm":"Long",
"msgLen":16,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":2,
"fldEngNm":"loan",
"fldKorNm":"카드",
"dataTypeNm":"Layout",
"msgLen":31,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":3,
"fldEngNm":"test",
"fldKorNm":"테스트값",
"dataTypeNm":"Boolean",
"msgLen":10,
"decimalLen":0,
"fldLvNo":1
}
]
},
{
"msgLayoutId":"MELSNLayout.loan",
"msgNm":"sub레이아웃",
"msgVersion":1,
"chlDscd":"INTERNAL",
"trxDscd":"ONLINE",
"msgDscd":"IV",
"msgDesc":"emis배포전문",
"regDttm":"20230408 224832273",
"msglayoutdtDto":[
{
"msgSeq":1,
"fldEngNm":"name",
"fldKorNm":"이름",
"dataTypeNm":"Date",
"msgLen":10,
"decimalLen":0,
"fldLvNo":2,
"parentFldNm":"MELSNLayout"
},
{
"msgSeq":2,
"fldEngNm":"address",
"fldKorNm":"주소",
"dataTypeNm":"String",
"msgLen":10,
"decimalLen":0,
"fldLvNo":2,
"parentFldNm":"MELSNLayout"
},
{
"msgSeq":3,
"fldEngNm":"phone",
"fldKorNm":"번호",
"dataTypeNm":"Layout",
"msgLen":10,
"decimalLen":0,
"fldLvNo":2,
"parentFldNm":"MELSNLayout",
"ArraySizeRefVal":2
},
{
"msgSeq":4,
"fldEngNm":"gender",
"fldKorNm":"성별",
"dataTypeNm":"String",
"msgLen":1,
"decimalLen":0,
"fldLvNo":2,
"parentFldNm":"MELSNLayout"
}
]
},
{
"msgLayoutId":"MELSNLayout.loan.phone",
"msgNm":"sub레이아웃",
"msgVersion":1,
"chlDscd":"INTERNAL",
"trxDscd":"ONLINE",
"msgDscd":"IV",
"msgDesc":"emis배포전문",
"regDttm":"20230408 224832273",
"msglayoutdtDto":[
{
"msgSeq":1,
"fldEngNm":"ENG",
"fldKorNm":"영어영어",
"dataTypeNm":"String",
"msgLen":5,
"decimalLen":0,
"fldLvNo":3,
"parentFldNm":"MELSNLayout.loan"
},
{
"msgSeq":2,
"fldEngNm":"KOR",
"fldKorNm":"한글한글",
"dataTypeNm":"String",
"msgLen":5,
"decimalLen":0,
"fldLvNo":3,
"parentFldNm":"MELSNLayout.loan"
}
]
}
]
},
{
"srTypeCd":"SEND",
"srSeq":"0",
"rqstRspsTypeCd":"RESPONSE",
"sysCd":"CORE",
"msgLayoutId":"EduSystemHeader2",
"msglayoutDto":[
{
"msgLayoutId":"EduSystemHeader2",
"msgNm":"Edu표준전문헤더",
"msgVersion":1,
"chlDscd":"INTERNAL",
"trxDscd":"ONLINE",
"msgDscd":"STH",
"msgDesc":"emis배포전문",
"regDttm":"20230408 224832273",
"msglayoutdtDto":[
{
"msgSeq":1,
"fldEngNm":"guid",
"fldKorNm":"GUID",
"dataTypeNm":"String",
"msgLen":32,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":2,
"fldEngNm":"msgClssCd",
"fldKorNm":"요청응답구분코드",
"dataTypeNm":"String",
"msgLen":1,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":3,
"fldEngNm":"sycClssCd",
"fldKorNm":"동기구분코드",
"dataTypeNm":"String",
"msgLen":10,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":4,
"fldEngNm":"test",
"fldKorNm":"테스트",
"dataTypeNm":"String",
"msgLen":3,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":5,
"fldEngNm":"itrfcId",
"fldKorNm":"인터페이스ID",
"dataTypeNm":"String",
"msgLen":20,
"decimalLen":0,
"fldLvNo":1
}
]
}
]
},
{
"srTypeCd":"SEND",
"srSeq":"1",
"rqstRspsTypeCd":"RESPONSE",
"sysCd":"CORE",
"msgLayoutId":"MELSNLayout",
"msglayoutDto":[
{
"msgLayoutId":"MELSNLayout",
"msgNm":"parent레이아웃",
"msgVersion":1,
"chlDscd":"INTERNAL",
"trxDscd":"ONLINE",
"msgDscd":"IV",
"msgDesc":"emis배포전문",
"regDttm":"20230408 224832273",
"msglayoutdtDto":[
{
"msgSeq":1,
"fldEngNm":"userId",
"fldKorNm":"사원ID",
"dataTypeNm":"Long",
"msgLen":16,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":2,
"fldEngNm":"loan",
"fldKorNm":"카드",
"dataTypeNm":"Layout",
"msgLen":31,
"decimalLen":0,
"fldLvNo":1
},
{
"msgSeq":3,
"fldEngNm":"test",
"fldKorNm":"테스트값",
"dataTypeNm":"Boolean",
"msgLen":10,
"decimalLen":0,
"fldLvNo":1
}
]
},
{
"msgLayoutId":"MELSNLayout.loan",
"msgNm":"sub레이아웃",
"msgVersion":1,
"chlDscd":"INTERNAL",
"trxDscd":"ONLINE",
"msgDscd":"IV",
"msgDesc":"emis배포전문",
"regDttm":"20230408 224832273",
"msglayoutdtDto":[
{
"msgSeq":1,
"fldEngNm":"name",
"fldKorNm":"이름",
"dataTypeNm":"Date",
"msgLen":10,
"decimalLen":0,
"fldLvNo":2,
"parentFldNm":"MELSNLayout"
},
{
"msgSeq":2,
"fldEngNm":"address",
"fldKorNm":"주소",
"dataTypeNm":"String",
"msgLen":10,
"decimalLen":0,
"fldLvNo":2,
"parentFldNm":"MELSNLayout"
},
{
"msgSeq":3,
"fldEngNm":"phone",
"fldKorNm":"번호",
"dataTypeNm":"Layout",
"msgLen":10,
"decimalLen":0,
"fldLvNo":2,
"parentFldNm":"MELSNLayout",
"ArraySizeRefVal":2
},
{
"msgSeq":4,
"fldEngNm":"gender",
"fldKorNm":"성별",
"dataTypeNm":"String",
"msgLen":1,
"decimalLen":0,
"fldLvNo":2,
"parentFldNm":"MELSNLayout"
}
]
},
{
"msgLayoutId":"MELSNLayout.loan.phone",
"msgNm":"sub레이아웃",
"msgVersion":1,
"chlDscd":"INTERNAL",
"trxDscd":"ONLINE",
"msgDscd":"IV",
"msgDesc":"emis배포전문",
"regDttm":"20230408 224832273",
"msglayoutdtDto":[
{
"msgSeq":1,
"fldEngNm":"ENG",
"fldKorNm":"영어영어",
"dataTypeNm":"String",
"msgLen":5,
"decimalLen":0,
"fldLvNo":3,
"parentFldNm":"MELSNLayout.loan"
},
{
"msgSeq":2,
"fldEngNm":"KOR",
"fldKorNm":"한글한글",
"dataTypeNm":"String",
"msgLen":5,
"decimalLen":0,
"fldLvNo":3,
"parentFldNm":"MELSNLayout.loan"
}
]
}
]
}
]
}
}
외부(ex. EIMS)로부터 배포받는 로직은 사이트마다 전송받는 방법이 다르므로 커스터마이징이 반드시 필요한 영역이다.
위의 JSON전문은 연구소에서 샘플용으로 등록해놓은 외부배포전문 로직에 의한 예시전문이며, 커스터마이징 결과에 따라 위 전문은 달라질 수 있다. 커스터마이징 방법은 커스터마이징장에서 확인가능하다.
웹어드민을 통해 서브레이아웃을 등록하는 경우, 서브레이아웃을 먼저 등록한 후, 부모레이아웃의 특정필드의 데이터타입을 reference로 변경하여 서브레이아웃을 등록한다. 해당 필드를 List로 사용하고 싶다면 배열참조를 값을 등록한다.
하지만, 외부배포를 통해 서브레이아웃을 등록하는 경우, 부모레이아웃과 서브레이아웃을 동시에 배포하므로 .
을 기준으로 구분한다.

2. 엔드포인트관리 등록
타겟시스템 커넥션에 관한 정보를 등록한다. 어떠한 url, 통신방식등 엔드포인드에 관련된 정보를 정의한다.
엔드포인트 등록은 시뮬레이터 구성정보 > 엔드포인트관리
에서 등록한다.
- 엔드포인트ID : 엔드포인트 ID을 나타낸다. (시퀀스값으로 자동생성)
- 엔드포인트명 : 엔드포인트 명칭을 나타낸다.
- 전문포맷 : 전문 형식을 나타낸다. FLD/JSON 2가지를 지원한다.
- 캐릭터셋 : 캐릭터셋을 나타낸다.
- 엔드포인트 분류 : 해당 엔드포인트의 용도를 나타낸다. 대내거래는 상품처리계(CORE) / 대외거래는 대외기관 or 대외채널로 설정한다.
- URL : URL을 나타낸다. (HTTP일 경우 URL에 PORT도 같이 입력해야한다.)
- 메서드 : HTTP통신일때 사용할 메서드를 나타낸다.
- PORT : PORT를 나타낸다.
- 전문구분 방식 : 전문구분의 방식을 나타낸다.
- 길이필드 Offset : 전문에서 길이필드가 시작할 위치를 나태낸다.
- 길이필드 Size : 길이필드 크기를 나타낸다.
- 전문길이 보정값 : 전문길이 보정값을 나타낸다.
- 길이필드 유형 : 길이필드 유형을 나타낸다.
- 길이필드 추가여부 : 길이필드 추가여부를 나타낸다.
- 길이필드 포함여부 : 길이필드 포함여부를 나타낸다.
- 전문스킵길이 : 전문스킵길이 값을 나타낸다.
- 최대송수신전문길이 : 한번에 송수신할수있는 전문길이의 최대값을 나타낸다.
