ÇÁ·¹ÀÓ¿öÅ©ÀÇ µµ¿ò ¾øÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÑ´Ù´Â °ÍÀº »ó»óÇϱâ Èûµç ½Ã´ë°¡ ´Ù°¡¿À°í ÀÖ´Ù. ÇÏ·ç°¡ ´Ù¸£°Ô ´Ã¾î¸¸ °¡´Â °¢Á¾ ÇÁ·¹ÀÓ¿öÅ©ÀÇ È«¼ö ¼Ó¿¡¼ Àڽſ¡°Ô ÇÊ¿äÇÑ ÃÖÀûÀÇ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼±º°Çϰí È¿°úÀûÀ¸·Î »ç¿ëÇÒ ÁÙ ¾Æ´Â ´É·ÂÀÌ °³¹ßÀڵ鿡°Ô ¿ä±¸µÇ°í ÀÖ´Ù. ÇÁ·¹ÀÓ¿öÅ©´Â ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚµéÀÇ ¿À·£ ¼÷¿øÀ» ÇØ°áÇØ ÁÖ±â À§ÇØ µîÀåÇÑ ¸ÚÁø µµ±¸°¡ ºÐ¸íÇÏ´Ù. ÇÏÁö¸¸ ±×°ÍÀ» ÀûÀýÇÏ°Ô ´Ù·ç°í »ç¿ëÇÒ ÁÙ ¾Æ´Â ÁöÇý¸¦ °¡Áø Àڵ鸸 ¾òÀ» ¼ö ÀÖ´Â ÇýÅÃÀÌ´Ù.
ÇÁ·¹ÀÓ¿öÅ©°¡ ¹«¾ùÀ̶ó°í ÇѸ¶µð·Î Á¤ÀÇÇϱâ´Â ½±Áö ¾Ê´Ù. »ç¶÷µé ÀÔ¿¡ ¸¹ÀÌ ¿À¸£³»¸®´Â IT¿ë¾îµéÀº ±× Á¤Àǰ¡ »ç½Ç ¸Å¿ì ´À½¼ÇÑ °æ¿ì°¡ ¸¹´Ù. ÇÁ·¹ÀÓ¿öÅ©¶ó´Â ¸»Àº À¯Çà¾îó·³ Á¡Á¡ ¸¹Àº °÷¿¡¼ Æø³ÐÀº Àǹ̷Π»ç¿ëµÇ°í ÀÖ´Ù.
±×·¡¼ ¸¹Àº °æ¿ì¿¡ ÇÁ·¹ÀÓ¿öÅ©ÀÇ °³³ä¿¡ ´ëÇÑ ¿ÀÇØ·Î ÀÎÇØ À߸øµÈ ÆÇ´ÜÀ» Çϱ⵵ ÇÑ´Ù. ±×·± Å¿¿¡ ÇÁ·¹ÀÓ¿öÅ©ÀÇ È°¿ë ¹æ¹ýÀ» ¾Ë¾Æº¸±â¿¡ ¾Õ¼ ÇÁ·¹ÀÓ¿öÅ©¶ó´Â ¿ë¾îÀÇ Á¤È®ÇÑ ÀÇ¹Ì¿Í Æ¯Â¡À» ÀÌÇØÇØ µÎ´Â °ÍÀÌ Áß¿äÇÏ´Ù.
 | ÇÁ·¹ÀÓ¿öÅ©ÀÇ Æ¯Â¡
|  |
ÇÁ·¹ÀÓ¿öÅ©¿¡ ´ëÇØ Á¤È®È÷ ÀÌÇØÇÏ·Á¸é ÇÁ·¹ÀÓ¿öÅ©¿Í ±× Ư¡ÀÌ ºñ½ÁÇÏÁö¸¸ ÇÁ·¹ÀÓ¿öÅ©´Â ¾Æ´Ñ °Íµé°ú ºñ±³ÇØ º¸´Â °ÍÀÌ ÁÁ´Ù. ¿©±â¿¡¼´Â ÇÁ·¹ÀÓ¿öÅ©¿Í È¥¿ëµÇ¾î »ç¿ëµÇ±âµµ ÇÏ´Â ¶óÀ̺귯¸®¿Í µðÀÚÀÎ ÆÐÅÏÀÌ ÇÁ·¹ÀÓ¿öÅ©¿Í ¾î¶»°Ô ´Ù¸¥ Ư¡À» °¡Áö´ÂÁö¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ.
ÇÁ·¹ÀÓ¿öÅ© vs ¶óÀ̺귯¸®
ÇÁ·¹ÀÓ¿öÅ©ÀÇ °¡Àå ´ëÇ¥ÀûÀΠƯ¡ Áß Çϳª´Â ±× ¾È¿¡ Ŭ·¡½º ¶óÀ̺귯¸®¸¦ °¡Áö°í ÀÖ´Ù´Â °ÍÀÌ´Ù. ȤÀÚ´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ ¹ÝÁ¦Ç°À̶ó°í ¼³¸íÇϱ⵵ ÇÑ´Ù. °³¹ßÇØ¾ß ÇÒ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÀϺκÐÀÌ ÀÌ¹Ì ¸¸µé¾îÁ® ÀÖ´Ù´Â ¶æÀÌ´Ù.
ÇÁ·¹ÀÓ¿öÅ©¸¦ ÀÌ¿ëÇÑ °³¹ßÀº °á±¹ ±× ±â¹ÝÀÌ µÇ´Â ÀÌ¹Ì Á¸ÀçÇÏ´Â ºÎºÐÀ» È®ÀåÇϰí ÀÌ¿ëÇÏ´Â °ÍÀ̶ó°í º¼ ¼ö ÀÖ´Ù. À©µµ¿ìÁî ȯ°æÀÇ ´ëÇ¥ÀûÀÎ GUI ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·¹ÀÓ¿öÅ©ÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ MFC(Microsoft Foundation Classes)¿Í º¼·£µåÀÇ OWL(Object Windows Library)´Â ±× À̸§ ±×´ë·Î Ŭ·¡½º ¶óÀ̺귯¸®·Î ±¸¼ºµÇ¾îÀÖ´Ù.
ÀÚ¹Ù±â¹ÝÀÇ ´ëÇ¥ÀûÀÎ ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·¹ÀÓ¿öÅ©ÀÎ ½ºÇÁ¸µÇÁ·¹ÀÓ¿öÅ©´Â ¼ö õ °³ÀÇ Å¬·¡½º±â¹Ý API ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù. ¶Ç .NET ÇÁ·¹ÀÓ¿öÅ©´Â CLR, ASP.NET°ú ÇÔ²² ÇÁ·¹ÀÓ¿öÅ© Ŭ·¡½º ¶óÀ̺귯¸®°¡ ±× Çٽɱ¸¼º¿ä¼ÒÀÌ´Ù. ÀÌ·¸µí ÇÁ·¹ÀÓ¿öÅ©´Â ¶óÀ̺귯¸®¿Í À¯»çÇÏ°Ô »ý°¢ÇÒ ¼öµµ ÀÖ´Ù.
ÇÏÁö¸¸ ÇÁ·¹ÀÓ¿öÅ©´Â ¶óÀ̺귯¸®¿Í´Â ºÐ¸íÈ÷ ´Ù¸£´Ù. ±× Â÷ÀÌ´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ´Â »ç¿ëÀÚÄÚµå¿Í ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â Äڵ带 ºñ±³Çغ¸¸é ½±°Ô ¾Ë ¼ö ÀÖ´Ù.
ÇÁ·¹ÀÓ¿öÅ©´Â ÁÖ·Î ÇÁ·¹ÀÓ¿öÅ© ÂÊ¿¡¼ »ç¿ëÀÚÀÇ Äڵ带 È£ÃâÇÏ´Â ±¸Á¶·Î µ¿ÀÛÇÑ´Ù. Áï ½ÇÇàÀÇ È帧¿¡ ´ëÇÑ Á¦¾î¸¦ ÇÁ·¹ÀÓ¿öÅ©°¡ ´ã´çÇÏ°Ô µÈ´Ù. ¸¹Àº ÇÁ·¹ÀÓ¿öÅ©´Â ÅÛÇø´ ¸Þ¼Òµå ÆÐÅÏ ±â¹ÝÀ¸·Î ¸¸µé¾îÁø Ŭ·¡½º¸¦ ¼ºê Ŭ·¡½ÌÇØ¼ »ç¿ëÇϵµ·Ï µÇ¾îÀÖ´Ù.
°á°úÀûÀ¸·Î »ç¿ëÀÚÀÇ ÄÚµå´Â ÇÁ·¹ÀÓ¿öÅ© Ŭ·¡½º¿¡ ÀÌ¹Ì ¼³°èµÇ¾îÀÖ´Â È帧±¸Á¶¿¡ µû¶ó µ¿ÀÛÇÏ°Ô µÈ´Ù. ±×·¡¼ ÇÁ·¹ÀÓ¿öÅ©ÀÇ µ¿ÀÛ¿ø¸®¸¦ ±× Á¦¾îÈ帧 ÀϹÝÀûÀÎ ÇÁ·Î±×·¥ È帧°ú ¹Ý´ë·Î µ¿ÀÛÇÑ´Ù°í ÇØ¼ IoC(Inversion of Control)À̶ó°í ¼³¸íÇϱ⵵ ÇÑ´Ù. ¹Ý¸é ¶óÀ̺귯¸®´Â À¯ÀúÀÇ Äڵ尡 ¶óÀ̺귯¸®¸¦ È£ÃâÇØ¼ »ç¿ëÇÏ´Â ±¸Á¶·Î µÇ¾îÀÖ´Ù.
Áï ÄÚµåÀÇ È帧À» À¯ÀúÄڵ尡 °üÀåÇϰí ÀÖ´Â °ÍÀÌ´Ù. ¶Ç ÇÁ·¹ÀÓ¿öÅ©´Â ¿ÀºêÁ§Æ®°£ÀÇ ¿¬µ¿±¸Á¶¸¦ ¹Ì¸® Á¤ÀÇÇϰí ÀÖ´Ù. ÀÌ·¸µí °°Àº Ŭ·¡½º ¶óÀ̺귯¸®ÀÌÁö¸¸ ÇÁ·¹ÀÓ¿öÅ©¿Í ¶óÀ̺귯¸®´Â ±× °ÍÀ» »ç¿ëÇÏ´Â À¯ÀúÄÚµåÀÇ ÀÛ¼º¹æ½ÄÀÌ ÆÇÀÌÇÏ°Ô ´Ù¸£´Ù.
ÇÁ·¹ÀÓ¿öÅ© vs µðÀÚÀÎ ÆÐÅÏ
ÇÁ·¹ÀÓ¿öÅ©´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸Á¶¿Í µðÀÚÀÎÀ» °áÁ¤ÇÏ´Â ¿ä¼Ò¸¦ °¡Áö°í ÀÖ´Ù. µðÀÚÀÎ ÆÐÅϰú ¸¶Âù°¡Áö·Î ÇÁ·¹ÀÓ¿öÅ©´Â ¹Ýº¹ÀûÀ¸·Î ¹ß°ßµÇ´Â ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ Æ¯ÈµÈ ¼Ö·ç¼ÇÀ̶ó°í ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ±¸Á¶ÀûÀÎ(architectural) µðÀÚÀÎ ÆÐÅÏÀÎ MVC ÆÐÅÏ (Model-View-Controller Pattern) ±â¹ÝÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼Õ½±°Ô ¸¸µé ¼ö ÀÖµµ·Ï ¼³°èµÇ¾îÀÖ´Â ´ëÇ¥ÀûÀÎ ÇÁ·¹ÀÓ¿öÅ©°¡ ½ºÆ®·µÆ® ÇÁ·¹ÀÓ¿öÅ©ÀÌ´Ù.
½ºÆ®·µÆ®´Â GUI±â¹ÝÀÇ MVC ÆÐÅÏÀ» À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Â ´õ Æ¯ÈµÈ ±¸Á¶Àû ÆÐÅÏÀ» °¡Áö°í ÀÖ´Ù. Å×½ºÆÃ ÇÁ·¹ÀÓ¿öÅ©ÀÇ ´ëÇ¥ °ÝÀÎ xUnit ÇÁ·¹ÀÓ¿öÅ©µéÀº Ä¿¸ÇµåÆÐÅϰú ÄÞÆ÷Áþ ÆÐÅÏÀ¸·Î ¼³°èµÇ¾îÀÖ´Ù. µû¶ó¼ ±× ÇÁ·¹ÀÓ¿öÅ©¸¦ ±â¹ÝÀ¸·Î ¸¸µå´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸Á¶µµ ÀÚ¿¬½º·´°Ô ÀÌ µÎ °¡Áö ÆÐÅÏÀÇ ¿µÇâÀ» ¹Þ°Ô µÈ´Ù.
µðÀÚÀÎ ÆÐÅÏÀº ÇÁ·¹ÀÓ¿öÅ©ÀÇ ÇÙ½ÉÀûÀΠƯ¡À̰í ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡ ±× ÆÐÅÏÀÌ Àû¿ëµÈ´Ù´Â Ư¡À» °¡Áö°í ÀÖ´Ù. ÇÏÁö¸¸ ÇÁ·¹ÀÓ¿öÅ©´Â µðÀÚÀÎ ÆÐÅÏÀÌ ¾Æ´Ï´Ù. µðÀÚÀÎ ÆÐÅÏÀº ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼³°èÇÒ ¶§ ÇÊ¿äÇÑ ±¸Á¶ÀûÀÎ °¡À̵å¶óÀÎÀÌ µÇ¾î ÁÙ ¼ö´Â ÀÖÁö¸¸ ±¸Ã¼ÀûÀ¸·Î ±¸ÇöµÈ ±â¹ÝÄڵ带 Á¦°øÇÏÁö ¾Ê´Â´Ù.
±× ÆÐÅÏÀ» ¾î¶² ½ÄÀ¸·Î Àû¿ëÇÏ°í ¾î¶² Ŭ·¡½º·Î ¸¸µé °ÍÀΰ¡´Â ±× ÆÐÅÏÀ» »ç¿ëÇÏ´Â °³¹ßÀÚÀÇ Ã¥ÀÓÀÌ´Ù. ÇÏÁö¸¸ ÇÁ·¹ÀÓ¿öÅ©´Â µðÀÚÀÎ ÆÐÅϰú ÇÔ²² ±× °ÍÀÌ Àû¿ë µÇ¾îÁø ±â¹Ý Ŭ·¡½º ¶óÀ̺귯¸®¸¦ Á¦°øÇؼ ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ´Â ±¸Á¶ÀûÀΠƲ°ú ±¸ÇöÄڵ带 ÇÔ²² Á¦°øÇÑ´Ù.
°á±¹ °³¹ßÀÚ´Â ÇÁ·¹ÀÓ¿öÅ©ÀÇ ±â¹ÝÄڵ带 È®ÀåÇÏ¿© »ç¿ëÇÏ¸é¼ ÀÚ¿¬½º·´°Ô ±× ÇÁ·¹ÀÓ¿öÅ©ÀÇ ÆÐÅÏÀ» Àû¿ëÇÏ°Ô µÈ´Ù.
ÇÁ·¹ÀÓ¿öÅ© = µðÀÚÀÎ ÆÐÅÏ + ¶óÀ̺귯¸®
ÇÁ·¹ÀÓ¿öÅ©´Â ÀÌ·¸°Ô µðÀÚÀÎ ÆÐÅϰú ±×°ÍÀÌ Àû¿ëµÈ ±â¹Ý ¶óÀ̺귯¸®ÀÇ °áÇÕÀ¸·Î ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ÀÌ µÎ °¡Áö°¡ ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¸ðµç Ư¡À» ´Ù ¼³¸íÇØÁÙ ¼ö´Â ¾ø´Ù ÇÏ´õ¶óµµ ÀÌ µÎ °¡Áö °üÁ¡¿¡¼ ÇÁ·¹ÀÓ¿öÅ©¸¦ °üÂûÇÏ´Â °ÍÀº ÇÁ·¹ÀÓ¿öÅ©¸¦ ÀÌÇØÇÏ´Â ÁÁÀº Ãâ¹ßÁ¡Àº µÉ ¼ö ÀÖ´Ù.
¶§·Ð ÀÚ½ÅÀÌ »ç¿ëÇϰí ÀÖ´Â ÇÁ·¹ÀÓ¿öÅ©¿¡ Àû¿ëµÈ ÆÐÅÏÀÌ ¾î¶² °ÍÀÎÁö ÀǽÄÇÏÁö ¾Ê°í °³¹ßÇÒ ¼öµµ ÀÖ´Ù. ÇÏÁö¸¸ ±× ÆÐÅÏÀ» ÀÌÇØÇÏ´Â °ÍÀº ÇÁ·¹ÀÓ¿öÅ© ±â¹ÝÀÇ °³¹ßÀÌ À߸øµÈ ¹æÇâÀ¸·Î ³ª¾Æ°¡Áö ¾Êµµ·Ï ÇØÁÖ´Â °¡À̵å¶óÀÎÀÌ µÇ¾î ÁÙ ¼ö ÀÖ´Ù.
¶Ç ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¶óÀ̺귯¸®¸¦ »ìÆìº¼ ¶§µµ ±× Àû¿ëµÈ ÆÐÅÏÀ» ÁÖ¸ñÇØ¼ »ìÆìº»´Ù¸é ±× ±¸¼ºÀ» ÀÌÇØÇϱⰡ ¸Å¿ì ½±´Ù. ƯÈ÷ ÇÁ·¹ÀÓ¿öÅ©¸¦ È®ÀåÇϰųª Ä¿½ºÅ͸¶ÀÌ¡ ÇÒ ¶§´Â ÇÁ·¹ÀÓ¿öÅ©ÀÇ ÆÐÅÏ¿¡ ´ëÇÑ ÀÌÇØ°¡ ²À ÇÊ¿äÇÏ´Ù.
ÇÁ·¹ÀÓ¿öÅ© Ȱ¿ëÀÇ Áö¸§±æ
¶óÀ̺귯¸®¿¡ ´ëÇÑ ºÐ¼®°ú ÀÌÇØµµ ¸Å¿ì Áß¿äÇÏ´Ù. ¸¹Àº ÇÁ·¹ÀÓ¿öÅ©µéÀÌ ½ÇÁ¦ ±× ±â´ÉÀÇ 10~20%ÀÌÇϸ¸ »ç¿ëµÇ°í ÀÖ´Ù´Â º¸°í°¡ ÀÖ´Ù. ÇÁ·¹ÀÓ¿öÅ©ÀÇ ÀϺΠ±â´É¸¸ ÇÊ¿äÇØ¼ ±×·¨´Ù¸é »ó°ü¾øÁö¸¸ ¶§·Î´Â ÇÁ·¹ÀÓ¿öÅ©¿¡¼ ÀÌ¹Ì Á¦°øµÇ°í ÀÖ´Â ±â´É°ú Ŭ·¡½º¸¦ ¸ô¶ó¼ ¶È°°Àº ±â´ÉÀ» °¡Áø Äڵ带 Á÷Á¢ °³¹ßÇØ¼ ¾²´Â °æ¿ìµµ ÀûÁö ¾Ê´Ù´Â Á¡ÀÌ ¹®Á¦´Ù.
ÇÁ·¹ÀÓ¿öÅ© °³¹ßÀÚµéÀÌ ÀÚÁÖ ÇÏ´Â À̾߱â´Â »ç¿ëÀÚµéÀÌ ¿äûÇÏ´Â »õ·Î¿î ±â´ÉÀÇ ¸¹Àº ºÎºÐÀº ÀÌ¹Ì ´Ù ±¸ÇöÀÌ µÇ¾î ÀÖ´Â °ÍµéÀ̶ó°í ÇÑ´Ù. ¼÷·ÃµÈ ÇÁ·¹ÀÓ¿öÅ© »ç¿ëÀÚÀϼö·Ï ¿ÀÈ÷·Á ÀÚ½ÅÀÌ ¿À·§µ¿¾È ½á ¿Â ±â´É ¿Ü¿¡´Â °ü½ÉÀ» µÎÁö ¾Ê¾Æ À¯¿ëÇÑ ¶óÀ̺귯¸® ±â´ÉÀ» ³õÄ¡´Â ÇÔÁ¤¿¡ ºüÁö±â ½±´Ù.
·¹ÆÛ·±½º ¸Å´º¾ó°ú API/Ŭ·¡½º ¹®¼¸¦ ²ÙÁØÈ÷ »ìÆìº¸°í À¯¿ëÇÑ ¶óÀ̺귯¸®ÀÇ ±â´É¿¡ ´ëÇÑ Áö½ÄÀ» ½×´Â °ÍÀÌ ÇÁ·¹ÀÓ¿öÅ©¸¦ Àß È°¿ëÇϱâ À§ÇÑ Áö¸§±æÀÌ´Ù.
 | ÇÁ·¹ÀÓ¿öÅ©¿Í ¾ÆÅ°ÅØÃ³
|  |
ÀϹÝÀûÀ¸·Î °³¹ßÆÀ¿¡¼ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼±Á¤ÇÏ°í µµÀÔÀ» ´ã´çÇÏ´Â °ÍÀº ¾ÆÅ°ÅØÆ®ÀÇ ¿ªÇÒÀÌ´Ù. ±× ÀÌÀ¯´Â ÇÁ·¹ÀÓ¿öÅ©°¡ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¾ÆÅ°ÅØÃ³¿¡ ¹ÌÄ¡´Â ¿µÇâÀÌ ¸Å¿ì Å©±â ¶§¹®ÀÌ´Ù.
ÇÁ·¹ÀÓ¿öÅ©´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸Á¶¸¦ °áÁ¤Çϱ⠶§¹®¿¡ ¾ÆÅ°ÅØÃ³ÀÇ ÀϺκÐÀ» Â÷ÁöÇÏ°Ô µÈ´Ù. µû¶ó¼ ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¼±Åÿ¡ µû¶ó ¾ÆÅ°ÅØÃ³ ¼³°è°¡ ´Þ¶óÁú ¼ö ÀÖ´Ù. MVC ±â¹ÝÀÇ À¥ ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ·Á°í ÇÑ´Ù¸é ±×¿¡ ¸Â°Ô Model2 ¾ÆÅ°ÅØÃ³¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.
¹Ý´ë·Î ¾ÆÅ°ÅØÃ³°¡ Á¤ÇØÁ® ÀÖ´Ù¸é ±× ¾ÆÅ°ÅØÃ³¿¡ ¸Â´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼±º°ÇØ¾ß ÇÑ´Ù. 3°èÃþ ±â¹ÝÀÇ ºÐ»êÇü ¾ÆÅ°ÅØÃ³¸¦ ¼³°èÇß´Ù¸é C/S¸¦ À§ÇÑ ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù.
¸¸¾à ¸®Ä¡ Ŭ¶óÀ̾ðÆ®(Rich Client) ¾ÆÅ°ÅØÃ³ ±â¹ÝÀ̶ó¸é Ajax ÇÁ·¹ÀÓ¿öÅ© µîÀÇ µµÀÔÀ» °í·ÁÇØ¾ßÇÑ´Ù. µû¶ó¼ ÇÁ·¹ÀÓ¿öÅ©¿Í ¾ÆÅ°ÅØÃ³´Â ¼·Î ±íÀº ¿¬°ü°ü°è°¡ ÀÖ´Ù. µû¶ó¼ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼±Á¤ÇÒ ¶§¿¡´Â Ç×»ó ¾ÆÅ°ÅØÃ³ ÀûÀ¸·Î ¹ÌÄ¡´Â ¿µÇâÀ» Àß ÆÇ´ÜÇØ¾ß ÇÑ´Ù.
¹®Á¦´Â ¸ðµÎ °°Àº ÇÁ·¹ÀÓ¿öÅ©¶ó ÇÏ´õ¶óµµ »ç¿ëÇÏ´Â ÆÐÅÏ¿¡ µû¶ó¼ °¢±â ´Ù¸¥ ¾ÆÅ°ÅØÃ³ÀûÀΠƯ¼ºÀ» °¡Áö°Ô µÈ´Ù´Â Á¡ÀÌ´Ù. ¶Ç ÇÑ °³ ÀÌ»óÀÇ ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÑ´Ù¸é ¾î¶² ¹æ½ÄÀ¸·Î Á¶ÇÕÇÏ´À³Ä¿¡ µû¶ó¼ ¾ÆÅ°ÅØÃ³ÀÇ ¼³°è¿¡ ¹ÌÄ¡´Â ¿µÇâÀÌ ´Ù¸¦ ¼ö ÀÖ´Ù.
µû¶ó¼ ¾î¶² ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÒ °ÍÀΰ¡ »Ó¸¸ ¾Æ´Ï¶ó ±× ÇÁ·¹ÀÓ¿öÅ©¸¦ ¾î¶² ½ÄÀ¸·Î »ç¿ëÇÒ °ÍÀΰ¡µµ °í·ÁÇØ¾ß¸¸ ÇÑ´Ù. °á±¹ ÃÖÁ¾ÀûÀ¸·Î ¿Ï¼ºµÇ´Â ¾ÆÅ°ÅØÃ³´Â »ç¿ëÇÏ´Â ÇÁ·¹ÀÓ¿öÅ©ÀÇ Á¾·ù¿Í ±× »ç¿ëÀü·«ÀÌ °áÇÕµÇ¾î °áÁ¤µÈ´Ù°í º¼ ¼ö ÀÖ´Ù.
¾ÆÅ°ÅØÃ³ °üÁ¡¿¡¼ ¸Å¿ì Á¦ÇÑÀûÀÎ ÇÁ·¹ÀÓ¿öÅ©°¡ ÀÖ´Â ¹Ý¸é¿¡ ´Ù¾çÇÑ ¾ÆÅ°ÅØÃ³¸¦ Áö¿øÇÏ´Â À¯¿¬ÇÑ ÇÁ·¹ÀÓ¿öÅ©µµ ÀÖ´Ù. ÇÊÀÚ´Â ÃÖ±Ù¿¡ ¾ÆÅ°ÅØÆ®·Î Âü¿©Çϰí ÀÖ´Â ÇÁ·ÎÁ§Æ®¿¡¼ °³¹ßÇϰí ÀÖ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡ Àû¿ëµÈ ¾ÆÅ°ÅØÃ³¸¦ ´ëÆø ¼öÁ¤ÇÏ´Â ÀÛ¾÷À» ÁøÇàÇß´Ù.
ÀüÅëÀûÀÎ °èÃþÇü ¾ÆÅ°ÅØÃ³(Layered Architecture)¿¡¼ »ç¿ëÇÏ´Â ¼ºñ½º°èÃþ Áß½ÉÀÇ ¾ÆÅ°ÅØÃ³¸¦ ¸®Ä¡ µµ¸ÞÀÎ ¸ðµ¨(Rich Domain Model)À» »ç¿ëÇÏ´Â DDD(Domain Driven Design)½ºÅ¸ÀÏÀÇ ¾ÆÅ°ÅØÃ³·Î º¯°æÇÏ°Ô µÇ¾ú´Ù.
¾ÖÇø®ÄÉÀÌ¼Ç ±¸Á¶ÀûÀ¸·Î´Â ¸Å¿ì Å« º¯ÈÀÌÁö¸¸ ÀÌ °úÁ¤¿¡¼ ±âÁ¸¿¡ »ç¿ëÇÏ´ø ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·¹ÀÓ¿öÅ©´Â º¯°æÇÒ ÇÊ¿ä ¾øÀÌ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ¾ú´Ù.
´ÜÁö ÇÁ·¹ÀÓ¿öÅ©¿¡¼ »ç¿ëÇÏÁö ¾Ê´ø ±â´É ÀϺθ¦ Àû¿ëÇÏ°í »ç¿ë¹æ½ÄÀ» º¯°æÇßÀ» »ÓÀÌ´Ù. ÇÁ·¹ÀÓ¿öÅ©¸¦ À߸ø ¼±ÅÃÇØ¼ ¹®Á¦°¡ »ý±â´Â ¸¹Àº °æ¿ì´Â ¾ÆÅ°ÅØÃ³ÀûÀ¸·Î ¸Å¿ì Á¦ÇÑÀÌ ½ÉÇÑ ÇÁ·¹ÀÓ¿öÅ©¸¦ µµÀÔÇßÀ» ¶§ ¸¹ÀÌ ÀϾÙ. µû¶ó¼ ÇÁ·¹ÀÓ¿öÅ© µµÀÔ ½Ã ¾ÆÅ°ÅØÃ³ÀûÀÎ À¯¿¬¼ºÀ» µûÁ®º¸´Â °Íµµ Áß¿äÇÑ ÀÏÀÌ´Ù.
ÇÁ·¹ÀÓ¿öÅ©¸¦ Á¤È®È÷ ºÐ¼®ÇÏ°í °ËÁõÇϱâ À§Çؼ´Â ¾Õ¼ ¸»ÇÑ ÇÁ·¹ÀÓ¿öÅ©¿¡ ´ëÇÑ ¼¼ °¡Áö ÀÌÇØ°¡ ¹Ýµå½Ã ÇÊ¿äÇÏ´Ù. ÇÁ·¹ÀÓ¿öÅ©ÀÇ Æ¯Â¡°ú ±× Á¾·ù¸¦ ÆÄ¾ÇÇØ¾ß Çϰí ÇÁ·¹ÀÓ¿öÅ©°¡ ¾ÆÅ°ÅØÃ³¿¡ ¹ÌÄ¡´Â ¿µÇâµµ ÀÌÇØÇØ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ÇÁ·¹ÀÓ¿öÅ©¿¡ ´ëÇÑ ÀÌÇØ¸¦ ±â¹ÝÀ¸·Î ÇÁ·¹ÀÓ¿öÅ© ¼±Á¤°ú µµÀÔ¿¡ ÇÊ¿äÇÑ »ó¼¼ÇÑ Àü·«¿¡ ´ëÇØ¼ »ìÆìº¸ÀÚ.
 | ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¼±Åðú µµÀÔ Àü·«
|  |
ÇÁ·¹ÀÓ¿öÅ©ÀÇ Á¾·ù´Â °¥¼ö·Ï ´Ã°í ÀÖ´Ù. À¥ °³¹ßÀ» À§ÇÑ ¾ð¾îÀÎ PHP¸¸ ÇØµµ ÀÌ¹Ì 70¿©°³ÀÇ ÇÁ·¹ÀÓ¿öÅ©°¡ ³ª¿Í ÀÖ´Ù. °¡Àå ÇÁ·¹ÀÓ¿öÅ©¸¦ Ȱ¹ßÇÏ°Ô »ç¿ëÇϰí ÀÖ´Â ÀÚ¹Ù´Â ÇÁ·¹ÀÓ¿öÅ©ÀÇ Á¾·ù¿Í ¼ö¸¦ Çì¾Æ¸®±â Á¶Â÷ Èûµé´Ù. ´ëÇ¥ÀûÀÎ ÀÚ¹Ù°³¹ßÀÚ Æ÷ÅÐ »çÀÌÆ®ÀÎ TSS¿¡´Â °ÅÀÇ ¸ÅÀÏ ²÷ÀÌÁö ¾Ê°í »õ·Î¿î ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼Ò°³ÇÏ´Â ´º½º°¡ ½Ç¸®°í ÀÖÀ» Á¤µµÀÌ´Ù.
¶§·Ð ÇÁ·¹ÀÓ¿öÅ©°¡ ±×¸¸ ³ª¿ÔÀ¸¸é ½ÍÀº »ý°¢ÀÌ µé ¶§µµ ÀÖÀ» Á¤µµÀÌ´Ù. ÀÌ·¸°Ô ´Ù¾çÇÑ ÇÁ·¹ÀÓ¿öÅ© Áß¿¡¼ °³¹ß¿¡ ÇÊ¿äÇÑ ÀûÀýÇÑ ÇÁ·¹ÀÓ¿öÅ©¸¦ ã°í °ËÁõÇÏ°í µµÀÔÇÏ´Â °ÍÀº ¸Å¿ì ¾î·Æ°í ¹ø°Å·Î¿î ÀÛ¾÷ÀÌ´Ù.
ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼±ÅÃÇÏ´Â °ÍÀÌ Áß¿äÇÑ ÀÌÀ¯´Â Çѹø ¼±ÅÃÇÑ ÇÁ·¹ÀÓ¿öÅ©´Â ½±°Ô ¹Ù²Ù±â Èûµé´Ù´Â µ¥ ÀÖ´Ù. ÇÁ·¹ÀÓ¿öÅ©´Â ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÇ ±¸Á¶¸¦ Á¿ìÇϱ⠶§¹®¿¡ ÀÌ¹Ì °³¹ßÀÌ ¾î´À Á¤µµ ÁøÇàµÈ ÈÄ¿¡ ÇÁ·¹ÀÓ¿öÅ©¸¦ º¯°æÇÑ´Ù´Â °ÍÀº ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸Á¶µµ ÇÔ²² ¹Ù²ã¾ß ÇÑ´Ù´Â ºÎ´ãÀ» µ¿¹ÝÇÑ´Ù.
¶Ç ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¶óÀ̺귯¸®¿¡ ÀÇÁ¸ÀûÀ¸·Î ¸¸µé¾îÁø Äڵ带 ¼öÁ¤ÇÏ·Á¸é ÃÖ¾ÇÀÇ °æ¿ì ±× µ¿¾È °³¹ßÇÑ °ÍÀ» ¹ö¸®°í »õ·Î °³¹ßÇÏ´Â °ÍÀÌ ³ªÀ» ¸¸Å Å« ÀÛ¾÷ÀÌ µÉ ¼ö ÀÖ´Ù.
ÇÁ·¹ÀÓ¿öÅ©°¡ °¡Áø °áÇÔÀ̳ª ÇѰ踦 ¹Ì¸® ÆÄ¾ÇÇÏÁö ¸øÇÏ¸é °á±¹ ÇÁ·ÎÁ§Æ®°¡ ½ÇÆÐÇÏ°Ô µÇ´Â À§ÇèÀ» ¸ÂÀ» ¼öµµ ÀÖ´Ù. µû¶ó¼ ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¼±ÅÃÀº ¸Å¿ì ½ÅÁßÇØ¾ß Çϰí ÃæºÐÇÑ ½Ã°£°ú °ËÅä°¡ ÇÊ¿äÇÏ´Ù. ÇÁ·¹ÀÓ¿öÅ©¸¦ Àß Àû¿ëÇÏ¸é »ý»ê¼ºÀ» ³ô¿© °³¹ß±â°£À» ´ÜÃàÇÒ ¼ö ÀÖ´Ù. µû¶ó¼ ÇÁ·¹ÀÓ¿öÅ© ¾ø´Â °³¹ßº¸´Ù »ó´çÇÑ ½Ã°£ÀûÀÎ ¿©À¯¸¦ °¡Áú ¼ö ÀÖ´Ù.
±×·¸´Ù¸é °³¹ßÃʱâÀÇ ½Ã°£À» ÇÁ·¹ÀÓ¿öÅ© ºÐ¼®°ú ¼±Á¤¿¡ ³Ë³ËÇÏ°Ô ÅõÀÚÇÒ ÁÙ ¾Æ´Â ÁöÇý°¡ ÇÊ¿äÇÏ´Ù.
ÇÁ·¹ÀÓ¿öÅ© µµÀÔÀÇ ¸ñÀû
ÇÁ·¹ÀÓ¿öÅ© µµÀÔÀ» À§Çؼ °¡Àå ¸ÕÀú »ý°¢ÇØ¾ß ÇÒ °ÍÀº µµÀÔÀÇ ¸ñÀûÀÌ´Ù. ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ·Á´Â ÀÌÀ¯¿Í ±×·Î ÀÎÇØ ¾ò¾î¾ß ÇÏ´Â °á°ú°¡ ÀÖ¾î¾ß¸¸ ±× ±âÁØ¿¡ ºÎÇÕÇÏ´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.
ÇÏÁö¸¸ ¸¹Àº °³¹ßÀÚµéÀÌ ´ÜÁö ¿äÁò À¯ÇàÇÏ´Â À¯¸í ÇÁ·¹ÀÓ¿öÅ©À̴ϱî Çѹø ½áº¸·Á´Â »ý°¢¿¡ µµÀÔ ¸ñÀûÀº µÞÀüÀ¸·Î ÇÏ°í Æ¯Á¤ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼±ÅÃÇÏ´Â ½Ç¼ö¸¦ Çϱ⵵ ÇÑ´Ù. ¹ü¿ëÀûÀ¸·Î ¾²ÀÌ´Â ÇÁ·¹ÀÓ¿öÅ©°¡ ÀÖ±â´Â ÇÏÁö¸¸ ¸ðµç °æ¿ì¿Í ¸ðµç ¸ñÀû¿¡ ¸Â´Â ÇÁ·¹ÀÓ¿öÅ©¶õ ÀÖÀ» ¼ö ¾ø´Ù.
ÇÁ·¹ÀÓ¿öÅ© µµÀÔÀÇ ¸ñÀûÀº Å©°Ô µÎ °¡Áö·Î »ý°¢ÇÒ ¼ö ÀÖ´Ù. ù°´Â »ý»ê¼ºÀÌ°í µÑ°´Â ǰÁúÀÌ´Ù.
¡Ü»ý»ê¼º
ÇÁ·¹ÀÓ¿öÅ©¿¡´Â ÀÌ¹Ì ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÇ »ó´ç ºÎºÐÀÌ ¸¸µé¾îÁ® ÀÖ´Ù. ¶Ç ¾ÆÅ°ÅØÃ³³ª ±¸Á¶ÀûÀÎ ºÎºÐµµ ¾î´À Á¤µµ °áÁ¤µÇ¾îÀÖ´Ù. ÄÚµåÀÇ ±¸¼ºÀ̳ª È帧¿¡ ´ëÇÑ Ç¥Áصµ Á¤ÇØÁ® ÀÖ´Â ´ö¿¡ »ý»ê¼ºÀ» ³ôÀÏ ¼ö ÀÖ´Â °ÍÀº ÀÚ¸íÇÑ ÀÏÀÌ´Ù. °øÅëÀûÀ¸·Î ¹Ýº¹µÇ´Â ÄÚµåµéÀº ÇÁ·¹ÀÓ¿öÅ© ³»ºÎ¿¡ °¨ÃçÁ® ÀÖ¾î °³¹ßÀÚ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÇÙ½É ·ÎÁ÷¿¡ ÁýÁßÇØ¼ °³¹ßÇÒ ¼ö ÀÖ´Ù.
ÇÏÁö¸¸ ÇÁ·¹ÀÓ¿öÅ©°¡ »ý»ê¼ºÀ» ³ô¿©ÁÖ´Â °ÍÀº ´ÜÁö ±â¹ÝÄڵ尡 ¹Ì¸® ÀÛ¼ºµÇ¾îÀÖ¾î¼ °³¹ßÇØ¾ß µÇ´Â ÄÚµåÀÇ ¾çÀÌ ÁÙ¾îµé±â ¶§¹®¸¸Àº ¾Æ´Ï´Ù. ÇÁ·¹ÀÓ¿öÅ©´Â ¾ÖÇø®ÄÉÀÌ¼Ç Äڵ带 ½ÉÇÃÇÏ°Ô ÀÛ¼ºÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁֱ⵵ ÇÑ´Ù.
ÇÊÀÚ°¡ POJO ±â¹ÝÀÇ Åõ¸íÇÑ ¿µ¼Ó¼º(Transparent Persistence)À» Áö¿øÇÏ´Â ORM ÇÁ·¹ÀÓ¿öÅ©¸¦ ¾²¸é¼ °¡Àå ÁÁ¾Ò´ø Á¡Àº SQL ¹®ÀåÀ» Á÷Á¢ ÆíÁýÇÏÁö ¾Ê¾Æµµ µÈ´Ù°Å³ª Connection, Statement µîÀ» °ü¸®ÇÏ´Â Äڵ带 ÀÛ¼ºÇϰí close ¿©ºÎ µûÀ§¸¦ ½Å°æ ¾²Áö ¾Ê¾Æµµ µÈ´Ù´Â ºÎºÐÀÌ ¾Æ´Ï¾ú´Ù.
°¡Àå ÁÁÀº Á¡Àº ¸¸µé¾îÁø ºñÁî´Ï½º ·ÎÁ÷ Äڵ尡 ¸Å¿ì ½ÉÇÃÇØÁ³´Ù´Â µ¥ ÀÖ¾ú´Ù. ÀÌÀü¿¡´Â ·¹ÀÌ¾î ±¸ºÐ ¾øÀÌ ºñÁî´Ï½º ·ÎÁ÷°ú µ¥ÀÌÅÍ ·ÎÁ÷ ±×¸®°í API¸¦ È£ÃâÇÏ´Â ÄÚµåµéÀÌ ½ºÆÄ°ÔƼó·³ ¾ôÇô ÀÖ°Ô ¸¶·ÃÀ̾ú´Ù.
¶Ç DAO ÆÐÅÏÀ» Àû¿ëÇØ¼ ¸¸µé¾ú´Ù ÇÏ´õ¶óµµ DB °ü·Ã ¾×¼ÇÀ̳ª Æ®·£Àè¼Ç¿¡ ´ëÇØ¼ ºñÁî´Ï½º ·ÎÁ÷À» ÀÛ¼ºÇϰųª °ËÅäÇÏ´Â Áß¿¡µµ °°ÀÌ ½Å°æÀ» ½á¾ßÇÏ´ø °ÍÀ» ÇÁ·¹ÀÓ¿öÅ©°¡ ÇØ°áÇØ ÁØ °ÍÀÌ´Ù.
°á±¹ POJO·Î ¼³°èµÈ ¸ðµ¨¿ÀºêÁ§Æ® ¸¸À» ´Ù·ç°Ô µÇ´Ï±î ÀÚ¿¬½º·´°Ô ¸ðµç °³¹ß ÀÛ¾÷ÀÌ ºñÁî´Ï½º ·ÎÁ÷À» ±¸ÇöÇϴµ¥ ÁýÁßÇÏ°Ô µÇ°í °á°úÀûÀ¸·Î º¹ÀâÇÑ ·ÎÁ÷À» ¸Å¿ì °£°áÇÏ°Ô Ã³¸®ÇÏ´Â ½ÉÇÃÇÑ ÄÚµå·Î ±ò²ûÇÏ°Ô ¸¶¹«¸® ÇÒ ¼ö ÀÖ¾ú´ø °ÍÀÌ´Ù. ÀÌ·± ¸é¿¡¼ ÇÁ·¹ÀÓ¿öÅ©ÀÇ µµÀÔ¸ñÀû¿¡´Â »ý»ê¼ºÀÌ Å« ºñÁßÀ» Â÷ÁöÇÑ´Ù.
·çºñ ¿Â ·¹ÀÏÁî¿Í °°Àº ÇÁ·¹ÀÓ¿öÅ©´Â Ãʱâ ÇÁ·ÎÅäŸÀÔÀ» ¸Å¿ì ºü¸£°Ô °³¹ßÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¸¸¾à °í°´¿¡°Ô ªÀº ½Ã°£ ¾È¿¡ °³¹ß´É·ÂÀ» º¸¿©ÁÖ°í °ËÁõÀ» ¹Þ¾Æ¾ß ÇÑ´Ù¸é ±×·± RAD °³¹ßÀÌ °¡´ÉÇÑ ÇÁ·¹ÀÓ¿öÅ©ÀÇ µµÀÔÀ» ¸ÕÀú °ËÅäÇØ¾ß ÇÑ´Ù. ¹°·Ð »ý»ê¼ºÀÇ ¹®Á¦´Â µÚ¿¡¼ ´Ù·ê °³¹ßÆÀÀÇ ¼öÁذú ÇÁ·¹ÀÓ¿öÅ©¿¡ ´ëÇÑ ¼÷·Ãµµ¿¡µµ ¿µÇâÀ» ¹Þ´Â´Ù.
¡ÜǰÁú
ǰÁú°ú °ü·ÃµÈ ºÎºÐµµ ¸¹Àº °æ¿ì¿¡ Áß¿äÇÑ µµÀÔ¸ñÀûÀÌ µÉ ¼ö ÀÖ´Ù. ǰÁúÀº ¿©·¯ °¡Áö °üÁ¡À¸·Î »ý°¢ÇØ º¼ ¼ö Àִµ¥ ¿ì¼± °áÇÔÀÌ ¾ø°Å³ª ÀûÀº ¾ÖÇø®ÄÉÀ̼ÇÀ̶ó´Â ¸é¿¡¼ »ý°¢Çغ¸ÀÚ. ÇÁ·¹ÀÓ¿öÅ©´Â °³¹ßÀÚ°¡ ¹Ýº¹ÀûÀÎ ÀÛ¾÷¿¡¼ ½Ç¼öÇϱ⠽¬¿î ºÎºÐµéÀ» ÇÁ·¹ÀÓ¿öÅ© ³»¿¡¼ ó¸®ÇØÁÜÀ¸·Î½á ¹ö±×¹ß»ýÀÇ °¡´É¼ºÀ» ÃÖ¼ÒÈ ÇÑ´Ù.
Çѵ¿¾È JDBC ±â¹ÝÀÇ DB°³¹ßÀ» ÇÏ´Â °³¹ßÀڵ鿡°Ô´Â Connection/StatementÀÇ Á¤È®ÇÑ ¸®¼Ò½º ¹Ýȯ ¹®Á¦ÀÇ ¿øÀÎÀº ´Ü¼øÇÏÁö¸¸ ½Ã½ºÅÛÀ» ¿À·£ ½Ã°£ ¿î¿µ½Ã۱â Àü¿¡´Â ½±°Ô ¹ß°ßÇϱâ Èûµé´Ù. ¶Ç ±× À§Ä¡¸¦ ÃßÀûÇϱⰡ ¸Å¿ì ¾î·Æ±â ¶§¹®¿¡ Å« °í¹Î°Å¸®¿´´Ù.
»ç½Ç Å×½ºÆ® ½Ã¿¡ Àß µå·¯³ªÁö ¾Ê´Â °áÇÔÀ» ÇØ°áÇϱâ À§ÇÑ ´Ù¾çÇÑ ÆÁ°ú ¼Ö·ç¼ÇÀÌ ÀÖ¾úÁö¸¸ »ç½Ç °¡Àå ¼Õ½¬¿î ÇØ°áÃ¥Àº ÆÛ½Ã½ºÅÏÆ® ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. °¢Á¾ ORMÀ̳ª iBatis, JPA µîÀÇ ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇϸé DB °ü·Ã ¸®¼Ò½ºÀÇ Ã³¸®·Î ÀÎÇÑ °áÇÔ¿¡ ´ëÇÑ °ÆÁ¤À» ´ú ¼ö ÀÖ¾î °áÇÔÀÌ Àû°í ǰÁúÀÌ ¶Ù¾î³ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µå´Âµ¥ Å« µµ¿òÀÌ µÈ´Ù.
±× ¹Û¿¡µµ ÇÁ·¹ÀÓ¿öÅ©°¡ ±âÁ¸ °³¹ß¿¡¼ ¸¹ÀÌ µîÀåÇØ¼ ¹®Á¦°¡ µÇ¾ú´ø °³¹ß»óÀÇ °íÁúÀûÀÎ ¹®Á¦µéÀ» ¼Õ½±°Ô ÇØ°áÇØÁÖ´Â ¿¹´Â ¾ÆÁÖ ¸¹´Ù.
Å×½ºÆÃ ÇÁ·¹ÀÓ¿öÅ©´Â ±× ÀÚü°¡ ¾ÖÇø®ÄÉÀ̼ÇÀÇ Ç°ÁúÀ» °ËÁõÇÏ°í °ü¸®Çϱâ À§ÇÑ °ÍÀÌ ÁÖ¸ñÀûÀÌ´Ù. xUnit µîÀ» ÅëÇÑ ÀÚµ¿ÈµÈ Å×½ºÆ®¸¦ µµÀÔÇÔÀ¸·Î ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÇ Ç°Áú Çâ»ó¿¡ ¾ó¸¶³ª Å« µµ¿òÀÌ µÆ´Â°¡´Â Àß ¾Ë·ÁÁø »ç½ÇÀÌ´Ù. ÇÁ·¹ÀÓ¿öÅ©¿¡´Â ±×¿Í °ü·ÃµÈ ¸¹Àº ³ëÇÏ¿ì¿Í °æÇèÀÌ ³óÃàµÇ¾îÀÖ´Â °æ¿ì°¡ ¸¹´Ù.
¾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸Á¶ÀûÀÎ ºÎºÐ»Ó¸¸ ¾Æ´Ï¶ó ±â¼úÀûÀÎ ¸é¿¡¼µµ °æÇèÀÌ ¸¹Áö ¾ÊÀº °³¹ßÀÚµéÀÌ ½±°Ô ±¸ÇöÇØ ³¾ ¼ö ¾ø´Â °í±Þ±â¹ýµéÀÌ ´ã°ÜÁ® ÀÖ´Ù. ±× ÇÁ·¹ÀÓ¿öÅ©°¡ ÀϺΰ¡ µÇ´Â ¾ÖÇø®ÄÉÀ̼ÇÀº ÀÚ¿¬½º·´°Ô ±× ÇÁ·¹ÀÓ¿öÅ©°¡ °¡Áø ǰÁúÀ» À̾î¹Þ°Ô µÇ¾îÀÖ´Ù.
ÀÌ¹Ì ¾ð±ÞÇßµíÀÌ ÇÁ·¹ÀÓ¿öÅ©´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ º¹ÀâÇÔÀ» Á¦°ÅÇØÁÖ°í ½ÉÇÃÇÑ °³¹ßÀ» µ½°Ô µÈ´Ù. ½ÉÇÃÇÔÀÌ ÁÖ´Â Å« À̵æÀº ¶Ù¾î³ ǰÁúÀÇ °³¹ßÀ» °¡´ÉÇÏ°Ô ÇØÁشٴ °ÍÀÌ´Ù. °³¹ßÀÌ º¹ÀâÇØÁö°í Äڵ尡 ÁöÀúºÐÇØÁö¸é ǰÁúÀÌ ÀúÇ쵃 °¡´É¼ºÀÌ ³ô¾ÆÁø´Ù. ÇÁ·¹ÀÓ¿öÅ©¸¦ µµÀÔÇØ¼ ¾òÀ¸·Á´Â ¸ñÀûÀº °á±¹ ±×·± º¹ÀâÇÔÀ» Á¦°ÅÇϱâ À§ÇÑ °ÍÀÌ´Ù.
ÇÁ·¹ÀÓ¿öÅ©´Â »ý»ê¼º°ú ǰÁú ¾çÂÊÀÇ ¸ñÀûÀ» ¸ðµÎ ÃæÁ·½Ãų ¼ö ÀÖ´Â µµ±¸ÀÌÁö¸¸ Çʿ信 µû¶ó ´õ Áß¿äÇÏ°Ô »ý°¢ÇÒ °ÍÀÌ ¹«¾ùÀÎÁö¸¦ Àß ÆÇ´ÜÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î JSP¸¦ ÀÌ¿ëÇÑ Model1 ±â¹Ý¿¡¼ MVC ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ´Â Model2 ¹æ½ÄÀ¸·Î º¯°æÇßÀ» °æ¿ì ÇÁ·¹ÀÓ¿öÅ©¸¦ µµÀÔÇÑ °ÍÀÌ ¿ÀÈ÷·Á »ý»ê¼ºÀ» ¶³¾î¶ß¸± ¼ö ÀÖ´Ù.
ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ´Â ÄÚµåÀÇ ¾çÀ̳ª Ŭ·¡½º °³¼ö°¡ ´õ Áõ°¡Çϱ⠶§¹®¿¡ Ãʱ⿡´Â »ý»ê¼ºÀÌ ¶³¾îÁ® º¸ÀÌ´Â °ÍÀÌ ´ç¿¬ÇÏ´Ù. ÀÌ·± °æ¿ì ÇÁ·¹ÀÓ¿öÅ©¸¦ µµÀÔÇÏ´Â ¸ñÀûÀº ±×·Î ÀÎÇØ¼ ¾ÖÇø®ÄÉÀ̼ÇÀÇ Ç°ÁúÀ» ³ôÀÌ´Â °ÍÀÌ ¿ì¼±ÀÌ µÈ´Ù°í º¼ ¼ö ÀÖ´Ù.
Æ®·£Àè¼Ç ½ºÅ©¸³Æ® ¹æ½Ä¿¡¼ SoC(Separate of Concenrs)ÀÇ ¿øÄ¢À» µû¶ó ÀûÀýÈ÷ ¿ªÇÒÀÌ ºÐ¸®µÈ °èÃþÇü ¾ÆÅ°ÅØÃ³¸¦ »ç¿ëÇÏ´Â °Íµµ ¸¶Âù°¡ÁöÀÇ °æ¿ì´Ù. ÀÌ·¸°Ô ÇÁ·¹ÀÓ¿öÅ©µµÀÔÀ¸·Î ǰÁúÀ» ³ô¿´À» °æ¿ì ¾ÖÇø®ÄÉÀ̼ÇÀÇ °áÇÔÀÌ Àû¾îÁö°í º¹ÀâÇÑ ·ÎÁ÷À» ½±°Ô ±¸ÇöÇÒ ¼ö ÀÖ´Ù.
´õºÒ¾î ¿ä±¸»çÇ×ÀÇ º¯È¿¡ ¹ÎøÇÏ°Ô ´ëÀÀÇÒ ¼ö Àֱ⠶§¹®¿¡ Àå±âÀûÀ¸·Î´Â »ý»ê¼ºÀÌ ´Ù½Ã ³ô¾ÆÁö´Â °á°ú¸¦ °¡Á®¿À±âµµ ÇÑ´Ù.
¹Ý´ë·Î »ý»ê¼ºÀÌ ´õ Áß¿äÇÏ°í º¹ÀâÇÏÁö ¾ÊÀº ¾ÖÇø®ÄÉÀ̼ÇÀ̶ó¸é ±¸Áö ¹«°Ì°í º¹ÀâÇÑ ÇÁ·¹ÀÓ¿öÅ© º¸´Ù´Â °¡º±°í »ý»ê¼ºÀÌ ¶Ù¾î³ ÇÁ·¹ÀÓ¿öÅ©¸¦ ã´Â °ÍÀÌ ÁÁ´Ù. ´Ü ÀÌ·± ¼±ÅÃÀ» ÇßÀ» °æ¿ì ½Ã½ºÅÛÀÌ º¹ÀâÇØÁö¸é ¾ÖÇø®ÄÉÀ̼ÇÀÇ Ç°Áú°ü¸®°¡ Á¡Á¡ ´õ ¾î·Á¿öÁú ¼ö ÀÖ´Ù´Â Á¡À» ±â¾ïÇØ¾ß ÇÑ´Ù.
ÃÖ±Ù¿¡ µîÀåÇÏ´Â ÇÁ·¹ÀÓ¿öÅ©µéÀº ÀÌ µÎ °¡Áö¸¦ ¸ðµÎ ÃæÁ·½ÃŰ´Â ¹æ½ÄÀ¸·Î ¼³°èµÈ °ÍÀÌ ¸¹´Ù. ½ÉÇÃÇϸ鼵µ °·ÂÇÑ °³¹ßÀÌ °¡´ÉÇÑ ÇÁ·¹ÀÓ¿öÅ©µéÀÌ ±×·± °ÍÀÌ´Ù. ·çºñ ¿Â ·¹ÀÏÁî´Â ³ôÀº »ý»ê¼ºÀ¸·Î À¯¸íÇÏÁö¸¸ ±×·¯¸é¼µµ ·çºñ(Ruby)¶ó´Â ¾ð¾î°¡ °¡Áø ÀåÁ¡°ú °èÃþÇüÀ¸·Î Àß ¼³°èµÈ ÇÁ·¹ÀÓ¿öÅ© ±¸Á¶·Î ÀÎÇØ¼ ¶Ù¾î³ ǰÁúÀÇ °³¹ßÀÌ °¡´ÉÇÏ´Ù°í Æò°¡¹Þ°í ÀÖ´Ù.
±×¹Û¿¡ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼º´É Çâ»óÀ» ¸ñÀûÀ¸·Î µµÀÔÇϴ ij½Ì ÇÁ·¹ÀÓ¿öÅ©³ª »ç¿ëÀÚÀÇ »ç¿ë ÆíÀǼºÀ» ³ôÀ̱â À§ÇÑ UI ÇÁ·¹ÀÓ¿öÅ©µµ ÀÖ´Ù. ÀÌ Ã³·³ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÇ ¿ä±¸»çÇ×À» ÃæÁ·Çϱâ À§Çؼ ÇÊ¿äÇÑ µµÀÔ¸ñÀûÀ» ¸íÈ®È÷ Á¤¸®ÇÏ°í ±×°ÍÀ» ÃæÁ·ÇÒ ¼ö ÀÖ´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ ã´Â °ÍÀÌ ÇÁ·¹ÀÓ¿öÅ© ¼±ÅÃÀÇ Ã¹ ¹øÂ° ÀÛ¾÷ÀÌ´Ù.
±â¼ú °ËÁõ
µµÀÔ ¸ñÀûÀ» ÃæÁ·ÇÒ ¼ö ÀÖ´Â ÇÁ·¹ÀÓ¿öÅ©µéÀ» ¼±º°Çß´Ù°í ÇØ¼ À̸¦ ¹Ù·Î Àû¿ëÇÒ ¼ö´Â ¾ø´Ù. ¹Ýµå½Ã °ËÁõ °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù. ÇÁ·¹ÀÓ¿öÅ©ÀÇ °ËÁõ ½Ã °¡Àå Áö¾çÇØ¾ß Çϴ ŵµ°¡ ÀÖ´Ù. ±×°ÍÀº ¹Ù·Î ÀÚ½ÅÀÌ ½áº» °æÇèÀÌ ¾ø°Å³ª ÁÖÀ§¿¡¼ Àû¿ëÇÑ »çÀÌÆ®¸¦ ãÀ» ¼ö ¾ø´Ù°í ÇØ¼ ±×°ÍÀº °ËÁõ ¾È µÈ ÇÁ·¹ÀÓ¿öÅ©¶ó°í ´ÜÁ¤Çϴ ŵµÀÌ´Ù.
¹Ý´ë·Î ÁÖº¯¿¡¼ Àû¿ëÇÑ »ç·Ê°¡ ÀÖ´Ù°í ¹«Åδë°í °ËÁõµÇ¾ú´Ù°í ÆÇ´ÜÇÏ´Â °Í ¶ÇÇÑ À§ÇèÇÑ ÅµµÀÌ´Ù.
¼º°øÀûÀÎ ÇÁ·¹ÀÓ¿öÅ© °ËÁõÀÇ ÇÙ½ÉÀº Á÷Á¢ °ËÁõÇØº¸´Â °ÍÀÌ´Ù. ¸ðµç »óȲ¿¡ Àß µé¾î¸Â´Â ¸¸´É ÇÁ·¹ÀÓ¿öÅ©´Â °áÄÚ ¾ø´Ù. ¸ðµç ÇÁ·¹ÀÓ¿öÅ©´Â ¿ä±¸ Á¶°Ç°ú »óȲ ±×¸®°í Àû¿ë ¹æ¹ý¿¡ µû¶ó¼ ±× °¡Ä¡°¡ ´Ù ´Þ¶óÁú ¼ö ÀÖ´Ù. °¡Àå ÁÁÀº ¹æ¹ýÀº ±× ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÑ °ËÁõ¿ë ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé¾î º¸´Â °ÍÀÌ´Ù.
¿äÁòÀº ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß °úÁ¤¿¡¼ ÇÁ·ÎÅäŸÀÌÇÎÀÌ ¸Å¿ì Áß¿äÇÑ °úÁ¤À¸·Î ÀÚ¸® Àâ°í ÀÖ´Ù. ÇÁ·¹ÀÓ¿öÅ©°¡ Àû¿ëµÈ ½ÇÁ¦ »ç·Ê¿Í À¯»çÇÑ ÇÁ·ÎÅäŸÀÔÀ» ¸¸µé¾î º¸¸é ÇÁ·¹ÀÓ¿öÅ©¸¦ Àû¿ëÇÑ ÄÚµåÀÇ ¸ð½ÀÀ» º¼ ¼ö ÀÖÀ¸¸ç ÇÁ·¹ÀÓ¿öÅ©ÀÇ È°¿ë ¹æ¹ýµµ »çÀü¿¡ Ã¼Å©ÇØ º¼ ¼ö ÀÖ´Ù. ¶Ç ÇÁ·¹ÀÓ¿öÅ©¸¦ Àû¿ëÇØ¼ ³ªÅ¸³ª´Â ¹®Á¦Á¡µµ ½±°Ô üũÇÒ ¼ö ÀÖ´Ù.
ÇÁ·ÎÅäŸÀÔÀ» ¸¸µé¾î¼ ÇÁ·¹ÀÓ¿öÅ©¸¦ °ËÁõÇÒ ¶§¿¡´Â ´ÙÀ½ÀÇ µÎ °¡Áö¸¦ ÁÖÀÇÇØ¾ß ÇÑ´Ù.
¹öƼÄà ½½¶óÀ̽º(Vertical Slice)
ù°´Â °³¹ßÇÒ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¹ß»ýÇÒ ¼ö ÀÖ´Â °¡´ÉÇÑ ¸ðµç ±â¼úÀûÀÎ ÄÉÀ̽º¸¦ ´Ù·ç¾î¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù. °£´ÜÇÑ »ùÇà ¾ÖÇø®ÄÉÀ̼ÇÀ» °¡Áö°í´Â ÃæºÐÇÑ °ËÁõÀ» ÇÒ ¼ö ¾ø´Ù. ÇÁ·¹ÀÓ¿öÅ©¸¦ °¡Àå À߸ø »ç¿ëÇÏ´Â °æ¿ì´Â ÇÁ·¹ÀÓ¿öÅ©¿¡ µþ·Á¿Â »ùÇÃÀ̳ª °ü·Ã ¼Àû¿¡ ³ª¿Â ¿¹Á¦ ÇÁ·Î±×·¥À» °¡Áö°í °£´ÜÇÑ Å×½ºÆ®¸¦ ÇØ º» ÈÄ ±×°ÍÀ» È®ÀåÇØ¼ ¾²´Â °ÍÀÌ´Ù.
º¸Åë ±×·± ¿¹Á¦´Â ÇÁ·¹ÀÓ¿öÅ©ÀÇ È°¿ë ¹æ¹ý Áß °¡Àå ´Ü¼øÇÑ ¹æ½ÄÀ» »ç¿ëÇØ¼ ÇнÀ Ãʱ⿡ ÀÌÇØ¸¦ µ½µµ·Ï ¸¸µé¾îÁø °ÍÀÌ ´ëºÎºÐÀÌ´Ù. µû¶ó¼ ½ÇÁ¦ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¹ß»ýÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ³À̵µÀÇ ÄÉÀ̽º¸¦ °ËÁõÇϱ⿡´Â ÅξøÀÌ ºÎÁ·ÇÏ´Ù.
°³¹ßÇÒ ½Ã½ºÅÛÀÇ ¿ä±¸ »çÇ× Áß °¡Àå ±â¼úÀûÀÎ ³À̵µ°¡ ÀÖ°í º¹ÀâÇÏ´Ù°í »ý°¢µÇ´Â ºÎºÐÀ» ±¸ÇöÇØ º¸¾Æ¾ß ÇÑ´Ù. ±×·² °æ¿ì¿¡µµ ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¹®Á¦°¡ ¾ø°í °³¹ßÀ» ½ÉÇÃÇÏ°Ô ÇØÁشٴ ȮÀÎÀÌ ÇÊ¿äÇÏ´Ù.
¸¸¾à ÇÑ ´ë ÀÌ»óÀÇ ¼¹ö¿¡ Ŭ·¯½ºÅ͸¦ ±¸ÃàÇØ¼ ¿î¿ëÇØ¾ß ÇÏ´Â ´ë¿ë·® ½Ã½ºÅÛÀ» ´ÜÀÏ ¼¹ö ȯ°æ¿¡¼¸¸ °ËÁõÀ» Çß´Ù¸é Ŭ·¯½ºÅÍ¿¡ ºÐ»êÇßÀ» ¶§ °ËÁõ °úÁ¤¿¡¼´Â ¹ß°ßÇÏÁö ¸øÇß´ø »õ·Î¿î ¹®Á¦¸¦ ¸¸³¯ ¼ö ÀÖ´Ù. ÀÌ·± °æ¿ì´Â Ŭ·¯½ºÅÍ È¯°æ¿¡¼ µ¿ÀÛÇÏ´Â ÇÁ·ÎÅäŸÀÔÀ» ¸¸µé¾î¼ °ËÁõÇß¾î¾ß ÇÑ´Ù.
·Ó Á¸½¼(Rod Johnson)Àº ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÇÙ½ÉÀûÀÌ°í º¹ÀâÇÑ ÄÉÀ̽º¸¦ °¡´ÉÇÑ ¸ðµÎ °¡Áö°í ÀÖ´Â ÀÌ·± °ËÁõ¿ë »ùÇà Äڵ带 ¹öƼÄà ½½¶óÀ̽º(vertical slice)¶ó°í ºÎ¸¥´Ù. °¡´ÉÇÑ ÃÖ¼ÒÇÑÀÇ ¹üÀ§¸¦ ´Ù·çÁö¸¸ ¸ðµç ·¹À̾î¿Í ÄÉÀ̽º¸¦ °üÅëÇÏ´Â °ËÁõ¿ë ¾ÖÇø®ÄÉÀ̼ÇÀ̾î¾ß ÇÑ´Ù´Â ÀǹÌÀÌ´Ù.
¼º´É Å×½ºÆ®
µÎ ¹øÂ°´Â ÃÊ¹Ý °ËÁõ°úÁ¤¿¡¼ ¼º´É¿¡ ´ëÇÑ Å×½ºÆ®°¡ ÃæºÐÈ÷ ÇÊ¿äÇÏ´Ù´Â °ÍÀÌ´Ù. ¸¹Àº °æ¿ì ÇÁ·¹ÀÓ¿öÅ©ÀÇ Àû¿ëÀº °³¹ß »ý»ê¼º°ú ǰÁúÀÇ Çâ»ó°ú´Â ¹Ý´ë·Î ¼º´ÉÀÇ ¼ÕÇØ¸¦ °¨¼öÇØ¾ß ÇÑ´Ù. ÇÁ·¹ÀÓ¿öÅ©°¡ °¡Áö´Â ¿À¹öÇìµå°¡ Àֱ⠶§¹®ÀÌ´Ù.
ÇÏÁö¸¸ ´ëºÎºÐ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼º´É Å×½ºÆ®´Â °³¹ß ¸·¹ÙÁö¿¡ ÇÏ°Ô µÈ´Ù. ±×·± °æ¿ì ÇÁ·¹ÀÓ¿öÅ©ÀÇ »ç¿ëÀÌ ¿øÇÏ´Â ÃæºÐÇÑ ¼º´ÉÀ» ³»Áö ¸øÇÏ´Â °ÍÀ» ¹ß°ßÇÏ°Ô µÇµµ ¾î¶»°Ô ¼Õ¾µ ¼ö ¾ø´Â ¶§°¡ ¸¹´Ù.
EJB ÇÁ·¹ÀÓ¿öÅ©´Â ¿£ÅÍÇÁ¶óÀÌÁî ¼ºñ½º¸¦ Áö¿øÇÏ´Â ºÐ»ê °´Ã¼ ±â¼ú°ú ÀÌ»óÀûÀÎ ¿£Æ¼Æ¼ ±â¼úÀ̶ó´Â ¾ÆÅ°ÅØÃ³ÀûÀÎ ÀåÁ¡À» °¡Á³À½¿¡µµ ±× ¼º´É»óÀÇ ¹®Á¦·Î ÀÎÇØ¼ ¸¹Àº ÇÁ·ÎÁ§Æ®¸¦ ½ÇÆÐ·Î À̲ø¾ú´ø ´ëÇ¥ÀûÀÎ ÄÉÀ̽ºÀÌ´Ù.
ORM ÇÁ·¹ÀÓ¿öÅ©´Â °³¹ß »ý»ê¼º°ú ¼º´ÉÀ» ³ô¿©ÁÖÁö¸¸ SQLÀ» Á÷Á¢ »ç¿ëÇØ¼ °³¹ßÇÏ´Â °Í¿¡ ºñÇØ¼ ¿À¹öÇìµå°¡ Å©´Ù. ¸¸¾à ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÀæÀº ÀÔÃâ·ÂÀ» ÁÖ·Î ÇÏ´Â OLTP¼º ÇÁ·Î±×·¥À̶ó¸é ORMÀÌ ¼º´É »ó¿¡ Å« ÁöÀåÀ» ÁÖÁö ¾Ê´Â´Ù.
»ý»ê¼º°ú ǰÁúÀ» À§Çؼ ±× Á¤µµÀÇ ¼º´É ¼ÕÇØ¸¦ °¨¼öÇÏ´Â °ÍÀº °¡´ÉÇÏ´Ù. ÇÏÁö¸¸ º¹ÀâÇÑ ºÐ¼®°ú Á¶È¸Áß½ÉÀÇ OLAP ¾ÖÇø®ÄÉÀ̼ÇÀ̶ó¸é ORM ÇÁ·¹ÀÓ¿öÅ©´Â ¼º´É »ó¿¡ Å« ÁöÀåÀ» ÁÙ ¼ö Àֱ⠶§¹®¿¡ µµÀÔÀ» Àç°íÇØ¾ß ÇÑ´Ù.
ÀÌ·¯ÇÑ °ËÁõÀº °³¹ß »çÀÌŬÀÇ Ãʹݿ¡ ÇÁ·¹ÀÓ¿öÅ©¸¦ °ËÁõÇÏ´Â °úÁ¤ Áß¿¡¼ ´Ù¾çÇÑ ÄÉÀ̽º¿¡ ´ëÇÑ ÃæºÐÇÑ ¼º´É Å×½ºÆ®¸¦ ÅëÇØ »çÀü °ËÁõÇØ¾ß¸¸ ÇÑ´Ù.
 | ±³À°°ú ÈÆ·Ã
|  |
ÇÁ·¹¿öÅ© ÀÚü¿¡ ±â¼úÀûÀÎ °ËÁõ±îÁö ÃæºÐÈ÷ Çß´Ù ÇÏ´õ¶óµµ ÃÖÁ¾ µµÀÔÀ» °áÁ¤À» ÇÏ·Á¸é ÇÑ °¡Áö °úÁ¤ÀÌ ´õ ÇÊ¿äÇÏ´Ù. ±×°ÍÀº ÇÁ·¹ÀÓ¿öÅ©ÀÇ ±³À°¿¡ °üÇÑ °í·ÁÀÌ´Ù. ¾Æ¹«¸® ÁÁÀº ÇÁ·¹ÀÓ¿öÅ©¶ó ÇÏ´õ¶óµµ °³¹ßÆÀÀÌ ±×°Í¿¡ Àͼ÷ÇÏÁö ¾Ê´Ù¸é ÃæºÐÇÑ ÇнÀ ½Ã°£ÀÌ ÇÊ¿äÇÏ´Ù. ÇÁ·¹ÀÓ¿öÅ© »ùÇà ¿¹Á¦¸¦ °¡Áö°í ¾î¼³ÇÁ°Ô °³¹ßÀ» ½ÃÀÛÇÏ´Â °ÍÀº ¸Å¿ì À§ÇèÇÏ´Ù.
ÇÁ·¹ÀÓ¿öÅ©°¡ µµÀÔ ¸ñÀû¿¡ ¸Â°í ±â¼úÀûÀ¸·Îµµ ¿Ïº®ÇÏ´Ù°í ÇÏ´õ¶óµµ ±× °ÍÀ» ¿øÈ°ÇÏ°Ô »ç¿ëÇÏ°Ô µÇ±â±îÁö ½Ã°£ÀÌ ¿À·¡ °É¸°´Ù¸é ÇÁ·¹ÀÓ¿öÅ© µµÀÔÀ» ´Ù½Ã Àç°íÇØ ºÁ¾ß ÇÑ´Ù.
ORM ÇÁ·¹ÀÓ¿öÅ©´Â ±âÁ¸ÀÇ Æ®·£Àè¼Ç ½ºÅ©¸³Æ®¸¦ »ç¿ëÇØ¼ °³¹ßÇÏ´Â °Íº¸´Ù »ý»ê¼ºÀÌ ³ôÀº °ÍÀ¸·Î ¾Ë·ÁÁ® ÀÖÁö¸¸ ±×°ÍÀ» ÇнÀÇϴµ¥ µå´Â ½Ã°£ÀÌ ¿À·¡ °É¸®´Â ¾î·Á¿î ÇÁ·¹ÀÓ¿öÅ©´Ù. µû¶ó¼ °³¹ß ±â°£ÀÌ ±æÁö ¾Ê°í ÃæºÐÈ÷ ÇнÀÇϴµ¥ ½Ã°£À» »ç¿ëÇÒ ¼ö ¾ø´Ù¸é ORM¿¡ Àͼ÷ÇÑ °³¹ßÆÀÀ» ±¸¼ºÇÏ´øÁö ´Ù¸¥ ÇÁ·¹ÀÓ¿öÅ©¸¦ ã¾Æº¸´Â ÆíÀÌ ÁÁ´Ù.
ÃæºÐÇÑ ½Ã°£À» °¡Áö°í ÇÁ·¹ÀÓ¿öÅ©ÀÇ µµÀÔÀ» ÇÒ ¼ö ÀÖ´Ù¸é ü°èÀûÀÎ ±³À° Àü·«À» ¼¼¿ì°í Á¢±ÙÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÁÁÀº ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇϸ鼵µ ¿ÀÈ÷·Á À߸øµÈ Àû¿ëÀ¸·Î ¼ÕÇØ¸¦ º¼ ¼ö ÀÖ´Ù. ÇÊÀÚ°¡ Ȱµ¿ÇÏ´Â ¿ÀǼҽº Ä¿¹Â´ÏƼ¿¡¼ Á¦¹ý À¯¸íÇÑ ¿ÀÇÁ¼Ò½º Æ÷ÅÐ Á¦Ç°ÀÇ ¼Ò½º ºÐ¼®À» ½ÃµµÇØ º» ÀûÀÌ ÀÖ´Ù.
±× Á¦Ç°À» ¼±ÅÃÇÑ ÀÌÀ¯´Â ±× ´ç½Ã °ü½ÉÀ» ¸¹ÀÌ °¡Áö°í ÀÖ´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ ¾î¶»°Ô Àû¿ëÇß´ÂÁö »ç·Ê¸¦ ¿¬±¸Çغ¸±â À§ÇÔÀ̾ú´Ù. ±× Æ÷ÅÐ Á¦Ç°Àº ´ç½Ã ¹öÀü ¾÷±×·¹À̵带 ÇÏ¸é¼ À¯¸í ¿ÀǼҽº ÇÁ·¹ÀÓ¿öÅ©¸¦ »õ·Ó°Ô Àû¿ëÀ» Çß°í ±×°ÍÀ» Á¦Ç°ÀÇ °Á¡À¸·Î ³»¼¼¿ì°í ÀÖ¾ú´Ù. ÇÏÁö¸¸ ¸·»ó ºÐ¼®ÇØ º» ¼Ò½ºÀÇ ÇÁ·¹ÀÓ¿öÅ© Àû¿ë ¹æ¹ýÀº ÃÖ¾ÇÀ̾ú´Ù.
ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÑ °ÍÀº ºÐ¸íÇÏÁö¸¸ ±× ÇÁ·¹ÀÓ¿öÅ©¸¦ Àû¿ëÇÏ´Â ±âÃÊÀûÀÎ ¹æ¹ýÁ¶Â÷ ¸ð¸£°í ¾î¼³ÇÁ°Ô »ç¿ëÇÑ ÈçÀûÀÌ ¿ª·ÂÇß´Ù. ¾Æ¸¶µµ ±× °³¹ßÀÚµéÀº ÇÁ·¹ÀÓ¿öÅ©¸¦ ÇнÀÇÒ ½Ã°£µµ Á¦´ë·Î °¡ÁöÁö ¸øÇÑ Ã¤ ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÑ °ÍÀÌ ºÐ¸íÇß´Ù.
°á°úÀûÀ¸·Î ÇÁ·¹ÀÓ¿öÅ© µµÀÔÀÌ ±× ÀÌÀüº¸´Ù º°´Ù¸¥ ÀåÁ¡À» ÁÖÁö ¸øÇÏ°í ¿ÀÈ÷·Á Äڵ常 ÁöÀúºÐÇÏ°Ô ¸¸µç ÄÉÀ̽º¿´´Ù. ºñ½ÁÇÑ ½Ç¼ö°¡ ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¸í¼º ¶§¹®¿¡ ±ÞÇÏ°Ô µµÀÔÇØ¼ Àû¿ëÇÑ ¸¹Àº ÇÁ·ÎÁ§Æ®¿¡¼ Á¾Á¾ ¹Ýº¹µÇ°í ÀÖ´Ù.
°³¹ßÆÀÀÇ ¾ÆÅ°ÅØÆ®³ª ¸®µå °³¹ßÀÚ¶ó¸é »ç¿ë ÇÁ·¹ÀÓ¿öÅ©ÀÇ °ü·Ã ¼Àû°ú ·¹ÆÛ·±½º ¹®¼´Â ¹Ýµå½Ã ÃæºÐÈ÷ ¼÷ÁöÇÑ ÈÄ¿¡ °³¹ß¿¡ Àû¿ëÇØ¾ß ÇÒ °ÍÀÌ´Ù. °ËÁõ°ú ¸¶Âù°¡Áö·Î ÇÁ·¹ÀÓ¿öÅ© ÇнÀ¿¡ ÅõÀÚÇÏ´Â ½Ã°£µµ ÇÁ·ÎÁ§Æ®ÀÇ Àü ±â°£¿¡ °ÉÃļ ÃæºÐÈ÷ ½Ã°£À» º¸»ó ¹ÞÀ» ¼ö ÀÖ´Ù. ¶Ç ÃæºÐÇÑ ÇнÀÀº °³¹ß¿¡ Àû¿ëÇÒ ÇÁ·¹ÀÓ¿öÅ©ÀÇ Best Practice¸¦ ãÀ» ¼ö ÀÖµµ·Ï µµ¿ÍÁÙ °ÍÀÌ´Ù.
 | ÇÁ·¹ÀÓ¿öÅ©ÀÇ Àç¹ß°ß
|  |
Áö³ 2~3³â µ¿¾È ´Þ¾Æ¿À¸¥ ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¿Ç³ µÚ·Î ¼¼È÷ ÇÁ·¹ÀÓ¿öÅ© ¹«¿ë·ÐÀÌ µîÀåÇϰí ÀÖ´Ù. ÇÁ·¹ÀÓ¿öÅ© »ç¿ëÀÌ ±×´ÙÁö ÀåÁ¡ÀÌ Å©Áö ¾Ê°í ¿ÀÈ÷·Á ¹®Á¦Á¡ÀÌ ¸¹´Ù´Â ½ÇÆÐÇÑ °æÇèÀÎ ³ºÀº ºñÆÇÀÌ´Ù. ±×µ¿¾È À¯ÇàÇÏ´Â ±â¼úÀ̶ó°í, ÁÖÀ§ °³¹ßÀÚµéÀÌ ¸¹ÀÌ »ç¿ëÇÑ´Ù°í ¹«Åδë°í ÇÁ·¹ÀÓ¿öÅ© µµÀÔ¿¡ ¿À» ¿Ã¸° °ÍÀÌ ¾Æ´ÑÁö ¹Ý¼ºÀ» ÇØºÁ¾ß ÇÒ ´ë¸ñÀÌ´Ù.
ÇÁ·¹ÀÓ¿öÅ©´Â ´Ù·ç±â Èûµç µµ±¸ÀÌ´Ù. ÁÁÀº ÇÁ·¹ÀÓ¿öÅ© Àϼö·Ï Àû¿ëÇÑ ¼öÁØÀÇ °ÝÂ÷°¡ Å©´Ù. ¸·°ÇÑ ±â´É¸¸Å Á¦´ë·Î »ç¿ëÇϱâ Èûµé ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.
±× µ¿¾È ³Ê¹« ±ÞÇÏ°Ô Àû¿ëÇÏ°í »ç¿ëÇØ¿Â ÇÁ·¹ÀÓ¿öÅ©°¡ ÀÖ´Ù¸é ÀÌÁ¦ ÇÑ¹ß µÚ·Î ¹°·¯³ª¼ ´Ù½Ã Â÷±ÙÂ÷±Ù »ìÆìº¼ Çʿ䰡 ÀÖ´Ù. ÇÁ·¹ÀÓ¿öÅ©ÀÇ ´Ù¾çÇÑ Æ¯¼ºÀ» ÀÌÇØÇÏ°í ±× ÀåÁ¡À» ¾î¶»°Ô Àß È°¿ëÇÒ °ÍÀΰ¡¿¡ ´ëÇØ Àü·«ºÎÅÍ ÂùÂùÈ÷ ¼¼¿ö¾ß ÇÒ °ÍÀÌ´Ù. ÇÁ·¹ÀÓ¿öÅ©¿¡ ´ëÇÑ ¿¬±¸¿Í ÅõÀÚ´Â °³¹ßÀÚ¿¡°Ô ±×¸¸Å º¸»óÀ» ¾È°ÜÁÙ °ÍÀÌ´Ù.
ÇÊÀÚ°¡ 3³â° »ç¿ëÇϰí ÀÖ´Â ÇÁ·¹ÀÓ¿öÅ©°¡ ÇϳªÀÖ´Ù. óÀ½ ±× ÇÁ·¹ÀÓ¿öÅ©¸¦ ¾Ë°Ô µÆÀ» ¶§´Â ¿Ï°íÇÑ °³¹ßÀڵ鿡°Ô¼ º° ±Ù°Åµµ ¾øÀÌ °ËÁõÀÌ ¾È µÈ °ÍÀ̶ó°í ¿Ü¸é´çÇÏ´ø ÃʶóÇÑ ÇÁ·¹ÀÓ¿öÅ©¿´´Ù. ÇÏÁö¸¸ ÇÊÀÚ ½º½º·ÎÀÇ ´Ù¾çÇÑ °ËÁõ°úÁ¤À» ÅëÇØ¼ ±× °¡Ä¡¸¦ ¹ß°ßÇß°í °³¹ßÇÁ·ÎÁ§Æ®¿¡ °ú°¨È÷ Àû¿ëÇßÀ» ¶§ ±× °á°ú´Â ¸ðµÎ°¡ ³î¶ö Á¤µµ·Î ´ë´ÜÇß´Ù.
±âÁ¸ÀÇ °³¹ß¿¡¼´Â »ó»óÇÒ ¼öÁ¶Â÷ »ý»ê¼º°ú ǰÁú ¸ðµÎ¸¦ ¾òÀ» ¼ö ÀÖ¾ú´Ù. ÀÌÁ¦´Â ±× °¡Ä¡¸¦ ÀÎÁ¤¹Þ¾Æ ¼¼°èÀûÀÎ À¯¼ö±â¾÷µéÀÌ Ç¥ÁØ ÇÁ·¹ÀÓ¿öÅ©·Î »ïÀ» Á¤µµ·Î ¹ßÀüÇß´Ù. ±× ÇÁ·¹ÀÓ¿öÅ©¿¡ ³ì¾ÆÀÖ´Â °³¹ß öÇаú µðÀÚÀÎ ÆÐÅÏ, Àß ¼³°èµÈ API¸¦ »ç¿ëÇØ¿À¸é¼ ÇÊÀÚÀÇ ½Ç·Âµµ ±×¿¡ µû¶ó ÇÑÃþ ¹ßÀüÇß´Ù°í »ý°¢µÈ´Ù.
ÇÁ·¹ÀÓ¿öÅ©´Â ±×°ÍÀ» Àß »ç¿ëÇÏ·Á´Â °³¹ßÀÚ¸¦ À§Çؼ Á¸ÀçÇÏ´Â ¸ÚÁø µ¿¹ÝÀÚÀÌ´Ù. @
Âü°íÀÚ·á
1. Expert One-on-One J2EE Design and Development, Rod Johnson, Wrox
2. Pattern Oriented Software Architecture, Frank Buschmann, Wiley
3. Why Use Framework http://www.jcorporate.com/expresso/doc/edg/edg_WhyUseFramework.html
4. What Is A Framework http://www.codeproject.com/gen/design/WhatIsAFramework.asp
5. .NET Framework http://msdn.microsoft.com/netframework
6. SpringFramework http://www.springframework.org
* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.