WoT로 IoT 기기 상호운용성을 설계하는 방법
WoT(Web of Things)의 Thing Description, Servient, 통신 모델과 표준화 흐름을 통해 IoT 상호운용성 설계 방식을 정리한다.
2026-08-14 · 최초 발행 2025-08-10
IoT의 파편화를 웹 인터페이스로 다루는 WoT
WoT(Web of Things)는 기존 IoT 기기를 웹 기술로 연결해 상호운용성을 높이기 위한 아키텍처 및 표준 체계다. 서로 다른 IoT 플랫폼, 프로토콜, 데이터 형식이 공존하는 환경에서 통합 문제를 웹 기술 기반으로 풀어내는 접근이다.
IoT(Internet of Things)가 사물을 인터넷에 연결하는 개념과 기술이라면, WoT는 연결된 기기를 웹 기술로 통합하고 상호운용하게 만드는 방법론에 가깝다. IoT가 연결성에 초점을 둔다면 WoT는 표준화된 인터페이스와 통합에 무게를 둔다.
Thing Description이 기기 인터페이스를 설명하는 방식
Thing Description(TD)은 WoT의 중심 요소다. 사물의 메타데이터와 인터페이스를 JSON-LD 형식으로 기술하며, 사물이 제공하는 속성(Properties), 동작(Actions), 이벤트(Events)를 정의한다. 이를 통해 사물과 상호작용하는 방식을 표준화된 형태로 제공한다.
{
"@context": "https://www.w3.org/2019/wot/td/v1",
"id": "urn:dev:wot:com:example:servient:smartlight",
"title": "Smart Light",
"securityDefinitions": {
"basic_sc": { "scheme": "basic", "in": "header" }
},
"security": ["basic_sc"],
"properties": {
"status": {
"type": "string",
"forms": [{ "href": "https://example.com/smartlight/properties/status" }]
}
},
"actions": {
"toggle": {
"forms": [{ "href": "https://example.com/smartlight/actions/toggle" }]
}
},
"events": {
"overheating": {
"forms": [{ "href": "https://example.com/smartlight/events/overheating" }]
}
}
}
WoT Servient는 생태계의 기본 빌딩 블록이다. Consumer인 클라이언트 역할과 Thing인 서버 역할을 모두 수행할 수 있는 소프트웨어 스택으로, 프로토콜 변환, TD 처리, 보안 기능 등을 맡는다.
WoT Scripting API는 웹 개발자가 익숙한 JavaScript로 사물을 프로그래밍할 수 있게 한다. 사물의 동작 로직과 데이터 처리, 다른 사물과의 상호작용을 이 API로 정의할 수 있다.
장치 자원과 운영 구조에 따른 통신 모델
사물이 자체적으로 WoT Servient를 실행해 다른 사물이나 클라이언트와 직접 통신할 수 있다. 이 직접 통신 모델은 리소스 요구사항이 높지만, 지연시간이 짧고 독립적으로 운영할 수 있다.
리소스가 제한된 사물에는 게이트웨이 통신 모델을 적용할 수 있다. 게이트웨이가 WoT Servient 역할을 맡아 프로토콜 변환과 보안 처리를 대신 수행한다.
클라우드 통신 모델에서는 클라우드 서비스가 WoT Servient를 호스팅한다. 대규모 사물 네트워크 관리와 고급 분석에 적합하다.
W3C가 이끄는 WoT 표준화
W3C(World Wide Web Consortium)는 WoT 표준화를 주도하고 있다. 2019년에는 WoT Architecture와 WoT Thing Description 표준이 발표됐고, 2020년에는 WoT Scripting API 및 WoT Security and Privacy Guidelines 표준 작업이 진행됐다. 현재는 WoT Profile, WoT Discovery 등의 확장 표준이 개발되고 있다.
스마트 홈부터 도시 인프라까지
스마트 홈에서는 서로 다른 제조사의 기기를 WoT로 통합할 수 있다. 스마트 조명, 온도조절기, 보안 시스템을 단일 인터페이스에서 제어하는 방식이다.
산업용 IoT(IIoT)에서는 공장 자동화 시스템의 센서, 액추에이터, 컨트롤러를 통합하는 데 활용할 수 있다. 생산 라인 모니터링 및 제어 시스템이 한 예다.
스마트 시티에서는 교통 관리, 에너지 소비, 공공 안전처럼 도시 인프라를 구성하는 IoT 시스템을 상호운용적으로 연결하는 데 적용할 수 있다.
구현에 쓰이는 프로토콜과 데이터 형식
WoT 구현에서는 HTTP/HTTPS, WebSocket, MQTT, CoAP를 사용할 수 있다. HTTP/HTTPS는 기본적인 웹 통신 프로토콜이며, WebSocket은 실시간 양방향 통신에 쓰인다. MQTT는 경량 발행-구독 메시징 프로토콜이고, CoAP는 제한된 환경을 위한 특수 웹 전송 프로토콜이다.
데이터 형식으로는 JSON/JSON-LD, CBOR, RDF가 사용된다. JSON/JSON-LD는 기본 데이터 형식과 시맨틱 확장을 제공하며, CBOR는 제한된 환경을 위한 바이너리 객체 표현이다. RDF는 시맨틱 웹 데이터 모델이다.
보안 메커니즘에는 OAuth 2.0 / OpenID Connect를 통한 인증 및 권한 부여, DTLS 전송 계층 보안, Object Security 객체 레벨 암호화가 포함된다.
구현 도구와 프레임워크
Node-RED는 IBM에서 개발한 플로우 기반 프로그래밍 도구다. WoT 응용 프로그램을 위한 시각적 인터페이스를 제공하고, 다양한 프로토콜과 서비스를 연결할 수 있는 노드를 제공한다.
Eclipse ThingWeb은 WoT 표준 구현을 위한 오픈소스 도구 모음이다. node-wot은 JavaScript/TypeScript 기반 WoT 런타임이며, Thingweb Directory는 TD 검색 및 관리 서비스다.
Mozilla WebThings는 개인 사용자를 위한 WoT 구현 플랫폼으로, Gateway 소프트웨어와 Framework 라이브러리를 제공한다.
확산을 가로막는 운영 과제
보안과 개인정보 보호에서는 서로 다른 보안 메커니즘의 상호운용성, GDPR 등의 개인정보 보호 규정 준수, 대규모 네트워크에서 안전한 인증 및 권한 관리가 과제다.
확장성 측면에서는 수십억 개의 사물을 연결하는 대규모 시스템을 구성하는 방법과 제한된 리소스 환경에서의 효율적 운영을 함께 다뤄야 한다. 시맨틱 상호운용성도 남는다. 서로 다른 도메인과 응용 프로그램이 의미를 이해할 수 있도록 공통 온톨로지와 시맨틱 모델을 개발해야 한다.
IoT 장치가 폭발적으로 증가하면서 WoT의 중요성도 커지고 있다. 에지 컴퓨팅과의 통합은 더 효율적인 분산 아키텍처로 이어질 수 있으며, AI/ML과의 결합은 지능형 WoT 시스템으로의 확장을 가능하게 한다. 디지털 트윈, 메타버스 등 신기술과의 융합도 이어지고 있다.