PML Server, 흩어진 제품 상태 정보를 하나의 API로 모으는 법

EPC/RFID·바코드·IoT 센서·MES/ERP에서 발생하는 제품 메타데이터를 PML로 수집·저장·제공하는 서버 아키텍처와 보관 정책, 저장소 선택 기준을 정리한다.

2026-08-13 · 최초 발행 2025-11-26

제품명은 ERP에, 현재 상태는 MES에, 위치는 RFID 게이트웨이 로그에 흩어져 있다면 "이 제품이 지금 어디에 있고 무슨 상태인가"라는 질문에 답하는 데만 여러 시스템을 뒤져야 한다. PML Server는 이 흩어진 제품 메타데이터를 PML(Product Markup Language) 형태로 모아 하나의 API로 제공하는 서버 컴포넌트다. EPC/RFID, 바코드, IoT 센서, MES/ERP 등 이질 시스템에서 발생하는 제품 상태 정보를 표준화해 제공하는 데이터 허브 역할을 한다. PML은 Auto-ID/EPCglobal 계열의 XML 기반 제품 기술 언어이며, 실제 이벤트 유통에서는 GS1 EPCIS와의 공존·연계가 필요하다(최신 표준 정합성은 확인이 필요하다).

파이프라인의 흐름

PML Server는 PML 스키마에 맞춰 제품 메타데이터를 관리하는 서버 구성 요소 총칭이며, 수집(ingest)→검증(validate)→정규화(normalize)→저장(store)→제공(serve)의 파이프라인을 제공하는 데이터 플랫폼이다. 다루는 데이터 범위는 제품식별자(EPC/Serial), 제품명, 현재상태(가공·재고·출하 등), 위치(좌표/존/창고), 시각 정보, 센서값(온도·진동), 소유·권한 메타데이터에 이른다. PML은 XML 중심의 제품 기술 언어 개념이지만, 실제 이벤트 유통은 GS1 EPCIS가 널리 쓰인다. PML Server는 PML 문서를 직접 저장·제공하거나 PML↔EPCIS 매핑 계층으로 구현될 수 있다(최신 정보 확인 필요).

구성 요소별 역할

PML 스키마·검증 엔진은 XML Schema(XSD) 기반 문서 검증을 수행하고, 스키마 진화(버전) 관리와 호환성 규칙(SemVer·Deprecation 정책)을 제공한다. 수집·적재 파이프라인은 RFID 리더, 바코드 스캐너, 게이트웨이, MES/ERP, IoT 브로커(MQTT/Kafka)로부터 데이터를 받아 어댑터·커넥터 기반 비동기 큐잉과 역압(backpressure) 제어를 적용한다. 저장·보관(ILM) 계층은 Hot(최근 90일)·Warm(1년)·Cold(5년) 티어링을 구성하고 TTL 인덱스, 파티셔닝, 압축·아카이빙, 규제 데이터 WORM 정책을 지원한다. 데이터 제공 API·서브스크립션은 REST/GraphQL 조회와 변경 스트림(Webhook/MQTT/Kafka)을 제공하며 필드·행 단위 권한(RBAC/ABAC), 속성 기반 필터링, 페이지네이션·시간범위 쿼리를 지원한다. 운영·보안은 지연·에러율·적재율 모니터링, 감사지표, 멀티테넌시, 암호화(전송 TLS 1.2+, 저장 AES-256), KMS 기반 비밀 관리를 포함하며 장애 복구와 재처리(DLQ) 메커니즘을 제공한다.

입력부터 소비자까지, 트랜잭션이 흐르는 경로

유효오류입력 소스RFID/바코드/MES/IoTPML 어댑터포맷 변환·정규화스키마 검증XSD·비즈니스 규칙저장 트랜잭션Hot/Warm 파티션DLQ/에러 저장소재처리·알림색인/서치필드 인덱싱이벤트 브로커변경 스트림API 게이트웨이REST/GraphQL소비자WMS/MES/Analytics

입력 소스는 RFID/EPC 이벤트, 스캔 로그, IoT 텔레메트리, ERP 마스터이며, 중복 방지를 위해 EPC+Timestamp+Seq 기반 멱등 키를 적용한다. 처리 단계에서는 스키마(XSD) 검증과 도메인 규칙(필수 필드, 상태 전이 규칙)을 검사하고, 실패 시 DLQ로 격리해 SLA 내 재처리한다. 저장은 단일 문서 쓰기 트랜잭션을 보장하며, 색인은 비동기 Eventually Consistent로 처리하고 API는 읽기 일관성 수준을 강·약 중에서 선택할 수 있다. 출력은 동기 조회(API)와 비동기 구독(웹훅/MQTT/Kafka)으로 나뉘며 장애 시 재시도·백오프·서킷브레이커가 적용된다.

도입되는 현장들

물류·창고 관리에서는 입·출고 이벤트와 위치 이동 내역을 PML로 축적해 재고 정확도를 높이고 피킹을 최적화한다. 제조 공정 추적에서는 공정 단계별 현재상태(가공/검사/대기)와 설비 위치를 기록해 품질 추적성과 공정 병목 분석을 지원한다. 콜드체인·규제 준수에서는 온도·습도 센서값과 위치를 결합해 보관하고 감사 대응과 리콜 범위 산정을 신속하게 한다. 애프터서비스·현장 운영에서는 제품별 상태 이력과 부품 교체 기록을 제공해 예지보전 모델의 학습 데이터로 활용한다.

PML 문서와 API 조회 예시

예시 PML(XML) 문서 — 환경: XML 1.0, UTF-8, 애플리케이션 내부 네임스페이스 가정.

<?xml version="1.0" encoding="UTF-8"?>
<pml:Product xmlns:pml="http://example.com/pml/v1" version="1.0">
  <pml:Identifier type="EPC">urn:epc:id:sgtin:0037000.12345.400</pml:Identifier>
  <pml:Name>Industrial Pump Model X</pml:Name>
  <pml:State code="IN_PROCESS">가공중</pml:State>
  <pml:Location>
    <pml:Site>DC-ICN-01</pml:Site>
    <pml:Zone>ZONE-A3</pml:Zone>
    <pml:Geo lat="37.5665" lon="126.9780"/>
  </pml:Location>
  <pml:ObservationTime>2025-11-23T09:32:15Z</pml:ObservationTime>
  <pml:Sensors>
    <pml:Temperature unit="C">6.5</pml:Temperature>
  </pml:Sensors>
  <pml:Ownership org="ACME-KR" />
</pml:Product>

API 조회 예시 — 환경: HTTP/1.1, JSON, OAuth2 Client Credentials.

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.example.com/pml/v1/products/urn:epc:id:sgtin:0037000.12345.400?expand=history&from=2025-11-01"

응답 요약은 현재상태, 최근 위치, 이력 배열(시간순), 선택 필드 마스킹(권한 기반)을 담는다.

저장소, 무엇을 기준으로 고를 것인가

저장소 유형 성능(쓰기/읽기) 확장성 일관성 안정성 운영 편의
RDBMS(파티셔닝) 중/중, 조인 강점 수평 확장 난이도 중 강한 트랜잭션 일관성 성숙도 높음 스키마 엄격, 마이그레이션 부담
문서지향 DB 중상/상, 문서 조회 강점 수평 확장 용이 기본 최종 일관성(옵션) 성숙도 중상 스키마 유연, 인덱스 설계 중요
시계열 DB 상/상, 시계열 압축·다운샘플 수평 확장 용이 파티션 범위 일관성 안정성 중상 TTL·보관 정책 내장, 복합 쿼리 제한

마스터 데이터·강한 트랜잭션이 필요하면 RDBMS, 문서 중심 PML 저장·검색이 필요하면 문서지향 DB, 대량 시계열(센서·이력)이라면 시계열 DB가 맞다. 실무에서는 하이브리드 구성이 권장된다.

보관 정책과 운영에서 지켜야 할 선

ILM·아카이빙은 Hot 90일, Warm 12개월, Cold 5년을 기본 정책으로 하고, 규제 데이터는 WORM 버킷에 5~7년 보관하며 색인 TTL과 데이터 TTL을 분리 운용한다. 백업·복구는 일일 전체와 시간대별 증분을 병행해 RPO 15분 이내, RTO 1시간 이내를 목표로 하고 주기적으로 복구 리허설과 체크섬 검증을 수행한다. 보안·접근 제어는 전송·저장 암호화, 90일 주기 키 로테이션, 소유·위치 민감도에 따른 필드 수준 마스킹을 적용하며 다중 테넌트 분리와 감사 로그 불변성을 보장한다. 트레이드오프도 뚜렷하다 — 캐시는 지연을 줄이지만 신선도가 떨어지고, 강한 일관성은 처리량을 갉아먹으며, WORM 보관은 비용을 늘리고, 이벤트 스트림을 풍부화할수록 처리 지연이 늘어난다.

도입 절차: 요구사항부터 확장까지

요구사항 정리 단계에서는 제품 속성 카탈로그(제품명, 상태 코드 체계, 위치 모델)를 정의하고, SLA(쓰기·읽기 QPS, 95퍼센타일 지연), 규제 보관 요건을 수립한다. 스키마·모델 확정 단계에서는 PML XSD를 설계하고 상태 전이 규칙(State Machine)을 정의하며 EPCIS 매핑 사양(선택)을 문서화한다. PoC·성능 검증 단계에서는 2주간 샘플 소스를 연동해 95퍼센타일 조회 지연 150ms 이하, 중복·순서 보장 테스트, 네트워크·스토리지 장애 주입 실험을 진행한다. 확장·운영 전환 단계에서는 샤딩 키(EPC 해시+시간) 기반 수평 확장 계획, 모니터링·알림 플레이북, 데이터 품질 지표를 도입한다.

도입이 만드는 숫자

정량 효과로는 재고 정확도가 +25%p 오르고, 피킹·조회 지연이 3060% 단축되며, 리콜 범위 산정 시간이 50% 이상, 수작업 입력 오류가 70% 이상 줄어든다. 정성 효과로는 실시간 가시성 확보, 감사 대응 용이성 증대, 시스템 간 데이터 표준화로 인한 통합 비용 감소가 뒤따른다.

PML Server가 맡는 역할을 한 줄로 줄이면, 제품명·현재상태·위치 같은 핵심 메타데이터를 표준 형태로 지속 관리·제공하는 데이터 허브다. 수집·검증·저장·제공 전 과정을 체계화하고 보관 정책·보안을 처음부터 내재화할 때 신뢰성과 확장성을 함께 얻을 수 있으며, EPCIS 등 표준 연계와 하이브리드 저장소 전략을 결합한 단계적 도입이 현실적이다.

PML Server데이터플랫폼RFIDIoT보관정책