Export Model 라이브러리

본 모듈은 EIMS의 각 커스텀 구현 모듈에서 공통으로 사용하는 EIMS 리소스 객체를 정의합니다.

인터페이스, 메시지, 사용자 정보 등 EIMS에서 관리하는 핵심 리소스들의 데이터 모델을 제공합니다.

라이브러리 적용 모듈

본 모듈은 다음 커스텀 구현 모듈에서 공통으로 사용됩니다.

모듈 사용 클래스

Adapter 라이브러리

InterfaceDefinition, MessageDefinition, UserSimpleInfo, CommonMessageMappingExpression

Custom Action 라이브러리

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>

매핑 표현식 목록

필드 매핑 연결 정보를 담는 클래스입니다. 특정 From 필드가 To 필드로 매핑된다는 정보를 정의합니다.

필드명 타입 설명

fromFieldPhysicalName

String

From 필드 물리명

toFieldPhysicalName

String

To 필드 물리명

MappingExpression

매핑 표현식 정보를 담는 클래스입니다.

필드명 타입 설명

expression

String

매핑 표현식

toFieldPhysicalName

String

To 필드 물리명

CommonMessageMappingExpression

공통 메시지 매핑 표현식 정보를 담는 클래스입니다.

필드명 타입 설명

resourceId

Long

매핑 PK

name

String

매핑 이름

mapping

MessageMapping

매핑 정보

UserSimpleInfo

사용자 정보를 담는 클래스입니다.

필드명 타입 설명

resourceId

Long

사용자 PK

id

String

사용자 ID

name

String

사용자명

email

String

이메일

role

String

사용자 유형

phoneNumber

String

휴대폰 번호

contactNumber

String

연락처

의존성 추가

커스텀 구현 프로젝트에서 이 라이브러리를 사용하려면 JAR 파일을 직접 프로젝트에 추가합니다.

필요 JAR 파일

파일명 설명

eims-export-model-{version}.jar

EIMS Export Model 라이브러리

Maven(로컬 JAR 참조)

<dependency>
    <groupId>com.tmax.anyeims</groupId>
    <artifactId>eims-export-model</artifactId>
    <version>{version}</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/libs/eims-export-model-{version}.jar</systemPath>
</dependency>

Gradle(로컬 JAR 참조)

dependencies {
    implementation files('libs/eims-export-model-{version}.jar')
}