docs(10_Wiki): Topic_Business/General/Graphic/Programming을 Topics/ 하위로 이동

최상위 10_Wiki/Topic_*였던 4개 카테고리 폴더를 10_Wiki/Topics/Topic_* 로 재배치.
콘텐츠 변경 없음(순수 폴더 이동) — Topics/ 하위 나머지 폴더는 이미 지난 커밋에서
전부 정리된 상태(잔존 항목은 에이전트 운영 상태 및 사용자가 보존을 요청한
업데이트0615/무제 3.canvas 뿐).
This commit is contained in:
Antigravity Agent
2026-07-05 00:44:01 +09:00
parent e9cbf23ab5
commit 9a135bd19d
6127 changed files with 0 additions and 0 deletions
@@ -0,0 +1,163 @@
---
id: wiki-2026-0508-interoperability
title: Interoperability
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Interop, System Integration, Cross-Platform Compatibility]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [systems, protocols, integration, standards]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
language: multi
framework: standards
---
# Interoperability
## 매 한 줄
> **"매 different systems 가 매 friction 없이 함께 작동하는 능력"**. 매 syntactic (data format), 매 semantic (meaning), 매 organizational (governance) 의 3 layer 로 분해. 매 2026 의 hot topics: MCP (Model Context Protocol), OpenAPI, gRPC, WebAssembly Component Model.
## 매 핵심
### 매 3 layers of interop
- **Syntactic**: 매 byte-level format 의 agreement (JSON, Protobuf).
- **Semantic**: 매 field-meaning 의 agreement (schema + ontology).
- **Organizational**: 매 governance, versioning, deprecation policy.
### 매 enablers
- **Open standards**: HTTP, OpenAPI, JSON-Schema, OAuth 2.1.
- **Schema-first**: Protobuf, Avro, GraphQL SDL.
- **Capability negotiation**: Accept headers, gRPC reflection, MCP capability handshake.
- **Adapter pattern**: 매 N×M integration → N+M with hub.
### 매 응용
1. **AI tool ecosystem**: MCP 매 LLM ↔ tools 의 universal protocol.
2. **Microservices**: gRPC + Protobuf 매 polyglot interop.
3. **Healthcare**: HL7 FHIR 매 EHR interop.
4. **Cross-cloud**: Open Container Initiative (OCI), CNCF standards.
## 💻 패턴
### MCP server (2026 standard)
```python
# Model Context Protocol — Anthropic 2024, ubiquitous in 2026
from mcp.server import Server
from mcp.types import Tool, TextContent
server = Server("my-tool")
@server.list_tools()
async def list_tools() -> list[Tool]:
return [Tool(
name="search",
description="Search the knowledge base",
inputSchema={"type": "object", "properties": {"q": {"type": "string"}}}
)]
@server.call_tool()
async def call_tool(name: str, args: dict) -> list[TextContent]:
if name == "search":
return [TextContent(type="text", text=do_search(args["q"]))]
```
### OpenAPI contract
```yaml
# 매 syntactic + semantic interop in one file
openapi: 3.1.0
info: { title: User API, version: 2.0.0 }
paths:
/users/{id}:
get:
parameters:
- { name: id, in: path, required: true, schema: { type: string } }
responses:
'200':
content:
application/json:
schema: { $ref: '#/components/schemas/User' }
```
### Protobuf schema-first
```protobuf
// user.proto — language-neutral, version-tolerant
syntax = "proto3";
package user.v1;
message User {
string id = 1;
string email = 2;
reserved 3; // 매 deprecated field — 매 forward compat
optional string display_name = 4;
}
```
### Adapter pattern (N+M interop)
```python
class PaymentAdapter:
def charge(self, amount: int, currency: str) -> str: ...
class StripeAdapter(PaymentAdapter):
def charge(self, amount, currency):
return stripe.Charge.create(amount=amount, currency=currency).id
class TossAdapter(PaymentAdapter):
def charge(self, amount, currency):
return toss.payments.confirm(amount=amount).payment_key
```
### Wasm Component Model (2026 cross-language)
```toml
# 매 binary interop — Rust ↔ Python ↔ Go via Wasm components
[package]
name = "my-component"
version = "0.1.0"
[lib]
crate-type = ["cdylib"]
[dependencies]
wit-bindgen = "0.30"
```
## 매 결정 기준
| 상황 | 표준 |
|---|---|
| LLM ↔ tools | MCP |
| REST API contract | OpenAPI 3.1 |
| High-throughput RPC | gRPC + Protobuf |
| Cross-language binary | Wasm Component Model |
| Healthcare data | HL7 FHIR R5 |
| Auth | OAuth 2.1 + OIDC |
**기본값**: 매 schema-first + open standard. 매 proprietary format 의 X.
## 🔗 Graph
- 부모: [[System-Design]] · [[Distributed-Systems]]
- 변형: [[API-Design]]
- 응용: [[MCP]] · [[Protocols]] · [[Microservices]]
## 🤖 LLM 활용
**언제**: 매 protocol selection, 매 schema design review, 매 adapter scaffolding.
**언제 X**: 매 single-team monolith 의 internal modules — over-engineering.
## ❌ 안티패턴
- **Snowflake protocols**: 매 in-house custom protocol → 매 every consumer N×N adapters.
- **Schema drift**: 매 producer / consumer 매 separate schema copies → 매 silent breakage.
- **No versioning**: 매 breaking change broadcast → cascade failure.
- **Tight coupling via DB**: 매 shared DB schema 매 anti-interop.
## 🧪 검증 / 중복
- Verified (W3C, IETF, IEEE standards; Anthropic MCP 2024 spec; gRPC.io; CNCF landscape 2026).
- 신뢰도 A.
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — 3-layer interop, MCP/OpenAPI/Wasm patterns |