[Áöµð³ÝÄÚ¸®¾Æ]¿ì¸®°¡ ÇöÀç »ì°í ÀÖ´Â »ê¾÷»çȸ¿¡ ÀÖ¾î¼ °¡Àå Áß¿äÇÑ °ÍÀº ¹«¾ùÀΰ¡? ȤÀÚ´Â ¹ÏÀ½À̶ó°í ´äÇÒ °ÍÀ̰í, ȤÀÚ´Â ¹äÀ̶ó°í ´äÇÒ °ÍÀ̸ç, ¾î¶² »ç¶÷Àº ±×Àú ¾Ö´Ï¸ÞÀ̼ÇÀ̳ª ½ÇÄÆ º¸¸é¼ »ì ¼ö ÀÖÀ¸¸é ±×¸¸À̶ó°í ¸»ÇÒ °ÍÀÌ´Ù. ¹«¾ùÀÌ µÇ¾úµç °³Àο¡°Ô ÀÖ¾î¼ Æ²¸° ´äÀº ¾Æ´Ï°ÚÀ¸³ª »ê¾÷»çȸÀÇ ¹ßÀüÀ» À§Çؼ °¡Àå Áß¿äÇÑ »çȸÇÐÀûÀÎ ¿äÀÎÀ» Çϳª¸¸ ¼±ÅÃÇ϶ó°í ÇÏ¸é ±×°ÍÀº °ð ¡®»ý»ê¼º(productivity)¡¯ÀÌ µÉ °ÍÀÌ´Ù. ¼ÒÀ§ ¿ì¸®°¡ ¸»ÇÏ´Â ¡®»ê¾÷Çõ¸í¡¯À̶ó´Â °Íµµ ±â½ÇÀº »ý»ê¼ºÀÇ Æø¹ßÀûÀÎ Áõ´ë·Î ±Í°áµÉ ¼ö ÀÖ´Ù.
¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇÏ´Â ÀÔÀå¿¡¼µµ ÀÌ »ý»ê¼ºÀÇ ¹®Á¦´Â ¹«Ã´À̳ª Áß¿äÇÏ´Ù. °°Àº ¼öÁØÀÇ ¿Ï¼ºÇ°À» ¸¸µå´Â µ¥ ÀÖ¾î¼ °¡´ÉÇϸé ÀûÀº ½Ã°£°ú ÀûÀº ³ëµ¿·Â°ú ¿øÀÚÀ縸À» ÀÌ¿ëÇÏ´Â ¹æ¹ýÀ» ¿¬±¸ÇÏ´Â °ÍÀº ±×·± Ãø¸é¿¡¼ Ä¿´Ù¶õ Àǹ̸¦ °¡Áö´Â °ÍÀÌ´Ù. À̹ø È£ ƯÁý¿¡¼ ¾ð±ÞÇÏ´Â MDA(Model Driven Architecture) ¿ª½Ã ¼ÒÇÁÆ®¿þ¾îÀÇ »ý»ê¼º°ú °ü·ÃÇØ¼ Áß¿äÇÑ Àǹ̸¦ °¡Áø´Ù.
¼ÒÇÁÆ®¿þ¾îÀÇ »ý»ê¼ºÀº ¾î¶»°Ô ³ô¾ÆÁö´Â°¡
±×·¸´Ù¸é °ú¿¬ ¾î¶»°Ô ÇÏ¸é ¼ÒÇÁÆ®¿þ¾îÀÇ »ý»ê¼ºÀ» ³ôÀÏ ¼ö Àִ°¡? ÀÌ ¹®Á¦´Â ºñ´Ü ÃÖ±Ù¿¡ Á¦±âµÇ´Â ¹®Á¦°¡ ¾Æ´Ï´Ù. ¹°·Ð °ú°Å¿¡ ºñÇØ º¹ÀâÇÑ ½Ã½ºÅÛ ¿ä±¸»çÇ×°ú ¼ö¸¹Àº ±â¼úµéÀÌ µîÀåÇϰí ÀÖ´Â ±Ù·¡¿¡ ±× Á߿伺ÀÌ ³ô¾ÆÁö°í´Â ÀÖÀ¸³ª ÀÌ¹Ì ¼ÒÇÁÆ®¿þ¾î ÃÊâ±âºÎÅÍ ÀÌ ¹®Á¦´Â ¸¹Àº »ç¶÷µéÀÇ °í¹Î°Å¸®¿´´Ù°í ¸»ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ µîÀåÇÑ ´ëÇ¥ÀûÀÎ Çй®ÀÌ ¹Ù·Î ¼ÒÇÁÆ®¿þ¾î °øÇÐÀÌ´Ù.
¼ÒÇÁÆ®¿þ¾î °øÇÐÀÇ ¿µ¿ªÀº »ó´çÈ÷ Æ÷°ýÀûÀÌ´Ù. ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ Åõ¿©µÇ´Â ¼ö¸¹Àº ÀÚ¿øµéÀÇ È¿°úÀûÀÎ °ü¸® ¹æ¹ý°ú Æò°¡, ±×¸®°í Á¶Á÷°ú ÀÇ»ç°áÁ¤ ±¸Á¶, ½ÉÁö¾î´Â °³¹ßÀÚµéÀÇ ½É¸®»óÅ¿¡ ´ëÇÑ °Íµµ ´ë»óÀÌ µÉ ¼ö ÀÖ´Ù. ¼ÒÇÁÆ®¿þ¾î °øÇп¡ ´ëÇØ¼ ÀÚ¼¼ÇÑ À̾߱⸦ ÇÏÀÚ¸é ¼ÒÇÁÆ®¿þ¾îÀÇ À§±â¿¡¼ºÎÅÍ ¸¹Àº ¹æ¹ý·Ð¿¡ ´ëÇÑ °Í±îÁö Ä¿´Ù¶õ ¿¬±¸ ºÐ¾ß¶ó°í ÇÒ ¼ö ÀÖÀ¸¸ç, ±× Á߿伺Àº ÃÖ±ÙÀÇ º¹ÀâÇØÁø ȯ°æ¿¡ ÀÇÇØ Á¡Á¡ ´õ ³ô¾Æ°¡°í ÀÖ´Ù. °ÅâÇÏ°Ô ¼ÒÇÁÆ®¿þ¾î °øÇÐÀ» À̾߱âÇßÁö¸¸ ¼ÒÇÁÆ®¿þ¾î »ý»ê¼ºÀ» ³ôÀ̱â À§ÇØ ±× µ¿¾È ½ÃµµµÆ´ø ¸î °¡Áö ¹æ¹ý¿¡ ´ëÇØ¼ °£´ÜÈ÷ ÀÌÇØÇÏ´Â °ÍÀÌ MDA¿¡ ´ëÇÑ À̾߱⸦ Ç®¾î³ª°¡´Â µ¥ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
ÀüÅëÀûÀÎ ¹æ¹ý·Ð vs. âÁ¶Àû ÇÁ·Î±×·¡¹Ö
¼ÒÇÁÆ®¿þ¾îÀÇ »ý»ê¼ºÀ» ³ôÀ̱â À§ÇÑ ¹æ¹ýÀ¸·Î ±× µ¿¾È ´Ù¾çÇÑ ¹æ¹ý·Ð°ú ÀÌ·ÐÀÌ µîÀåÇß´Ù. À̵鿡 ´ëÇÑ ÀÚ¼¼ÇÑ ³íÀÇ´Â ÇÑ ±ÇÀÇ Ã¥À¸·Îµµ ºÎÁ·ÇÒ °ÍÀ̹ǷΠ¿©±â¼´Â ´ëÇ¥ÀûÀÎ ¸î °¡ÁöÀÇ Æ¯Â¡¿¡ ´ëÇØ¼ °£´ÜÈ÷ ¾Ë¾Æº¸±â·Î ÇÏÀÚ. ¼ÒÇÁÆ®¿þ¾î °øÇÐÀÇ Á¤ÀÇ·Î º»´Ù¸é ¸ðµç ¹æ¹ý·ÐµéÀÌ ¼ÒÇÁÆ®¿þ¾î °øÇÐÀ¸·Î ¼³¸íÇÒ ¼ö ÀÖ°ÚÀ¸³ª ÃÖ±Ù¿¡ °¢±¤¹Þ´Â ¸î °¡Áö ¹æ¹ý·ÐÀÌ ±âÁ¸ÀÇ ¹æ¹ý·Ð°ú´Â »ó´çÇÑ Ã¶ÇÐÀûÀÎ Â÷À̸¦ º¸¿©ÁÖ°í Àֱ⠶§¹®¿¡ ¿©±â¼´Â À̵éÀ» Æ÷°ýÀûÀ¸·Î ¡®Ã¢Á¶Àû ÇÁ·Î±×·¡¹Ö¡¯À¸·Î Ç¥ÇöÇϰíÀÚ ÇÑ´Ù.
ÇÊÀÚÀÇ °æ¿ì ¼ÒÇÁÆ®¿þ¾î °øÇÐÀ» Àü¹®ÀûÀ¸·Î Àü°øÇÑ °ÍÀº ¾Æ´Ï¹Ç·Î ´Ù¼ÒÀÇ ¿ë¾î ¼±Åðú Çй®ÀûÀÎ ¼³¸í¿¡ À־ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖÀ¸³ª MDA¸¦ ¼³¸íÇϱâ ÀÌÀü¿¡ ±× µ¿¾ÈÀÇ °æÇèÇß´ø °ÍµéÀ» ¹ÙÅÁÀ¸·Î Á¢±ÙÇÏ´Â °ÍÀÌ µµ¿òÀÌ µÉ °ÍÀ̶ó »ý°¢Çϱ⠶§¹®¿¡ ÀÌ ºÎºÐÀ» ¾ð±ÞÇϵµ·Ï ÇϰڴÙ. Ȥ½Ã¶óµµ ÇÊÀÚÀÇ ±Û¿¡ ´ëÇØ ´Ù¸¥ ÀǰßÀÌ ÀÖ´Â µ¶ÀÚ´Â ¾ðÁ¦µçÁö ÇÊÀÚ¿¡°Ô ¸ÞÀÏÀ» º¸³½´Ù¸é °ËÅä ÈÄ ´ÙÀ½ ±âȸ¿¡ Á¤Á¤Çϵµ·Ï ÇÒ °ÍÀÌ´Ù.
ÀüÅëÀûÀÎ ¼ÒÇÁÆ®¿þ¾î °øÇÐ ¹æ¹ý·ÐÀº ¼ÒÇÁÆ®¿þ¾îÀÇ °³¹ß ´Ü°è¸¦ ¿ä±¸, ºÐ¼®, ¼³°è, ±¸Çö, Å×½ºÆ®¿Í À¯Áöº¸¼ö·Î ºÐ·ùÇÏ°í °¢ ´Ü°èº°·Î ¼ÒÇÁÆ®¿þ¾îÀÇ »ý»ê¼º¿¡ ¿µÇâÀ» ÁÖ´Â ¿©·¯ ¿ä¼ÒµéÀ» °ü¸®Çϰí Á¶Á¤ÇØ »ý»ê¼ºÀ» ³ôÀÌ´Â ¹æ¹ý°ú ÀýÂ÷, ±×¸®°í À̸¦ Áö¿øÇÏ´Â ¿©·¯ °¡Áö µµ±¸ µîÀ¸·Î ±¸¼ºµÈ´Ù. ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ °üÇÑ Á¢±Ù ¹æ½Ä¿¡ µû¶ó ±â´É Áß½ÉÀÇ °³¹ß¹æ¹ý·Ð, ±¸Á¶Àû °³¹ß¹æ¹ý·Ð, °´Ã¼ÁöÇâ °³¹ß¹æ¹ý·Ð µîÀÌ ÀÖÀ¸¸ç ÃÖ±Ù¿¡ °¡Àå °¢±¤¹Þ´Â °ÍÀº °´Ã¼ÁöÇâ °³¹ß¹æ¹ý·ÐÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù.
ÀÌ·¯ÇÑ ÀüÅëÀûÀÎ ¼ÒÇÁÆ®¿þ¾î °øÇÐ ¹æ¹ý·ÐÀº ±âº»ÀûÀ¸·Î ¼ÒÇÁÆ®¿þ¾îÀÇ °³¹ßÀ» Á¦Á¶¾÷¿¡¼ÀÇ »ý»ê °øÁ¤ÀÇ ¿¬Àå¼±»ó¿¡¼ ¼ÒÇÁÆ®¿þ¾î¶ó´Â »ý»ê ´ë»óÀÇ Æ¯¼ºÀ» °í·ÁÇÏ¿© ¸¸µé¾îÁö±â ¶§¹®¿¡ °øÁ¤ÀÇ °ü¸®¿Í Á¦¾î¿¡ ÃÊÁ¡À» ¸ÂÃß°Ô µÇ´Â °æ¿ì°¡ ¸¹´Ù. ¿¹¸¦ µé¸é ÇÁ·ÎÁ§Æ®ÀÇ °ü¸®¸¦ À§ÇØ Á¦¾È¼ ¹× ÇÁ·ÎÁ§Æ® ºñ¿ë »êÁ¤, ÇÁ·ÎÁ§Æ® °èȹ°ú ½ºÄÉÁÙ¸µ, °¨µ¶°ú °ËÅä °úÁ¤À» °ÅÄ£ µÚ ÀûÇÕÇÑ Àη ¹èÄ¡ µîÀ» Çϰí ÇÁ·ÎÁ§Æ® ÆÀÀ¸·Î ±¸¼ºµÈ Á¶Á÷Àº Á¶Á÷ °ü¸®ÀÇ Ãø¸é¿¡¼ ÃÖ´ëÇÑÀÇ »ý»ê¼ºÀ» °®Ãâ ¼ö ÀÖ´Â ¹æÇâÀ» ¼±ÅÃÇϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù.
ÀÌ·± ¼ÒÇÁÆ®¿þ¾î °øÇÐ ¹æ¹ý·ÐÀº Ä¿´Ù¶õ ÇÁ·ÎÁ§Æ®ÀÇ À§Ç輺À» ÃÖ´ëÇÑ °ü¸®ÇÏ¸é¼ ±âÁ¸¿¡ Á¦Á¶¾÷°ú »çȸ°úÇÐ ºÐ¾ß¿¡¼ °³¹ßµÈ ¿©·¯ °¡Áö ÇüÅÂÀÇ µµ±¸¸¦ ÀÀ¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡ Áß°£ ±Ô¸ð ÀÌ»óÀÇ ÇÁ·ÎÁ§Æ®¿¡¼ »ó´çÇÑ È¿°ú¸¦ ¹ßÈÖÇÑ´Ù. ÀÌ¿¡ ºñÇØ âÁ¶ÀûÀÎ ÇÁ·Î±×·¡¹Ö¿¡ ÁßÁ¡À» µÐ ¹æ¹ý·ÐÀº ±âº»ÀûÀ¸·Î ¼ÒÇÁÆ®¿þ¾îÀÇ °³¹ßÀ» Á¦Á¶¾÷¿¡¼ÀÇ »ý»ê °øÁ¤À¸·Î º¸±âº¸´Ù´Â °³°³ÀÎÀÇ ¼û°ÜÁø ÀáÀç·ÂÀ» ÃÖ´ëÇÑ ¹ßÈÖÇØ¼ Á¶ÇÕÇÏ´Â °ÍÀ» ´õ¿í Áß¿äÇÏ°Ô »ý°¢ÇÑ´Ù. ±×·¯¹Ç·Î âÁ¶ÀûÀÎ ÇÁ·Î±×·¡¹Ö¿¡¼´Â ¼ÒÇÁÆ®¿þ¾î °³¹ßÀ̶õ ÀÏÁ¾ÀÇ °øµ¿ ¿¹¼ú ÀÛǰÀ» ¿Ï¼ºÇÏ´Â °Í°ú ºñ½ÁÇÏ´Ù°í °£ÁÖÇÑ´Ù.
¸ðµç ¹æ¹ý·ÐÀ» ÀÌ·¯ÇÑ Àã´ë·Î ºÐ·ùÇÏ´Â °ÍÀº ¹«¸®ÀÌÁö¸¸ ÃÖ±Ù¿¡ °¢±¤À» ¹Þ´Â XP(eXtreme Programming), ¾ÖÀÚÀÏ ¼ÒÇÁÆ®¿þ¾î °³¹ß(Agile Software Development) µîÀÇ ¹æ¹ý·ÐÀº ±âÁ¸ÀÇ ¹æ¹ý·Ð¿¡ ºñÇØ ÀÌ·¯ÇÑ Æ¯¼ºÀÇ Á߿伺À» ¸¹ÀÌ ÀÎÁ¤Çϰí ÀÖ´Ù. ÇÊÀÚ´Â °³ÀÎÀûÀ¸·Î ÀÌ·¯ÇÑ µÎ °¡Áö ¹æ¹ý·ÐÀ» ¸ðµÎ ½ÃÇèÇØ º¸¾Ò´Âµ¥ ¾î´À ÇÑ ÂÊÀÇ ¹æ¹ý·ÐÀÌ ´õ ¿ì¿ùÇÏ´Ù°í ¸»Çϱâ´Â ¾î·ÆÁö¸¸ Àü¹ÝÀûÀ¸·Î ÇÁ·ÎÁ§Æ®ÀÇ ±Ô¸ð°¡ Ä¿Áö°í °³¹ß ÀοøÀÇ ¼öÁØÀÇ Â÷À̰¡ ¸¹ÀÌ ³ª´Â ±¸¼º¿øÀ» °¡Áú¼ö·Ï ÀüÅëÀûÀÎ ¼ÒÇÁÆ®¿þ¾î °³¹ß ¹æ¹ý·ÐÀÌ È¿°úÀûÀ̸ç, ¹Ý´ë·Î ¼Ò±Ô¸ð ÇÁ·ÎÁ§Æ®ÀÌ¸é¼ °³¹ß ÀοøÀÇ ¼öÁØÀÇ Â÷°¡ Àû°í ½Ö¹æÀÇ ´ëȰ¡ Àß ÀÌ·ïÁú ¼ö ÀÖ´Â ±×·ìÀ̶ó¸é âÁ¶ÀûÀÎ ÇÁ·Î±×·¡¹Ö ¹æ¹ý·ÐÀÌ ÈξÀ È¿°úÀûÀ̾ú´Ù.
¼ÒÇÁÆ®¿þ¾î °³¹ß¹æ¹ý·Ð¿¡ °ü½ÉÀÌ ÀÖ´Â µ¶ÀÚ¶ó¸é ½ÃÁß¿¡ ÁÁÀº Ã¥µéÀÌ ¸¹ÀÌ ³ª¿Í ÀÖÀ¸¹Ç·Î À̵éÀ» Âü°íÇϸé Å« µµ¿òÀÌ µÉ °ÍÀÌ´Ù. ÀüÅëÀûÀÎ ¼ÒÇÁÆ®¿þ¾î °øÇÐÀûÀÎ ¹æ¹ý·ÐÀº ±³°ú¼µµ ¸¹ÀÌ ³ª¿Í ÀÖ°í ¹æ¹ý·Ð ÀÚü¿¡ ´ëÇÑ ¼Ò°³µµ ÀÎÅͳݿ¡¼ ½±°Ô ã¾Æº¼ ¼ö ÀÖ´Ù. âÁ¶ÀûÀÎ ÇÁ·Î±×·¡¹Ö°ú °ü·ÃÇØ¼´Â ÄËÆ® º¤(Kent Beck)ÀÌ ¾´ ¡®Extreme Programming Explained¡¯¿Í ¾ÖÀÚÀϾó¶óÀ̾ð½º(AgileAlliance) À¥ »çÀÌÆ®(http://www.aanpo.org/home)¸¦ Âü°íÇϱ⠹ٶõ´Ù.
CASE vs. MDA
CASE(Computer Aided Software Engineering)´Â ¼ÒÇÁÆ®¿þ¾î °³¹ßÀ̳ª °¢ °úÁ¤º° ÀÛ¾÷À» ÄÄÇ»ÅÍÀÇ µµ¿òÀ» ¹Þ¾Æ °øÇÐÀû ±â¼úÀ» ÀÚµ¿ÈÇÏ´Â °ÍÀ¸·Î °¢°¢ÀÇ ÀÛ¾÷ÀÇ ÀÚµ¿È¿¡ ÀÌ¿ëµÇ´Â µµ±¸¸¦ ÈçÈ÷ CASE ÅøÀ̶ó°í ÇÑ´Ù. ¿ª»çÀûÀ¸·Î º¼ ¶§´Â 1980³â´ë ÃÊÀÇ ±¸Á¶Àû °³¹ß¹æ¹ý·ÐÀÌ 80³â´ë ÈĹÝÀÇ CASE·Î ¹ßÀüÇÏ°Ô µÇ´Âµ¥ ÃʱâÀÇ CASE Á¦Ç°µéÀº ´Ù¾çÇÑ ¸ñÀûÀ» °¡Áö°í ÀÖ¾ú´Ù. ´ëÇ¥ÀûÀÎ °ÍÀ¸·Î´Â ¸ðµ¨¸µ ÀÛ¾÷À» µµ¿ÍÁְųª µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÏ´Â °Í¿¡¼ºÎÅÍ ÄÚµåÀÇ ÀÚµ¿»ý¼º ¹× ¿ª°øÇÐ Åø, ±×¸®°í ÇÁ·Î±×·¡¸Ó°¡ ¾Æ´Ñ »ç¶÷ÀÌ ÇÁ·Î±×·¡¹ÖÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÖ´Â GUI Åø µîÀÌ ÀÖ´Ù.
ÃÊâ±â CASE Á¦Ç°µéÀÌ µîÀåÇÏ´ø ½Ã±â¿¡´Â ¸ÞÀÎÇÁ·¹ÀÓ¿¡ ´ëÇÑ COBOL ÇÁ·Î±×·¡¹Ö°ú °ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ SQL CASE ÅøÀÌ ÁÖ¸¦ ÀÌ·ð´Âµ¥, ¿î¿µÃ¼Á¦³ª µ¥ÀÌÅͺ£À̽º ¾ÆÅ°ÅØÃ³¸¦ Áö¿øÇϱâ À§ÇÑ Á¤º¸¸¦ ¸ð¾ÆµÎ´Â °øÅëÀûÀÎ ÀúÀå¼Ò(repository)°¡ Á¸ÀçÇÏÁö ¾Ê¾Æ¼ ±× Ȱ¿ë¿¡ Á¦ÇÑÁ¡ÀÌ ÀÖ¾ú´Ù. À̸¦ ±Øº¹Çϱâ À§Çؼ IBM¿¡¼´Â AD »çÀÌŬ/ÀúÀå¼Ò(Cycle/Repository)¸¦ ¸¸µå´Â ÇÁ·ÎÁ§Æ®¸¦ ½ÃµµÇßÁö¸¸ ½ÇÆÐ·Î ³¡³µ´Ù.
1990³â´ë¿¡ µé¾î¼¸é¼ ÄÄÇ»ÆÃ ȯ°æÀÌ ±Þ¼Óµµ·Î ¸ÞÀÎÇÁ·¹ÀÓ¿¡¼ À¯´Ð½º, PC ±â¹ÝÀÇ ¿î¿µÃ¼Á¦·Î ±×¸®°í ÄÄÇ»ÅÍ ¾ð¾îÀÇ Ãø¸é¿¡¼´Â C¿Í º£ÀÌÁ÷ °°Àº ¾ð¾î°¡ ÁÖ·ù ¾ð¾î·Î ÀÚ¸®¸¦ Àâ°Ô µÇ¸é¼ ±âÁ¸ÀÇ CASE ÅøÀÇ È°¿ëµµ°¡ ±Þ¼ÓÈ÷ ¶³¾îÁö´Â Çö»óÀ» º¸¿©ÁÖ°Ô µÈ´Ù. 1990³â´ë ÈĹݿ¡ µé¾î°¡¸é¼ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ »ç¿ëÀÌ ÀϹÝȵǰí 1997³â¿¡ OMG(Object Management Group)¿¡¼ UML(Unified Modeling Language)À» Ç¥ÁØÈÇÑ °ÍÀ» °è±â·Î °´Ã¼ÁöÇ⠸𵨸µÀ» ÀÌ¿ëÇÑ »ç·Ê°¡ ´Ã¾î³ª¸é¼ ±âÁ¸ÀÇ CASEº¸´Ù´Â °´Ã¼ÁöÇâ °³¹ß¹æ¹ý·ÐÀ» µû¸£´Â »õ·Î¿î ÇüÅÂÀÇ ºñÁÖ¾ó ÅøµéÀÌ °¢±¤À» ¹Þ°Ô µÇ´Âµ¥ ´ëÇ¥ÀûÀÎ Á¦Ç°ÀÌ ÇöÀç´Â IBM¿¡ ÇÕº´µÈ ·¡¼î³¯(Rational)ÀÇ ·ÎÁî(Rose)³ª º¼·£µå¿¡ ÇÕº´µÈ Åõ°Ô´õ(Together) µîÀÌ´Ù.
CASE ÅøÀÇ °æ¿ì ¾ÆÁ÷±îÁö ¼º°ø°ú ½ÇÆÐ¸¦ ³íÇϱ⿡´Â À̸£Áö¸¸ Ãʱ⿡ °¡Á³´ø °ÅâÇÑ ¸ñÇ¥ ´Þ¼º¿¡´Â À̸£Áö ¸øÇß´Ù°í ÆÇ´ÜµÈ´Ù. °¡Àå Å« ÀÌÀ¯´Â CASE°¡ ÁöÇâÇÏ´Â ¸ñÇ¥°¡ ³Ê¹«³ª ¹æ´ëÇϰí À̸¦ Áö¿øÇÏ´Â ÅøµéÀÌ ½ÇÁ¦·Î µîÀåÇØ¼ ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ ÀÌ¿ëµÇ±â¿¡´Â ½Ç¹« ¼ÒÇÁÆ®¿þ¾î °³¹ß ÇÁ·Î¼¼½º°¡ °³¹ß ¹æ¹ý·ÐÀ̶ó´Â °ÍÀ» ¸ðµÎ ¼ÒÈÇÒ ¸¸Å ÃæºÐÈ÷ ¼º¼÷ÇÏÁö ¾Ê¾Ò´Ù´Â °ÍÀ» µé ¼ö ÀÖÀ» °ÍÀÌ´Ù. ´Ù½Ã ¸»ÇØ, ÀÌ·ÐÀº ÁÁ¾ÒÁö¸¸ Çö½Ç¼¼°è¿¡ ¹Þ¾Æµé¿©Áö±â¿¡´Â ¾ÆÁ÷ ¸Õ ÀÌ»óÇâÀ̶ó°í³ª ÇÒ±î?
ÀÌ·¯ÇÑ Çö»óÀº ºñ´Ü CASE Åø¿¡ ±¹ÇÑµÈ °Í¸¸Àº ¾Æ´Ï´Ù. OMG¿¡¼ ÃÖÃʷΠǥÁØÈ ÀÛ¾÷À» Çß´ø ºÐ»ê°´Ã¼ Ç¥ÁØÀÎ CORBA(Common Object Request Broker Architecture) ¿ª½Ã ÃʱâÀÇ ±â´ë¿Í´Â ´Ù¸£°Ô ±×·¸°Ô ¸¹Àº ¿µ¿ª¿¡¼ ³Ð°Ô äÅõÇÁö ¸øÇß´Ù. ±× ÀÌÀ¯´Â ¿©·¯ °¡Áö°¡ ÀÖ°ÚÀ¸³ª °¡Àå Ä¿´Ù¶õ ¿äÀÎÀ¸·Î »ý°¢µÇ´Â °Í ÁßÀÇ Çϳª°¡ Áö³ªÄ¡°Ô ¹«°Ì°í º¹ÀâÇÑ Ç¥ÁØ ±Ô°ÝÀ¸·Î ÀÎÇØ ½ÇÁ¦ ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ ÀÖ¾î¼ ½±°Ô ¹Þ¾Æµé¿©Áö±â ¾î·Á¿ü´Ù´Â Á¡ÀÌ´Ù. ±×¿¡ ºñÇØ ÃÖ±ÙÀÇ À¥ ¼ºñ½º°¡ ±× ÀÚü°¡ °¡Áö°í ÀÖ´Â ¸¹Àº ¾àÁ¡¿¡µµ ºÒ±¸ÇÏ°í ºñ±³Àû ½±°Ô äÅõǰí ÀÖ´Â °ÍÀº °¡º¿î Ç¥ÁØ ±Ô°ÝÀ¸·Î ÀÎÇØ ÀÚÀ¯·Î¿î ¼±ÅÃÀÇ ¿µ¿ªÀ» ³ÐÇûÀ¸¸ç ¿©·¯ °¡Áö Áö¿ø µµ±¸µéÀ» ÅëÇØ ½±°Ô ±¸ÇöÀÌ °¡´ÉÇ߱⠶§¹®À̶ó°í »ý°¢µÈ´Ù.
MDA´Â ÀÌ·¯ÇÑ CASE¿Í CORBA¿¡¼ÀÇ ±³ÈÆÀ» ¹ÙÅÁÀ¸·Î CASEó·³ Áö³ªÄ¡°Ô ¾ß½ÉÂ÷Áö ¾ÊÀ¸¸é¼ º¸´Ù ´À½¼ÇÏ°Ô ¿¬°üµÇ¾î Àִ ǥÁؾȵéÀÇ ¿¬°á°í¸®¸¦ Á¦°øÇÏ´Â ¹æ½ÄÀ¸·Î Á¢±ÙÇϰí ÀÖ´Ù. ¶ÇÇÑ ÀÌ·¯ÇÑ ¿¬°á°í¸®¸¦ ½±°Ô ±¸¼ºÇÒ ¼ö ÀÖ´Â µµ±¸µéÀ» Àû½Ã¿¡ Á¦°øÇÔÀ¸·Î½á ±× ¼º°ø °¡´É¼ºÀ» ³ôÀ̰í ÀÖ´Ù.
MDA ź»ý ¼³È - CORBA, UML, MOF ±×¸®°í MDA
OMG´Â 1989³â¿¡ ¼³¸³ÀÌ µÈ °´Ã¼ ±â¼ú¿¡ ´ëÇÑ »ç¿ëÀ» ÁõÁø½Ã۰í ÀÌ¿¡ ´ëÇÑ Ç¥ÁؾÈÀ» ¸¸µé±â À§ÇØ ¼ÒÇÁÆ®¿þ¾î »ê¾÷°è¿¡¼ ±¸¼ºÇÑ ÄÁ¼Ò½Ã¾öÀÌ´Ù. À̵éÀÌ ¸ð¿©¼ ÃÖÃÊ·Î ¸¸µç °ÍÀÌ ¹Ù·Î OMA(Object Management Architecture)Àε¥, OMA¿¡¼ °¡Àå Áß¿äÇÑ ¿ªÇÒÀ» ÇÏ´Â °ÍÀÌ ¹Ù·Î CORBAÀÌ´Ù. CORBA´Â ´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î °£ÀÇ »óÈ£¿î¿ë¼ºÀ» À§ÇØ IDL(Interface Definition Language)À̶ó´Â °ÍÀ» µµÀÔÇß´Ù. Ç÷§Æû¿¡ µ¶¸³ÀûÀÎ ÇÁ·ÎÅäÄÝÀ» À§ÇØ IIOP(Internet Inter-Operable Protocol)¿Í °°Àº ÇÁ·ÎÅäÄÝ Ç¥ÁؾÈÀ» Á¦½ÃÇÏ¿´´Ù. <±×¸² 1>Àº OMA¸¦ µµ½ÄÈÇØ¼ ³ªÅ¸³½ °ÍÀÌ´Ù.
 |
| <±×¸² 1> Object Management Architecture |
±×¸®°í OMG¿¡¼´Â °´Ã¼ÁöÇâ ¼ÒÇÁÆ®¿þ¾î µðÀÚÀÎÀ» À§Çؼ ±×µ¿¾È ´Ù¾çÇÏ°Ô Á¦½ÃµÇ¾ú´ø ¸ðµ¨¸µ ½Ã½ºÅÛÀ» Ç¥ÁØÈÇØ UMLÀ» 1997³â¿¡ ¹ßÇ¥ÇÏ°Ô µÈ´Ù. ±× ¹Û¿¡µµ OMG¿¡¼ ¹ßÇ¥µÈ ´ëÇ¥ÀûÀΠǥÁؾÈÀ¸·Î´Â Ç÷§Æû¿¡ µ¶¸³ÀûÀ¸·Î ¸ÞŸ µ¥ÀÌÅÍ¿Í µ¥ÀÌÅ͸¦ Á¤ÀÇ, Á¶ÀÛ, ÅëÇÕÇÒ ¼ö ÀÖ´Â ¸ðµ¨ ±â¹ÝÀÇ ÇÁ·¹ÀÓ¿öÅ©ÀÎ MOF(Meta-Object Facility), MOF¸¦ ¸ðµ¨ ±â¹ÝÀÇ XML ÅëÇÕ ÇÁ·¹ÀÓ¿öÅ©·Î À籸¼ºÇϸç MOF ±â¹ÝÀÇ ¸ÞŸ¸ðµ¨ÀÇ XML ¸ÊÇÎÀ» Áö¿øÇÏ´Â XMI(XML Metadata Interchange), µ¥ÀÌÅÍ ¿þ¾îÇϿ콺 µµ±¸, ¿þ¾îÇϿ콺 Ç÷§Æû ±×¸®°í ¼·Î ´Ù¸¥ ȯ°æ¿¡ ºÐ»êµÈ ¿þ¾îÇϿ콺 ¸ÞŸ µ¥ÀÌÅÍ ÀúÀå¼Òµé »çÀÌÀÇ ºñÁî´Ï½º ¸ÞŸ µ¥ÀÌÅÍÀÇ »óÈ£±³È¯À» °¡´ÉÇÏ°Ô Çϴ ǥÁØ ÀÎÅÍÆäÀ̽ºÀÎ CWM(Common Warehouse Metamodel) µîÀÌ ÀÖ´Ù. À̵éÀº MDA¸¦ ±¸¼ºÇÑ ÇϺΠ¿ä¼Ò·Î¼ ±× ¿ªÇÒÀ» ÇÏ°Ô µÈ´Ù.
CORBA¿¡¼ UML·ÎÀÇ Á᫐ À̵¿
ÇÊÀÚ´Â 2000³âºÎÅÍ ¼ö³â °£ OMG ÃÑȸ¸¦ Âü¼®ÇÏ¸é¼ ¸Å¹ø ÃÑȸ¿¡ Âü¼®ÇÒ ¶§¸¶´Ù Á¶±Ý¾¿ º¯ÈÇØ°¡´Â ºÐÀ§±â¸¦ ´À³¥ ¼ö ÀÖ¾ú´Ù. 2000³â ÃʱâÀÇ OMG ÃÑȸ¸¸ ÇÏ´õ¶óµµ ´ëºÎºÐÀÇ ¾÷üµéÀº ÃÑȸÀÇ ¼¼ºÎ ¸ðÀÓ¿¡ ÀÖ¾î¼ CORBA¸¦ Áß½ÉÀ¸·Î CORBA Ç¥ÁØ ±Ô°Ý¾ÈÀ» ¹ßÀü½ÃŰ´Â µ¥ ÁÖ·ÂÇÏ¿´´Ù. ¶ÇÇÑ CORBA¸¦ ºÐ»ê°´Ã¼ ±â¼úÀÇ »ê¾÷ Ç¥ÁؾÈÀ¸·Î ¹ßÇ¥ÇßÀ½¿¡µµ ºÒ±¸Çϰí ÀÌ¿Í À¯»çÇÑ ´Ù¾çÇÑ Ç÷§ÆûµéÀÌ µîÀåÇÏ¿´±â ¶§¹®¿¡ À̵é°úÀÇ »óÈ£¿î¿ë¼ºÀ» À§ÇÑ ÀÛ¾÷µéµµ Áö¼ÓÀûÀ¸·Î ÁøÇàµÇ¾ú´Ù. ´ëÇ¥ÀûÀÎ °ÍÀÌ CORBA/COM, CORBA/J2EEÀÇ »óÈ£¿î¿ë¼ºÀ» È®º¸ÇÏ´Â °ÍÀ̾ú´Ù.
±×¸®°í ºñ±³Àû CORBA Ç¥ÁؾÈÀÌ ¸¹ÀÌ Ã¤ÅõǾú´ø Åë½Å¾÷ü¿Í ±¹¹æ °ü·Ã ¾÷üµéÀ» Áß½ÉÀ¸·Î ÇØ´ç µµ¸ÞÀÎ ¿µ¿ª¿¡¼ÀÇ ¼ºñ½º(Service)¿Í ÆÛ½Ç¸®Æ¼(Facility)¸¦ Á¤ÀÇÇÏ´Â ÀÛ¾÷µéÀÌ ÇÑâÀ̾ú´Ù. ±×·±µ¥ ÇØ°¡ ¹Ù²î¸é¼ OMG ÃÑȸ¿¡ Âü¼®ÇÏ´Â »ç¶÷µéÀÇ ¿òÁ÷ÀÓÀÌ Áö¼ÓÀûÀ¸·Î UMLÂÊÀ¸·Î ¿òÁ÷À̱⠽ÃÀÛÇß´Ù. ±×¿¡ ºñÇØ CORBA Ç¥ÁؾȰú °ü·ÃÇÑ °ÍµéÀº ƯÁ¤ µµ¸ÞÀÎ ¿µ¿ªÀ¸·Î Ãà¼Ò°¡ µÇ´Â ¾ç»óÀ» º¸ÀÌ¸é¼ OMGÀÇ Áß½ÉÀÌ CORBA¿¡¼ UML·Î ³Ñ¾î°¡±â ½ÃÀÛÇß´Ù.
ÀÌ·¯ÇÑ º¯È´Â ±â¼ú Ç¥ÁؾÈÀÇ ¿ì¿ù¼º¿¡¼ ±âÀÎÇÑ °ÍÀÌ ¾Æ´Ï¶ó ¿©Å¸ ´Ù¸¥ °æÀï ±â¼úµéÀÇ Á¸Àç·Î ÀÎÇØ ´õ ÀÌ»ó »ê¾÷°è Ç¥ÁØÀ¸·Î¼ÀÇ ÃßÁøµ¿·ÂÀ» Á¡Â÷ »ó½ÇÇϰí ÀÖ¾ú´ø CORBA¿¡ ºñÇØ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀÇ Æø¹ßÀûÀÎ Áõ°¡¿Í °æÀïÀÌ µÇ´Â Ç¥ÁؾÈÀÌ ¾ø´Â »óÅ¿¡¼ »ç½Ç»óÀÇ À¯ÀÏÇÑ Ç¥ÁؾÈÀ¸·Î¼ ±× À§¼¼¸¦ ¶³Ãijª°¡´ø UMLÀÇ ½ÃÀå¿¡¼ÀÇ ¹ÝÀÀ¿¡ ÀÇÇÑ °ÍÀÌ´Ù. UMLÀº ±âÁ¸ÀÇ Ç÷§ÆûÀÇ ¿ì¿ù¼ºÀ̳ª º¥´õµé »çÀÌÀÇ Á¦Ç° ÆÈ¾Æ¸Ô±â °æÀï¿¡¼ ¿·À¸·Î ºñÄѳ »óÅ·Π¸¹Àº °³¹ßÀڵ鿡°Ô ¹Þ¾Æµé¿©Áö¸é¼ ÀÚ¿¬½º·´°Ô OMG¸¦ À̲ø¾î°¡´Â ÇÙ½É Ç¥ÁؾÈÀ¸·Î °¢±¤¹Þ°Ô µÈ °ÍÀÌ´Ù.
MDAÀÇ Åº»ý°ú ±× ÀÌÈÄ
À̶§ºÎÅÍ OMG ³»ºÎ¿¡¼´Â MDA¿¡ ´ëÇÑ ±¸»óÀ» ÀdzíÇÏ´Â ±×·ìµéÀÌ »ý°Ü³ª±â ½ÃÀÛÇß´Ù. UMLÀÇ ½ÃÀåÁÖµµÀûÀÎ ÈûÀ» ¹ÙÅÁÀ¸·Î CORBA°¡ ÀÌ·ï³»Áö ¸øÇß´ø À̱âÁ¾ Ç÷§Æû ¹× ¾ð¾îµ¶¸³¼ºÀ» ºñ±³Àû ¹Þ¾ÆµéÀ̱⠽¬¿î ¹æ¹ýÀ¸·Î Á¦½ÃÇÏ·Á´Â ³ë·ÂµéÀÌ ¸ð¿©¼ MDA°¡ ź»ýÇÏ°Ô µÇ¾ú´Ù. MDA´Â 2001³â 3¿ù OMGÀÇ CEOÀÎ ¸®Â÷µå ¼Ö¸®(Richard M. Soley)°¡ ¡®OMG Model Driven Architecture¡¯¶ó´Â Á¦¸ñÀÇ ÇÁ¸®Á¨Å×À̼ÇÀ» ÅëÇØ °ø½ÄÀûÀ¸·Î´Â óÀ½ ¼¼»ó¿¡ ¾Ë·ÁÁö°Ô µÇ¾ú´Ù. ÀÌ ¹ßÇ¥´Â OMG À¥ »çÀÌÆ®¿¡¼ ÇöÀçµµ 10ºÐ Á¤µµÀÇ ¿Àµð¿À ÆÄÀÏ·Î µéÀ» ¼ö ÀÖÀ¸¹Ç·Î °ü½É ÀÖ´Â µ¶ÀÚ´Â ÇÑ ¹øÂë µé¾îº¸±â ¹Ù¶õ´Ù. ÀÌ ¹ßÇ¥¸¦ ½ÃÀÛÀ¸·Î MDA¿¡ ´ëÇÑ ±¸Ã¼ÀûÀÎ ±Ô°ÝÀ» ³íÀÇÇϱ⠽ÃÀÛÇØ¼ 2003³â 6¿ù¿¡ °ø½ÄÀûÀÎ ¡®MDA Guide v 1.0¡¯ÀÌ °ø°³µÇ¾ú´Ù.
2001³â 3¿ù MDA¿¡ ´ëÇÑ ¹ßÇ¥°¡ ÀÖÀº µÚºÎÅÍ MDA Ç¥ÁؾÈÀ» ½ÇüÈÇϰí MDA¿¡¼ ³»¼¼¿î °³³äµéÀ» ±¸Ã¼ÈÇϱâ À§ÇÑ ¿òÁ÷ÀÓµéÀº Á¡Á¡ Ȱ¼ºÈµÇ¾ú´Âµ¥, ±× ÀÌÈÄÀÇ OMG ÃÑȸ¿¡¼´Â ÀÌ·¯ÇÑ ³íÀǵéÀÌ Çϳª¾¿ ¼Ò±âÀÇ ¼º°ú¸¦ °ÅµÎ°Ô µÈ´Ù. ÇÊÀڴ óÀ½ MDA¸¦ ¹ßÇ¥ÇÏ´Â ÀÚ¸®¿¡ ÀÖ¾ú´Âµ¥, ±× ¹ßÇ¥¸¦ º¸´Â ¼ø°£ À̰ÍÀÌ ¾ÕÀ¸·Î °¥ ±æÀº ¸Ö¾î º¸ÀÌÁö¸¸ ¾ðÁ¨°¡ ¼¼»ó¿¡¼ Ä¿´Ù¶õ ¹ÝÇâÀ» ²ø¾î³¾ ¼ö ÀÖÀ» °ÍÀ̶ó´Â ´À³¦À» ¹Þ¾Ò´Ù. ±×·¯³ª ±× ¶§¸¸ ÇÏ´õ¶óµµ Àû¾îµµ 5³â ¾È¿¡´Â Àú±â¼ À̾߱âÇÏ´Â °ÍÀÌ ½ÇüÈÇϱâ´Â ¾î·Á¿ï °ÍÀ̶ó°í »ý°¢Çß¾ú´Ù.
ÀÌ·± ÇÊÀÚÀÇ »ý°¢À» ±ú¶ß¸° °ÍÀÌ 2001³â ¿©¸§ OMG ÃÑȸ¿¡¼ ÃÖÃÊÀÇ MDA¸¦ Áö¿øÇÏ´Â °³¹ß Åø·Î ¼Ò°³µÈ ¾ÆÅ©½ºÅ¸ÀÏ·¯(ArcStyler )¿´´Ù. ´ç½ÃÀÇ Á¦Ç°Àº UML ¸ðµ¨À» ¹ÙÅÁÀ¸·Î Ç÷§Æû¿¡ µ¶¸³ÀûÀÎ ¸ðµ¨(PIM, Platform Independent Model)°ú Ç÷§Æû ÀÇÁ¸ÀûÀÎ ¸ðµ¨(PSM, Platform Specific Model)À» µû·Î °ü¸®ÇÏ´Â ±âº»ÀûÀÎ MDAÀÇ ÇüŸ¦ °®Ãß±â´Â ÇßÀ¸³ª ½ÇÁ¦·Î Áö¿øÇÏ´Â Ç÷§ÆûÀº J2EE ¹Û¿¡ ¾ø´Â °ÍÀ̾ú´Ù. ±×·¸Áö¸¸ MDA¿¡ ´ëÇÑ ±âº»ÀûÀÎ °³³äÀ̳ª ±¸Çö °¡´É¼ºÀ» ½ÇÁ¦·Î º¸¿©Áá±â ¶§¹®¿¡ ´ç½Ã¿¡ Ä¿´Ù¶õ ¹ÝÇâÀ» ºÒ·¯ÀÏÀ¸Ä×´Ù. ¾ÆÅ©½ºÅ¸ÀÏ·¯´Â ÇöÀç º¼·£µåÀÇ ¿£ÅÍÇÁ¶óÀÌÁî ½ºÆ©µð¿À¿¡ ÅëÇյǾî ÀÖÀ¸¸ç À̸¦ ½Ã¹ßÁ¡À¸·Î ¿©·¯ MDA Áö¿ø °³¹ß ÅøµéÀÌ µîÀåÇϱ⠽ÃÀÛÇß´Ù.
MDAÀÇ ¸ñÇ¥´Â ¼ÒÇÁÆ®¿þ¾î ºÐ¼®°¡¿Í °³¹ßÀÚ°¡ ¼ÒÇÁÆ®¿þ¾î¿Í ºñÁî´Ï½º ÀÚ»êÀ» ±â¼úÇϴµ¥ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¿£ÅÍÇÁ¶óÀÌÁî ¾ÆÅ°ÅØÃ³ ¸ðµ¨¸µÀÌ °¡´ÉÇϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ¾ÆÅ°ÅØÃ³¸¦ ¼ÒÇÁÆ®¿þ¾î µµ±¸¸¦ ÀÌ¿ëÇØ¼ ¸¸µé¾î³¿À¸·Î½á ½ÇÁ¦ ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ ÀÖ¾î¼ ¾ÆÅ°ÅØÃ³¸¦ ±¸ÇöÇϴ ƯÁ¤ ¾ÖÇø®ÄÉÀ̼ÇÀ» ½±°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô µÇ¸ç ¾ÖÇø®ÄÉÀ̼ÇÀ» ´Ù¾çÇÑ º¯°æ ¿ä±¸¿¡ ¸Â°Ô ½±°Ô º¯°æÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
MDA ±¸¼º ¿ä¼Ò
MDA´Â ¿©·¯ °¡Áö ¸ðµ¨°ú Ç¥Áص鿡 ÀÇÇØ¼ ±¸¼ºµÈ´Ù. ¸ðµç MDA ¸ðµ¨ µéÀº MOF¶ó´Â Ãß»óÀûÀÎ ¸ÞŸ¸ðµ¨¿¡ ±âÃʸ¦ µÎ°í Àֱ⠶§¹®¿¡ ¸ðµÎ ¿¬°üµÇ¾î ÀÖ´Ù. ´Ù½Ã ¸»ÇØ ¸ðµç MDA ¸ðµ¨Àº MOF¿Í ȣȯ¼ºÀÌ ÀÖ´Ù. ÀÌ·± Ư¡Àº MDA¿¡¼ ÀÌ¿ëµÈ ¸ðµç ¸ðµ¨µéÀÌ ´Ù¸¥ MOF ȣȯ ¸ðµ¨µé°ú ȣȯ¼ºÀ» °¡Áø´Ù´Â °ÍÀ» º¸ÀåÇÑ´Ù.
MDA¿¡¼ ¶Ç ÇÑ °¡Áö Áß¿äÇÑ ºÎºÐÀÌ UML ÇÁ·ÎÆÄÀÏ(profile)ÀÌ´Ù. UML ÇÁ·ÎÆÄÀÏÀº UMLÀ» È®ÀåÇÑ °ÍÀ̱⠶§¹®¿¡ MOF¿Í ȣȯ¼ºÀÌ ÀÖÀ¸¸ç, UML 2.0¿¡¼´Â UMLÀÇ ´Ù¾çÇÑ ±â´ÉÀûÀÎ »ç¿ë ¹æ¹ýÀ» ±â¼úÇÒ ¼ö ÀÖ´Ù. UML ÇÁ·ÎÆÄÀÏÀº UMLÀÇ È®ÀåÀÎ µ¿½Ã¿¡ ±× ÀÚü·Î MOF ¸ÞŸ¸ðµ¨ÀÌ´Ù. ÀϺÎÀÇ MDA ¸ÞŸ¸ðµ¨Àº ÀÌ¹Ì OMG¿¡¼ °ú°Å¿¡ Á¤ÀÇµÈ °ÍµéÀ̸ç ÀϺδ OMG ¿ÜºÎÀÇ ±×·ì ¶Ç´Â º¥´õµé¿¡ ÀÇÇØ MOF ȣȯÀÌ µÇ´Â ÇüÅ·Π¸¸µé¾îÁø °ÍÀÌ´Ù. ÀÌ·¯ÇÑ OMG ¿ÜºÎÀÇ ¸ÞŸ¸ðµ¨µéÀº ºñ·Ï °ø½ÄÀûÀÎ OMG Ç¥ÁØÀº ¾Æ´ÏÁö¸¸ MOF ȣȯ¼ºÀÌ Àֱ⠶§¹®¿¡ MDA °³¹ß °úÁ¤¿¡´Â »ç¿ëµÇ´Â µ¥ ¹®Á¦°¡ ¾ø´Ù. ´ëÇ¥ÀûÀÎ MDA ¸ðµ¨µé°ú ÇÁ·ÎÆÄÀϵé·Î´Â ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù.
CWM
CWM(Common Warehouse Metamodel)Àº OMG¿¡¼ Ç¥ÁØÈÇÑ µ¥ÀÌÅÍ ¿þ¾îÇϿ콺¸¦ °ü¸®ÇÏ´Â µ¥ ÀÌ¿ëµÇ´Â ¸ÞŸ µ¥ÀÌÅÍ ¸ðµ¨ÀÌ´Ù. CWMÀ» ÀÌ¿ëÇÏ¸é °³¹ßÀÚµéÀÌ °ü°èÇü µ¥ÀÌÅͺ£À̽º Å×À̺í, ·¹ÄÚµå, ±¸Á¶Ã¼, OLAP, XML ±×¸®°í ´ÙÂ÷¿ø µ¥ÀÌÅͺ£À̽º µðÀÚÀÎ µî°ú °°Àº ¼ö¸¹Àº µ¥ÀÌÅÍ ¸ðµ¨ ¶Ç´Â Æ÷¸ËÀ» »ý¼ºÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ CWM¿¡´Â µ¥ÀÌÅÍ ¿þ¾îÇϿ콺 À̿ܿ¡µµ »ç¿ëµÉ ¼ö ÀÖ´Â À¯¿ëÇÑ ºÎºÐµéµµ Àִµ¥ ¿¹¸¦ µé¸é µ¥ÀÌÅÍ ¸ðµ¨À̳ª µ¥ÀÌÅÍ º¯È¯, ¼ÒÇÁÆ®¿þ¾î ¹èÆ÷ µî¿¡ °ü·ÃµÈ ³»¿ëµµ Æ÷ÇԵǾî ÀÖ´Ù.
UML ¸ÞŸ¸ðµ¨
UMLÀÇ Ãʱ⠹öÀüÀº MOF¿ÍÀÇ ¿ÏÀüÇÑ È£È¯¼ºÀÌ º¸ÀåµÇÁö ¾ÊÁö¸¸ UML 2.0Àº MOF ȣȯ¼ºÀ» °¡Áø´Ù. ÀÌ·± ÀÌÀ¯·Î ÁøÁ¤ÇÑ MDA °³¹ßÀ» À§Çؼ´Â UML 2.0ÀÌ »ç¿ëµÅ¾ß ÇÑ´Ù. UMLÀº ÇÙ½É ¸ðµ¨¸µ °³³äµé°ú À̵éÀ» À§ÇÑ ´ÙÀ̾î±×·¥µé·Î Á¤ÀǵȴÙ. ¶ÇÇÑ °³¹ßÀÚµéÀÌ UML ±¸¼º ¿ä¼Ò¿¡ ´Ù¾çÇÑ Á¦ÇÑ(constraint)À» ÇÒ ¼ö ÀÖµµ·Ï Çã¿ëÇϰí ÀÖ´Ù. UML 2.0¿¡¼´Â UMLÀÌ ¸ðµ¨µéÀÇ ÇàÀ§¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ·¯ÇÑ ÇàÀ§ÀÇ Ç¥ÇöµéÀÌ Á÷Á¢ ÄÚµå·Î º¯°æµÈ´Ù.
XMI
XMI Ç¥ÁØÀº MOF¿Í ȣȯ¼ºÀÌ ÀÖ´Â ¸ðµ¨µéÀ» XML ¹®¼ ÇüÅ·ΠǥÇöÇϰí À̸¦ MOF ȣȯ µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇÒ ¼ö ÀÖµµ·Ï Çϴ ǥÁØÀÌ´Ù. ±×·¯¹Ç·Î »ç½Ç»ó XMI ¹®¼´Â °ð MOF XML ¹®¼¶ó°í ÇÒ ¼ö ÀÖ´Ù.
UML ÇÁ·ÎÆÄÀÏ
UML ÇÁ·ÎÆÄÀÏÀº ƯÁ¤ µµ¸ÞÀο¡ ´ëÇÑ UML ¸ðµ¨À» ÀÛ¼ºÇϱâ À§ÇÑ ÀÏ¹Ý È®Àå(generic extension) ¸ÞÄ¿´ÏÁòÀ» Á¤ÀÇÇÏ´Â °ÍÀÌ´Ù. ±×·¯¹Ç·Î UML ÇÁ·ÎÆÄÀÏÀº Ãß°¡ÀûÀÎ ½ºÅ×·¹¿ÀŸÀÔ(stereotype)°ú ÅÂ±× °ª(tagged value)ÀÌ Àû¿ëµÈ ¿¤¸®¸ÕÆ®(element), ¾ÖÆ®¸®ºäÆ®(attribute), ¸Þ½îµå(method), ¸µÅ©(link) µîÀ¸·Î ÀÌ·ïÁø´Ù. UML ÇÁ·ÎÆÄÀÏÀº ÀÌ·¯ÇÑ È®Àå Ä÷º¼ÇÀ» ÀÌ¿ëÇØ¼ ƯÁ¤ µµ¸ÞÀο¡ ´ëÇÑ ¸ðµ¨¸µ ¹®Á¦¸¦ ±â¼úÇϰí ÇØ´ç µµ¸ÞÀÎÀÇ ³»¿ëµéÀ» ¸ðµ¨¸µÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.
ÇöÀç ´Ù¾çÇÑ UML ÇÁ·ÎÆÄÀÏÀÌ ³ª¿Í ÀÖÀ¸³ª MDA¿Í °ü·ÃÇØ¼´Â Ç÷§Æû¿¡ µû¶ó °¢°¢ÀÇ ÇÁ·ÎÆÄÀÏÀÌ Á¤ÀÇµÉ ¼ö ÀÖ´Ù. ÇöÀç CORBA ÇÁ·ÎÆÄÀÏ, EAI ÇÁ·ÎÆÄÀÏ, EDOC ÇÁ·ÎÆÄÀÏ, ¸®¾óŸÀÓ ÄÄÇ»ÆÃÀ» À§ÇÑ ½ºÄÉÁÙ¸µ ÇÁ·ÎÆÄÀÏ µîÀÌ OMG¿¡¼ Á¤ÀǵǾúÀ¸¸ç EJB ÇÁ·ÎÆÄÀÏÀº JCP(Java Community Process)¸¦ ÅëÇØ, ´å³Ý ÇÁ·ÎÆÄÀÏÀº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡ ÀÇÇØ Á¤Àǵǰí ÀÖ´Ù.
MDA °³¹ß ÇÁ·Î¼¼½º¿Í Ư¡
MDA´Â ÀÌ¿Í °°ÀÌ ±×µ¿¾È ¹ßÇ¥µÈ ¿©·¯ OMGÀÇ Ç¥ÁØ ±â¼úµéÀÌ Çϳª·Î Á¢¸ñµÇ°í À¯±âÀûÀ¸·Î ¿¬°áµÈ ÇüŸ¦ °¡Áö°í ÀÖ´Ù. ±× Áß¿¡¼µµ MOF¿Í UML ÇÁ·ÎÆÄÀÏÀÇ ¿ªÇÒÀÌ °¡Àå Áß¿äÇÏ´Ù´Â °ÍÀ» ¾Æ¸¶µµ µ¶ÀÚµµ ´À³¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ±¸¼º»óÀÇ ¿ªÇÒ°ú´Â º°µµ·Î MDA´Â ¼ÒÇÁÆ®¿þ¾î ¸®¼Ò½ºÀÇ °ü¸®¿Í °³¹ß ÀÚü¿¡µµ ÃÊÁ¡À» ¸ÂÃß°í Àֱ⠶§¹®¿¡ ¼ÒÇÁÆ®¿þ¾î °³¹ß ÇÁ·Î¼¼½º¿¡¼ ¸ðµ¨µéÀÌ ¾î¶»°Ô ÀÌ¿ëµÅ¾ß ÇÏ´ÂÁö¿¡ ´ëÇØ¼µµ ±â¼úÇϰí ÀÖ´Ù.
<±×¸² 2>´Â ºñÁî´Ï½º ÇÁ·Î¼¼½º³ª ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇÑ ±â¼ú¼¸¦ ¹ÙÅÁÀ¸·Î Ãß»óÀûÀÎ ¸ðµ¨À» ÃßÃâÇϰí, Ãß»óÀûÀÎ ¸ðµ¨À» ½ÇÇà °¡´ÉÇÑ ±¸Çö ¸ðµ¨·Î º¯È¯½ÃŰ´Â °úÁ¤À» º¸¿©ÁØ´Ù. ÀÌ·± ÇÁ·Î¼¼½º¿¡¼ »ç¿ëµÈ ¸ðµ¨µéÀº UML°ú °°Àº ¸ÞŸ¸ðµ¨·Î Ç¥ÇöµÇ´Âµ¥ ÀϺÎÀÇ ¸ðµ¨Àº Ç÷§Æû°ú ¹«°üÇϰí ÀϺδ Ç÷§Æû°ú ¹ÐÁ¢ÇÑ °ü°è¸¦ °¡Áø´Ù.
 |
| <±×¸² 2> MDA °³¹ß ÇÁ·Î¼¼½º |
<±×¸² 2>¿¡¼ 3°¡Áö À¯ÇüÀÇ MDA ¸ðµ¨À» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î ºñÁî´Ï½º¸¦ ºÐ¼®ÇÏ°í ¿ä±¸»çÇ×À» ÃßÃâÇÏ´Â ¿ªÇÒÀ» ¸ÃÀº ºÐ¼®°¡°¡ CIM(Computation Independent Model)À» ¸ðµ¨¸µÇϸç, ºñÁî´Ï½º ¾ÆÅ°ÅØÆ®³ª µðÀÚÀ̳ʰ¡ PIM(Platform Independent Model)À» ¸¸µç´Ù. PIM ¸ðµ¨Àº ƯÁ¤ÇÑ ±¸Çö ¸ðµ¨°ú´Â µ¶¸³ÀûÀ¸·Î ¾î¶² ÇüÅÂÀÇ ¾ÆÅ°ÅØÃ³¸¦ °¡Áú °ÍÀÎÁö ±â¼úÇÑ´Ù. ±×¸®°í ³ª¼ °³¹ßÀÚ¿Í Å×½ºÅͰ¡ ¼ÒÇÁÆ®¿þ¾î ÅøÀ» ÀÌ¿ëÇØ¼ PSMÀ» PIM¿¡¼ »Ì¾Æ³½ µÚ¿¡ À̸¦ Ç÷§Æû Ư¼º¿¡ ¸Â°Ô ÃÖÀûȸ¦ Çϰí Äڵ带 »Ì¾Æ³»°Ô µÈ´Ù.
MDA °³¹ß ÇÁ·Î¼¼½º¸¦ ´Ü°èº° ½ºÅÜÀ¸·Î °£´ÜÈ÷ Á¤¸®ÇØ º¸¸é ´ÙÀ½°ú °°´Ù.
[1] ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ ºñÁî´Ï½º ¿ä±¸»çÇ×À» ¼öÁýÇÑ´Ù.
[2] µµ¸ÞÀÎ ¸ðµ¨¿¡ ´ëÇÑ UML ´ÙÀ̾î±×·¥À» ÀÛ¼ºÇÑ´Ù. ¸ÕÀú J2EE, ´å³Ý, CORBA¿Í °°Àº ƯÁ¤ ±â¼ú¿¡ Á¾¼ÓÀûÀÌÁö ¾ÊÀº ¸ðµ¨À» ¸ÕÀú ¸¸µç´Ù. ÀÌ·¸°Ô ÀÛ¼ºµÈ UML ¸ðµ¨Àº ÇÙ½É ºñÁî´Ï½º ¼ºñ½º¿Í ÄÄÆ÷³ÍÆ®¸¦ ³ªÅ¸³»°Ô µÇ´Âµ¥, ¿¹¸¦ µéÀÚ¸é °¡°Ý °áÁ¤ ¿£ÁøÀ̶óµçÁö ¼îÇΠīƮ ¸ðµ¨À̶óµçÁö ÁÖ¹® ¸ðµ¨ °°Àº °ÍµéÀÌ µÉ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ UML ¸ðµ¨À» PIMÀ̶ó°í ÇÑ´Ù.
[3] ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ Æ¯Á¤ ±â¼ú°ú °ü·ÃÇÑ UML ¸ðµ¨À» ÀÛ¼ºÇÑ´Ù. ÀÌ¿Í °°ÀÌ Æ¯Á¤ ±â¼ú¿¡ Á¾¼ÓÀûÀÎ UML ¸ðµ¨À» PSMÀ̶ó°í ÇÑ´Ù. PSMÀº Á÷Á¢ ÀÛ¼ºÇÒ ¼öµµ ÀÖ°í MDA Áö¿ø ÅøÀ» ÀÌ¿ëÇØ¼ PIM¿¡¼ ÀÚµ¿À¸·Î ¸¸µé¾î³»°Å³ª ¶Ç´Â ¸¸µé¾îÁø ¸ðµ¨À» ¼öÁ¤ÇÏ´Â ¹æ½ÄÀ¸·Î ÀÛ¾÷ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
[4] ¸¶Áö¸·À¸·Î MDA ÅøÀ» ÀÌ¿ëÇØ¼ ¾ÖÇø®ÄÉÀÌ¼Ç Äڵ带 ¸¸µé¾î³½´Ù. ÇöÀç ÀÌ¹Ì J2EEÀÇ °æ¿ì¿¡´Â MDA ÅøµéÀÌ ´ëºÎºÐÀÇ ¼ºí¸´, JSP, EJB¿Í °ü·ÃÇÑ Äڵ带 ÀÚµ¿À» »ý¼ºÇØÁØ´Ù. ±× ´ÙÀ½¿¡ ¸¸µé¾îÁø Äڵ带 ¹ÙÅÁÀ¸·Î ¼öÁ¤°ú ÃÖÀûÈ °úÁ¤À» °ÅÃļ ÇÁ·ÎÁ§Æ®¸¦ ¿Ï¼ºÇÑ´Ù.
ÀÌ¿Í °°ÀÌ MDA¿¡¼´Â °á±¹ UML ¸ðµ¨¿¡¼ Äڵ带 ¸¸µé¾î³½´Ù. ±×·±µ¥ ¾îÂ¸é À̰ÍÀÌ »õ»ï½º·¯¿î °ÍÀº ¾Æ´Ï´Ù. ¾Æ¸¶µµ ¸¹Àº °³¹ßÀÚµéÀÌ ·¡¼î³¯ ·ÎÁ ÀÌ¿ëÇØ¼ Àڹ٠Ŭ·¡½º¸¦ UML ¸ðµ¨¿¡¼ ¸¸µé¾î³½ °æÇèÀÌ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷°ú MDA¿ÍÀÇ °¡Àå Å« Â÷ÀÌÁ¡À̶ó¸é MDA´Â Ç÷§Æû µ¶¸³ÀûÀÎ ¸ðµ¨¿¡¼ ½ÃÀÛÇØ¼ ´Ù¾çÇÑ Ç÷§ÆûÀ» Áö¿øÇÏ´Â ÇÁ·Î¼¼½º¿Í ÅøÀ» °ÅÀÇ ¿Ïº®ÇÏ°Ô Áö¿øÇÑ´Ù´Â Á¡ÀÏ °ÍÀÌ´Ù. ÀÌ·± Ãø¸é¿¡¼ °£´ÜÈ÷ MDA¿¡¼ ¸¸µé¾îÁö´Â ¸ðµ¨µé°ú Äڵ忡 ´ëÇØ¼ Á¤¸®¸¦ ÇÏ¸é ´ÙÀ½°ú °°´Ù.
¡ß MDA´Â ´Ù¸¥ µðÀÚÀÎ ÇÁ·Î¼¼½ºº¸´Ù °í¼öÁØÀÇ Ãß»óȸ¦ ¸ÕÀú ½ÃÀÛÇÑ´Ù. ¿¹¸¦ µé¾î PIMÀº ¸Å¿ì Ãß»óÀûÀÌ´Ù. ¿©±â¿¡´Â ¿£Æ¼Æ¼¿Í ¼ºñ½º¸¸ Á¤ÀǵǾî ÀÖÀ» »ÓÀÌ´Ù.
¡ß PSMÀº ¸ÞŸ µ¥ÀÌÅÍÀÇ ÇüÅ·Π¾ÖÇø®ÄÉÀ̼ÇÀ» ¿ÏÀüÇÏ°Ô ±â¼úÇÑ´Ù. PSM ¼öÁØ¿¡¼ °³¹ßÀÚµéÀº ÇØ´ç ±â¼ú°ú °ü·ÃµÈ µðÀÚÀÎÀ» Á÷Á¢ Äڵ带 °Çµå¸®Áö ¾Ê°í Çâ»ó½Ãų ¼ö ÀÖ´Ù.
¡ß PSM¿¡¼ ¸¸µé¾îÁø ÄÚµå´Â ¿Ï¼ºµÈ ¾ÖÇø®ÄÉÀ̼ǿ¡ ±ÙÁ¢ÇÏ°Ô µÈ´Ù. ±âÁ¸¿¡ ¸¹Àº µµ±¸µéÀÌ ÀÚµ¿À¸·Î ¸¸µé¾î³½ ÄÚµåµéÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÀϺο¡ ÇØ´çÇÏ´Â °Í¿¡ ºñÇØ¼ ±× ¹üÀ§¿Í Á¤µµ¿¡ Å« Â÷À̰¡ ÀÖ´Ù.
¡ß PIM¿¡¼ PSMÀ» ¸¸µé¾î³»°í PSM¿¡¼ Äڵ带 ¸¸µé¾î³»´Â ¾Ë°í¸®ÁòÀº ±âº»ÀûÀÎ °ÍÀº Á¦°øµÇÁö¸¸ ¾ÆÅ°ÅØÆ®°¡ º¯°æÇϰųª ÀçÁ¤ÀÇÇÒ ¼ö ÀÖ´Ù.
MDAÀÇ Áß¿äÇÑ Æ¯Â¡ ÁßÀÇ Çϳª°¡ ÀÌ¿Í °°ÀÌ ¸ðµ¨¸µ ¾ð¾î¸¦ ÇÁ·Î±×·¡¹Ö ¾ð¾îó·³ ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù. ¸ðµ¨¸µ ¾ð¾î´Â ÀϹÝÀûÀ¸·Î ÀÚ¹Ù³ª C++¿Í °°Àº ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼ ÇÏ´Â °Íº¸´Ù ´õ ³ôÀº ¼öÁØ¿¡¼ ¡®Ãß»óÈ(abstraction)¡¯¸¦ °¡´ÉÇÏ°Ô Çϸç, ÀÌ·¯ÇÑ Ãß»óÈ ÇÁ·Î¼¼½º¸¦ ÅëÇØ °³¹ßÀÚµéÀº ½Ã½ºÅÛ Äڵ忡 ²À ÇÊ¿äÇÑ µ¥ÀÌÅÍ ÀÌ¿ÜÀÇ °ÍµéÀº ¸ðµÎ ¼û±æ ¼ö°¡ ÀÖ´Ù. ÀÌ·± °úÁ¤Àº °³¹ß °úÁ¤¿¡¼ÀÇ º¹Àâµµ¸¦ °¨¼Ò½ÃŰ´Â È¿°ú¸¦ °¡Á®¿À±â ¶§¹®¿¡ °³¹ßÀÇ »ý»ê¼ºÀ» ³ôÀÏ ¼ö°¡ ÀÖ´Ù.
¾Æ¸¶µµ ¿©±â±îÁö ÀÐÀº µ¶ÀÚ´Â ÀϹÝÀûÀÎ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ °¡Àå Å« Ư¡ ÁßÀÇ ÇϳªÀÎ ¡®Ä¸½¶È(encapsulation)¡¯¶ó´Â ´Ü¾î¸¦ ¶°¿Ã¸° °æ¿ì°¡ ¸¹À» °ÍÀÌ´Ù. º¸Åë °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ 3´ë Ư¡À» À̾߱âÇϸé ĸ½¶È, »ó¼Ó¼º(inheritance) ±×¸®°í ´ÙÇü¼º(polymorphism)À» ¾ð±ÞÇÑ´Ù. ±× Áß¿¡¼µµ °´Ã¼ÁöÇâÀ̶ó´Â °³³äÀ» À§Çؼ °¡Àå Áß¿äÇÑ °ÍÀº ¹Ù·Î ĸ½¶ÈÀÌ´Ù. ´Ù¸¥ µÎ °¡Áö Ư¡Àº ¿ÏÀüÈ÷ Áö¿øÇÏÁö ¾Ê´õ¶óµµ °´Ã¼ÁöÇâ ¾ð¾î¶ó´Â ¸»À» ÇÒ ¼ö ÀÖÁö¸¸ ĸ½¶È°¡ Áö¿øµÇÁö ¾ÊÀ¸¸é °´Ã¼ÁöÇâÀ̶ó°í ¸»ÇÒ ¼ö°¡ ¾ø´Ù. MDA´Â ÀÌ·¯ÇÑ °´Ã¼ÁöÇâ °³³äÀÇ Ä¸½¶È¸¦ ±Ø´ëÈÇÑ °ÍÀ¸·Î ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ´Ü¼øÈ÷ ÇÁ·Î±×·¡¹Ö ¾ð¾î ¼öÁØ¿¡¼ÀÇ Ä¸½¶È°¡ ¾Æ´Ñ ¸ðµ¨¸µÀ» Æ÷ÇÔÇØ¼ ±¸Çö¿¡ À̸£´Â °úÁ¤À» ´Ü°èº°·Î ĸ½¶ÈÇÑ °ÍÀÌ ¹Ù·Î MDAÀÇ Á¤Ã¼ÀÌ´Ù.
MDA °³¹ß ÇÁ·Î¼¼½º¿¡¼ÀÇ ÀÌ·¯ÇÑ Ãß»óÈ´Â ½Ã½ºÅÛÀÇ ±Ô°ÝÀ» ÇϺÎÀÇ ÄÄÇ»ÆÃ ȯ°æ¿¡ ´ú Á¿ìµÇ°Ô Çϱ⠶§¹®¿¡ ½Ã½ºÅÛÀÇ »ý»ê¼ºÀ» ³ôÀÏ »Ó ¾Æ´Ï¶ó Áö¼Ó¼ºµµ ³ô¿©ÁØ´Ù. ÀÌ¿Í °°Àº Ãß»óÈÀÇ ¼öÁØÀ» ³ôÀÓÀ¸·Î¼ ¼ÒÇÁÆ®¿þ¾î °³¹ß »ý»ê¼ºÀ» ³ôÀÌ·Á´Â ½Ãµµ´Â »õ»ï½º·¯¿î °ÍÀº ¾Æ´Ï´Ù. °¡Àå Á÷Á¢ÀûÀÎ ¿¹·Î ÇöÀç ¿ì¸®°¡ »ç¿ëÇϰí ÀÖ´Â ´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â 3¼¼´ë ¾ð¾î(3GL, 3rd Generation Language)¶ó°í ÇÒ ¼ö Àִµ¥, 3GL ¾ð¾î´Â ±âº»ÀûÀ¸·Î ¾î¼Àºí¸® ¾ð¾î¸¦ Ãß»óÈÇÑ °ÍÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù.
À̸¦ ÅëÇØ ¾î¼Àºí¸® ¾ð¾î·Î ÇÁ·Î±×·¡¹ÖÇÒ ¶§ ¾Ë¾Æ¾ß Çß´ø ¸¹Àº ¾î·Á¿î ¹®Á¦µéÀ» °£´ÜÇÏ°Ô ÄÄÆÄÀÏ·¯¿¡°Ô ¸Ã°Ü¹ö¸° µÚ ¼ÒÇÁÆ®¿þ¾îÀÇ »ý»ê¼ºÀÌ ±Þ¼Óµµ·Î ³ô¾ÆÁ³´Ù´Â °ÍÀº ¸ðµÎ°¡ ÀÎÁ¤ÇÒ °ÍÀÌ´Ù. ±×·¯³ª 3GLÀÌ Ã³À½ µîÀåÇßÀ» ¶§¸¸ ÇØµµ ¿©·¯ °³¹ßÀÚµéÀº 3GLÀÌ °³¹ßÀÚµéÀÌ Äڵ带 ÀÛ¼ºÇϱ⠽±°Ô ÇØÁÖ°í ³ôÀº ¼öÁØÀÇ »ý»ê¼ºÀ» º¸ÀåÇÏÁö¸¸ ¸¸µé¾îÁø ½ÇÇà ÇÁ·Î±×·¥ÀÇ ¼öÇà ¼Óµµ ¹®Á¦ ¶§¹®¿¡ Çѵ¿¾È ¼ö¸¹Àº ³íÀïÀ» Çß¾ú´Ù. ÀÌ·¯ÇÑ ¹®Á¦´Â Çϵå¿þ¾îÀÇ ºñ¾àÀûÀÎ ¼º´É ¹ßÀüÀ¸·Î ÀÎÇØ ÀÚ¿¬½º·´°Ô ÀÛÀº ¹®Á¦·Î Ä¡ºÎµÇ±â ½ÃÀÛÇß°í À̸¦ ÅëÇÑ ¼ÒÇÁÆ®¿þ¾î »ý»ê¼ºÀÇ Áõ°¡´Â ¸¹Àº °ÍÀ» °¡´ÉÇÏ°Ô ÇÏ¿´´Ù.
¿Ö MDAÀΰ¡
Áö±Ý±îÁö ¼³¸íÇÑ ³»¿ëÀ» ÃæºÐÈ÷ ÀÌÇØÇÑ µ¶ÀÚ¶ó¸é ¾Æ¸¶µµ MDA°¡ ¾î¶² ³à¼®ÀÎÁö Á¤µµ¿¡ ´ëÇØ¼´Â °¨À» Àâ¾ÒÀ» °ÍÀÌ´Ù. ±×·¸´Ù¸é ¿Ö MDA°¡ ÃÖ±Ù¿¡ °¢±¤¹Þ°Ô µÇ¾ú´ÂÁö¿¡ ´ëÇØ¼ Á¶±Ý ´õ »ý°¢ÇØ º¸µµ·Ï ÇÏÀÚ. MDA´Â MDA Ç¥ÁØÀ» Àû¿ëÇØ¼ ¸ðµ¨ÀÇ ÀÚµ¿È¿Í º¯È¯(transformation)À» ÅëÇØ ¿©·¯ Ç÷§ÆûÀ» ½±°Ô Áö¿øÇÏ°í °³¹ßÀÚÀÇ ÀÔÀå¿¡¼´Â ½Ã°£À» ¸¹ÀÌ Àâ¾Æ¸Ô´Â ÄÚµå ÀÛ¼º ºÎºÐÀ» ÁÙÀÏ ¼ö ÀÖÀ¸¸ç °³¹ß ÇÁ·Î¼¼½ºÀÇ Ãø¸é¿¡¼µµ ǰÁú °ü¸®(QA, Quality Assurance)¸¦ ¼ö¿ùÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù. ±×¸®°í °ú°ÅÀÇ CASE³ª 4GL°ú´Â ´Ù¸£°Ô ±¸Çö½Ã¿¡ À¯¿¬ÇÑ ÄÁÆ®·ÑÀ̳ª Ä¿½ºÅÒȰ¡ °¡´ÉÇϵµ·Ï ÇÏ¿´´Ù. Àß ¾Ë´Ù½ÃÇÇ ¼ÕÀ¸·Î ÄÚµùÇÏ´Â ºÎºÐÀÌ ÁÙ°í µ¿½Ã¿¡ »¡¸® ¹ö±×¸¦ ÀâÀ» ¼ö ÀÖ´Ù¸é ¼ÒÇÁÆ®¿þ¾îÀÇ »ý»ê¼ºÀº ¿ùµîÈ÷ Áõ°¡ÇÏ°Ô µÈ´Ù. MDA¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ ÁÁÀº ÀÌÀ¯¸¦ ¸î °¡Áö ³ª¿Çؼ ¼³¸íÇÏ¸é ´ÙÀ½°ú °°´Ù.
±â¼ú Ç÷§Æû ¹× ±â´É º¯È¿¡ ´ëÇÑ ½Å¼ÓÇÑ ´ëÀÀ
MDA¿¡¼´Â PIM°ú PSMÀ» ºÐ¸®Ç߱⠶§¹®¿¡ PIMÀ» º¯°æÇÏÁö ¾Ê°íµµ ±â¼ú Ç÷§ÆûÀÇ º¯È³ª ¿ä±¸»çÇ× º¯È¿¡ ¹ßºü¸£°Ô ´ëóÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, »õ·Î¿î Ç÷§Æû¿¡ ´ëÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¹èÆ÷ÇØ¾ß ÇÏ´Â °æ¿ì PIM¿¡´Â ¼öÁ¤ÀÌ ÇÊ¿ä ¾øÀ¸¹Ç·Î ´ÜÁö PIMÀ» ÀÌ¿ëÇØ¼ »õ·Î¿î Ç÷§Æû¿¡ ´ëÇÑ PSMÀ» ÀÚµ¿À¸·Î ¸¸µé¾î³»°í, À̸¦ ¼öÁ¤Çؼ Äڵ带 ´Ù½Ã »ý¼ºÇÏ´Â °úÁ¤À» ÅëÇØ ½±°Ô »õ·Î¿î ±â¼ú Ç÷§Æû¿¡ ´ëÇÑ ´ëÀÀÀÌ °¡´ÉÇÏ´Ù. ¶ÇÇÑ ±â´ÉÀÇ º¯È¸¦ ¿ä±¸ÇÏ´Â °æ¿ì¿¡µµ PSM ¼öÁØ¿¡¼ÀÇ º¯°æÀ» °í·ÁÇÏÁö ¾Ê°í PIM¿¡ »õ·Î¿î ±â´É º¯È¿Í °ü·ÃµÈ ¼öÁ¤À» °¡ÇÔÀ¸·Î½á ½±°Ô ´ëÀÀÇÒ ¼ö ÀÖ´Ù.
½Ã½ºÅÛÀÇ Áö¼Ó¼º
Ç÷§Æû ÀÇÁ¸ÀûÀÎ ½Ã½ºÅÛÀº ±âÁ¸ÀÇ ¾ÆÅ°ÅØÃ³°¡ »õ·Î¿î ¿ä±¸»çÇ×À» ¸¸Á·½ÃŰÁö ¸øÇÏ´Â °æ¿ì°¡ ¸¹ÀÌ ¹ß»ýÇÑ´Ù. ÀÌ °æ¿ì¿¡ ¿ÏÀüÈ÷ »õ·Î¿î ¾ÆÅ°ÅØÃ³¸¦ ´Ù½Ã Àâ±âº¸´Ù´Â ¸¹Àº »ç¿ëÀÚµéÀº ÀÛÀº ÆÐÄ¡¿Í ¼öÁ¤À¸·Î ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϱ⸦ ¿øÇϸç Çö½ÇÀûÀ¸·Îµµ ±×·¸°Ô ÇÒ ¼ö¹Û¿¡ ¾ø´Â ½Ã°£?°æÁ¦Àû ¿©À¯¸¸À» °¡Áö´Â °æ¿ì°¡ ¸¹´Ù. MDA¸¦ ÀÌ¿ëÇÏ¸é ±â´É°ú ¾ÆÅ°ÅØÃ³¸¦ ºÐ¸®Çؼ Á¤ÀÇÇϱ⠶§¹®¿¡ ¾ÆÅ°ÅØÃ³ÀÇ º¯È°¡ ÀÖ´õ¶óµµ º¯È¯ °úÁ¤À» °ÅÃÄ ±¸Çö °úÁ¤À¸·Î ½±°Ô ÁøÇàÇÒ ¼ö Àֱ⠶§¹®¿¡ ±â´É°ú ¿ä±¸»çÇ× º¯È¿¡ ÀÇÇÑ ¾ÆÅ°ÅØÃ³ º¯°æ¿¡ ºñ±³Àû ÀÚÀ¯·Ó´Ù. ÀÌ·± ÀåÁ¡Àº ½Ã½ºÅÛÀÇ »ý¸íÁֱ⸦ ¿¬Àå½ÃŰ¸ç ´õ ¾ÈÁ¤µÈ ½Ã½ºÅÛ À¯Áö¸¦ °¡´ÉÇÏ°Ô ÇÑ´Ù.
°³¹ß »ý»ê¼º ÁõÁø
MDA´Â ¸ðµ¨ÀÇ ÀÚµ¿È¿Í º¯È¯À» ÅëÇØ ¿©·¯ Ç÷§ÆûÀ» ½±°Ô Áö¿øÇÏ°í ½Ã°£À» ¸¹ÀÌ Àâ¾Æ¸Ô´Â ÄÚµå ÀÛ¼º ºÎºÐÀ» ÁÙÀÏ ¼ö ÀÖÀ¸¸ç ½±°Ô À¯Áöº¸¼ö°¡ µÇµµ·Ï ÇÑ´Ù. ÀÌ¿Í °°ÀÌ ¼ÕÀ¸·Î ÄÚµùÇÏ´Â ºÎºÐÀÌ ÁÙ°í µ¿½Ã¿¡ »¡¸® ¹ö±×¸¦ ÀâÀ» ¼ö ÀÖ´Ù. ¶ÇÇÑ ÇÑ ¹ø ÀÛ¼ºµÈ PIMÀÇ °æ¿ì ºñÁî´Ï½º ÇÙ½É ºÎºÐ¿¡ ´ëÇÑ ¸ðµ¨À̱⠶§¹®¿¡ ÇâÈÄ ´Ù¸¥ ½Ã½ºÅÛ¿¡¼µµ ½±°Ô ÀÌ¿ëµÉ ¼ö ÀÖÀ¸¸ç Àç»ç¿ë¼ºÀÌ ³ô¾ÆÁö°Ô µÈ´Ù.
¿ëÀÌÇÑ ¹®¼ ÀÛ¼º
µðÀÚÀÎ ¹®¼¸¦ ¾÷µ¥ÀÌÆ®ÇÏ°í °ü·Ã Äڵ带 ¼öÀÛ¾÷À¸·Î °ü¸®ÇÏ´Â °ÍÀº ¸Å¿ì ½Ã°£ÀÌ ¸¹ÀÌ °É¸®°í ±ÍÂúÀº ÀÛ¾÷ÀÌ´Ù. MDA¿¡¼´Â ¸ðµ¨°ú ÄÚµå, ¹®¼°¡ Ç×»ó µ¿±âȵDZ⠶§¹®¿¡ ÀÌ·¯ÇÑ ¹®¼ ÀÛ¾÷¿¡ ÇÊ¿äÇÑ ÀÏÀÇ ¾çÀ» ÁÙ¿©ÁØ´Ù.
ǰÁú °ü¸® ºñ¿ëÀÇ °¨¼Ò
°³¹ß °úÁ¤¿¡¼ ¼ÒÇÁÆ®¿þ¾îÀÇ ¹®Á¦°¡ ´Ê°Ô ¹ß°ßµÉ¼ö·Ï À̸¦ °íÄ¡´Â µ¥ µé¾î°¡´Â ºñ¿ëÀº Áõ°¡ÇÑ´Ù. MDA ¸ðµ¨ ÀÚµ¿È¿Í Å×½ºÆ® ÅøÀ» ÀÌ¿ëÇÏ¸é °³¹ßÀÚµéÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸ðµ¨ ¼öÁØ¿¡¼ Å×½ºÆ®ÇÒ ¼ö Àֱ⠶§¹®¿¡ µðÀÚÀÎÀÇ ¹®Á¦Á¡À̳ª ¾ÖÇø®ÄÉÀÌ¼Ç ·ÎÁ÷ÀÇ ¿¡·¯¸¦ »¡¸® ÀâÀ» ¼ö ÀÖ´Ù. À̸¦ ÅëÇØ ǰÁú °ü¸®¿¡ µé¾î°¡´Â ºñ¿ëµµ °¨¼ÒÇÑ´Ù.
¾çÁúÀÇ ½Ã½ºÅÛ ±¸Ãà
PIMÀÇ ´Ü¼øÇÔÀº ¾çÁúÀÇ ½Ã½ºÅÛ ±¸ÃàÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù. ¸ðµ¨¸µÀº ÆÀ ¸â¹öµé »çÀÌÀÇ ÀÇ»ç¼ÒÅëÀ» ¿øÈ°ÇÏ°Ô ¸¸µé°í µ¿½Ã¿¡ °áÁ¡ÀÌ ÀÖÀ» ¶§ À̸¦ »¡¸® Á¦°ÅÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù. ¶ÇÇÑ MDAÀÇ ÀÚµ¿È µµ±¸µéÀº Àß Á¤¸®µÈ ÄÚµù ÆÐÅÏÀ» ¸ðµ¨¿¡ Àû¿ëÇϱ⠶§¹®¿¡ ¼ÕÀ¸·Î Á÷Á¢ ÀÛ¼ºÇÑ Äڵ忡 ºñÇØ °áÁ¡ÀÌ ÀûÀ» °¡´É¼ºÀÌ ¸¹´Ù.
±â¼ú Ç÷§Æû ÅëÇÕÀÇ ±â·Î¿¡ ¼¼
OMG´Â ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ ÀÖ¾î¼ ¿î¿µÃ¼Á¦¿Í ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ ÅëÇÕÀ̶ó´Â ¾î·Á¿î °úÁ¦¸¦ ¼öÇàÇϱâ À§ÇØ °ú°Å CORBA¸¦ ÅëÇØ ºÒöÁÖ¾ß ³ë·ÂÇßÀ¸³ª Çö ½ÃÁ¡¿¡¼ ÆÇ´ÜÇØ º¸¸é ±×´ÙÁö ¼º°øÀûÀ̶ó°í Çϱâ´Â ¾î·Æ´Ù. ±×·¸Áö¸¸ CORBA¸¦ ³íÀÇÇÏ¸é¼ ¸ð¿´´ø ¸¹Àº Áö½Ä°ú °æÇèµéÀÌ ¹ÙÅÁÀÌ µÇ¾î MDA¶ó´Â »õ·Î¿î Á¢±Ù ¹æ¹ýÀ» ÇÕÀÇÇÏ´Â µ¥ ¼º°øÇßÀ¸¹Ç·Î ±×·± ³ë·ÂµéÀÌ ÇêµÇ±â¸¸ ÇÑ °ÍÀº ¾Æ´Ï¾ú´Ù´Â °ÍÀ» º¸¿©ÁØ´Ù. ¸¶Áö¸·À¸·Î MDA°¡ ±â¼ú Ç÷§Æû ÅëÇÕÀÇ ±â·Î¿¡¼ ¾ÕÀ¸·Î ¾î¶² ±æÀ» °È°Ô µÉ °ÍÀÎÁö ¿©·¯ °¡Áö Ãø¸é¿¡¼ »ìÆìº¸ÀÚ.
ȯ°æÀÇ º¯È
ÃÖ±ÙÀÇ ¼ÒÇÁÆ®¿þ¾î °³¹ß ȯ°æÀº °ú°Å CORBA¸¦ ¸¸µé¾î³¾ ¶§º¸´Ùµµ ´õ ¸¹Àº ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í ±â¼ú Ç÷§ÆûµéÀÌ µîÀåÇϰí ÀÖ´Ù. ±×¸®°í ¼ÒÇÁÆ®¿þ¾îÀÇ º¹Àâµµµµ ³ª³¯ÀÌ Áõ°¡Çϰí ÀÖÀ¸¸ç ÀÌ·± º¹ÀâÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ´õ È¿°úÀûÀ¸·Î °³¹ßÇÏ´Â °ÍÀÌ °¡Àå Ä¿´Ù¶õ µµÀüÀÌ µÇ°í ÀÖ´Ù.
±×·¸Áö¸¸ °ú°ÅÀÇ È¯°æ¿¡ ºñÇØ ÁÁÀº Á¡µéµµ ÀÖ´Ù. ±×°ÍÀº ½ÇÁúÀûÀΠǥÁØÀ¸·Î ¹Þ¾Æµé¿©Áö´Â ±â¼úÀÌ ¸¹ÀÌ µîÀåÇϰí ÀÖ´Ù´Â °ÍÀÌ´Ù. ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ¿¡ À־ TCP/IP, µ¥ÀÌÅͺ£À̽º ÁúÀÇ¿Í °ü·ÃÇÑ SQL, °´Ã¼ÁöÇ⠸𵨸µ¿¡ ´ëÇÑ UML µîÀº ÀÌÁ¦ ÁøÁ¤ÇÑ Ç¥ÁØÀ¸·Î¼ÀÇ ÀÔÁö¸¦ ±»Çô°¡°í ÀÖ´Ù. ¶ÇÇÑ ¸®´ª½º¿¡¼ Ãâ¹ßÇÏ°í ¾ÆÆÄÄ¡¸¦ ÅëÇØ ´õ¿í ³Î¸® ÆÛÁ®°¡°í ÀÖ´Â ¿ÀǼҽº ÇÁ·ÎÁ§Æ®¿Í À̵éÀÇ °³¹æ Á¤½ÅÀº ¼ÒÇÁÆ®¿þ¾î °³¹ß Á¤½Å°ú öÇп¡µµ Áö´ëÇÑ ¿µÇâÀ» ¹ÌÄ¡°í ÀÖ´Ù. ¸ðµç °ÍÀ» óÀ½ºÎÅÍ ¸¸µé¾î³»´Â Á¢±Ù ¹æ½ÄÀ» äÅÃÇÏ´Â °Íº¸´Ù ÄÄÆ÷³ÍÆ®ÀÇ Àç»ç¿ë°ú ERP ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ´Â °Í°ú °°ÀÌ È¿À²ÀûÀÎ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀ» Áß¿ä½ÃÇÏ´Â ½Ã°¢ÀÇ º¯Èµµ ÀÌ·¯ÇÑ ±àÁ¤ÀûÀΠȯ°æ ¿ä¼ÒÀÌ´Ù.
±×¿¡ ºñÇØ ³¯ÀÌ °¥¼ö·Î ·¹°Å½Ã ¾ÖÇø®ÄÉÀ̼ǰú µ¥ÀÌÅͺ£À̽º°¡ ´Ã¾î°¡°í ERP ¾ÖÇø®ÄÉÀ̼ǰú °°ÀÌ ¼öÁ¤ÀÌ ¾î·Á¿î °ÍµéÀÌ ¸¹¾ÆÁø´Ù. ¶ÇÇÑ ´Ù¾çÇÑ ¹Ìµé¿þ¾î°¡ ÀÌ¿ëµÇ´Â ÃÖ±ÙÀÇ È¯°æÀº ´Ù¾çÇÑ ¿ä±¸»çÇ×À» ¼ö¿ëÇÏ´Â ¿£ÅÍÇÁ¶óÀÌÁî ¾ÆÅ°ÅØÃ³¸¦ ±¸¼ºÇϴµ¥ ¸¹Àº Àå¾Ö°¡ µÇ°í ÀÖ´Ù. ±×·¸Áö¸¸ ÀÌ·± Àå¾Ö´Â ¹Ù²Ù¾î º¸¸é MDAÀÇ ¼º°øÀ» ÃËÁøÇÏ´Â °è±â°¡ µÉ ¼öµµ ÀÖ´Ù. Áß¿äÇÑ °ÍÀº MDA°¡ Ȱ¾àÇØ¾ß ÇÒ È¯°æÀÇ Á¶¼ºÀº È®½ÇÈ÷ µÇ°í ÀÖ´Ù´Â Á¡ÀÌ´Ù. ±×·± Ãø¸é¿¡¼ ÇöÀçÀÇ È¯°æ º¯È´Â MDAÀÇ ¼º°ø¿¡ ±àÁ¤ÀûÀ̶ó°í ÇÒ ¼ö ÀÖ°Ú´Ù.
½ÃÀåÀÇ ¹ÝÀÀ
CORBA°¡ Àý¹ÝÀÇ ½ÇÆÐ¸¦ ÇÏ°Ô µÈ °¡Àå Å« ÀÌÀ¯´Â ¹«¾ùÀ̾úÀ»±î? ¹°·Ð ±â¼úÀûÀ¸·Î ¿©·¯ °¡Áö ¹®Á¦¸¦ ÁöÀûÇÏ´Â »ç¶÷µéµµ ¸¹°ÚÁö¸¸ ÇÊÀÚ´Â ½ÃÀåÀÇ ¹ÝÀÀ¿¡¼ ±× ´äÀ» ã°í ½Í´Ù. OMG¿¡¼ CORBA¸¦ óÀ½ ¹ßÇ¥ÇÑ ÀÌÈÄ ½ÇÁ¦ ÀÌ Ç¥ÁØ¾È ½ÃÀå¿¡ Àû¿ëÇÏ¿© ³»³õÀº Á¦Ç°Àº Àü¹«¿¡ °¡±î¿ü´Ù. ±â²¯ÇØ¾ß ¾ÆÀÏ·£µåÀÇ ÀÛÀº º¥Ã³±â¾÷ÀÎ ¾ÆÀÌ¿À³ª(IONA)°¡ ¿Àºò½º(Orbix)¸¦ ÅëÇØ CORBA ½ÃÀå¿¡ ¶Ù¾îµé¾ú°í, µÚ¸¦ À̾î ÀεµÀÇ ºñÁöÁ¦´Ð(ÈÄ¿¡ º¼·£µå¿¡ ÇÕº´µÈ´Ù)ÀÌ ºñÁöºê·ÎÄ¿(Visibroker)·Î ½ÂºÎ¸¦ ÇØ¿Â Á¤µµÀÌ´Ù.
À̵é ȸ»ç´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿Í °°Àº °Å´ë ȸ»ç°¡ ÃßÁøÇÏ´Â COMÀ̶ó´Â °·ÂÇÑ Àû¼ö¸¦ »ó´ë·Î ³ª¸§´ë·Î ¼±ÀüÇßÁö¸¸ CORBA°¡ °¡Áö°í ÀÖ¾ú´ø °Å´ëÇÑ ¸ñÇ¥¸¦ ´Þ¼ºÇÏ´Â µ¥¿¡´Â ½ÇÆÐÇß´Ù. CORBAÀÇ ½ÇÆÐ´Â Ç¥ÁؾÈÀÌ ¸¸µé¾îÁö´Â °ÍÀÌ ¼º°øÀÇ ¿ä¼Ò°¡ ¾Æ´Ï¶ó ½ÃÀå ÁÖµµ ¼¼·Â°úÀÇ Å¸ÇùÀ» ÀÌ·ç´Â °ÍÀÌ ´õ Áß¿äÇÏ´Ù´Â °ÍÀ» º¸¿©ÁÖ´Â ¸Å¿ì Áß¿äÇÑ »ç·ÊÀÌ´Ù.
±×·¸´Ù¸é MDA´Â ¾î¶°ÇѰ¡? ±âº»ÀûÀ¸·Î MDA¿¡ ´ëÇÑ ½ÃÀåÀº °´Ã¼ÁöÇ⠸𵨸µ°ú °³¹ß Åø º¥´õ¸¦ ÅëÇØ Ȱ¼ºÈ°¡ µÉ °ÍÀÌ´Ù. À̵éÀº MDA¸¦ ÀڽŵéÀÌ Á¦°øÇÏ´Â Åç¿¡ ÅëÇÕÇÒ °ÍÀÌ¸ç ±âÁ¸¿¡ OMG¿¡¼ ¸¸µç Ç¥ÁؾÈÀÎ UML, MOF, CWM, XMI µîÀ» Áö¿øÇÏ´Â ÅøµéÀÌ ´Ã¾î³ª¸é¼ ÀÚ¿¬½º·´°Ô ±× ¿µ¿ªÀ» È®ÀåÇϰí ÀÖ´Ù.
ÀÌ·± ¿òÁ÷ÀÓÀº ÀÌ¹Ì °¡Àå Ä¿´Ù¶õ º¥´õµéÀ» ÅëÇØ ÁÖµµµÇ°í ÀÖÀ¸¸ç ¿©±â¿¡ ¹Ý±â¸¦ µé°í »ó´ëÇÏ´Â º¥´õ°¡ ¾ø´Â »óÅÂÀÌ´Ù. ½±°Ô ¸»Çϸé Ãʱâ Àå¼öµéÀÇ ±â¼¼¿¡ ¹«Ç÷ ÀÔ¼ºÇÏ´Â ºÐÀ§±âÀÌ´Ù. ƯÁý 3ºÎ¿¡¼ ´Ù·ïÁú °¢ º¥´õµéÀÇ MDA Áö¿ø¿¡ ´ëÇÑ ±â»ç¸¦ Àо¸é ÀÌ·¯ÇÑ ¿òÁ÷ÀÓÀ» È®½ÇÇÏ°Ô ´À³¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù. MDAÀÇ ¼º°ø ¿©ºÎ¿¡ ´ëÇØ Àǹ®À» °¡Áö°í ÀÖ´Â ¸¹Àº µ¶Àڵ鿡°Ô ÇÊÀÚ´Â °ú°¨ÇÏ°Ô À̾߱âÇÏ°í ½Í´Ù. MDA´Â ±â¼úÀÇ ¿ìÀ§¼ºÀ» ¶°³ª È®½ÇÈ÷ ¼º°øÇÒ ¼ö¹Û¿¡ ¾ø´Â ´Ü°è¿¡ µµ´ÞÇϰí ÀÖ´Ù´Â °ÍÀ»¡¦ @