๐๏ธ ์น ์๋น์ค ์ธํฐํ์ด์ค: SOAP์ REST ๋น๊ต ๋ถ์ | ๐์ ์ฒ๊ธฐ ์ค๊ธฐ ๋๋น
์์ฝ
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ์ํ์ ํต์ฌ ์ฃผ์ ์ธ ์น ์๋น์ค ์ธํฐํ์ด์ค ๋ฐฉ์์ ๋ ๊ฐ์ง ํ๋ฆ, SOAP๊ณผ REST๋ฅผ ๋น๊ต ๋ถ์ํฉ๋๋ค. SOAP, WSDL, UDDI ์ผ์ด์ฌ์ ํ๋์ ์ธ REST ์ํคํ ์ฒ์ ์ฐจ์ด์ ์ ์์๋ณด๊ณ ์ค๊ธฐ ๋๋น ๋ฌธ์ ๋ก ๋ง๋ฌด๋ฆฌํฉ๋๋ค.
๐ก ์น ์๋น์ค ์ธํฐํ์ด์ค ๋ฐฉ์์ ์ญ์ฌ์ ๊ฐ ๊ธฐ์ ์ ์ญํ ์ ์ดํดํ๋ ๊ฒ์ ์ ์ฒ๊ธฐ ์ค๊ธฐ ์ํ์ ์ค์ ํฌ์ธํธ์ ๋๋ค. ์ด ํฌ์คํธ์์๋ ํด๋์ํ ๋ฐฉ์์ ๋ํ์ฃผ์์ธ SOAP๊ณผ ํ๋์ ์ธ REST๋ฅผ ๋น๊ตํ๋ฉฐ ๊ทธ ์ฐจ์ด๋ฅผ ๋ช ํํ ์์๋ด ๋๋ค.
๐๏ธ ์น ์๋น์ค ์ธํฐํ์ด์ค: ๋ ๊ฐ์ง ์ ๊ทผ๋ฒ
์น ์๋น์ค๋ ์๋ก ๋ค๋ฅธ ์์คํ ์ด ์ธํฐ๋ท์ ํตํด ์ํธ์์ฉํ๋ ๋ฐฉ์์ ๋๋ค. ์ด ์ํธ์์ฉ์ ์ํ ์ธํฐํ์ด์ค์๋ ํฌ๊ฒ ๋ ๊ฐ์ง ์ฃผ์ ํ๋ฆ์ด ์์ต๋๋ค. ํ๋๋ ๋ชจ๋ ๊ฒ์ ๋ช ์์ ์ผ๋ก ์ ์ํ๋ **ํด๋์ ์คํ(SOAP, WSDL, UDDI)**์ด๊ณ , ๋ค๋ฅธ ํ๋๋ ์น์ ๋ฐฉ์์ ๊ทธ๋๋ก ๋ฐ๋ฅด๋ **ํ๋์ ์คํ์ผ(REST)**์ ๋๋ค.
๋ ์คํ ๋์ ์์ฝํ๊ณ ์ฃผ๋ฌธํ๋ ๊ณผ์ ์ ๋น์ ํด ๋ณด๊ฒ ์ต๋๋ค.
1. ํด๋์ ์น ์๋น์ค ์ผ์ด์ฌ: SOAP, WSDL, UDDI
2000๋ ๋ ์ด๋ฐ, ๊ธฐ์ ๋ค์ ์์ ์ ์ด๊ณ ์ ํํ๋ ์์คํ ์ฐ๋์ ์ํด ์ด ์ธ ๊ฐ์ง ๊ธฐ์ ์ ํ๋์ ์ธํธ๋ก ์ฌ์ฉํ์ต๋๋ค. ์ด๋ค์ ๋ชฉํ๋ "์ด๋ค ์๋น์ค๊ฐ ์ด๋์ ์๋์ง ์ฐพ๊ณ (UDDI), ๊ทธ ์๋น์ค์ ์ฌ์ฉ๋ฒ์ ๋ช ์ธ์๋ก ํ์ธํ ๋ค(WSDL), ์ ํด์ง ์ฝ์๋๋ก ํต์ (SOAP)ํ๋ค" ์ ๋๋ค.
UDDI (Universal Description, Discovery, and Integration)
- ์ญํ : ์น ์๋น์ค์ '์ ํ๋ฒํธ๋ถ' ๋๋ '๋ ์คํ ๋ ๊ฐ์ด๋๋ถ'
- ์ค๋ช : ์ด๋ค ๋ ์คํ ๋(์๋น์ค)์ด ์ด๋์ ์๋์ง, ์ด๋ค ์ข ๋ฅ์ ์์์ ํ๋์ง ์ฐพ์๋ณด๋ ๊ฒ์ ์์ง ์ญํ ์ ํฉ๋๋ค. ์ง๊ธ์ ๊ฑฐ์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
WSDL (Web Services Description Language)
- ์ญํ : ์๋น์ค์ '์์ธ ๋ฉ๋ดํ' ๋๋ '์ฌ์ฉ ์ค๋ช ์'
- ์ค๋ช : UDDI๋ก ์ฐพ์ ๋ ์คํ ๋์ ์์ธ ๋ฉ๋ดํ์ ๋๋ค. ์ด๋ค ์๋ฆฌ(๋ฉ์๋)๊ฐ ์๊ณ , ๊ฐ ์๋ฆฌ์ ๊ฐ๊ฒฉ(ํ๋ผ๋ฏธํฐ)์ ์ผ๋ง์ด๋ฉฐ, ์ฃผ๋ฌธ ์ ์ด๋ค ์ ๋ณด(๋ฐ์ดํฐ ํ์ )๋ฅผ ์๋ ค์ค์ผ ํ๋์ง ์์ฃผ ์์ธํ๊ฒ XML ํ์์ผ๋ก ์ ํ ์์ต๋๋ค.
SOAP (Simple Object Access Protocol)
- ์ญํ : ์ ํด์ง ์์์ ๋ฐ๋ฅธ '๊ฒฉ์ ์๋ ์ฃผ๋ฌธ์'
- ์ค๋ช : WSDL ๋ฉ๋ดํ์ ๋ณด๊ณ , ์ ํด์ง ์์์ ๋ง์ถฐ ์์ฃผ ๊ฒฉ์์๊ฒ ์ฃผ๋ฌธ(์์ฒญ)ํ๋ ๊ฒ์ ๋๋ค. "์ด ์ฃผ๋ฌธ์๋ SOAP ๊ท๊ฒฉ์ ๋ฐ๋ผ ์์ฑ๋์์ผ๋ฉฐ..." ์ ๊ฐ์ด ๋งค์ฐ ์๊ฒฉํ XML ๋ฉ์์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์์ฝ: ํด๋์ ๋ฐฉ์์ ๋ง์น ์ฒ์ ๊ฐ๋ ๋์์ ๊ฐ์, ๊ฐ์ด๋๋ถ(UDDI)์ผ๋ก ๋ ์คํ ๋์ ์ฐพ๊ณ , ๋๊บผ์ด ๋ฉ๋ดํ(WSDL)์ ์ ๋ ํ ๋ค, ๊ฒฉ์์๋ ์ฃผ๋ฌธ์(SOAP)๋ฅผ ์์ฑํด์ ๋ด๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์ ์ฐจ๋ ๋ณต์กํ์ง๋ง ๋งค์ฐ ๋ช ํํ๊ณ ์์ ์ ์ ๋๋ค.
2. ํ๋์ ์น API์ ์ฃผ์ญ: REST
SOAP ๋ฐฉ์์ ๋ณต์ก์ฑ์ ๋ํ ๋ฐ์์ฉ์ผ๋ก, ๋ ๋จ์ํ๊ณ ์น ์นํ์ ์ธ REST(Representational State Transfer) ์คํ์ผ์ด ๋ฑ์ฅํ์ฌ ํ์ฌ ์น API์ ์ฃผ๋ฅ๊ฐ ๋์์ต๋๋ค.
- ์ญํ : ์น์ ๊ธฐ๋ณธ ์๋ฆฌ(HTTP)๋ฅผ ์ต๋ํ ํ์ฉํ๋ '์ค๊ณ ์ฒ ํ'
- ์ค๋ช
:
- ๋ณ๋์ ๊ฐ์ด๋๋ถ(UDDI)์ด ํ์ ์์ต๋๋ค. ๋ ์คํ ๋์ ์ฃผ์(URI)๋ ์ด๋ฏธ ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. (์:
https://example.com/dishes/pasta
) - ๋๊บผ์ด ๋ฉ๋ดํ(WSDL)๋ ํ์ ์์ต๋๋ค. "๋ฉ๋ด ์ข ๋ณด์ฌ์ฃผ์ธ์(
GET
)"๋ผ๊ณ ๋งํ๋ฉด ๋ฉ๋ด๋ฅผ ๋ณด์ฌ์ฃผ๊ณ , "์ด๊ฑธ๋ก ์ฃผ๋ฌธํ ๊ฒ์(POST
)"๋ผ๊ณ ๋งํ๋ ๋ฑ, **๋ชจ๋๊ฐ ์๋ ๊ฐ๋จํ ํ๋(HTTP ๋ฉ์๋)**์ผ๋ก ํต์ ํฉ๋๋ค. - ๋ณต์กํ ์ฃผ๋ฌธ์(SOAP) ๋์ , ๊ฐ๋จํ **๋ฉ๋ชจ(์ฃผ๋ก JSON)**์ ์ ์ด ์์ฒญํฉ๋๋ค.
- ๋ณ๋์ ๊ฐ์ด๋๋ถ(UDDI)์ด ํ์ ์์ต๋๋ค. ๋ ์คํ ๋์ ์ฃผ์(URI)๋ ์ด๋ฏธ ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. (์:
์์ฝ: REST ๋ฐฉ์์ ๋ง์น ๋จ๊ณจ ์๋น์ ๊ฐ์, ๋ง ๋ช ๋ง๋๋ก ํธํ๊ฒ ์ฃผ๋ฌธํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ํจ์ฌ ๋น ๋ฅด๊ณ , ์ ์ฐํ๋ฉฐ, ๋ฐฐ์ฐ๊ธฐ ์ฝ์ต๋๋ค.
๐ SOAP ๊ธฐ๋ฐ ๋ฐฉ์ vs REST ์คํ์ผ ๋น๊ต
๊ตฌ๋ถ | SOAP, WSDL, UDDI ์คํ | REST ์คํ์ผ |
---|---|---|
๊ฐ๋ | ํ๋กํ ์ฝ (Protocol): ์๊ฒฉํ ๊ท์น | ์ํคํ ์ฒ ์คํ์ผ (Style): ์ ์ฐํ ์์น |
๋ฐ์ดํฐ ํ์ | XML๋ง ์ฌ์ฉ | JSON, XML ๋ฑ ์์ ๋กญ๊ฒ ์ฌ์ฉ (์ฃผ๋ก JSON) |
ํต์ ๋ฐฉ์ | HTTP ์ธ ๋ค๋ฅธ ํ๋กํ ์ฝ๋ ์ฌ์ฉ ๊ฐ๋ฅ | HTTP ์์์๋ง ๋์ (HTTP ๊ธฐ๋ฅ ๊ทน๋ํ) |
๋ณต์ก์ฑ | ๋์ (WSDL, ์คํค๋ง ๋ฑ ํ์) | ๋ฎ์ (HTTP์ URI๋ง ์๋ฉด ๋จ) |
์ฑ๋ฅ | ์๋์ ์ผ๋ก ๋๋ฆฌ๊ณ ๋ฌด๊ฑฐ์ | ๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์ |
์ฃผ ์ฌ์ฉ์ฒ | ๋์ ๋ณด์/ํธ๋์ญ์ ์ด ํ์ํ ๊ธฐ์ ์ฉ ์์คํ | ๋๋ถ๋ถ์ ๊ณต๊ฐ API, ๋ชจ๋ฐ์ผ ์ฑ, ์น ์๋น์ค |
๐ ์ ์ฒ๊ธฐ ์ค๊ธฐ ๋๋น ๋ฌธ์
๋ฌธ์ | ์น ์๋น์ค์ ๋ช ์ธ, ์ฆ ์๋น์ค๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ, ํ๋ผ๋ฏธํฐ, ๋ฐ์ดํฐ ํ์ ๋ฑ์ XML ํ์์ผ๋ก ์์ธํ๊ฒ ๊ธฐ์ ํ๋ ์ธ์ด๋ ๋ฌด์์ธ๊ฐ? |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | HTTP, SMTP ๋ฑ ์์์ XML ๊ธฐ๋ฐ์ ๋ฉ์์ง๋ฅผ ๊ตํํ์ฌ ์๊ฒฉ ํ๋ก์์ ๋ฅผ ํธ์ถํ๋, ๋งค์ฐ ์๊ฒฉํ ๊ท์น์ ๊ฐ์ง ํ๋กํ ์ฝ์ ๋ฌด์์ธ๊ฐ? |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | URI๋ฅผ ํตํด ์์์ ์๋ณํ๊ณ , HTTP ๋ฉ์๋๋ฅผ ํตํด ํด๋น ์์์ ๋ํ ํ์๋ฅผ ํํํ๋ ์์น์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ํํธ์จ์ด ์ํคํ ์ฒ ์คํ์ผ์ ๋ฌด์์ธ๊ฐ? |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | ๊ณผ๊ฑฐ ์น ์๋น์ค๋ฅผ ๊ฒ์ํ๊ณ ๋ฑ๋กํ๊ธฐ ์ํด ์ฌ์ฉ๋์๋, ์น ์๋น์ค์ '์ ํ๋ฒํธ๋ถ' ์ญํ ์ ํ๋ ๊ธฐ์ ์ ๋ฌด์์ธ๊ฐ? |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | SOAP๊ณผ ๋น๊ตํ์ ๋, REST๊ฐ ๊ฐ์ง๋ ์ฃผ์ ์ฅ์ ์ผ๋ก ๋ ๊ฐ๋ณ๊ณ ๋น ๋ฅธ ๋ฐ์ดํฐ ๊ตํ ๊ฐ๋ฅํ๊ฒ ํ๋ ์ฃผ๋ ๋ฐ์ดํฐ ํ์์ ๋ฌด์์ธ๊ฐ? |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |