728x90
반응형
SMALL
1)개념
- SOAP (Simple Object Access Protocol)
엄격한 프로토콜(XML 기반 메시지 규격). WSDL로 인터페이스(계약) 정의, WS-* 스택(보안/트랜잭션/신뢰성) 제공. - REST (Representational State Transfer)
아키텍처 스타일. HTTP의 리소스(URI) + 표준 메서드(GET/POST/PUT/DELETE) + 표현(JSON 등) 활용. 규약보다 관례 중심, 경량.
2) 메시지/전송/상태
| 항목 | SOAP | REST |
| 전송 | HTTP(S) 주로(또는 SMTP/JMS 등) | HTTP(S) |
| 메시지 | XML 고정(SOAP Envelope/Body/헤더) | JSON 주류, XML/HTML 등 자유 |
| 계약 | WSDL(엄격한 스키마/오퍼레이션) | OpenAPI/Swagger(선택·문서화) |
| 상태성 | 보통 무상태(상태ful 가능) | 무상태 권장 |
3) 보안·트랜잭션·신뢰성
| 주제 | SOAP | REST |
| 보안 | WS-Security(메시지 서명/암호화, 토큰) + TLS | TLS(HTTPS), OAuth2/OIDC, JWT 등 |
| 트랜잭션 | WS-AtomicTransaction 등 표준 | 보통 사가(Saga) 등 응용 레벨 보상 |
| 신뢰성 | WS-ReliableMessaging | 재시도/멱등성/Idempotency-Key 등 경량 패턴 |
4) WSDL & UDDI
- WSDL (Web Services Description Language)
- 역할: SOAP 웹서비스의 계약(설명서) — 타입(XSD), 메시지, 연산, 바인딩(SOAP/HTTP), 엔드포인트(URL) 정의.
- 주요 요소(WSDL 1.1): <types>, <message>, <portType>, <binding>, <service>.
- UDDI (Universal Description, Discovery, and Integration)
- 역할: 서비스 레지스트리(카탈로그). WSDL 위치/엔드포인트를 등록·검색.
- 데이터 모델(핵심): BusinessEntity → BusinessService → BindingTemplate(엔드포인트+WSDL 참조), tModel(규약 식별자).
- 관계/흐름(3단계)
Publish(제공자: WSDL 작성→UDDI 등록) → Find(소비자: UDDI로 검색) → Bind/Invoke(WSDL로 클라이언트 생성→SOAP 호출)
요약
- SOAP = 프로토콜, XML, WSDL/WS-*: 무겁지만 강한 계약·보안·트랜잭션
- REST = 스타일, HTTP 활용, JSON 중심: 단순·경량·웹 친화
- WSDL = 설명서(계약), UDDI = 설명서 등록/검색 레지스트리
- 연결 순서: Publish → Find → Bind/Invoke
728x90
반응형
LIST