Export Model 라이브러리
본 모듈은 EIMS의 각 커스텀 구현 모듈에서 공통으로 사용하는 EIMS 리소스 객체를 정의합니다.
인터페이스, 메시지, 사용자 정보 등 EIMS에서 관리하는 핵심 리소스들의 데이터 모델을 제공합니다.
라이브러리 적용 모듈
본 모듈은 다음 커스텀 구현 모듈에서 공통으로 사용됩니다.
| 모듈 | 사용 클래스 |
|---|---|
InterfaceDefinition, MessageDefinition, UserSimpleInfo, CommonMessageMappingExpression |
|
InterfaceDefinition, MessageDefinition |
패키지 구조
com.tmax.anyeims.export.model
├── resources # EIMS 리소스 모델
│ ├── InterfaceDefinition.java # 인터페이스 정의
│ ├── MessageDefinition.java # 메시지 정의
│ ├── MessageField.java # 메시지 필드
│ ├── BusinessSystem.java # 업무 시스템
│ ├── ResourceProperty.java # 리소스 프로퍼티
│ ├── PropertyType.java # 프로퍼티 타입 Enum
│ ├── MessageMapping.java # 메시지 매핑
│ ├── CommonMessageMappingExpression.java # 공통 메시지 매핑 표현식
│ ├── MappingExpression.java # 매핑 표현식
│ └── FieldLink.java # 필드 연결
└── user # 사용자 모델
└── UserSimpleInfo.java # 사용자 정보
클래스
InterfaceDefinition
인터페이스 정의 정보를 담는 클래스입니다.
| 필드명 | 타입 | 설명 |
|---|---|---|
resourceId |
Long |
인터페이스 PK(숫자 식별자) |
version |
Integer |
버전 |
interfaceId |
String |
인터페이스 ID(문자열 식별자) |
serialNumber |
String |
일련번호(예: 00001) |
comments |
String |
설명 |
businessCode |
String |
업무코드 |
interfaceType |
String |
인터페이스 유형(예: EAI) |
handlingType |
String |
처리구분(예: ONLINE) |
responseType |
String |
처리방식(예: SYNC) |
sourceSystem |
BusinessSystem |
소스 시스템 |
targetSystem |
BusinessSystem |
타겟 시스템 |
requestCommonMessageMappingId |
Long |
요청 공통 메시지 매핑 ID |
responseCommonMessageMappingId |
Long |
응답 공통 메시지 매핑 ID |
requestMapping |
MessageMapping |
요청 매핑 |
responseMapping |
MessageMapping |
응답 매핑 |
properties |
List<ResourceProperty> |
확장 속성 목록 |
MessageDefinition
메시지 정의 정보를 담는 클래스입니다.
| 필드명 | 타입 | 설명 |
|---|---|---|
resourceId |
Long |
메시지 PK (숫자 식별자) |
messageId |
String |
메시지 ID |
version |
Integer |
메시지 버전 |
name |
String |
메시지 이름 |
comments |
String |
설명 |
businessSystemCode |
String |
업무 시스템 코드 |
type |
String |
메시지 종류(BODY: 일반 메시지, COMMON: 공통 메시지) |
formats |
List<String> |
메시지 포맷 목록(예: JSON, XML) |
properties |
List<ResourceProperty> |
확장 속성 목록 |
messageFields |
List<MessageField> |
메시지 필드 목록 |
MessageField
메시지 필드 정보를 담는 클래스입니다.
| 필드명 | 타입 | 설명 |
|---|---|---|
level |
Integer |
필드 레벨(상위/하위 관계) |
sequence |
Integer |
필드 순서 |
physicalName |
String |
물리명 |
logicalName |
String |
논리명 |
fieldType |
String |
필드 타입 |
length |
String |
길이 |
mask |
Boolean |
마스킹 여부 |
decimalSize |
String |
소수점 자릿수 |
arraySize |
String |
반복횟수(배열 크기) |
defaultValue |
String |
기본값 |
encryption |
Boolean |
필드 암호화 여부 |
includeMessageId |
Long |
Include 메시지의 PK |
properties |
List<ResourceProperty> |
확장 속성 목록 |
BusinessSystem
업무 시스템 정보를 담는 클래스입니다.
| 필드명 | 타입 | 설명 |
|---|---|---|
code |
String |
업무 시스템 코드(예: THA) |
requestMessageId |
Long |
요청 메시지 PK |
requestCommonMessageIds |
List<Long> |
요청 공통 메시지 PK 목록 |
responseMessageId |
Long |
응답 메시지 PK |
responseCommonMessageIds |
List<Long> |
응답 공통 메시지 PK 목록 |
properties |
List<ResourceProperty> |
확장 속성 목록 |
|
메시지 PK는 messageDefinition 맵(Map)의 키로 사용되며, 이를 통해 실제 MessageDefinition 정보를 조회할 수 있습니다. |
ResourceProperty
리소스 확장 속성 정보를 담는 클래스입니다.
| 필드명 | 타입 | 설명 |
|---|---|---|
key |
String |
프로퍼티 키 |
value |
String |
프로퍼티 값 |
category |
String |
프로퍼티 카테고리(메시지의 경우 format) |
type |
String |
프로퍼티 타입(사용자 확장속성 / 미리 정의된 확장속성) |
PropertyType
프로퍼티 타입을 나타내는 Enum입니다.
| 값 | 설명 |
|---|---|
EXTENSION_PROPERTY |
사용자 정의 확장 속성 |
MESSAGE |
메시지 관련 속성 |
INTERFACE |
인터페이스 관련 속성 |
MessageMapping
메시지 매핑 정보를 담는 클래스입니다.
| 필드명 | 타입 | 설명 |
|---|---|---|
links |
List<FieldLink> |
매핑 연결 목록 |
expressions |
List<MappingExpression> |
매핑 표현식 목록 |
FieldLink
필드 매핑 연결 정보를 담는 클래스입니다. 특정 From 필드가 To 필드로 매핑된다는 정보를 정의합니다.
| 필드명 | 타입 | 설명 |
|---|---|---|
fromFieldPhysicalName |
String |
From 필드 물리명 |
toFieldPhysicalName |
String |
To 필드 물리명 |
MappingExpression
매핑 표현식 정보를 담는 클래스입니다.
| 필드명 | 타입 | 설명 |
|---|---|---|
expression |
String |
매핑 표현식 |
toFieldPhysicalName |
String |
To 필드 물리명 |
의존성 추가
커스텀 구현 프로젝트에서 이 라이브러리를 사용하려면 JAR 파일을 직접 프로젝트에 추가합니다.