Skip to main content

강한 커스터마이징(Strong Cutomizing)

다보리 컴포저블의 표준화된 테이블 구조는 통합 관리, 데이터의 일관성, 유지보수 효율성 등
여러 가지 면에서 큰 장점을 제공합니다. 만약 특정 애플리케이션에서 구조 변경이 발생했을
때 db-update를 실행하면 메인 API 서버에서 돌고 있는 모든 애플리케이션의 테이블 구조를
동기화할 수 있습니다. 하지만 모든 애플리케이션이 동일한 데이터 구조를 사용함에 따라 유
연성의 제한이 생길 수 있습니다.

 

이러한 부분들은 강한 커스터마이징(Strong Customizing)을 통해 표준 테이블 구조에서 벗어
나 다양하게 커스터마이징할 수 있습니다. 커스터마이징 테이블에는 테이블명에 특정 prefix를
 붙여 기존 표준 테이블과 구분합니다.

예를 들어, dbr_item이라는 표준 테이블을 커스터마이징하여 zzz_dbr_item과 같이 름을블명
을 변경할 수 있습니다. 이렇게 테이블을 커스터마이징하여 각 애플리케이션 별로 개성 있는 데이
데이터 구조를 구축할 수 있습니다.

또한, Strong Cutomizing은 Java, Python, Golang으로 백엔드API 서버가 구축되어 있습니다. 이
API 서버를 통해 해당 플리케이션의 개발 언어와 없이하게 다보리 컴포저블의 게이트웨이
서버를 이용할 수 있습니다. 이를 통해 각 애플리케이션은 고유한 요구사항을 반영한 맞춤형
데이터 구조를 가질 수 있으면서도, 다보리 컴포저블의 통합 관리 및 일관성 유지의 장점을 활
용할 수 있습니다.

 

강한커스터마이징 방법

main-api server에서 반환받은 gate-token을 통해 강한 커스터마이징 api를 이용하기 위해서는 main-api server에서 발급받은 key-pair 값과 각 api 서버의 설정 파일에 대한 설정이

필요합니다.  설정에 대한 설명은 다음과 같습니다.

image.png

파이썬을 예시로 들면 app/conf/config_select.json 파일과 local_config.json 파일을 확인해야 합니다.
app/conf/config_select.json 파일에는 다음과 같이 설정파일을 찾을 수 있도록 지정할 수 있습니다.

강한

커스터마이징
api에서는
{
    "ConfSelect": "local",
    "ConfPostFix": "_config.json"
}
ConfSelect와 ConfPostFix를 통당 어플리케이션과 연결된 db의 모든 테이블 구조를 불러오고 프론트 서버에서

파일을 테이블의찾을

테이블있도록 구조 변경 

 

kind: reverse작성합니다.
name:서버에서는 weberp_db
app/conf/config_select.json
#파일의 GateTokenDev#ConfSelect와 ConfPostFix를 통해 설정 파일을 찾고
gate_token_dev:
source:
config_select.json파일을
읽어 database:설정값들을
# GateTokenBase Start #
  conn_str: 
  remote_ip: localhost
  device_desc: API-Developer-Device
  front_ip:
  front_host: 
  referer:
  sso_sub_id: 0
  user_id: 
  user_perm_id: 
  member_id: 
  member_perm_id: 
  sgroup_id: 
  branch_id: 
  storage_id: 
  agroup_id: 
  member_buyer_id: 
  member_company_id: 
  company_sort: AB
  sales_qty_point: 0
  sales_prc_point: 0
  sales_amt_point: 0
  purch_qty_point: 0
  purch_prc_point: 0
  purch_amt_point: 0
  stock_qty_point: 0
  stock_prc_point: 0
  stock_amt_point: 0
  acc_amt_point: 0
  ofc_code: aaa
# GateTokenBase End #

targets:
- type: codes
  language: python
  output_dir: 확인합니다./models/table
config_select.json 파일에서는 {"key" : "", "value" : "" } 형식으로 설정값들이 정의되어 있습니다.
{ "Key": "IsYDBFixed", "Value": "No" } 여기서 IsYDBFixed의 value를 yes로 설정해놓으면 gate-token 없이도 

게이트웨이 서버를 이용할 수 있습니다.