Oracle ์ž์ฒด๊ฐ€ Amazon S3์—์„œ API๋ฅผ ๋ณต์‚ฌํ–ˆ๋Š”๋ฐ ์ด๋Š” ์™„์ „ํžˆ ์ •์ƒ์ ์ธ ํ˜„์ƒ์ž…๋‹ˆ๋‹ค.

Oracle ์ž์ฒด๊ฐ€ Amazon S3์—์„œ API๋ฅผ ๋ณต์‚ฌํ–ˆ๋Š”๋ฐ ์ด๋Š” ์™„์ „ํžˆ ์ •์ƒ์ ์ธ ํ˜„์ƒ์ž…๋‹ˆ๋‹ค.
์˜ค๋ผํด ๋ณ€ํ˜ธ์‚ฌ๋“ค์€ ์•ˆ๋“œ๋กœ์ด๋“œ์— Java API๋ฅผ ๋‹ค์‹œ ๊ตฌํ˜„ํ•œ ๊ฒƒ์„ 'ํ•ด๋ฆฌํฌํ„ฐ'์˜ ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•œ ๊ฒƒ๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. PDF

๋ฏธ๊ตญ ๋Œ€๋ฒ•์›์€ ์˜ฌํ•ด ์ดˆ ์ค‘์š”ํ•œ ์‚ฌ๊ฑด์„ ์‹ฌ๋ฆฌํ•  ์˜ˆ์ •์ด๋‹ค. ์˜ค๋ผํด ๋Œ€ ๊ตฌ๊ธ€, ์ง€์ ์žฌ์‚ฐ๊ถŒ๋ฒ•์— ๋”ฐ๋ฅธ API์˜ ๋ฒ•์  ์ง€์œ„๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ•์›์ด ์ˆ˜์‹ญ์–ต ๋‹ฌ๋Ÿฌ ๊ทœ๋ชจ์˜ ์†Œ์†ก์—์„œ ์˜ค๋ผํด์˜ ํŽธ์„ ๋“ ๋‹ค๋ฉด ๊ฒฝ์Ÿ์„ ์–ต์ œํ•˜๊ณ  ์•„๋งˆ๋„ ๊ตฌ๊ธ€์„ ํฌํ•จํ•œ ๊ฑฐ๋Œ€ ๊ธฐ์ˆ  ๊ธฐ์—…์˜ ์ง€๋ฐฐ๋ ฅ์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋™์‹œ์— Oracle์˜ ๋น„์ฆˆ๋‹ˆ์Šค๋Š” ์ฒ˜์Œ์—๋Š” IBM์ด ๊ฐœ๋ฐœํ•œ SQL ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ตฌํ˜„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ ์ง€๊ธˆ๋„ ํšŒ์‚ฌ๋Š” Amazon S3์˜ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋Š” ์™„์ „ํžˆ ์ •์ƒ์ž…๋‹ˆ๋‹ค. API ์žฌ๊ตฌํ˜„์€ ์—…๊ณ„ ์ดˆ์ฐฝ๊ธฐ๋ถ€ํ„ฐ ์ปดํ“จํ„ฐ ๊ณผํ•™ ๋ฐœ์ „์˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋ถ€๋ถ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋ผํด์€ Google์ด ๋ฌธ๋ฒ• ๊ตฌ์กฐ์™€ ๊ด€๋ จ๋œ ๋ช…๋ช…๋œ ๋ช…๋ น ๋ชฉ๋ก์„ ํฌํ•จํ•˜์—ฌ Java API๋ฅผ ๋ถˆ๋ฒ•์ ์œผ๋กœ ๋ณต์‚ฌํ–ˆ๋‹ค๊ณ  ๋น„๋‚œํ–ˆ์Šต๋‹ˆ๋‹ค. Android ์šด์˜ ์ฒด์ œ๋Š” ํŠนํžˆ Java API์™€ ํ˜ธํ™˜๋˜๋ฏ€๋กœ Java ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์†Œํ”„ํŠธ์›จ์–ด์™€ ์ง€์‹์„ ์ƒˆ๋กœ์šด ํ”Œ๋žซํผ์œผ๋กœ ๋” ์‰ฝ๊ฒŒ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Android๋Š” ํ•ด๋‹น Java API ๋ช…๋ น๊ณผ ๋ฌธ๋ฒ• ๊ตฌ์กฐ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋…ผ์˜ ์˜ค๋ผํด์€ ์ด๋Ÿฌํ•œ Java API์˜ "์žฌ๊ตฌํ˜„"์ด ๋ฌธํ•™ ์†Œ์„ค "ํ•ด๋ฆฌํฌํ„ฐ"์™€ ๊ฐ™์€ ์ž‘๊ฐ€์˜ ์ž‘ํ’ˆ์„ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ผํด ๋ณ€ํ˜ธ์‚ฌ๋“ค์ด ์ œ์‹œํ•œ ์‹ค์ œ ์‚ฌ๋ก€), Google์€ Java API ๋ช…๋ น ์ด๋ฆ„ ๋ฐ ๊ตฌ์กฐ์— ๋Œ€ํ•œ Oracle์˜ ์ €์ž‘๊ถŒ์„ ์œ„๋ฐ˜ํ–ˆ์Šต๋‹ˆ๋‹ค..

๊ทธ๋Ÿฌ๋‚˜ Java API๊ฐ€ ์œ ์ผํ•œ API๋Š” ์•„๋‹ˆ๋ฉฐ Android๊ฐ€ ์œ ์ผํ•œ ์žฌ๊ตฌํ˜„๋„ ์•„๋‹™๋‹ˆ๋‹ค. ์˜ค๋Š˜๋‚ ์˜ IT ์‚ฐ์—…์—์„œ API๋Š” ์–ด๋””์—๋‚˜ ์กด์žฌํ•˜๋ฉฐ, ๋Œ€๊ธฐ์—…์˜ ๋…์ ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ๊ฒฝ์Ÿ์„ ์œ ์ง€ํ•˜๋ ค๋ฉด API ์žฌ๋„์ž…์ด ๊ธฐ๋ณธ์ž…๋‹ˆ๋‹ค. ๊ณ ๋ ค Charles Duane์€ R Street Institute์˜ ๊ธฐ์ˆ  ๋ฐ ํ˜์‹  ์ •์ฑ… ์ด์‚ฌ์ž…๋‹ˆ๋‹ค.

Duane์€ ์ธ๊ธฐ ์žˆ๋Š” Amazon S3 ์Šคํ† ๋ฆฌ์ง€ ํ”Œ๋žซํผ์˜ ์˜ˆ๋ฅผ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. S3์—์„œ ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก Amazon์€ ํฌ๊ด„์ ์ธ, ์ƒ์„ธํ•œ API ์„œ๋น„์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ €์žฅ๋œ ํŒŒ์ผ ๋ชฉ๋ก์„ ์–ป์œผ๋ ค๋ฉด(ListObject) ํ˜ธ์ŠคํŠธ ๋ฐ ์œ ํ˜• ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” GET ๋ช…๋ น์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ธ์ฝ”๋”ฉ ์œ ํ˜•, ์—ฐ์† ํ† ํฐ ะธ x-amz-๋‚ ์งœ. Amazon S3๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ด๋Ÿฌํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„๊ณผ ๊ธฐํƒ€ ์—ฌ๋Ÿฌ ํŠน์ • ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ •ํ™•ํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

GET /?Delimiter=Delimiter&EncodingType=EncodingType&Marker=Marker&MaxKeys=MaxKeys&Prefix=Prefix HTTP/1.1
Host: Bucket.s3.amazonaws.com
x-amz-request-payer: RequestPayer

Amazon์€ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์‹œ์žฅ์˜ ํ™•์‹คํ•œ ๋ฆฌ๋”์ด๋ฉฐ ๊ฒฝ์Ÿ์—…์ฒด๋Š” S3 API์˜ ์žฌ๊ตฌํ˜„์„ ์ œ๊ณตํ•˜์ง€๋งŒ ๋ช…๋ น ์ด๋ฆ„, ๋งค๊ฐœ๋ณ€์ˆ˜ ํƒœ๊ทธ, ์œ ํ˜• ์ ‘๋‘์‚ฌ๋ฅผ ๋ชจ๋ฐฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. x-amz, S3 API์˜ ๋ฌธ๋ฒ• ๊ตฌ์กฐ ๋ฐ ์ผ๋ฐ˜ ๊ตฌ์„ฑ. ์ฆ‰, ์˜ค๋ผํด์ด ์ฃผ์žฅํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ์€ ์ €์ž‘๊ถŒ์˜ ๋ณดํ˜ธ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

Amazon S3 API ์‚ฌ๋ณธ์„ ์ œ๊ณตํ•˜๋Š” ํšŒ์‚ฌ ์ค‘์—๋Š” ๋‹ค์Œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ผํด ์ž์ฒด๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด Amazon S3 ํ˜ธํ™˜์„ฑ API๋Š” Amazon API์˜ ์ˆ˜๋งŽ์€ ์š”์†Œ๋ฅผ x-amz ํƒœ๊ทธ๊นŒ์ง€ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

Oracle ์ž์ฒด๊ฐ€ Amazon S3์—์„œ API๋ฅผ ๋ณต์‚ฌํ–ˆ๋Š”๋ฐ ์ด๋Š” ์™„์ „ํžˆ ์ •์ƒ์ ์ธ ํ˜„์ƒ์ž…๋‹ˆ๋‹ค.

์˜ค๋ผํด์€ ์ž์‚ฌ ํ–‰์œ„์˜ ํ•ฉ๋ฒ•์„ฑ์ด ์ฝ”๋“œ์˜ ๋ฌด๋ฃŒ ๋ณต์‚ฌ ๋ฐ ์ˆ˜์ •์„ ํ—ˆ์šฉํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค Apache 2.0 ๋ผ์ด์„ผ์Šค์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ  ์žˆ๋‹ค๊ณ  ์ฃผ์žฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Java์šฉ Amazon SDK Apache 2.0 ๋ผ์ด์„ผ์Šค๋„ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์ œ๋Š” ์ง€์ ์žฌ์‚ฐ๊ถŒ๋ฒ•์ด API ๊ฐ™์€ ๊ฒƒ์—๋„ ์ ์šฉ๋˜๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋Œ€๋ฒ•์›์ด ํŒ๋‹จํ•ด์•ผ ํ•  ์‚ฌํ•ญ์ด๋‹ค.

API๋Š” ๋ˆ„๊ฐ€ ๋ฐœ๋ช…ํ–ˆ๋‚˜์š”?

"์„œ๋ธŒ๋ฃจํ‹ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ"๋ผ๋Š” ์šฉ์–ด์™€ ๊ฐœ๋…์€ Herman Goldstein๊ณผ John von Neumann์ด ์“ด ์ฑ… Planning and Coding Problems for an Electronic Computing Instrument - Part II, Volume III(Princeton University Institute of Advanced Study, 1948)์— ์ฒ˜์Œ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. archive.org์— ๋ณต์‚ฌ. ์„ธ ๋ฒˆ์งธ ๊ถŒ์˜ ๋‚ด์šฉ:

Oracle ์ž์ฒด๊ฐ€ Amazon S3์—์„œ API๋ฅผ ๋ณต์‚ฌํ–ˆ๋Š”๋ฐ ์ด๋Š” ์™„์ „ํžˆ ์ •์ƒ์ ์ธ ํ˜„์ƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๋Š” ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•๋ก ์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ์„ค๋ช…์ž…๋‹ˆ๋‹ค(์ด์ „์—๋Š” ์กด์žฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค). ๊ทธ๊ฒƒ์€ ๋‹น์‹œ ์ž์ฒด ์ปดํ“จํ„ฐ๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ๋˜ ๋Œ€ํ•™์— ๋„๋ฆฌ ๋ฐฐํฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ด ์ฑ…์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ต์‹ฌ ์•„์ด๋””์–ด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋žจ์€ ๊ณตํ†ต ์ž‘์—…์„ ์‚ฌ์šฉํ•˜๋ฉฐ ๋ฃจํ‹ด์ด ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด ์ฝ”๋“œ์™€ ์˜ค๋ฅ˜์˜ ์–‘์„ ์ค„์ž…๋‹ˆ๋‹ค.. ์ด ์•„์ด๋””์–ด๋Š” Maurice Wilkes์— ์˜ํ•ด ๋”์šฑ ๊ฐœ์„ ๋˜์–ด EDSAC ๊ธฐ๊ณ„์—์„œ ์‹คํ–‰๋˜์—ˆ์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด ๊ทธ๋Š” 1967๋…„ Turing Award๋ฅผ ์ˆ˜์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

Oracle ์ž์ฒด๊ฐ€ Amazon S3์—์„œ API๋ฅผ ๋ณต์‚ฌํ–ˆ๋Š”๋ฐ ์ด๋Š” ์™„์ „ํžˆ ์ •์ƒ์ ์ธ ํ˜„์ƒ์ž…๋‹ˆ๋‹ค.
EDSAC ์„œ๋ธŒ๋ฃจํ‹ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์™ผ์ชฝ์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„๋Š” Maurice Wilkes์™€ David Wheeler๊ฐ€ ์ „์ž ๋””์ง€ํ„ธ ์ปดํ“จํ„ฐ๋ฅผ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ ์ค€๋น„(1951)์—์„œ ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ๊ณ ์ฐจ ๊ธฐ๋Šฅ๊ณผ ์™„์ „ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์šฉ์–ด ์ž์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋žจ ์ธํ„ฐํŽ˜์ด์Šค (API)๋Š” 60๋…„๋Œ€ ํ›„๋ฐ˜์ฏค์— ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์ž‘์„ฑ์ž "API์˜ ๊ฐ„๋žตํ•œ ์ฃผ๊ด€์  ์—ญ์‚ฌ" Joshua Block์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค, ๋ช…๋ น์–ด ์„ธํŠธ ๋ฐ ์„œ๋ธŒ๋ฃจํ‹ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒƒ๋“ค์ด ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋˜๊ณ  ์ดํ›„์— ์‚ฌ์šฉ๋˜๋Š”์ง€๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์•„์ด๋””์–ด๋Š” ์žฌ์‚ฌ์šฉ์ด API์˜ ํ•ต์‹ฌ์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ทธ๋“ค์ด ์• ์ดˆ์— ์ฐฝ์กฐ๋œ ์ด์œ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ํ•ญ์ƒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ API๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  ๋‹ค์‹œ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

API
์ฐฝ์กฐ์ž
๋…„
์žฌ๊ตฌํ˜„
๋…„

ํฌํŠธ๋ž€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
IBM
1958
์œ ๋‹ˆ๋ฐ•
1961

IBM S/360 ISA
IBM
1964
์•”๋‹ฌ ์ฃผ์‹ํšŒ์‚ฌ
1970

ํ‘œ์ค€ C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
AT&T/๋ฒจ ์—ฐ๊ตฌ์†Œ
1976
๋งˆํฌ ์œŒ๋ฆฌ์—„์Šค ์ฃผ์‹ํšŒ์‚ฌ
1980

์œ ๋‹‰์Šค ์‹œ์Šคํ…œ ํ˜ธ์ถœ
AT&T/๋ฒจ ์—ฐ๊ตฌ์†Œ
1976
๋งˆํฌ ์œŒ๋ฆฌ์—„์Šค ์ฃผ์‹ํšŒ์‚ฌ
1980

VT100 Esc ์‹œํ€€์Šค
12์›”
1978
ํ—ฌ์Šคํ‚ท
1980

IBM PC ๋ฐ”์ด์˜ค์Šค
IBM
1981
ํ”ผ๋‹‰์Šค ํ…Œํฌ๋†€๋กœ์ง€
1984

MS-DOS CLI
Microsoft
1981
ํ”„๋ฆฌ๋„์Šค ํ”„๋กœ์ ํŠธ
1998

Hayes AT ๋ช…๋ น ์„ธํŠธ
ํ—ค์ด์ฆˆ ๋งˆ์ดํฌ๋กœ
1982
์•ต์ปค ์ž๋™ํ™”
1985

ํฌ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ
์–ด๋„๋น„ ๋ฒฝ๋Œ
1985
GNU/๊ณ ์ŠคํŠธ์Šคํฌ๋ฆฝํŠธ
1988

SMB
Microsoft
1992
์‚ผ๋ฐ” ํ”„๋กœ์ ํŠธ
1993

Win32
Microsoft
1993
์™€์ธ ํ”„๋กœ์ ํŠธ
1996

Java 2 ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
ํƒœ์–‘
1998
๊ตฌ๊ธ€/์•ˆ๋“œ๋กœ์ด๋“œ
2008

์›น API ๋ง›์žˆ๋Š”
๋ง›์žˆ๋Š”
2003
ํ•€ ๋ณด๋“œ
2009

์ถœ์ฒ˜ : "API์˜ ๊ฐ„๋žตํ•œ ์ฃผ๊ด€์  ์—ญ์‚ฌ"

API(๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ๋ช…๋ น์–ด ์„ธํŠธ)๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ •ํ™•ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ปดํ“จํ„ฐ ๊ณผํ•™์˜ ํ‘œ์ค€์—์„œ ์ง์ ‘์ ์œผ๋กœ ๊ถŒ์žฅ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. S3 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณต์‚ฌํ•˜๊ธฐ ์ „์—๋„ Oracle ์ž์ฒด์—์„œ๋Š” ์ด ์ž‘์—…์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”์šฑ์ด Oracle์˜ ์‚ฌ์—…์€ ์ฒ˜์Œ์—๋Š” IBM์ด ๊ฐœ๋ฐœํ•œ SQL ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ตฌํ˜„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Oracle์˜ ์ฒซ ๋ฒˆ์งธ ์ฃผ๋ ฅ ์ œํ’ˆ์€ IBM System R์—์„œ ๋Œ€๋ถ€๋ถ„ ๋ณต์‚ฌํ•œ DBMS์˜€์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์šฐ๋ฆฌ๋Š” DBMS์šฉ "ํ‘œ์ค€ API"๋กœ์„œ SQL์„ ๋‹ค์‹œ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

API์— ์ง€์  ์žฌ์‚ฐ๊ถŒ์„ ๋ถ€์—ฌํ•˜๋ฉด ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ฒ•์  ์ง€๋ขฐ๋ฐญ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. API ๊ตฌํ˜„ ๋ฐ ๋‹ค๋ฅธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค. Wi-Fi ๋ฐ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ๊ณผ ๊ฐ™์€ ๋งŽ์€ ๊ธฐ์ˆ  ํ‘œ์ค€์—๋Š” API๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ฐ˜๋“œ์‹œ ์ธํ„ฐ๋„ท์ƒ์˜ ๋ชจ๋“  ์ปดํ“จํ„ฐ์™€ ์„œ๋ฒ„์—์„œ ์–ด๋–ค ํ˜•ํƒœ๋กœ๋“  ๋‹ค์‹œ ๊ตฌํ˜„๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ผํด์˜ ์ €์ž‘๊ถŒ ์ด๋ก ์€ ์ปดํ“จํ„ฐ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ์ž‘์—…์„ ๋ถˆ๋ฒ•์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด Oracle๊ณผ ์ž์‹ ์˜ ์ฃผ์žฅ์„ ์ง€์ง€ํ•œ ํ•ญ์†Œ ๋ฒ•์›์€ ์ €์ž‘๊ถŒ ์นจํ•ด๋ฅผ ์›๋ณธ๊ณผ "ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š”" ํŠน์ • API ์žฌ๊ตฌํ˜„์œผ๋กœ ์ œํ•œํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ถ€๋ถ„์ ์ธ ์žฌ๊ตฌํ˜„๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ํ‰๋ฒ”ํ•˜๋‹ค. S3 API ์‚ฌ๋ณธ์—์„œ๋„ Oracle์€ ์›๋ž˜ Amazon API์™€์˜ ์ˆ˜๋งŽ์€ "์ฐจ์ด์ " ๋ฐ ๋น„ํ˜ธํ™˜์„ฑ์„ ์ง€์ ํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ผํด ์†Œ์†ก์˜ ์ฃผ์š” ์œ„ํ—˜์€ ์†Œ๊ทœ๋ชจ ๊ธฐ์ˆ  ํšŒ์‚ฌ๊ฐ€ S3์™€ ๊ฐ™์€ ์ฃผ์š” ํ”Œ๋žซํผ๊ณผ ํ˜ธํ™˜๋˜๋Š” ์‹œ์Šคํ…œ ๋ฒ„์ „์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ˜ธํ™˜์„ฑ์ด ์—†์œผ๋ฉด ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์ด ํšŒ์‚ฌ์˜ ์ œํ’ˆ์„ ํšจ๊ณผ์ ์œผ๋กœ ์ด์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์—…๊ณ„ ๋Œ€ํ‘œ์ž์™€ ๊ฐœ๋ฐœ์ž๋Š” ์—ฌ๊ธฐ์„œ ์ด์„ฑ์ด ์Šน๋ฆฌํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž„ ๋ฟ์ž…๋‹ˆ๋‹ค. ์‹ฌ์‚ฌ์œ„์›์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ๋ณธ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค..

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€