hyeongwoo
12812a6c33
Wave L: 외부 연동·전문처리 (ISO8583 와이어·소켓 왕복·클리어링 파일, 패리티→~89%)
...
외부 카드망 연동(전문처리)을 실제 프로토콜로 구현 — 마이그레이션 최난이도 계층
(소켓·바이너리 전문·프레이밍·상태처리)이 실제로 동작.
■ ISO 8583 와이어 코덱 (common/acq_iso8583.c)
- 1차 비트맵(64bit) + DE 인코딩/파싱(PAN LLVAR·금액·STAN·RRN·응답코드·MID/TID 등).
- iso_build/iso_parse 왕복 무손실 검증(비트맵 7220000000C08000 정확).
■ 외부 카드망 시뮬레이터 (clients/acq_extsw.c, :9500)
- TCP 서버: 길이접두 프레이밍 + ISO 전문. 0200 수신→승인판정→0210 응답 조립
(DE38 승인번호·DE39 응답코드). 금액임계/STAN으로 일부 거절(05).
■ 전문 왕복 드라이버 (clients/acq_netdrv.c)
- 실매입건→0200 조립→소켓 전송→0210 수신·파싱→mg_netlog 적재(RTT·응답코드).
- 실측: 200건 왕복 승인198/거절2/오류0, 0200→0210, 평균 RTT 0.3ms.
■ 클리어링 파일 교환 (clients/acq_clrfile.c)
- cl_presentment→고정폭 정산파일(/app/out/CLR_BC_YYYYMMDD.dat) HD/DT/TR+체크섬 생성,
cl_clearing_file 등록. 실제 SFTP 배치 파일교환 대역. 샘플 파일 커밋.
■ 스키마·부팅·화면
- 74-netio.sql: mg_netlog(왕복로그)·cl_clearing_file(파일 레지스트리).
- entrypoint.sh: acq_extsw 부팅 자동기동(:9500).
- build.sh: 클라이언트에 libacqcommon.a(ISO 코덱) 링크.
- 시스템현황에 "외부망 전문 왕복"·"클리어링 파일 교환" 패널.
패리티 재채점 ≈89/100. 남은 ~11%는 상용회선·HSM·다중센터 DR 등 배포 인프라.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 14:59:36 +09:00
hyeongwoo-choi
5c819239ad
업무화면 포털 + HTTP→tpcall 게이트웨이 (검증용 화면 계층)
...
- app/src/clients/acq_httpgw.c: C 경량 HTTP 게이트웨이(:8090, libatmiclt만 링크)
/api/call?svc=..&FLD=.. → UBF(CBchg) → (옵션 XA tpbegin/tpcommit) tpcall → JSON
레거시 화면(Xplatform)→Webtier→Tuxedo 구조의 Webtier 대응
- app/ui/index.html: Xplatform풍 한국어 업무포털 (좌측 메뉴트리·폼·결과그리드·거래저널)
화면 9종: 매입접수(XA체인)/상태조회/가맹점집계/한도조회/MDR/잔액검증/일마감/가맹점/Luhn
+ 333 서비스 자유호출 화면
- entrypoint: 게이트웨이 자동 기동, compose: 8090 포트 노출
- 검증: HTML 서빙, ACQUIRE 체인 HTTP 호출 → XA 커밋(purchase status=S), Luhn T_RC=0,
pg_prepared_xacts=0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 00:29:05 +00:00
forge-bot
05a0ff3e56
Phase 2a: 모듈서버 패턴 + 재사용 빌드시스템 (ac 모듈 38서비스 실동작)
...
- ac_svr(30 매입서비스 advertise) + rc_svr/st_svr, dbio 정적라이브러리, common 라이브러리
- app/build.sh: 모듈 자동발견(app/src/<mod>/<mod>_svr.pgc) → ecpg+buildserver+ndrxconfig 생성
- ac 배치 2종, 스키마 9테이블, 검증: 41서비스 AVAIL, 체인·배치 psql 커밋, prepared_xacts=0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 09:37:17 +00:00
forge-bot
e6e29e6b5d
Phase 1: 실동작 Enduro/X + PostgreSQL XA 매입 슬라이스
...
- Enduro/X 7.0.12 소스빌드 이미지(-DENABLE_POSTGRES=ON, libndrxxaecpg XA 스위치)
- docker-compose: postgres(max_prepared_transactions=100) + endurox app
- ECPG XA 서비스 3종: ACQUIRE→RECONCILE→SETTLE (tpservice + EXEC SQL)
- 클라이언트 tpbegin/tpcall체인/tpcommit → tmsrv 2PC(prepare/commit) 원자 커밋
- 검증: 서비스 AVAIL, 커밋 row(status=S) psql 확인, 롤백 시 무잔존, pg_prepared_xacts=0
- 규명된 런타임 요건: sysctl fs.mqueue.*, ulimit msgqueue/nofile, XA open-str JSON
- docs/architecture.md, README, service-catalog 설계
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 09:16:12 +00:00