๐ API ๊ฐ ๋ญ๊ฐ์??
๋ช์ผ์ ๋น๊ฐ๋ฐ์ ์ง์ธ๋ถ๊ป API ๊ฐ ๋ฌด์์ด๋๋ ์ง๋ฌธ์ ๋ฐ์ ์ค๋ช ์ ํด๋๋ ธ๋๋ฐ ์ปค๋ฆฌ์ด๋ฆฌ์์๋ ๊ถ๊ธํดํ์ค ๋ถ๋ค์ด ๊ณ์ค๊ฒ ๊ฐ์ ์ ๋ฆฌํด๋ด ๋๋ค. API ๋ Application Programming Interface ์ ์ฝ์๋ก ํ๋ก๊ทธ๋จ๋ค์ด ์๋ก ํต์ ํ๊ฑฐ๋ ์ํธ์์ฉ ํ ์ ์๋๋ก ๋์์ฃผ๋ ๋งค๊ฐ์ฒด์ด์ ์ฝ์์ด๋ผ ํ ์ ์์ต๋๋ค. API ์ ๋ํ ์ดํด๋ฅผ ์ฝ๊ฒ ํ๊ธฐ ์ํ ๋น์ ๋ก ํ์ฌ์์ ํ์ฅ๊ณผ ํ์๋ค๊ฐ์ ๋ค์๊ณผ ๊ฐ์ ์ํต์ด ์ผ์ด๋๋ค ๊ฐ์ ํ๊ฒ ์ต๋๋ค. - ํ์ฅ์ด ํ์๋ค์๊ฒ ์ค๋ ํ ์ ๋ฌด ๋ชฉ๋ก์ ๋ฌผ์ด๋ด ๋๋ค. - ํ์ฅ์ด ๊ฐ ํ์๋ค์๊ฒ ํด์ผํ ์ ๋ฌด๋ฅผ ์ง์ ํด ์ค๋๋ค. ๋ง์ฝ ํ์ฅ๊ณผ ํ์์ด ํ๋ก๊ทธ๋จ์ผ๋ก ๋ฐ๋๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? ๋ฐ๋ก ๋ค์๊ณผ ๊ฐ์ API ๋ฅผ ์ ์ํ์ฌ ์๋ก ์ํตํ๊ฒ ๋ฉ๋๋ค. - ์ ๋ฌด ๋ชฉ๋ก ์กฐํ API - ์ ๋ฌด ์ง์ API ๊ทธ๋ ๋ค๋ฉด ํ๋ก๊ทธ๋จ์์ ์ด๋ฐ API ๋ฅผ ์ ์ํ๋ฉด ๋ญ๊ฐ ์ข์ ๊ฒ์ผ๊น์? โ๏ธ client ํ๋ก๊ทธ๋จ์ ์ํตํ ํ๋ก๊ทธ๋จ์ด ์ด๋ค ํ๋ก๊ทธ๋จ์ธ์ง, ๊ตฌํ์ด ์ด๋ป๊ฒ ๋์ด์๋์ง ์ ๊ฒฝ์ฐ์ง ์๊ณ ์ฝ์๋ API ๋ง ์ฌ์ฉํ๋ฉด ์ํต์ด ๊ฐ๋ฅํฉ๋๋ค. ์์ ์๋ฅผ ๋ค์ด ํ์ฅ์ด ์ํตํ ํ์๋ค ์ค ํ์ฌ๋์ ๋งํ๋๊ฑธ ์ข์ํ๊ณ ํ์ฌ๋์ ์์ดํ์ ๊ฝ์ ์๋ฆฌ๋ฅผ ๋ชป๋ฃ๋ ์ฌ๋์ด ์์ ๊ฒฝ์ฐ ํ์ฅ์ ์์ ์ด ์ํตํ ํ์์ด ๋๊ตฌ๋์ ๋ฐ๋ผ ์ ๊ฒฝ์จ์ ๋ค๋ฅด๊ฒ ์ ๊ทผํด์ผ ํฉ๋๋ค. ํ์ง๋ง API ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ด๋ฏธ ์ฝ์๋ ๋ด์ฉ์ด๊ธฐ ๋๋ฌธ์ ์๋๋ฐฉ์ด ๋๊ตฌ๋ ์๊ด์์ด API ๋ง ํธ์ถํ๋ฉด ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. โ๏ธ ๊ณตํต๋ ๋ก์ง์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ํ๋์ ํ๋ก๊ทธ๋จ๊ณผ ์ํตํ๋ ์ฌ๋ฌ Client ํ๋ก๊ทธ๋จ์ด ์์ ๊ฒฝ์ฐ ๊ฐ๊ฐ์ Client ์์ ๋๊ฐ์ ๋ก์ง์ ๋ค๊ณ ์๋๊ฒ๋ณด๋จ ํ๋์ ํ๋ก๊ทธ๋จ์์ ๊ณตํต๋ ๋ก์ง์ ์ ๊ณตํด์ฃผ๋๊ฒ ํจ์จ์ ์ด๊ณ ์ ์ง๋ณด์์ ์ผ๋ก๋ ํธ๋ฆฌํฉ๋๋ค. โ๏ธ ์ ์ง ๋ณด์ ๋ฐ ํ์ฅ์ด ์ฉ์ดํฉ๋๋ค. HTTP ์ ๊ฐ์ ๋ฒ์ฉ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ API ์ ๊ฒฝ์ฐ ์น, ์๋๋ก์ด๋, IOS ํ๊ฒฝ์์ ๋์ผํ API ๋ฅผ ์ฌ์ฉํ ์ ์์ด ์๋ก ๋ค๋ฅธ ํ๊ฒฝ์์ ๋์ผํ ๊ธฐ๋ฅ ๊ตฌํ์ด ๊ฐํธํด์ง๋๋ค. ๋ํ API ์ ๋ฒ๊ทธ๊ฐ ์๊ฑฐ๋ ๊ฐ์ ์ฌํญ์ ์งํํ๊ฒ ๋ ๊ฒฝ์ฐ API ๋ฅผ ์ ๊ณตํ๋ ํ๋ก๊ทธ๋จ๋ง ์์ ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์ ์ง ๋ณด์์ ์ผ๋ก๋ ํจ์จ์ ์ ๋๋ค. ์ธํฐ๋ท์ ํตํด ๋ณํฉ๋ ์ปดํจํฐ๋ค ๊ฐ์ ํต์ ์ ์ฌ์ฉํ๋ API ๋ฅผ ์น API ๋ผ๊ณ ๋ถ๋ฆฌ๊ธฐ๋ ํฉ๋๋ค. ์ ํฌ๊ฐ ์ฌ์ฉํ๋ ์ดํ์ด๋ ์น์ฌ์ดํธ์์ ์ฌ์ฉํ๋๊ฑฐ๋ผ ์ ํฌ์ ์ํ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ API ๋ผ๊ณ ํ ์ ์์ํ ๋ฐ์, ์น API ์ ๊ฒฝ์ฐ API ๋ฅผ ์ ์ํ๋ ์๊ธฐ์ ์ด์ ์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ ์ข ๋ฅ๋ก ๋๋์ด์ง๋๋ค. (API ์ข ๋ฅ์ ๋ํ ์ถ์ฒ : https://aws.amazon.com/ko/what-is/api/) โ๏ธ SOAP API ์ด API๋ ๋จ์ ๊ฐ์ฒด ์ ๊ทผ ํ๋กํ ์ฝ์ ์ฌ์ฉํฉ๋๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ XML์ ์ฌ์ฉํ์ฌ ๋ฉ์์ง๋ฅผ ๊ตํํฉ๋๋ค. ๊ณผ๊ฑฐ์ ๋ ๋ง์ด ์ฌ์ฉ๋์์ผ๋ฉฐ ์ ์ฐ์ฑ์ด ๋จ์ด์ง๋ API์ ๋๋ค. โ๏ธ RPC API ์ด API๋ฅผ ์๊ฒฉ ํ๋ก์์ ํธ์ถ์ด๋ผ๊ณ ํฉ๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์์ ํจ์๋ ํ๋ก์์ ๋ฅผ ์๋ฃํ๋ฉด ์๋ฒ๊ฐ ์ถ๋ ฅ์ ํด๋ผ์ด์ธํธ๋ก ๋ค์ ์ ์กํฉ๋๋ค. โ๏ธ Websocket API Websocket API๋ JSON ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ ๋ค๋ฅธ ์ต์ ์น API ๊ฐ๋ฐ์ ๋๋ค. WebSocket API๋ ํด๋ผ์ด์ธํธ ์ฑ๊ณผ ์๋ฒ ๊ฐ์ ์๋ฐฉํฅ ํต์ ์ ์ง์ํฉ๋๋ค. ์๋ฒ๊ฐ ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ์ ์ฝ๋ฐฑ ๋ฉ์์ง๋ฅผ ์ ์กํ ์ ์์ด REST API๋ณด๋ค ํจ์จ์ ์ ๋๋ค. โ๏ธ REST API ์ค๋๋ ์น์์ ๋ณผ ์ ์๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๊ณ ์ ์ฐํ API์ ๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ์ ๋ฐ์ดํฐ๋ก ์ ์กํฉ๋๋ค. ์๋ฒ๊ฐ ์ด ํด๋ผ์ด์ธํธ ์ ๋ ฅ์ ์ฌ์ฉํ์ฌ ๋ด๋ถ ํจ์๋ฅผ ์์ํ๊ณ ์ถ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ํด๋ผ์ด์ธํธ์ ๋ฐํํฉ๋๋ค.