๋ง์ดํฌ๋ก์๋น์ค์ ์ญ๋์ ์ธ ์ธ๊ณ์์๋ ๋ฌด์์ด๋ ๋ฐ๋ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ตฌ์ฑ ์์๋ ๋ค์ํ ํ๋ ์์ํฌ์ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ธ์ด๋ก ๋ค์ ์์ฑ๋ ์ ์์ต๋๋ค. ๋ด๋ถ ๋ณํ์ ๊ด๊ณ์์ด ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ์ธ๋ถ์์ ์๊ตฌ์ ์ผ๋ก ์ํธ ์์ฉํ ์ ์๋๋ก ๊ณ์ฝ๋ง ๋ณ๊ฒฝ๋์ง ์์ ์ํ๋ก ์ ์ง๋์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋ ์ฐ๋ฆฌ๋ ๊ณ์ฝ์ ์ค๋ช ํ๋ ํ์์ ์ ํํ๋ ๋ฌธ์ ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์ฐ๋ฆฌ๊ฐ ์ฐพ์ ์ํฐํฉํธ๋ฅผ ๊ณต์ ํ ๊ฒ์ ๋๋ค.
๊ฒ์๋ฌผ ์ค๋น๋จ
๋ง์ดํฌ๋ก์๋น์ค. Acronis Cyber โโCloud๋ฅผ ๊ฐ๋ฐํ๋ฉด์ ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ๋ค์์ ๋ฒ์ด๋ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ดํฌ๋ก์๋น์ค์ ์ธํฐํ์ด์ค๋ฅผ ๋ํ๋ด๋ ๊ณ์ฝ์ ๊ณต์ํํ์ง ์๊ณ ์๋ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ค๊ณํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ ํ์ ๋ ๊ฐ ์ด์์ ๊ตฌ์ฑ ์์๊ฐ ํฌํจ๋์ด ์๊ณ ๊ณ์ฝ ๊ฐ๋ฐ์ด ์ผ์์ ์ธ ํ๋์ด ๋๋ฉด ํ๋ก์ธ์ค ์ต์ ํ์ ๋ํด ์๊ฐํ์ง ์์ ์ ์์ต๋๋ค. ์ธํฐํ์ด์ค(๊ณ์ฝ)์ ๊ตฌํ(๋ง์ดํฌ๋ก์๋น์ค)์ด ์๋ก ์ผ์นํด์ผ ํ๊ณ , ์๋ก ๋ค๋ฅธ ๊ตฌ์ฑ ์์๊ฐ ๋์ผํ ์์ ์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ํํด์ผ ํ๋ฉฐ, ์ด๋ฌํ ๋ชจ๋ ๊ฒฐ์ ์ ๋ํ ์ค์ ์ง์ค์ ์์ฌ ๊ฒฐ์ ์ด ์์ผ๋ฉด ๊ฐ ํ์ ๋ค์์ ์ํํด์ผ ํ๋ค๋ ๊ฒ์ด ๋ถ๋ช ํด์ง๋๋ค. ๊ทธ๊ฒ๋ค์ ์ป๊ธฐ ์ํด ๊ณ์ํด์ ์๊ฐ์ ๋ณด๋ด์ญ์์ค.
Amazon ๋ง์ดํฌ๋ก์๋น์ค ๋ค์ด์ด๊ทธ๋จ
๋๋ ๋ง๋ ๋ฌด์์
๋๊น? ์ค์ ๋ก ๋ง์ดํฌ๋ก์๋น์ค์ ์ํธ์์ฉํ๋ ๋ฐฉ๋ฒ์๋ HTTP Rest์ Google์ gRPC ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค. Google์ ๊ธฐ์ ์คํ์ ์ฝ๋งค์ด๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ HTTP Rest๋ฅผ ์ ํํ์ต๋๋ค. HTTP REST ๊ณ์ฝ ์ฃผ์์ ์ด์ ์ Swagger๋ก ์๋ ค์ง RAML ๋ฐ OAS์ ๋ ๊ฐ์ง ํ์ ์ค ํ๋๋ก ๊ฐ์ฅ ์์ฃผ ์ค๋ช
๋๋ฏ๋ก ๋ชจ๋ ๊ฐ๋ฐ ํ์ ํ์ค ์ค ํ๋๋ฅผ ์ ํํด์ผ ํ๋ ์ํฉ์ ์ง๋ฉดํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๋ฌํ ์ ํ์ ํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
์ฃผ์์ด ํ์ํ ์ด์ ๋ ๋ฌด์์ ๋๊น?
์ธ๋ถ ์ฌ์ฉ์๊ฐ HTTP ์ธํฐํ์ด์ค๋ฅผ ํตํด ์๋น์ค๋ก ์ํํ ์ ์๋ ์์ ์ ์ฝ๊ฒ ํ์ ํ ์ ์๋๋ก ์ฃผ์์ด ํ์ํฉ๋๋ค. ์ฆ, ๊ธฐ๋ณธ ์์ค์์ ์ฃผ์์๋ ์ต์ํ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์์ค ๋ชฉ๋ก, ํด๋น HTTP ๋ฉ์๋, ์์ฒญ ๋ณธ๋ฌธ, ๋งค๊ฐ๋ณ์ ๋ชฉ๋ก, ํ์ ๋ฐ ์ง์๋๋ ํค๋ ํ์, ๋ฐํ ์ฝ๋ ๋ฐ ์๋ต ํ์์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค. ๊ณ์ฝ ์ฃผ์์ ๋งค์ฐ ์ค์ํ ์์๋ ๊ตฌ๋ ์ค๋ช ์ ๋๋ค("์ด ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ฅผ ์์ฒญ์ ์ถ๊ฐํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?", "์ด๋ค ๊ฒฝ์ฐ์ ์ฝ๋ 400์ด ๋ฐํ๋ฉ๋๊น?").
๊ทธ๋ฌ๋ ๋ค์์ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ์๋ ์์ฑ๋ ์ฃผ์์์ ์ถ๊ฐ ๊ฐ์น๋ฅผ ์ถ์ถํ๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด RAML/Swagger๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ํด๋ผ์ด์ธํธ ๋ฐ ์๋ฒ ์ฝ๋๋ฅผ ๋ชจ๋ ์์ฑํ ์ ์์ต๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค์ ๋ํ ๋ฌธ์๋ฅผ ์๋์ผ๋ก ๋ฐ์ ๊ฐ๋ฐ์ ํฌํธ์ ์ ๋ก๋ํ ์๋ ์์ต๋๋ค. :)
๊ตฌ์กฐํ๋ ๊ณ์ฝ ์ค๋ช
์ ์
๊ณ์ฝ ์ค๋ช ์ ๊ธฐ๋ฐ์ผ๋ก ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ํ ์คํธํ๋ ๊ดํ์ ๋ ์ผ๋ฐ์ ์ ๋๋ค. ์ฃผ์๊ณผ ๊ตฌ์ฑ ์์๋ฅผ ๋ชจ๋ ์์ฑํ ๊ฒฝ์ฐ ๋ค์ํ ์ ํ์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ก ์๋น์ค์ ์ ํฉ์ฑ์ ํ์ธํ๋ ์๋ ํ ์คํธ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์๋น์ค๊ฐ ์ฃผ์์ ์ค๋ช ๋์ง ์์ ์๋ต ์ฝ๋๋ฅผ ๋ฐํํฉ๋๊น? ๋ช ๋ฐฑํ ์๋ชป๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์์๊น์?
๋ํ ๊ณ์ฝ ์์ฒด๋ฟ๋ง ์๋๋ผ ์ฃผ์ ์๊ฐํ ๋๊ตฌ์ ๊ณ ํ์ง ๊ตฌํ์ ํตํด ๋ง์ดํฌ๋ก์๋น์ค ์์ ์ ๋จ์ํํ ์ ์์ต๋๋ค. ์ฆ, ์ํคํ ํธ๊ฐ ๊ณ ํ์ง์ ๊ณ์ฝ์๋ฅผ ๊ธฐ์ ํ๋ค๋ฉด, ์ด๋ฅผ ๋ฐํ์ผ๋ก ๋์์ด๋์ ๊ฐ๋ฐ์๋ ์ถ๊ฐ ์๊ฐ ๋น์ฉ ์์ด ๋ค๋ฅธ ์ ํ์ ์๋น์ค๋ฅผ ๊ตฌํํ๊ฒ ๋๋ค.
์ถ๊ฐ ๋๊ตฌ๋ฅผ ํ์ฑํํ๊ธฐ ์ํด RAML๊ณผ OAS ๋ชจ๋ ํ์ค์์ ์ ๊ณตํ์ง ์๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค(
์ผ๋ฐ์ ์ผ๋ก ๋ง์ดํฌ๋ก์๋น์ค ๊ณ์ฝ์ ์ฌ์ฉํ ๋ ์ฐฝ์์ฑ์ ๋ฒ์๋ ์์ฒญ๋ฉ๋๋ค...์ ์ด๋ ์ด๋ก ์์ผ๋ก๋ ๋ง์ด์ฃ .
๊ณ ์ด๋์น์ ๋ฑ์ ๋น๊ต
ํ์ฌ Acronis์ ์ฐ์ ๊ฐ๋ฐ ์์ญ์ Acronis Cyber โโโโํ๋ซํผ ๊ฐ๋ฐ์ ๋๋ค. Acronis Cyber โโโโํ๋ซํผ์ Acronis Cyber โโโโCloud ๋ฐ ์์ด์ ํธ ๋ถ๋ถ๊ณผ ํ์ฌ ์๋น์ค๋ฅผ ํตํฉํ๋ ์๋ก์ด ์ง์ ์ ๋๋ค. RAML์ ์ค๋ช ๋ ๋ด๋ถ API์ ๋ง์กฑํ์ง๋ง API๋ฅผ ๋ค์ ๊ฒ์ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ ํ์ ๋ํ ์ง๋ฌธ์ด ์ ๊ธฐ๋์์ต๋๋ค. ์์ ์ ๊ฐ์ฅ ์ ํฉํ ์ฃผ์ ํ์ค์ ๋ฌด์์ ๋๊น?
์ฒ์์๋ ๋ ๊ฐ์ง ์๋ฃจ์ ์ด ์๋ ๊ฒ์ฒ๋ผ ๋ณด์์ต๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๊ฐ๋ฐ์ RAML๊ณผ Swagger(๋๋ OAS)์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ก๋ ์ ์ด๋ 2๊ฐ์ ๋์์ด ์๋๋ผ 3๊ฐ ์ด์์ ๋์์ด ์๋ ๊ฒ์ผ๋ก ๋ฐํ์ก์ต๋๋ค.
ํํธ์ผ๋ก๋ ๊ฐ๋ ฅํ๊ณ ํจ์จ์ ์ธ ์ธ์ด์ธ RAML์ด ์์ต๋๋ค. ๊ณ์ธต ๊ตฌ์กฐ์ ์์์ ์ ๊ตฌํํ๋ฏ๋ก ์ด ํ์์ ์ค๋ช ์ด ๋ง์ด ํ์ํ ๋๊ธฐ์ , ์ฆ ํ๋์ ์ ํ์ด ์๋๋ผ ๊ณ์ฝ์ ๊ณตํต ๋ถ๋ถ(์ธ์ฆ ์ฒด๊ณ, ๋์ผํ ๋ฐ์ดํฐ ์ ํ, ์ค๋ฅ ๋ณธ๋ฌธ)์ด ์๋ ๋ง์ ๋ง์ดํฌ๋ก์๋น์ค์ ๋ ์ ํฉํฉ๋๋ค. .
๊ทธ๋ฌ๋ RAML์ ๊ฐ๋ฐ์์ธ Mulesoft๊ฐ Open API ์ปจ์์์์ ํฉ๋ฅํ์ต๋๋ค.
ํ๊ฐ์ง๋ง ์๋๋ผ๋ฉด...
์๊ณ ๋ณด๋ ๋ชจ๋ ์คํ ์์ค ์ ํธ๋ฆฌํฐ๊ฐ OAS 3.0์ผ๋ก ์
๋ฐ์ดํธ๋ ๊ฒ์ ์๋๋๋ค. Go์ ๋ง์ดํฌ๋ก์๋น์ค์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ ์๋ ฅ์ด ๋ถ์กฑํ๋ค๋ ๊ฒ์
๋๋ค.
- ์ธ์ฆ ์ฒด๊ณ์ ๋ํ ์ค๋ช ๊ฐ์
์๋ฃ JSON ์คํค๋ง ์ง์- ์์ ์ถ๊ฐ ๊ธฐ๋ฅ ์ ๊ทธ๋ ์ด๋
์ํฉ์ ์ฌ๋ฏธ์์ต๋๋ค. ํ์ค์ ์ ํํ ๋ RAML, Swagger 2 ๋ฐ Swagger 3์ ๋ณ๋์ ๋์์ผ๋ก ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ Swagger 2๋ง์ด OpenSource ๋๊ตฌ๋ฅผ ์ ์ง์ํฉ๋๋ค. RAML์ ๋งค์ฐ ์ ์ฐํ๊ณ ๋ณต์กํ๋ฉฐ Swagger 3์ ์ปค๋ฎค๋ํฐ์์ ์ ๋๋ก ์ง์๋์ง ์์ผ๋ฏ๋ก ๊ฝค ๋น์ผ ๊ฒฝํฅ์ด ์๋ ๋ ์ ๋๊ตฌ๋ ์์ฉ ์๋ฃจ์ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๊ฒ๋ค๊ฐ ์ด๋ฏธ ๋ง๋ค์ด์ง ํฌํธ์ฒ๋ผ Swagger์ ์ข์ ๊ธฐ๋ฅ์ด ๋ง๋ค๋ฉด
ํ๋ ์ฐ๋ฆฌ๋ ์ข ๋ ์ ์ฐํ ์ธ์ด์ธ RAML์ ์ฌ์ฉํ์ฌ ์์
ํ๊ธฐ ์์ํ๊ณ ๊ทธ ๊ฒฐ๊ณผ ์ฐ๋ฆฌ ์ค์ค๋ก ๋ง์ ์ผ์ ํด์ผ ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ๋ก์ ํธ ์ค ํ๋๊ฐ ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ผญ ์ ํํด์ผ ํ๋์?
RAML์ฉ ์๋ฃจ์ ์ํ๊ณ๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ ธ๋ ฅํ ๊ฒฐ๊ณผ, RAML์ Swagger 2๋ก ๋ณํํ๊ณ ์ฌ๊ธฐ์์ ๋ชจ๋ ์๋ํ, ๊ฒ์ฆ, ํ ์คํธ ๋ฐ ํ์ ์ต์ ํ๋ฅผ ์ํํด์ผ ํ๋ค๋ ๊ฒฐ๋ก ์ ๋๋ฌํ์ต๋๋ค. ์ด๋ RAML์ ์ ์ฐ์ฑ๊ณผ Swagger์ ์ปค๋ฎค๋ํฐ ๋๊ตฌ ์ง์์ ๋ชจ๋ ํ์ฉํ๋ ์ข์ ๋ฐฉ๋ฒ์ ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ์ฝ ๋ณํ์ ์ ๊ณตํด์ผ ํ๋ ๋ ๊ฐ์ง OpenSource ๋๊ตฌ๊ฐ ์์ต๋๋ค.
oas-raml-๋ณํ๊ธฐ ํ์ฌ ์ง์๋์ง ์๋ ์ ํธ๋ฆฌํฐ์ ๋๋ค. ์์ ํ๋ ๋์ ์ฐ๋ฆฌ๋ ๋ค์์ ํ์ผ์ ๊ฑธ์ณ "ํ์ฐ"๋๋ ๋ณต์กํ RAML์ ์ฌ๋ฌ ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ด ํ๋ก๊ทธ๋จ์ JavaScript๋ก ์์ฑ๋์์ผ๋ฉฐ ๊ตฌ๋ฌธ ํธ๋ฆฌ์ ์ฌ๊ท ์ํ๋ฅผ ์ํํฉ๋๋ค. ๋์ ํ์ดํ์ผ๋ก ์ธํด ์ด ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ด๋ ค์์ง๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ์ฃฝ์ด๊ฐ๋ ์ ํธ๋ฆฌํฐ์ ๋ํ ํจ์น๋ฅผ ์์ฑํ๋ ๋ฐ ์๊ฐ์ ๋ญ๋นํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.webapi ํ์ - ๋ชจ๋ ๊ฒ์ ์ด๋ค ๋ฐฉํฅ์ผ๋ก๋ ๋ณํํ ์ค๋น๊ฐ ๋์ด ์๋ค๊ณ ์ฃผ์ฅํ๋ ๋์ผํ ํ์ฌ์ ๋๊ตฌ์ ๋๋ค. ํ์ฌ๊น์ง RAML 0.8, RAML 1.0 ๋ฐ Swagger 2.0์ ๋ํ ์ง์์ด ๋ฐํ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๊ฐ ์ฐ๊ตฌํ ๋น์์๋ ๊ทธ ํจ์ฉ์ฑ์ด ์ฌ์ ํ ๋ฎ์์ต๋๋ค.๊ทน๋๋ก ์ตํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ์ผ์ข ์IR , ํฅํ ์๋ก์ด ํ์ค์ ์ ์ํ๊ฒ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ง๊ธ๊น์ง๋ ์๋ํ์ง ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๊ฒช์ ์ด๋ ค์์ ์ ๋ถ๋ ์๋๋๋ค. ํ์ดํ๋ผ์ธ์ ๋จ๊ณ ์ค ํ๋๋ ์ ์ฅ์์ RAML์ด ์ฌ์์ ๋นํด ์ฌ๋ฐ๋ฅธ์ง ํ์ธํ๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ๋ฌ ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํด ๋ณด์์ต๋๋ค. ๋๋๊ฒ๋ ๊ทธ๋ค์ ๋ชจ๋ ๋ค๋ฅธ ์ฅ์์์ ์์ ํ ๋ค๋ฅธ ๋์ ๋ง๋ก ์ฐ๋ฆฌ์ ์ฃผ์์ ๋ํด ๋งน์ธํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํญ์ ์์ ์ ์๋๋๋ค :).
๊ฒฐ๊ตญ ์ฐ๋ฆฌ๋ ๋ง์ ๋ฌธ์ ๊ฐ ์๋ ์ค๋๋ ํ๋ก์ ํธ์ ํฉ์ํ์ต๋๋ค(๋๋๋ก ๊ฐ์๊ธฐ ์ถฉ๋์ด ๋ฐ์ํ๊ณ ์ ๊ท์ ์์ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ). ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๋ฌด๋ฃ ๋๊ตฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ํจ์ฑ ๊ฒ์ฌ ๋ฐ ๋ณํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ๊ณ ์์ฉ ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์์ผ๋ก OpenSource ๋๊ตฌ๊ฐ ๋์ฑ ์ฑ์ํด์ง์ ๋ฐ๋ผ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ๊ฐ ๋ ์ฌ์์ง ์ ์์ต๋๋ค. ๊ทธ ๋์ "๋ง๋ฌด๋ฆฌ"์ ๋๋ ์ธ๊ฑด๋น์ ์๊ฐ ๋น์ฉ์ ์์ฉ ์๋น์ค ๋น์ฉ๋ณด๋ค ๋ ์ค์ํด ๋ณด์์ต๋๋ค.
๊ฒฐ๋ก
๊ฒฐ๊ตญ ์ฐ๋ฆฌ๋ ๊ฒฝํ์ ๊ณต์ ํ๊ณ ๊ณ์ฝ ์ค๋ช ๋๊ตฌ๋ฅผ ์ ํํ๊ธฐ ์ ์ ํด๋น ๋๊ตฌ์์ ์ํ๋ ๊ฒ๊ณผ ํฌ์ํ ์์ฐ์ ๋ช ํํ๊ฒ ์ ์ํด์ผ ํ๋ค๋ ์ ์ ์ฃผ๋ชฉํ๊ณ ์ถ์์ต๋๋ค. OpenSource๋ฅผ ์์ด๋ฒ๋ฆฌ๋๋ผ๋ ํ์ธ, ๋ณํ, ๊ฒ์ฆํ๋ ๋ฐ ๋์์ด ๋๋ ์๋น์ค์ ์ ํ์ด ์ด๋ฏธ ๋ง์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ๋ค์ ๋น์ธ๊ณ ๋๋ก๋ ๋งค์ฐ ๋น์๋๋ค. ๋๊ธฐ์ ์ด๋ผ๋ฉด ์ด ์ ๋ ๋น์ฉ์ ๊ฐ์ํ ์ ์์ง๋ง, ์คํํธ์ ์ด๋ผ๋ฉด ํฐ ๋ถ๋ด์ด ๋ ์ ์๋ค.
๋์ค์ ์ฌ์ฉํ ๋๊ตฌ ์ธํธ๋ฅผ ๊ฒฐ์ ํ์ญ์์ค. ์๋ฅผ ๋ค์ด, ๊ณ์ฝ์๋ฅผ ํ์ํด์ผ ํ๋ค๋ฉด ์๋ฆ๋ค์ด API๋ฅผ ๊ฐ์ถ Swagger 2๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ฌ์ธ ๊ฒ์
๋๋ค. ์๋ํ๋ฉด RAML์์๋ ์๋น์ค๋ฅผ ์ง์ ๊ตฌ์ถํ๊ณ ์ ์งํด์ผ ํ๊ธฐ ๋๋ฌธ์
๋๋ค.
์์
์ด ๋ง์์๋ก ๋๊ตฌ์ ๋ํ ํ์์ฑ์ด ๋ ๋์ด์ง๊ณ ํ๋ซํผ๋ง๋ค ๋ค๋ฅด๋ฏ๋ก ํฅํ ๋น์ฉ์ ์ต์ํํ๋ ์ ํ์ ํ๋ ค๋ฉด ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฒ์ ์ ์ฆ์ ์ต์ํด์ง๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ทธ๋ฌ๋ ์ค๋๋ ์กด์ฌํ๋ ๋ชจ๋ ์ํ๊ณ๊ฐ ๋ถ์์ ํ๋ค๋ ์ ์ ์ธ์ํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ํ์ฌ ๋ด์ โ์๊ฐ์ ์ข ๋ ์ ์ฐํ๊ฒ ํํํ ์ ์๋คโ๋ ์ด์ ๋ก RAML์์ ์ผํ๋ ๊ฒ์ ์ข์ํ๊ฑฐ๋, ๋ฐ๋๋ก โ๋ ๋ช ํํ๋คโ๋ ์ด์ ๋ก Swagger๋ฅผ ์ ํธํ๋ ํฌ๋ค์ด ์๋ค๋ฉด, ๊ทธ๋ค์ ๋งก๊ฒจ๋๋ ๊ฒ์ด ์ต์ ์ด๋ค. ๋ชจ๋ ํ์์ ๋๊ตฌ๋ ํ์ผ ์์ ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ์ต์ํ๊ณ ์ํฉ๋๋ค.
์ฐ๋ฆฌ์ ๊ฒฝํ์ ๋ฐ๋ฅด๋ฉด ๋ค์ ๊ฒ์๋ฌผ์์๋ RAML-Swagger ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํํ๋ ์ ์ ๋ฐ ๋์ ๊ฒ์ฌ์ ๊ณ์ฝ์์ ์์ฑํ๋ ๋ฌธ์ ๋ฐ ์๋ ๋ฐฉ์์ ๋ํด ์ค๋ช ํฉ๋๋ค.
๋ฑ๋ก๋ ์ฌ์ฉ์๋ง ์ค๋ฌธ ์กฐ์ฌ์ ์ฐธ์ฌํ ์ ์์ต๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ๊ณ์ฝ์ ์ฃผ์์ ๋ฌ๊ธฐ ์ํด ์ด๋ค ์ธ์ด๋ฅผ ์ฌ์ฉํฉ๋๊น?
-
RAML 0.8
-
RAML 1.0
-
์ค์จ๊ฑฐ 2
-
OAS3(์ผ๋ช )
-
์ฒญ์ฌ์ง
-
๋ค๋ฅธ
-
์ฌ์ฉํ์ง ์์
100๋ช
์ ์ฌ์ฉ์๊ฐ ํฌํํ์ต๋๋ค. 24๋ช
์ ์ฌ์ฉ์๊ฐ ๊ธฐ๊ถํ์ต๋๋ค.
์ถ์ฒ : habr.com