--- 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 |