|
|
|
|
|
| RESTful À¥ ¼ºñ½º : À¥ ¼ºñ½ºÀÇ ÁøÈ
- ÀýÆÇ |
 |
|
|
| ¤ýÀú ÀÚ |
Leonard Richardson
, Sam Ruby
|
| ¤ý¿ª ÀÚ |
°Á¤¹Î
|
| ¤ý±¸ ºÐ |
¹ø¿ª¼
|
| ¤ý¹ßÇàÀÏ |
2008³â 03¿ù 03ÀÏ |
| ¤ýÁ¤ °¡ |
23,000¿ø |
| ¤ýÆäÀÌÁö |
610 ÆäÀÌÁö |
| ¤ýISBN |
978-89-5674-419-3 |
| ¤ý³À̵µ |
Áß±Þ |
| ¤ýÃâÆÇ»ç |
Á¤º¸¹®È»ç |
|
|
|
|
|
|
|
 |
 |
Áö±Ý²¯ ¿ì¸®´Â ´Ù¸¥ »ç¶÷µéÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Â À¥ »çÀÌÆ®¸¦ ±¸ÃàÇÏ¿´´Ù. ÇÏÁö¸¸ ±â°è°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â À¥ »çÀÌÆ®¸¦ ¸¸µé ¼ö Àִ°¡? World Wide WebÀº ´Ü¼øÈ÷ °Å´ëÇÑ À¯Åë ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¾Æ´Ï´Ù. WWW´Â ºÐ»ê ÄÄÇ»ÆÃÀ» À§ÇÑ Ç÷§ÆûÀÌ´Ù. À¥ ¼ºñ½º, ¸Å½¬¾÷, Ajax ¾ÖÇø®ÄÉÀ̼ÇÀº ¸ðµÎ À¥À» Ç÷§ÆûÀ¸·Î »ç¿ëÇÑ´Ù. ÇÏÁö¸¸ ¿À´Ã³¯ÀÇ À¥ ¼ºñ½º ±â¼úÀº À¥À» ¼º°øÀûÀ¸·Î ¸¸µå´Â °£°áÇÔÀ» ÀÒ¾î¹ö·È´Ù. À¥Àº À¥Ã³·³ ÀÛµ¿ÇÏÁö ¾Ê±â ¶§¹®¿¡ ´õ ÀÌ»ó ±× ÀåÁ¡À» »ì¸®Áö ¸øÇϰí ÀÖ´Ù.
ÀÌ Ã¥Àº "À¥"À» ´Ù½Ã À¥ ¼ºñ½º·Î µ¹·Á³õ°í ÀÖ´Ù. ÀÌ Ã¥Àº ÀÌ¹Ì ¸ÅÀÏ »ç¿ëÇϰí ÀÖ´Â ±â¼úµéÀ» programmable web¿¡ Á¢¸ñ½ÃŰ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë·ÁÁØ´Ù. ±× ÇÙ½ÉÀº RESTÀÌ´Ù. RESTÀûÀÎ À¥¼ºñ½º´Â ´ÙÀ½°ú °°´Ù.
- HTTP ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·ÎÅäÄÝ, URI ³×ÀÌ¹Ö Ç¥ÁØ, XML Markup Language µî ±âº»ÀûÀÎ À¥ ±â¼úÀÇ ÈûÀ» °Á¶ÇÑ´Ù.
- RESTÀûÀÎ À¥ ¼ºñ½º¸¦ µðÀÚÀÎÇϴµ¥ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ¿øÄ¢ÀÎ ROA(Resource-Oriented Architecture)¸¦ ¼Ò°³ÇÑ´Ù.
- RESTÀûÀÎ µðÀÚÀÎÀÌ RPCs(Remote Procedure Calls)¿¡ ±âÃÊÇÑ µðÀÚÀκ¸´Ù ¾ó¸¶³ª ´õ °£ÆíÇϰí À¶Å뼺 ÀÖ°í scalableÇÑÁö º¸¿©ÁØ´Ù.
- ¾Æ¸¶Á¸ÀÇ Simple Storage Service¿Í Atom Publishing Protocol°ú °°ÀÌ ½ÇÁ¦·Î Àû¿ëµÈ »ç·Ê¸¦ °¡Áö°í ÀÖ´Ù.
- ÀϹÝÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î½á À¥ ¼ºñ½º Ŭ¶óÀÌ¾ðÆ®¸¦ ¾ð±ÞÇÑ´Ù.
- Ruby on Rails, Restlet(Java¿ë), Django(Python¿ë)ÀÇ °¡Àå ÀϹÝÀûÀÎ ÇÁ·¹ÀÓ¿öÅ©¿¡¼ RESTÀûÀÎ ¼ºñ½º¸¦ ¾î¶»°Ô ½ÇÇàÇÏ´ÂÁö º¸¿©ÁØ´Ù.
- RESTÀûÀÎ À¥¼ºñ½º¿Í Ŭ¶óÀÌ¾ðÆ®¸¦ ¾î¶»°Ô ½ÇÇàÇÏ´À³Ä¿Í °°ÀÌ ½ÇÁúÀûÀÎ ¹®Á¦µé¿¡ ÃÊÁ¡À» µÎ°í ÀÖ´Ù.
[RESTful Web Service]´Â REST µðÀÚÀΠöÇÐÀ» ½ÇÁ¦ À¥ ¼ºñ½º¿¡ Àû¿ëÇÑ Ã¹ ¹øÂ° Ã¥ÀÌ´Ù. ÀÌ Ã¥Àº ¼º°øÀûÀÎ À¥ µðÀÚÀÎÀ» À§ÇØ ¿©·¯ºÐ¿¡°Ô ÇÊ¿äÇÑ ÃÖ°íÀÇ »ç·Êµé°ú µðÀÚÀÎÀÌ ½ÇÁ¦ ÄÚµùÀ¸·Î À̾îÁú ¼ö ÀÖµµ·Ï ¸¸µå´Âµ¥ ÇÊ¿äÇÑ ÃÖ°íÀÇ ±â¼úµéÀ» Á¦½ÃÇÑ´Ù. programmable ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇØ À¥ÀÇ ÈûÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ¿ì¸®´Â À¥°ú ´ëÇ×ÇÏ¿© ½Î¿ì´Â °ÍÀÌ ¾Æ´Ï¶ó À¥°ú Á¶È¸¦ ÀÌ·ç¸ç ÀÛ¾÷ÇØ¾ß ÇÑ´Ù. ÀÌ Ã¥ÀÌ ¹Ù·Î ±× ¹æ¹ýÀ» ¼³¸íÇØÁØ´Ù.
"¸ðµç À¥ °³¹ßÀÚµéÀº ²À Çѹø¾¿ ÀоîºÁ¾ß Çϴ å" - µ¥À̺ø ÇÏÀ̳׸¶À̾î ÇÚ½¼, Rails ÇÁ·¹ÀÓ¿öÅ© °³¹ßÀÚ
"RESTÀûÀÎ À¥ ¼ºñ½º´Â °á±¹ À¥ÀÇ ÁÖº¯¸¸À» °Çµå¸®´Â ¼ºñ½ºº¸´Ù´Â À¥ ÀÚü¸¦ ¾Æ¿ì¸¦ ¼ö ÀÖ´Â ¼ºñ½º¸¦ ±¸ÃàÇϱâ À§ÇÑ ½Ç¿ëÀûÀÎ ·Îµå¸ÊÀ» Á¦°øÇÑ´Ù." - ¾Æ´ã Æ®¶ôÅÙ¹ö±×, À̺£ÀÌ À¥¼ºñ½º PHP °³¹ßÀÚ
|
| |
 |
 |
À¥ ¼ºñ½º¶ó´Â °³³äÀÌ Ã³À½ ³ª¿ÔÀ» ¶§, ¸¹Àº »ç¶÷µéÀÌ À¥ ¼ºñ½º¿Í À¥ »çÀÌÆ®¸¦ È¥µ·ÇÏ¿© »ç¿ëÇßÀ» ¶§°¡ ±â¾ï³´Ù. ´ç½Ã À¥ ¼ºñ½º´Â ¸·¿¬ÇÑ ±â´ë ¶§¹®¿¡ SOAPÀ» Áß½ÉÀ¸·Î ±Þ¼Óµµ·Î ÆÛÁ® ³ª°¬´Ù. ¹°·Ð ±¹³»¿¡¼´Â ±â¼úÀû ÇѰè¿Í »ç¾÷ÀûÀ¸·Î À¥ ¼ºñ½º¸¦ È®ÀåÇÏÁö ¸øÇÑ ÇѰè·Î ÀÎÇÏ¿© Å« Àα⸦ ²øÁö´Â ¸øÇÏ¿´´Ù.
ÇÏÁö¸¸ Áß¿äÇÑ °ÍÀº À¥ ¼ºñ½º´Â ¿À´Ã³¯ ȵΰ¡ µÇ°í ÀÖ´Â Web 2.0ÀÇ °³¹æÇü Ç÷§ÆûÀÇ ½ÃÃÊ·Î ¸¹Àº »ç¿ëÀڵ鿡°Ô º»ÀÎÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÚÀ¯·Ó°Ô Ȱ¿ëÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º¸¦ °¡Áö°í ÀÖ´Ù. ±×·¸±â ¶§¹®¿¡ ´©±¸³ª ¸¶À½¸¸ ¸ÔÀ¸¸é ÀÚ½ÅÀÌ ¿øÇÏ´Â ¾ÖÇø®ÄÉÀ̼Ç, µ¥ÀÌÅͺ£À̽º, ¾Ë°í¸®ÁòµéÀ» ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¿ì¸®´Â ±¸±ÛÀÌ Á¦°øÇÏ´Â À¥ ¼ºñ½º¸¦ ÀÌ¿ëÇÏ¿© ÀÚ½ÅÀÇ ºí·Î±×, À¥ »çÀÌÆ®¿¡ ¼Õ½±°Ô °Ë»ö ¿£ÁøÀ» °áÇÕÇÒ ¼ö ÀÖ´Ù. ¹°·Ð ÀÏÁ¤ ¼öÁØ ÀÌ»óÀÇ »ç¿ë¼ºÀ» ¿ä±¸ÇÒ °æ¿ì¿¡´Â º°µµÀÇ ºñ¿ëÀ» ÁöºÒÇØ¾ß°ÚÁö¸¸, Á÷Á¢ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ´Â °Í¿¡ ´ëºñÇØ¼´Â ºñ¿ë ¹× ½Ã°£ÀÌ ¾öû³ª°Ô Àý¾àµÉ °ÍÀÌ´Ù.
¿ªÀÚ º»Àεµ À¥ ¼ºñ½º¸¦ ÀÌ¿ëÇÑ ´Ù¾çÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇϰí À̰ÍÀ» ÀÌ¿ëÇÑ ºñÁî´Ï½º ¸ðµ¨À» ±¸»óÇÑ ÀûÀÌ ÀÖ´Ù. Open Sourceó·³ Àνĵǰí ÀÖ´Â ±¹³»¿¡¼ À¥ ¼ºñ½º¸¦ »ó¿ëÈÇÑ´Ù´Â °ÍÀÌ Ä¿´Ù¶õ ÇѰ谡 Á¸ÀçÇÏÁö¸¸, ÇØ¿ÜÀÇ ¾Æ¸¶Á¸, ±¸±ÛÀÇ »ç·Ê¿¡¼Ã³·³ ¹«ÇÑÇÑ °¡´É¼ºÀÌ Á¸ÀçÇÑ´Ù°í »ý°¢ÇÑ´Ù. ÀÌ Ã¥Àº À¥ ¼ºñ½º¸¦ º¸´Ù È¿°úÀûÀ̰í, ÃÖÀûȽÃų ¼ö ÀÖ´Â ÇϳªÀÇ Áöħ¼¿Í °°´Ù. À¥ ¼ºñ½º¸¦ ±¸ÇöÇÏ´Â ´Ù¾çÇÑ ¹æ¹ýµéÀ» ¸ðµÎ ±â¼úÇÏ·Á´Ù º¸´Ï ¾ÆÁÖ ¼¼¹ÐÇÑ ³»¿ë±îÁö´Â ´ãÀ» ¼ö ¾ø¾úÁö¸¸, À¥ ¼ºñ½º ¼³°è¿¡ ´ëÇØ¼ ¸· ÇнÀÀ» ½ÃÀÛÇÏ·Á´Â ÀÌ¿¡°Ô´Â ÃÖ»óÀÇ ¼ÀûÀÌ µÉ °ÍÀ̶ó Àå´ãÇÑ´Ù.
¸ðÂÉ·Ï ±¹³»¿¡¼µµ À¥ ¼ºñ½º¸¦ ÀÌ¿ëÇÑ Èï¹Ì·Î¿î Mash-up ¼ºñ½º¸¦ ºñ·ÔÇÏ¿© Open ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÌ¿ëÇÑ ¼öÀÍ Ã¢ÃâÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀ» ¿©·¯ºÐÀÌ º¸¿©ÁÖ±æ ¹Ù¶õ´Ù. |
| |
| |
 |
 |
| |
|
|
 |
|
|