À̸ÓÀü½º¶õ Àüü´Â ºÎºÐÀÇ ÇÕº¸´Ù Å©°Ô µÇ´Â Çö»óÀ» ¸»ÇÑ´Ù. È¥ÀÚ¼´Â µµÀúÈ÷ ¹ßÈÖÇÒ ¼ö ¾ø´Â °³Ã¼µéÀÌ ÇϳªÀÇ ÇÁ·¹ÀÓ¿öÅ©¿¡ À¶ÇÕµÇ¾î °Å´ëÇÑ, »õ·Î¿î ÈûÀ» ¸¸µå´Â °ÍÀÌ´Ù. ÇÏÁö¸¸ n°³ÀÇ °³Ã¼µéÀÌ ¸ð¿© n°³¸¦ ÃʰúÇÏ´Â ¹«¾ùÀ» ¸¸µé±â¶õ ¾î·Á¿î ÀÏÀÌ´Ù. ±×·³¿¡µµ ºÒ±¸Çϰí JBoss¸¦ ºñ·ÔÇÑ ¿ì¼öÇÑ ÇÁ·¹ÀÓ¿öÅ©µéÀº ÀÌ·¯ÇÑ ±âÀûÀ» ÀÌ·ï³»°í ÀÖ´Ù. ƯÁý 2ºÎ¸¦ ÅëÇØ JBoss¿Í JBoss¸¦ ÀÌ¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÌ À̸ÓÀü½º µÇ´Â ¸ð½ÀÀ» ºÐ¼®ÇØ º¸ÀÚ.
ÀÌÁ¦ °³¹ßÀÚ È¥ÀÚ¼ ÇÁ·Î±×·¥ÀÇ Ã³À½°ú ³¡À» ¸ðµÎ °³¹ßÇÏ´Â ½Ã´ë´Â Áö³µ´Ù. ½Ã½ºÅÛ ¶óÀ̺귯¸®³ª ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼ Áö¿øÇÏ´Â ¶óÀ̺귯¸®¸¦ Á¦¿ÜÇÏ´õ¶óµµ, ¿ì¸®´Â °¢Á¾ ÄÚµå »ùÇÃ, À¯Æ¿¸®Æ¼ ¶óÀ̺귯¸®, ¹Ìµé¿þ¾î ¼ºñ½º, ÇÁ·¹ÀÓ¿öÅ© µîÀ» ÀÌ¿ëÇÏ¿© ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÑ´Ù.
¾îÂ÷ÇÇ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÇ Ã¶ÇÐÀº Àç»ç¿ë °¡´ÉÇÑ °ÍµéÀ» ÀÌ¿ëÇÏ¿© ±× ÀÌ»óÀÇ ºÎ°¡°¡Ä¡¸¦ âÁ¶ÇÏ´Â ÀÛ¾÷ÀÌ´Ù. µû¶ó¼ ÀÌ¹Ì °³¹ßµÈ ǰÁú ÁÁÀº ÇÁ·Î´öÆ®µéÀ» ÀÌ¿ëÇÔÀ¸·Î½á »ý»ê¼ºÀ» ³ôÀÌ´Â ÀÏÀº °³¹ßÀÚÀÇ ¼÷¸íÀÌ µÈ ¼ÀÀÌ´Ù.
»ç½Ç ÇÊÀÚ´Â ÀÌ ¡®¼÷¸í¡¯ÀÌ ºÒÆíÇÏ´Ù. ±â¼úÀûÀ¸·Î ¸Å·ÂÀûÀÎ ºÎºÐµéÀº ÀÌ¹Ì ¿ÀǼҽº³ª »ó¿ë ¼Ö·ç¼ÇÀ¸·Î Á¦°øµÇ°í ÀÖ´Â Å¿ÀÌ´Ù. ¶ÇÇÑ ÀÌ¹Ì ¸¸µé¾îÁø ÇÁ·Î´öÆ®¸¦ ¡®¼Òºñ¡¯ÇÏ¿© °³¹ßÇØ¾ß ÇÏ´Â ºñÁî´Ï½º ¾ÖÇø®ÄÉÀÌ¼Ç ÀϺ¯µµÀÇ ¿ì¸®³ª¶ó °³¹ß ÁöÇüÀÌ °³¹ßÀÚ°¡ ±â¼úÀûÀ¸·Î ´õ ¿¬±¸ °³¹ß ÇÒ ±âȸ¸¦ ¹ÚÅ»Çϱ⠶§¹®ÀÌ´Ù.
¿øÃµ ±â¼úÀÇ »ý»êÀº ¿Ü±¹¿¡¼ÇÏ°í ¿ì¸®³ª¶ó´Â ´ÜÁö ±× ±â¼úÀ» ¼Òºñ¿Í °¡°øÀ» ÅëÇØ ÁøÇàÇϱ⸸ ÇÏ´Â ÇÁ·ÎÁ§Æ® ȯ°æÀÌ ºÒÆíÇÏ´Ù. °á°úÀûÀ¸·Î Çѱ¹¿¡¼ ´ëºÎºÐÀÇ ÇÁ·ÎÁ§Æ®¿¡´Â ±â¼úÀÇ ½ÉÃþÀ» Àß ÀÌÇØÇÏ´Â ¿£Áö´Ï¾îº¸´Ù ÀÌ¹Ì ¸¸µé¾îÁø ¶óÀ̺귯¸®¸¦ Àß ÀÌÇØÇÏ°í ´Ù·ê ¼ö ÀÖ´Â, Áï »ý»ê·ÂÀ» °¡Áø °³¹ßÀÚ¸¦ ¿ä±¸Çϰí ÀÖ´Ù.
ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇÒ ´ë¾ÈÀ¸·Î ¿ÀǼҽº °³¹ßÀ» ÅëÇØ ±â¼úÀûÀÎ ¿å±¸¿Í ¿¬±¸¸¦ ÇØ¾ß ÇÑ´Ù´Â °ÍÀÌ ÇÊÀÚÀÇ ¼Ò°ßÀÌ´Ù.
 | ÇÁ·¹ÀÓ¿öÅ©ÀÇ À̸ÓÀü½ºÇÑ Ãø¸é
|  |
¿äÁò ÇÊÀÚ´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ º¼ ¶§ À̸ÓÀü½º(â¹ß)¶õ °³³äÀÌ ¶°¿À¸¥´Ù. ¾Õ¼ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌ ÇÁ·¹ÀÓ¿öÅ©¸¦ ÀÌ¿ëÇÔÀ¸·Î½á ´õ¿í ¿Ï¼ºµÈ, »õ·Î¿î ºÎ°¡°¡Ä¡ÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» âÁ¶ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. À̰ÍÀº À̸ÓÀü½º¿¡¼ ¡®Àüü´Â ºÎºÐÀÇ ÇÕº¸´Ù Å©´Ù¡¯´Â ¸íÁ¦¿¡ Ãæ½ÇÇÏ´Ù.
ÇÁ·¹ÀÓ¿öÅ©¸¦ Àß È°¿ëÇϸé 1+1ÀÇ °á°ú°¡ 2¸¦ ÃʰúÇÏ´Â È¿°ú¸¦ ³º´Â´Ù. ¶ÇÇÑ JBoss³ª ½ºÇÁ¸µ(spring), ÇÏÀ̹ö³×ÀÌÆ®(Hibernate) °°Àº Å« ÇÁ·¹ÀÓ¿öÅ©ÀÇ ³»ºÎ¸¦ º¸¸é À̵鵵 ´Ù¸¥ ÇÁ·¹ÀÓ¿öÅ©µéÀ» Á¶ÇÕÇÏ¿© À̸ÓÀü½º µÇ´Â Çö»óÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
È¥ÀÚ¼´Â µµÀúÈ÷ ¹ßÈÖÇÒ ¼ö ¾ø´Â ¿¡³ÊÁöµéÀÌ ÇϳªÀÇ ÇÁ·¹ÀÓ¿öÅ©¿¡ À¶ÇÕµÇ¾î °Å´ëÇÑ, »õ·Î¿î ÈûÀ» ¸¸µé¾î ³»´Â °ÍÀÌ´Ù. ÀÌ °³³äÀº »ç½ÇÀº ±×´ÙÁö »ý°æÇÑ °Íµµ ¾Æ´Ï´Ù.
À¥ 2.0¿¡¼ÀÇ ¸Å½¬¾÷(mash-up)À̳ª ½Ã³ÊÁö È¿°úµµ °°Àº Ãø¸éÀ» °®°í ÀÖ´Ù. ¡®¾ÖÇø®ÄÉÀ̼Ç+ÇÁ·¹ÀÓ¿öÅ©¡¯ÀÇ °ü°è¿¡¼± µÎ °³ ÀÌ»óÀÇ Á¶ÇÕÀÌ °¡´ÉÇÏÁö¸¸, ÇÁ·¹ÀÓ¿öÅ© ³»ºÎ¿¡¼± ±×°Í°ú ºñ±³ÇÒ ¼ö ¾øÀ» ¸¸ÅÀÇ ¸¹Àº ¼ºê ÇÁ·¹ÀÓ¿öÅ©µéÀÇ Á¶ÇÕÀ¸·Î ±¸¼ºµÈ´Ù. Áï, ±× ¸¸ÅÀÇ »óÈ£ÀÛ¿ëÀ¸·Î À̸ÓÀü½º°¡ ÀÌ·ïÁø´Ù´Â °ÍÀÌ´Ù.
½ÇÁ¦·Î ÀÌ·± ÇÁ·¹ÀÓ¿öÅ©¸¦ ´Ù¿î·Îµå ¹Þ¾Æ lib Æú´õ¸¦ ¿¾úÀ» ¶§ »ó´çÈ÷ ¸¹Àº jar ÆÄÀϵéÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. À̸ÓÀü½º¶õ ±¸¼º ¿ä¼Ò¿¡ ¾ø´Â Ư¼ºÀ̳ª ÇൿÀÌ »óÀ§°èÃþ(Àüü±¸Á¶)¿¡¼ µ¹¿¬È÷ Ã⿬ÇÏ´Â Çö»óÀ» ¸»ÇÑ´Ù.
n°³ÀÇ ¿¡³ÊÁöµéÀÌ ¸ðÀδٸé n°³ÀÇ ¿¡³ÊÁö¸¸ ¹ßÈÖÇÏ´õ¶óµµ ¸¸Á·ÇÒ ÅÍÀε¥ -º´·Ä ÇÁ·Î¼¼½ÌÀ̳ª ºÐ»ê ÄÄÇ»ÆÃÀ» »ý°¢Çغ¸¶ó- n°³ ÀÌ»óÀÇ È¿°ú¸¦ º¼ ¼ö ÀÖ´Ù´Â °ÍÀº À̵éÀÇ Á¶ÇÕÀ» ÅëÇØ ½Ã³ÊÁö¸¦ ÃËÁøÇÒ ¼ö ÀÖ¾î¾ß ÇÏ´Â ¸¶¹ýÀÌ ¼û°ÜÀÖ´Ù´Â »ç½ÇÀ» ÀǹÌÇÑ´Ù.
ÇÊÀÚ´Â ÀÌ ±ÛÀ» ÅëÇØ JBossÀÇ ³»ºÎ±¸Á¶¸¦ ¼³¸íÇÔÀ¸·Î¼, ÇÏÀ§ ÇÁ·¹ÀÓ¿öÅ©µéÀÌ Á¶ÇյǾî À̸ÓÀü½º µÇ´Â ¸ð¾ç°ú, ÇÁ·¹ÀÓ¿öÅ©¸¦ ¾î¶»°Ô »ç¿ëÇØ¾ß ¾ÖÇø®ÄÉÀ̼ÇÀÌ À̸ÓÀü½º ÇÒ ¼ö ÀÖ´ÂÁö¸¦ ¼Ò°³ÇÒ ¿¹Á¤ÀÌ´Ù.
 | À̸ÓÀü½º¸¦ À§ÇÑ ¾ÆÅ°ÅØÃ³ ÀÎÇÁ¶ó - JBoss ¸¶ÀÌÅ©·Î Ä¿³Î ÄÁÅ×ÀÌ³Ê |  |
JBoss´Â ¼ö¸¹Àº ¼ºê½Ã½ºÅÛ(ÇÁ·¹ÀÓ¿öÅ©)µéÀ» ÅëÇÕÇÏ¿© À̸ÓÀü½º µÈ´Ù. ¼·Î °ü°è°¡ ¾ø´Â ÇÁ·¹ÀÓ¿öÅ©µéÀÌ ÅëÇÕµÇ¾î ¸·°ÇÑ ½Ã³ÊÁö¸¦ âÃâÇϱâ À§ÇØ ÅëÇÕÀ» À§ÇÑ ÅºÅºÇÑ ¾ÆÅ°ÅØÃ³°¡ ÇÊ¿äÇÏ´Ù. ¼ºê ÇÁ·¹ÀÓ¿öÅ©µéÀº ¼·Î¿¡ ´ëÇØ¼, ±×¸®°í JBoss¿¡ ÅëÇÕµÉÁö Á¶Â÷ ¸ð¸£´Â »óÅÂÀ̰í JBoss ¶ÇÇÑ ¾î¶² ¼ºê ÇÁ·¹ÀÓ¿öÅ©¸¦ ÅëÇÕÇÒÁö ¸ð¸£°í ÀÖ´Ù.
J2EE ½ºÆåÀÌ ¹Ù²î°Å³ª °·ÂÇÑ »õ·Î¿î ´ë¾È ÇÁ·¹ÀÓ¿öÅ©°¡ µîÀåÇÒ ¶§ ¸¶´Ù ±×µéÀ» Æ÷¼·ÇÒ ¼ö ÀÖ¾î¾ß ÇÏ´Â Å¿ÀÌ´Ù. ÀÌ·¸°Ô ¹«¾ùÀ» »ç¿ëÇÒÁö, ¹«¾ùµéÀÌ Á¶ÇÕµÉÁö Á¶Â÷ ¾Ë±â Èûµç Ȳ´çÇÑ ¿ä±¸ »çÇ×À» À§ÇØ ÇÁ·¹ÀÓ¿öÅ©³ª ÄÄÆ÷³ÍÆ® °£¿¡ öÀúÈ÷ °áÇÕµµ¸¦ ÁÙÀÏ ¼ö ÀÖ´Â(decoupling) À¯¿¬ÇÑ ¾ÆÅ°ÅØÃ³°¡ ÇÊ¿äÇÏ´Ù.
³¡À¸·Î JBoss´Â WAS(Web Application Server) ÀÚüÀÇ ÇѰèÀÎ ¡®¹«°Å¿ò(heavy weight)¡¯À» ±Øº¹ÇØ¾ß ÇÑ´Ù. µû¶ó¼ JBoss ±âµ¿ ´ç½Ã ¸ðµç ¼ºñ½º¿Í ÄÄÆ÷³ÍÆ®¸¦ ¸Þ¸ð¸®¿¡ ·ÎµùÇÏÁö ¾Ê±â À§ÇØ »ç¿ëµÇ´Â ½ÃÁ¡¿¡¼ µ¿ÀûÀ¸·Î ¼ºñ½º°¡ ·Îµù µÇ¾î¾ß ÇÑ´Ù. ´õºÒ¾î µ¿ÀûÀ¸·Î ¼·Î¸¦ ÀνÄÇϰí È£ÃâÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ·¸°Ô À̸ÓÀü½º¸¦ À§ÇÑ ¾ÆÅ°ÅØÃ³ ´ÏÁ Á¤¸®ÇÏ¸é ´ÙÀ½°ú °°´Ù.
• JBoss ¾ÆÅ°ÅØÃ³´Â ¿©·¯ ¼ºñ½º, ÇÁ·¹ÀÓ¿öÅ©, ÄÄÆ÷³ÍÆ®µéÀÌ Àß ÃëÇÕµÉ ¼ö ÀÖ´Â °°Ç¼ºÀ» ´ãº¸ÇØ¾ß ÇÑ´Ù.
• ±× °ÍµéÀÇ °áÇÕµµ°¡ ±Øµµ·Î ³·¾Æ¾ß ÇÑ´Ù.
• °¡º¿ò(light weight)À» À§ÇØ ·±Å¸ÀÓ ½Ã¿¡ °¢ ±¸¼º¿ä¼ÒµéÀÌ plug & playµÉ ¼ö ÀÖµµ·Ï µ¿Àû ·Îµù, µ¿Àû ¹ÙÀεùÀÌ º¸ÀåµÇ¾î¾ß ÇÑ´Ù.
JBoss´Â ÀÌ·± Àú·± ´ÏÁ ¸¸Á·Çϱâ À§ÇØ ¸¶ÀÌÅ©·Î Ä¿³Î ¾ÆÅ°ÅØÃ³¸¦ ¼±ÅÃÇß´Ù. ¸¶ÀÌÅ©·Î Ä¿³ÎÀº ÃÖ¼ÒÇÑÀÇ ÇÙ½ÉÀû ±â´É¸¸À» °®°í ÀÖ´Ù. ¶ÇÇÑ ÇÁ·¹ÀÓ¿öÅ©°¡ »ç¿ëÇÏ´Â ¼ºñ½º(ȤÀº ¼ºê ÇÁ·¹ÀÓ¿öÅ©)µéÀÇ ÄÁÅ×ÀÌ³Ê ¿ªÇÒÀ» Çϰí ÀÖ´Ù(<±×¸² 1> ÂüÁ¶).
Áï, ¸¶ÀÌÅ©·Î Ä¿³ÎÀº À̵éÀÇ ¶óÀÌÇÁ »çÀÌŬÀ» °ü¸®Çϰí ÀÌµé °£ÀÇ µ¿ÀûÀÎ °ü°è¸¦ ¸Î¾îÁÖ±â À§ÇÑ ¹ö½º ¿ªÇÒÀ» ÇÑ´Ù. °¡·É jBPMÀÌ ÇÏÀ̹ö³×ÀÌÆ®¸¦ »ç¿ëÇÒ °æ¿ì ÀÌ µÑ °£ÀÇ °ü°è°¡ Çϵå ÄÚµùµÈ °°áÇÕÀ¸·Î ÀÌ·ç¾îÁö´Â °ÍÀÌ ¾Æ´Ï¶ó ¸¶ÀÌÅ©·Î Ä¿³ÎÀ» ÅëÇØ ÀúÀåÇÏ´Â ¡®¾î¶² ¼ºñ½º(½ÇÁ¦·Î´Â ÇÏÀ̹ö³×ÀÌÆ®)¡¯¿¡°Ô ¿äûÇÑ´Ù.
¹«¾ùº¸´Ù µ¿ÀûÀ¸·Î ±¸¼º ¿ä¼ÒµéÀÌ Ãß°¡(µî·Ï), Á¦°Å, Àçµî·Ï, ¹ÙÀεù(È£Ãâ)µÇ¾î °æ·®ÀÇ ¸Þ¸ð¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
 |
| <±×¸² 1> JEMS : JBoss Enterprise Middleware Suite |
¸¶ÀÌÅ©·Î Ä¿³Î ¾ÆÅ°ÅØÃ³´Â ¸» ±×´ë·Î ¾ÆÅ°ÅØÃ³ÀÏ »ÓÀÌ´Ù. ´Ù½Ã ¸»ÇØ ½Çü°¡ ¾ø´Â °³³äÀûÀÎ ¡®Àü·«¡¯ÀÌ´Ù. ¸¶ÀÌÅ©·Î Ä¿³ÎÀ» ¹«¾ùÀ¸·Î ¾î¶»°Ô ±¸ÇöÇØ¾ß ÇÒ±î? JBoss°¡ ¼±ÅÃÇÑ ½ÇüÀûÀÎ ¡®Àü¼ú¡¯Àº JMX(Java Management Extensions)¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù.
¸¶ÀÌÅ©·Î Ä¿³ÎÀº MBean ¼¹ö°¡ µÇ°í ±×°Í¿¡ µî·Ï, °ü¸®µÇ´Â ¼ºê ÇÁ·¹ÀÓ¿öÅ©µéÀº MBean Ŭ¶óÀÌ¾ðÆ®°¡ µÈ´Ù. JMX¸¦ »ç¿ëÇÔÀ¸·Î½á JMXÀÇ ÀåÁ¡µéÀÌ ¸¶ÀÌÅ©·Î Ä¿³Î¿¡ ±×´ë·Î Àû¿ëµÈ´Ù. µû¶ó¼ ¸¶ÀÌÅ©·Î Ä¿³Î¿¡ µî·ÏµÈ ¼ºê ÇÁ·¹ÀÓ¿öÅ©µéÀº ÀÌÁ¦ JMX ½ºÆå¿¡ ÀÇÇØ ½Ç½Ã°£À¸·Î ¸ð´ÏÅ͸µ°ú ÄÁÆ®·Ñ ÇÒ ¼ö ÀÖ´Ù.
 |
| <±×¸² 2> JBoss ¸¶ÀÌÅ©·Î Ä¿³Î ¾ÆÅ°ÅØÃ³ |
 | À̸ÓÀü½º¸¦ À§ÇÑ ¾Æ±³(Glue) - JBoss AOP
|  |
µ¶ÀÚ°¡ JavaEE ¼¹öÀÇ µðÀÚÀ̳ʶó°í »ý°¢Çغ¸ÀÚ. ¼ö¸¹Àº ¼ºñ½º¿Í ÄÄÆ÷³ÍÆ®¸¦ Á¶ÇÕÇϰí ÀϺδ º¯°æµÇ¸ç ¶Ç ÀϺδ Á¦°ÅµÇ¾î¾ß ÇÑ´Ù. ¿Ö³ÄÇϸé JavaEE ½ºÆåÀº ¸Å¿ì ±ÞÁøÀûÀ¸·Î º¯Ç߱⠶§¹®ÀÌ´Ù. ¶ÇÇÑ ¼ºñ½º¿Í ¼ºñ½º, ÄÄÆ÷³ÍÆ®¿Í ¼ºñ½º, ÄÄÆ÷³ÍÆ®¿Í ÄÄÆ÷³ÍÆ® »çÀÌÀÇ °ü°èµéÀ» µ¿ÀûÀ¸·Î °ü¸®Çϱâ¶õ ¸¸¸¸ÇÑ ÀÛ¾÷ÀÌ ¾Æ´Ï´Ù.
JavaEE ¼¹ö´Â ³»ºÎÀû º¯°æÀÌ À¯¿¬ÇØ¾ß ÇÏ´Â ½Ã½ºÅÛÀ̾î¾ß ÇÑ´Ù. ÀÌ·± ¸ñÀûÀ» À§ÇØ ¸¶ÀÌÅ©·Î Ä¿³ÎÀ̶õ Åä´ë°¡ ¸¸µé¾îÁ³´Ù. ÇÏÁö¸¸ JBoss´Â ¿ÀǼҽº ÇÁ·¹ÀÓ¿öÅ©µéÀÇ ÁýÇÕüÀÌ´Ù. °¢°¢ÀÇ ¿ÀǼҽºµéÀº ¾ÖÃÊ¿¡ JBoss¸¦ °Ü³ÉÇÏ¿© ¸¸µé¾îÁöÁö ¾Ê¾Ò±â ¶§¹®¿¡ µî·ÏµÈ ¼ºñ½ºµéÀ» À¯¿¬ÇÏ°í µ¿ÀûÀÌ¸ç ´Ü¼øÇÏ°Ô ¿¬°á½Ãų ¼ö ÀÖ´Â ¡®¼ö´Ü¡¯ÀÌ ÇÊ¿äÇÏ´Ù.
À̹ø¿¡´Â µ¶ÀÚ°¡ JavaEE ¼¹öÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ¶ó°í »ý°¢Çغ¸ÀÚ. ±âÁ¸ JavaEE ¹æ½ÄÀÇ ÄÄÆ÷³ÍÆ®°¡ ¼ºñ½º¸¦ µî·Ï/»èÁ¦/º¯°æÇÏ´Â ¹æ½ÄÀº »ó´çÈ÷ ºÒÆíÇÏ´Ù. Ç¥ÁØ¿¡ ÀÇÇØ Áö³ÇÏ°íµµ ÀåȲÇÑ ¼³Á¤°ú ¿¬°á ÀÛ¾÷µéÀ» ÇØÁà¾ß ÇÏ´Â Å¿ÀÌ´Ù. ¾î¶² °æ¿ì´Â ºñÁî´Ï½º ·ÎÁ÷ Äڵ差º¸´Ù º¸¾È, Æ®·£Àè¼Ç, ·Î±ë µîÀÇ ¼ºñ½º¸¦ »ç¿ëÇϱâ À§ÇÑ ÄÚµå ·®ÀÌ ´õ ¸¹Àº °æ¿ì°¡ ÀÖ´Ù.
ÇÏÁö¸¸ ºñÁî´Ï½º ÄÄÆ÷³ÍÆ®ÀÇ ¿ªÇÒÀº ºñÁî´Ï½º ·ÎÁ÷À» ¼öÇàÇϱâ À§ÇÑ ¸ñÀû¿¡ Ãæ½ÇÇϱ⸸ ÇÏ¸é µÈ´Ù. ¹Ý¸é JavaEE ÄÄÆ÷³ÍÆ®µéÀº º»·¡ÀÇ ¿ªÇÒ°ú ¹«°üÇÑ ¼ºñ½º¸¦ ´Ù·ç´Â ¿ªÇÒµéÀ» ¸¹ÀÌ Æ÷ÇÔÇϰí ÀÖ´Ù. ºñÁî´Ï½º ÄÄÆ÷³ÍÆ®¿Í JavaEE ¼ºñ½ºµéÀ» À¯¿¬ÇÏ°Ô ºÐ¸®½Ãų ¼ö ÀÖ´Â ¡®¼ö´Ü¡¯ÀÌ ÇÊ¿äÇÏ´Ù.
| |
|
º»·¡ ¸¶ÀÌÅ©·Î Ä¿³ÎÀº ¿î¿µÃ¼Á¦ ºÐ¾ß¿¡¼ ź»ýµÆ´Ù. À©µµ¿ì NT ½Ã½ºÅÛÀº °¡Àå À¯¸íÇÑ ¸¶ÀÌÅ©·Î Ä¿³Î ½Ã½ºÅÛÀÌ´Ù. NT Ä¿³Î ÀÌÀüÀÇ À©µµ¿ì ½Ã½ºÅÛÀº ´ÜÀÏü(Monolithic) ½Ã½ºÅÛÀ̶ó°í ÇÑ´Ù. ´ÜÀÏü ½Ã½ºÅÛ¿¡¼´Â ¸ðµç OS ±â´É(¸ðµâ)µéÀÌ Ä¿³Î¿¡ Áý¾àµÇ¾î ÀÖ°í ÀÌ ¸ðµâµéÀº ¸ðµÎ Ä¿³Î ¸ðµå¿¡¼ ½ÇÇàµÈ´Ù. µû¶ó¼ ÇÑ ¸ðµâÀÇ º¯°æ(»óÅÂ)Àº ±× ¸ðµâ°ú ÀüÇô ¹«°üÇÑ ´Ù¸¥ ¸ðµâ¿¡°Ôµµ ¿µÇâÀ» ³¢Ä£´Ù.
À©µµ¿ì 98¿¡¼ IP ¼³Á¤À» ¹Ù²Ù¸é ½Ã½ºÅÛÀ» ¸®ºÎÆÃ ÇØ¾ß ÇÏ´Â ÀÌÀ¯°¡ ÀÌ ¶§¹®ÀÌ´Ù. ÇÏÁö¸¸ À©µµ¿ìÁî NT(¸¶ÀÌÅ©·Î Ä¿³Î)¿¡¼´Â ÆÄÀÏ °ü¸®ÀÚ, ³×Æ®¿öÅ© °ü¸®ÀÚ, ¸Þ¸ð¸® °ü¸®ÀÚ µîÀÇ ¸ðµâ°ú °¢Á¾ µð¹ÙÀ̽º µîÀÌ Ä¿³ÎÀÇ ÀϺΰ¡ ¾Æ´Ñ Ä¿³Î¿¡ µî·ÏµÈ ¼ºñ½º·Î °ü¸®µÈ´Ù.
¶ÇÇÑ ½ÇÇ൵ À¯Àú¸ðµå¿¡¼ ½ÇÇàµÈ´Ù. ±×·¡¼ IP ¼³Á¤ÀÌ ¹Ù²î¾îµµ ½Ã½ºÅÛÀ» ¸®ºÎÆÃ ÇÒ Çʿ䰡 ¾ø´Ù. ´ÜÁö ³×Æ®¿öÅ© °ü¸®ÀÚÀÇ ¼³Á¤¸¸ º¯Çϱ⠶§¹®ÀÌ´Ù.
 | | <±×¸² 3> ¿î¿µÃ¼Á¦¿¡¼ÀÇ ¸¶ÀÌÅ©·Î Ä¿³Î ¾ÆÅ°ÅØÃ³ |
ÀÌ·± ±¸Á¶¸¦ È¥ÇÕÇü(Hybrid) ±¸Á¶¶ó°í ºÎ¸£´Âµ¥ ÀÌ·± ¾ÆÅ°ÅØÃ³¸¦ äÅÃÇÔÀ¸·Î½á ½Ã½ºÅÛ ¾ÈÁ¤¼ºÀ» ³ôÀÏ ¼ö ÀÖ´Ù. ´õºÒ¾î ÅëÇÕµÈ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇϸç, È®À强°ú À̽ļºÀÌ ³ô¾ÆÁø´Ù. ¶ÇÇÑ ¸ðµâ°£ÀÇ °áÇÕµµ°¡ Ãà¼ÒµÇ¾î ÇÑ ¸ðµâÀÇ º¯°æÀÌ ´Ù¸¥ ¸ðµâ¿¡°Ô ¿µÇâÀ» ³¢Ä¡Áö ¾Ê°í, ¸ðµâ À̵¿ÀûÀ¸·Î Ãß°¡ »èÁ¦ µÉ ¼ö ÀÖ´Ù´Â ÀåÁ¡µµ °¡Áø´Ù.
¹«¾ùº¸´Ù ¸ðµâ °³¹ßÀÚ¿¡°Ô Ç¥ÁØÈµÈ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ¿© °³¹ß ¿ëÀ̼ºÀ» Á¦°øÇÑ´Ù´Â °ÍÀÌ °¡Àå Å« È¿°ú¶ó ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. <±×¸² 2>¿Í <±×¸² 3>À» ÅëÇØ ÀÌ µÎ ¸ð½ÀÀÇ ÀåÁ¡µéÀ» ºñ±³ÇØ º¸ÀÚ.
| | | | | |
| |
AOP´Â ¿ªÇÒ°ú ¿ªÇÒ °£ÀÇ µ¿ÀûÀ̰í À¯¿¬ÇÏ°Ô ¡®°ü°è¡¯ ½Ã۱⵵ ÇÏ°í ¡®ºÐ¸®¡¯ ½Ã۱⵵ ÇÏ´Â ¹æ½ÄÀ» Á¦°øÇÑ´Ù. À̰ÍÀº ¿ªÇÒ°ú ¿ªÇÒ°£ÀÇ °ü°è¸¦ Å©·Î½º Ä¿ÆÃ(Cross-Cutting)ÇÏ¿© ºÐ¸®½ÃŰ´Â ¹æ¹ýÀÌ´Ù. JBoss´Â ºñÁî´Ï½º ÄÄÆ÷³ÍÆ®¿Í JavaEE ¼ºñ µîÀ» À¯¿¬ÇÏ°Ô ºÐ¸®½Ã۱â À§ÇÑ ¡®¼ö´Ü¡¯À¸·Î AOP¸¦ ÀÌ¿ëÇϰí ÀÖ´Ù.
ÇϳªÀÇ ÄÄÆ÷³ÍÆ®(ºñÁî´Ï½º ·ÎÁ÷)°¡ ½ÇÇàµÉ ¶§ ¸¶ÀÌÅ©·Î Ä¿³ÎÀº JBoss AOP¸¦ ÀÌ¿ëÇØ ÄÄÆ÷³ÍÆ®°¡ ÇÊ¿äÇÑ(¼±¾ðÇÑ) ¼ºñ½ºµéÀ» µ¿ÀûÀ¸·Î Á¶ÇÕÇÑ´Ù. À̸¦Å׸é ÄÄÆ÷³ÍÆ® A°¡ ½ÇÇàµÉ ¶§ º¸¾È, ij½Ã, Æ®·£Àè¼Ç µîÀÇ ¼ºñ½ºµéÀÌ ÇϵåÄÚµù¿¡ ÀÇÇØ °ü°èµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó, JBoss AOP°¡ µ¿ÀûÀ¸·Î ÄÄÆ÷³ÍÆ® A¸¦ ½ÇÇà½Ã۱â Àü, ÈÄ, Áß°£¿¡ ¼ºñ½ºµéÀ» È£ÃâÇÑ´Ù.
¹°·Ð ÀÌ ±¸Á¶´Â EJB 3.0ÀÇ ¾î³ëÅ×À̼Ç(annotation)À̳ª XML ¼³Á¤À» ÅëÇØ Á¤ÀǵȴÙ. ¸¶Ä¡ ÄÚ¾î J2EE ÆÐÅÏ¿¡¼ ÀÎÅͼÁÆÃ ÇÊÅÍ(Intercepting Filter)¿Í À¯»çÇÑ ±¸Á¶·Î °¢ ¼ºñ½ºµéÀ» È£ÃâÇÏ°Ô µÈ´Ù. ÀÌ °¢°¢ÀÇ ¼ºñ½ºµéÀº MBean ¼¹öÀÎ ¸¶ÀÌÅ©·Î Ä¿³Î¿¡ µî·ÏµÈ MBeanµé·Î °ü¸®µÈ´Ù.
 |
| <±×¸² 4> JBoss AOP¸¦ ÅëÇØ ÄÄÆ÷³ÍÆ®°¡ È£ÃâµÇ´Â ±¸Á¶ |
ÀÌó·³ À¯¿¬ÇÏ°Ô µ¿ÀÛÇϸ鼵µ µ¿ÀûÀÌ¸ç ´Ü¼øÇÑ ¼³°è´Â ¸¶ÀÌÅ©·Î Ä¿³ÎÀÇ ÅëÁ¦ ¾Æ·¡ JBoss AOPÀÇ ¸¶¹ýÀ» ÅëÇØ ÀÌ·ïÁø´Ù. JBoss AOP´Â JBoss¿¡ µî·ÏµÈ °¢ °³Ã¼(¼ºñ½º, ÄÄÆ÷³ÍÆ®)¸¦ ¿«¾îÁÖ´Â ¾Æ±³(Glue) ¿ªÇÒÀ» ÇÏ´Â ¼ÀÀÌ´Ù.
JBoss AOP´Â ÄÄÆ÷³ÍÆ®¿Í ¼ºñ½º °£ÀÇ °ü°è¿¡¼¸¸ ÀÌ¿ëµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó ¼ºñ½º¿Í ¼ºñ½º °£ÀÇ °ü°è¿¡¼µµ ¶È°°ÀÌ Àû¿ëµÈ´Ù. µû¶ó¼ ¼ºñ½º¿Í ¼ºñ½ºÀÇ Á¶ÇÕ ¶ÇÇÑ À¯¿¬ÇÏ°í µ¿ÀûÀÌ¸ç ´Ü¼øÇÑ °ü°è¸¦ °®´Â´Ù.
¿¹½Ã¸¦ ÅëÇØ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌ, ºñÁî´Ï½º ÄÄÆ÷³ÍÆ® °³¹ßÀÚ°¡ ºñÁî´Ï½º ·ÎÁ÷¿¡ ÁýÁßµÈ ÄÄÆ÷³ÍÆ®¸¦ °³¹ßÇϰí AOP¸¦ ÅëÇØ ¼ºñ½º¸¦ »ç¿ëÇÑ °Íó·³, ÇÁ·¹ÀÓ¿öÅ© °³¹ßÀÚ´Â ¼ºê ÇÁ·¹ÀÓ¿öÅ© °£ÀÇ °ü°è¸¦ AOP¸¦ ÅëÇØ À¯¿¬ÇÏ°Ô °³¹ßÇÒ ¼ö ÀÖ´Ù.
°¡·É °ÔÀÓ ÇÁ·¹ÀÓ¿öÅ©¿¡¼ »ç¿ëÇÏ´Â Åë½Å, Æ®·£Àè¼Ç, OR ¸ÊÇÎ, »ç¿ëÀÚ °ü¸® µîÀÇ ÇÁ·¹ÀÓ¿öÅ©µéÀº äÆÃ ÇÁ·¹ÀÓ¿öÅ©¿¡¼ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍµéÀÌ´Ù. AOP¸¦ ÀÌ¿ëÇÏ¸é »ó¼úÇÑ ¼ºê ÇÁ·¹ÀÓ¿öÅ©µéÀ» äÆÃ ÇÁ·¹ÀÓ¿öÅ©¿¡ ÀûÇÕÇÏ°Ô ÀçÁ¶ÇÕÇÏ¿© ÇÁ·¹ÀÓ¿öÅ© ±¸ÃàÀ» ½±°Ô ÇØÁØ´Ù. ÀÌ·± ÀÌÀ¯ ¶§¹®¿¡ AOP´Â ÇÁ·¹ÀÓ¿öÅ© °³¹ßÀÚ¿¡°Ô ´õ¿í ¿ä±äÇÑ µµ±¸ÀÌ´Ù.
| |
|
ÇÊÀÚ°¡ ½ÇÁ¦·Î ÇÁ·ÎÁ§Æ® Áß¿¡ °æÇèÇß´ø ÀÏÀÌ´Ù. Ŭ·¡½º¿¡¼ ÀÚÁÖ »ç¿ëµÇ´Â ¸â¹ö º¯¼öÀÎ Log4JÀÇ ·Î°Å ¼±¾ðÀ̳ª DTO ȤÀº DB¸¦ ´Ù·ç´Â °ü¿ëÀûÀÎ ÄÚµåµéÀÇ Áߺ¹À» Á¦°ÅÇÏ°í ½Í¾ú´Ù.
ÇÏÁö¸¸ ÀÌ ÄÚµåµéÀ» ÀͽºÆ®·¢Æ® ¸Þ¼Òµå(Extract Method)³ª Ç®¾÷ ¸Þ¼Òµå(Pull Up Method) Çϱ⿣ Àû´çÈ÷ ºñÁî´Ï½º ·ÎÁ÷ ÄÚµå¿Í Ä¿Çøµ µÇ¾î ÀÖ¾î ¿ï¸ç °ÜÀÚ ¸Ô±â·Î °è¼Ó ½á¾ß¸¸ Çß¾ú´Ù. C++ ÇÁ·ÎÁ§Æ®¿´´Ù¸é ¸ÅÅ©·Î³ª ÅÛÇø´À» ÀÌ¿ëÇØ °£´ÜÈ÷ Á¦°ÅÇÒ ¼ö ÀÖÁö¸¸ ÀÚ¹Ù ÇÁ·ÎÁ§Æ®¿´±â ¶§¹®¿¡ ¾ð¾î»ó »ç¿ëÇÒ ¼ö ¾ø´Â ¹æ¹ýÀ̾ú´Ù.
ÇÏÁö¸¸ ½Ã°£ÀÌ Áö³¯¼ö·Ï ¹Ýº¹ÀûÀÎ ÄÚµåµéÀº ´õ¿í Áõ°¡Çß°í ´õ ÀÌ»ó °ßµô ¼ö ¾ø´Â Áö°æ¿¡ À̸£·¶´Ù. AOP¸¦ »ç¿ëÇÑ´Ù¸é ÄÄÆÄÀÏ Å¸ÀÓ È¤Àº ·±Å¸ÀÓ¿¡ ƯÁ¤ ÄÚµåµéÀ» ºñÁî´Ï½º ·ÎÁ÷ ÄÚµå¿Í Á¶ÇÕÇÏ¿© ½ÇÇà½Ãų ¼ö ÀÖÀ» °ÍÀ̱⿡ AOPÀÇ »ç¿ëÀ» °ËÅäÇß¾ú´Ù.
ÀÌ¹Ì Á¤ÀÇµÈ ¾î½ºÆåÆ®¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, ¾î½ºÆåÆ®¸¦ ¸¸µé°í AOP ÇÁ·¹ÀÓ¿öÅ©°¡ Á¦°øÇÏ´Â API¸¦ ÅëÇØ µî·Ï°ú ¼³Á¤ÇÏ´Â ÀÏÀÌ »ý°¢º¸´Ù ÀÛ¾÷·®ÀÌ ¸¹¾Ò´Ù. ¹«¾ùº¸´Ù ÇÊÀÚ¸¦ °¥µîÇÏ°Ô Çß´ø ºÎºÐÀº Ȥ½Ã AOP¸¦ ¸ð¸¦Áöµµ ¸ð¸£´Â ÀÌ ½Ã½ºÅÛÀÇ ÀΰèÀÚ¿¡°Ô AOP ÇнÀÀ» °¿äÇÏ°Ô µÉ ¼öµµ ÀÖ´Ù´Â Á¡À̾ú´Ù.
¿©±â¼ ÇÊÀÚ´Â ¡®º¹Àâµµ¸¦ ÇØ°áÇϱâ À§ÇÑ º¹Àâµµ¡¯¿¡ ´ëÇØ¼ »ý°¢ÇÏ°Ô µÇ¾ú´Ù. ºÐ¸íÈ÷ ÇÊÀÚ°¡ ¼³¸íÇß´ø Áߺ¹µÈ ÄÚµåµéÀº ÄÚµåÀÇ Ç°ÁúÀ» ¶³¾î¶ß¸°´Ù. ¹Ý¸é¿¡ ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ µµÀÔÇÑ ¼Ö·ç¼ÇÀÌ °®´Â º¹Àâµµ¿¡ ´ëÇØ¼ ¿ì¸®´Â °ËÅäÇÏÁö ¾Ê´Â´Ù.
Ä¿³Ø¼Ç Çϳª·Î DB¸¦ Á¢±ÙÇÏ´Â ÀåȲÇÑ JDBC ÇÔ¼ö°¡ µÎ °³ Á¤µµ Àִµ¥, ÀÌ ÀåȲÇϰí Áߺ¹µÈ ÄÚµåµéÀ» ¾ø¾Ö±â À§ÇØ ÇÏÀ̹ö³×ÀÌÆ®¸¦ µµÀÔÇÏ´Â °æ¿ìµµ ÀÌ¿¡ ÇØ´çÇÒ °ÍÀÌ´Ù. ÀåȲÇÑ Áߺ¹Äڵ带 ÀÎÁ¤ÇÒ ¼ö¹Û¿¡ ¾ø´Â ºÎ´ãº¸´Ù ÇÏÀ̹ö³×ÀÌÆ®¸¦ ÇнÀÇÏ°í ½Ã½ºÅÛ¿¡ Ãß°¡ÇÏ´Â(°Ô´Ù°¡ ´Ù¸¥ »ç¶÷¿¡°Ô ÇнÀÀ» ¿ä±¸ÇØ¾ß ÇÏ´Â) ºÎ´ãÀÌ ¸î ¹è´Â ´õ Ŭ °ÍÀÌ´Ù.
»õ·Î¿î ¼Ö·ç¼ÇÀ» µµÀÔÇÒ ¶§ ¿ì¸®´Â °£È¤ Áý´Ü ÃÖ¸é °°Àº °Í¿¡ ºüÁö°ï ÇÑ´Ù. ±× ¼Ö·ç¼ÇÀÇ ¹®Á¦ ÇØ°á ´É·Â¸¸ º¸ÀÌ°í ¡®±× ¼Ö·ç¼Ç ÀÚü°¡ °®´Â ¹®Á¦¡¯¿¡ ´ëÇØ¼± °ü´ëÇØÁø´Ù. ¿Ö³ÄÇÏ¸é ±× ¼Ö·ç¼ÇÀÇ ¹®Á¦ ÇØ°á´É·ÂÀÌ ¼¼·ÃµÇ°í ÈǸ¢Çϱ⠶§¹®ÀÌ´Ù. ¼Ö·ç¼Ç ÀÚü°¡ °®´Â ¹®Á¦(º¹Àâµµ)¿Í ¼Ö·ç¼ÇÀÌ ÇØ°áÇÏ´Â º¹Àâµµ¸¦ ºñ±³ÇÏ¿© ´ëÂ÷´ëÁ¶Ç¥¸¦ ¸¸µé¾îº¸´Â °ÍÀº ÁÁÀº ½À°üÀÌ´Ù.
±×·¡¼ ÇÊÀÚ´Â ±× ÇÁ·ÎÁ§Æ®¿¡¼ ±×³É ÁöÀúºÐÇÏ°Ô »ì±â·Î °á½ÉÇß´Ù. °áÄÚ ±× µÑÀÇ Á¶ÇÕÀÌ À̸ÓÀü½º µÉ °Í °°Áö ¾Ê¾Ò°Ô ¶§¹®ÀÌ´Ù.
| | | | | |
| |
¸Þ½Ã¡ ¹ö½º - JGroups
Ŭ·¯½ºÅ͸µ ±¸Á¶´Â Ŭ·¯½ºÅ͸µ ±×·ì¿¡ µî·ÏµÈ ÇϳªÀÇ ¼¹ö¿¡ Àå¾Ö°¡ ¹ß»ýÇßÀ» ¶§ ´Ù¸¥ ¼¹ö·Î ´ëüµÉ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. µû¶ó¼ »ç¿ëÀÚ°¡ ¼¹ö A¿¡ ·Î±×ÀÎ Çß´Ù¸é °°Àº Ŭ·¯½ºÅ͸µ ±×·ìÀÇ ´Ù¸¥ ¼¹ö B¿¡¼µµ ±× Á¤º¸°¡ °øÀ¯µÇ¾î¾ß ÇÑ´Ù. ¼¹ö A¿¡ Àå¾Ö°¡ ¹ß»ýÇÏ¸é »ç¿ëÀÚ´Â ¼¹ö B¿¡°Ô ¼ºñ½º¸¦ ¿äûÇϱ⠶§¹®ÀÌ´Ù.
¾î¶»°Ô Çϸé Ŭ·¯½ºÅ͸µ »óȲ¿¡¼ ÇϳªÀÇ JBoss ¼¹ö¿¡ ÀÔ·ÂµÈ ·Î±×ÀÎ »óŸ¦ ´Ù¸¥ ¼¹öµé°ú °øÀ¯ÇÒ ¼ö ÀÖÀ»±î? °¡Àå ¼Õ½±°í È¿°úÀûÀÎ ¹æ¹ýÀº ¸ÖƼ ij½ºÆÃÀ» ÇÏ´Â °ÍÀÌ´Ù. Áï, ¼¹ö A¿¡ »ç¿ëÀÚ È«±æµ¿ÀÌ ·Î±×ÀÎ Çß´Ù¸é ¼¹ö A´Â Ŭ·¯½ºÅ͸µ ±×·ì¿¡ ¼ÓÇÑ ¸ðµç ¼¹öµé¿¡°Ô ¸ÖƼ ij½ºÆÃÇÏ¿© È«±æµ¿ÀÌ ·Î±×ÀÎÇÑ »ç½ÇÀ» ¾Ë¸°´Ù. ÀÌ ¸Þ½ÃÁö¸¦ Àü´Þ ¹ÞÀº ¸ðµç ¼¹ö´Â È«±æµ¿¿¡ ´ëÇÑ ¼¼¼ÇÀ» ¸¸µç´Ù. À̷νá È«±æµ¿Àº ¼¹ö B¿¡¼µµ ¼¹ö AÀÇ ¼¼¼Ç Á¤º¸¸¦ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
JBoss´Â ¼·Î ´Ù¸¥ ¼¹öµéÀÌ °°Àº Á¤º¸¸¦ °øÀ¯(¶Ç´Â º¹Á¦)ÇÒ ¼ö ÀÖµµ·Ï JGroups ÇÁ·¹ÀÓ¿öÅ©¸¦ Áö¿øÇÑ´Ù. JGroups´Â ¸ÖƼ ij½ºÆÃÀ» ÅëÇØ ±×·ì ¸Þ½Ã¡À» Á¦°øÇÏ´Â ÇÁ·¹ÀÓ¿öÅ©À̸ç ÇâÈÄ JBossÀÇ Å¬·¯½ºÅ͸µ ±â´ÉÀ» ¼öÇàÇϴµ¥ Áß¿äÇÑ ¿ªÇÒÀ» ÇÑ´Ù. ±¸Á¶´Â JMSÀÇ ÅäÇÈ ¸ðµ¨°ú À¯»çÇÏ´Ù.
JGroups°¡ ´Ù¸¥ ¸Þ½Ã¡ ÇÁ·¹ÀÓ¿öÅ©º¸´Ù Â÷º°ÈµÈ ÀåÁ¡Àº ¸Þ½Ã¡ ½ºÅÃÀ» ÀÚÀ¯·Ó°Ô °ü¸®ÇÒ ¼ö Àִٴµ¥ ÀÖ´Ù. ±×·ì¿¡ ¼Ò¼ÓµÈ ÇϳªÀÇ ¼¹ö°¡ ´Ù¸¥ ¼¹ö¿¡°Ô ¸Þ½ÃÁö¸¦ ¸ÖƼ ij½ºÆÃÇÒ ¶§ ¿©·¯ °¡Áö Ãß°¡ÀûÀΠ󸮵éÀÌ ÇÊ¿äÇÒ ¼ö ÀÖ´Ù.
JGroups´Â ÀÌ·± Ãß°¡ÀûÀΠó¸® ±â´ÉÀ» ½ºÅÃÀ̶õ °³³äÀ¸·Î °ü¸®ÇÏ¿© ¸¶Ä¡ TCP/IP ½ºÅÃó·³ ¸Þ½ÃÁö¸¦ Àü¼ÛÇÒ ¶§ °¢°¢ÀÇ Ã³¸®µéÀ» ¼öÇàÇÏ°Ô ÇÑ µÚ¿¡ ¸Þ½ÃÁö¸¦ Àü¼ÛÇÑ´Ù.
°¡·É ¼¹ö°¡ ¿©·¯ ¸Þ½ÃÁöµéÀ» Àü¼ÛÇÒ ¶§ À¯µ¶ ÇϳªÀÇ ¸Þ½ÃÁö »çÀÌÁî°¡ ³Ê¹« Ä¿¼ ±× ¸Þ½ÃÁö¸¦ Àü¼ÛÇϱâ À§ÇØ ¸¹Àº ½Ã°£ÀÌ °É¸®´Â °æ¿ì°¡ ÀÖ´Ù. ÀÌ Å« ¸Þ½ÃÁö ¶§¹®¿¡ ±ä±ÞÇÑ ´Ù¸¥ ¸Þ½ÃÁö°¡ ´ë±âµÇ¾î ´Ê°Ô Àü¼ÛµÇ´Â ¹®Á¦°¡ ¹ß»ýÇϰï ÇÑ´Ù. À̶§ Å« ¸Þ½ÃÁö¸¦ Å丷 ³»¾î Çϳª¾¿ Àü¼ÛÇÏ¿© ´Ù¸¥ ¸Þ½ÃÁö Àü¼Û ±âȸ¸¦ º¸ÀåÇÏ´Â ±â¹ýÀÌ ÇÊ¿äÇÏ´Ù.
JGroups¿¡¼´Â ÀÌ·± ¡®Å丷 ³»±â(Fragmentation)¡¯ ±â´ÉÀ» Á¦°øÇϱâ À§ÇØ ¼³Á¤¿¡¼ ÇÁ·¡±×¸àÅ×ÀÌ¼Ç ½ºÅÃÀ» Ãß°¡ÇÏ¿© ÀÚµ¿À¸·Î ¸Þ½ÃÁö¸¦ ºÐÇÒ Àü¼ÛÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇϰí ÀÖ´Ù.
¶ÇÇÑ, ¸ÖƼ ij½ºÆÃÀº º»ÁúÀûÀ¸·Î UDP ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇϱ⠶§¹®¿¡ ¸Þ½ÃÁö ¼ø¼¸¦ º¸ÀåÇÏÁö ¾Ê´Â´Ù. ÇÏÁö¸¸ ´ëºÎºÐÀÇ ¼¹ö-Ŭ¶óÀÌ¾ðÆ® È¯°æ¿¡¼´Â ±âº»ÀûÀ¸·Î ¸Þ½ÃÁö ¼ø¼ÀÇ º¸ÀåÀ» ¿ä±¸ÇÑ´Ù.
À̶§ ¿À´õ¸µ ½ºÅÃÀ» Ãß°¡ÇÏ¸é ¸Þ½ÃÁö ¼Û/¼ö½ÅÀÇ ¼ø¼¸¦ º¸ÀåÇÑ´Ù. ¶ÇÇÑ SSL Åë½ÅÀ» ¿øÇÒ °æ¿ì º¸¾È ½ºÅÃÀ», Ç÷οì ÄÁÆ®·ÑÀ» Á¦°øÇϱâ À§ÇØ Ç÷οì ÄÁÆ®·Ñ ½ºÅÃÀ» Ãß°¡ÇÏ¸é ¸Þ½ÃÁö ¼Û¼ö½Å Àü¿¡ °¢°¢ÀÇ Ã³¸®µéÀÌ ¼öÇàµÈ´Ù.
 |
| <±×¸² 5> JGroups ±¸Á¶ |
<±×¸² 4>¿Í <±×¸² 5>´Â ¸Å¿ì À¯»çÇÑ ¸ð¾çÀ» °®´Â´Ù. ÄÄÆ÷³ÍÆ®¸¦ È£ÃâÇϱâ Àü¿¡ JBoss AOP°¡ ¾î³ëÅ×À̼ÇÀ¸·Î ¼±¾ðµÈ ¼ºñ½ºµéÀ» È£ÃâÇÏ´Â °Íó·³, JGroups´Â ¸Þ½ÃÁö¸¦ ¼Û¼ö½ÅÇϱâ Àü¿¡ °¢ ½ºÅÃÀ» Åë°úÇÏ¿© ¸Þ½ÃÁö¿¡ ´ëÇÑ Ã³¸®¸¦ ´ã´çÇÏ°Ô ÇÑ´Ù. ´õ ³î¶ó¿î °ÍÀº ¸ð¾ç¸¸ À¯»çÇÑ °ÍÀÌ ¾Æ´Ï¶ó ½ºÅÃÀ» °ü¸®ÇÏ´Â ¹æ¹ý ¶ÇÇÑ °°´Ù´Â »ç½ÇÀÌ´Ù.
µû¶ó¼ °¢ ½ºÅõéÀº AOPÀÇ ¼±¾ð¿¡ ÀÇÇØ µ¿ÀûÀ¸·Î Ãß°¡, »èÁ¦Çϰųª Á¤·ÄÇÏ°Ô µÈ´Ù.
<Ç¥ 1>Àº JGroups°¡ Á¦°øÇÏ´Â À¯¿ëÇÑ ½ºÅà Áß ÀϺÎÀÌ´Ù. ¿©±â¿¡´Â ÇѱÛó¸® µîÀÇ ÇÊ¿äÇÑ ½ºÅÃÀ» »ç¿ëÀÚ°¡ Á÷Á¢ Á¦ÀÛÇÏ¿© Ãß°¡ÇÒ ¼öµµ ÀÖ´Ù.
JBoss´Â JGroups¸¦ ÅëÇØ Ŭ·¯½ºÅ͸µ ±×·ì ¾È¿¡ ´Ù¸¥ ¼¹öµé°ú SFSB(Stateful Session Bean)ÀÇ »óŸ¦ °øÀ¯ÇÑ´Ù. ¾Õ¼ ¼³¸íÇÑ ¿¹¿¡¼Ã³·³ »ç¿ëÀÚÀÇ ·Î±×ÀÎ Á¤º¸, ÁÖ¹®µµ¼ ¸ñ·Ï Á¤º¸ µîÀÇ ¼¼¼Ç Á¤º¸¸¦ ´Ù¸¥ ¼¹ö¿¡°Ô º¹Á¦ÇÏ¿©, ÇϳªÀÇ ¼¹ö¿¡ Àå¾Ö°¡ ¹ß»ýÇÒ °æ¿ì ´Ù¸¥ ¼¹ö°¡ °°Àº »óÅ·Π¼ºñ½º ÇÒ ¼ö ÀÖ´Ù.
ÀÌ¿Í °°ÀÌ JGroups´Â JBoss ¼¹öµé »çÀÌ¿¡ ¸Þ½ÃÁö ¹ö½º ¿ªÇÒÀ» ´ã´çÇÏ¸ç »ó´çÈ÷ À¯¿ëÇÑ Å¬·¯½ºÅ͸µ ±â¹Ý ±¸Á¶¸¦ Á¦°øÇÑ´Ù.
¹°·Ð, JGroups´Â ÀÚü¸¸À¸·Îµµ »ç¿ëÇϱâ À¯¿ëÇÑ ±×·ì ¸Þ½Ã¡ ÇÁ·¹ÀÓ¿öÅ©ÀÌ´Ù. °¡·É äÆÃ ÇÁ·Î±×·¥À» ¸¸µç´Ù°í °¡Á¤ÇÏÀÚ. À̶§ °¢ äÆÃ¹æÀ» ÇϳªÀÇ ±×·ìÀ¸·Î Á¤ÀÇÇÏ°í ±× ±×·ì¿¡ µî·ÏµÈ »ç¿ëÀÚ¿¡°Ô ¸Þ½ÃÁö¸¦ ¸ÖƼ ij½ºÆÃÇÒ ¶§ ´Ü¼øÇÑ ÄÚµùÀ¸·Î º¹ÀâÇÑ Ã³¸®¸¦ ¼öÇàÇÏ°Ô ÇÑ´Ù. <¸®½ºÆ® 1>À» »ìÆìº¸ÀÚ.
±âÁ¸ÀÇ ³×Æ®¿öÅ© ÇÁ·Î±×·¥¿¡¼ »ó»óÇϱâ Èûµé Á¤µµ·Î ¾ÐÃàµÈ ÄÚµå ·®À¸·Î °·ÂÇÑ ±â´ÉÀ» Á¦°øÇÑ ´Ù´Â »ç½ÇÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
| <¸®½ºÆ® 1> JGrupsÀÇ ÄÚµå »ùÇà | | | |
public void JGroupsSample () {
// 1. JGroups ȯ°æ ÆÄÀÏÀ» Àд´Ù.
JChannel channel = new JChannel("file://home/jgroups/default.xml");
// 2. "demo-group"À̶õ ±×·ì¿¡ µî·ÏÇÑ´Ù.
channel.connect("demo-group");
// 3. "Hello world" ¸Þ½ÃÁö¸¦ ¸¸µç´Ù.
Message msg = new Message(null, null, "Hello world");
// 4. ¸Þ½ÃÁö¸¦ ¸ÖƼ ij½ºÆÃ ÇÑ´Ù.
channel.send(msg);
// 5. ¸Þ½ÃÁö¸¦ ¼ö½ÅÇÑ´Ù.
Message m=(Message)channel.receive(0);
// 6. "demo-group" ±×·ì¿¡¼ ³ª¿Â´Ù.
ch.disconnect();
ch.close();
}
| |
 |
JBossCache
JGroups°¡ ³×ÀÌÆ¼ºêÇÑ ±×·ì ¸Þ½Ã¡ Åë½Å ÇÁ·¹ÀÓ¿öÅ©¶ó¸é JBossCache´Â º¹Á¦µÇ´Â ÀÚ·á ±¸Á¶¸¦ Á¦°øÇÔÀ¸·Î½á ¼¹öµé °£ÀÇ µ¿ÀÏÇÑ ¸Þ¸ð¸® Á¤º¸¸¦ °®´Â ij½Ã¸¦ À¯ÁöÇÏ°Ô ÇÑ´Ù. »ç½Ç º»ÁúÀûÀ¸·Î º°·Î ´Ù¸¦ ¹Ù ¾ø´Â ¿ø¸®ÀÌÁö¸¸ ÀÌ µÑ °£ÀÇ Â÷ÀÌ´Â »ó´çÈ÷ Å©´Ù. JGroups¿¡ ÀÖ¾î¼ Á¤º¸¸¦ ´Ù¸¥ ¼¹ö·Î º¹Á¦ÇÑ´Ù´Â Àǹ̴ ¸Þ½ÃÁö¸¦ send() ÇÑ´Ù´Â ÇàÀ§ÀÌ´Ù.
ÇÏÁö¸¸ JBoss Cache¿¡¼ÀÇ º¹Á¦ ÇàÀ§´Â JBossCache ÄÝ·º¼Ç¿¡ Á¤º¸¸¦ put() ȤÀº add() ÇÏ´Â °ÍÀÌ´Ù. ´ÜÁö ¾î¶² ÄÝ·º¼Ç¿¡ °´Ã¼¸¦ Ãß°¡ÇßÀ» »ÓÀε¥ ±× °´Ã¼°¡ ÀÚµ¿ÀûÀ¸·Î ´Ù¸¥ ¼¹öµéÀÇ µ¿ÀÏÇÑ ÄÝ·º¼Ç¿¡ put() ȤÀº add() ÇÏ°Ô µÈ´Ù.
JGroups¿Í JBossCacheÀÇ ÀÎÅÍÆäÀ̽º´Â ¸ÖƼ ij½ºÆ® Åë½Å ÀÎÅÍÆäÀ̽º¿Í À̸¦ »ç¿ëÇÏ±â Æí¸®ÇÏ°Ô ºÐ»ê, º¹Á¦Çϰųª ij½Ã ÀÎÅÍÆäÀ̽º¸¸ ´Ù¸¦ »ÓÀÌÁö º»ÁúÀº °®Áö ¾Ê´Â´Ù°í »ý°¢ÇÒ ¼ö µµ ÀÖÀ» °ÍÀÌ´Ù. »ç½ÇÀº JBossCache´Â ³»ºÎÀûÀ¸·Î JGroups¸¦ ÀÌ¿ëÇÑ´Ù. µû¶ó¼ JGroupsÀÇ °·ÂÇÑ ½ºÅà ¼³Á¤À» ±×´ë·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
ÇÏÁö¸¸ JBossCache´Â JGroups¸¦ ÀÌ¿ëÇÑ À¯Æ¿¸®Æ¼ ¼öÁØÀÇ ¶óÀ̺귯¸® ±â´É¸¸ Á¦°øÇÏ´Â °ÍÀÌ ¾Æ´Ï´Ù. JGroups¿¡¼µµ ÀÌ·± ¸ñÀûÀ» À§ÇØ DistributedHashMap µîÀÇ À¯Æ¿¸®Æ¼ Ŭ·¡½º¸¦ Á¦°øÇÑ´Ù. JBossCache´Â ¼¼ °¡Áö Á¾·ùÀÇ Ä³½Ã ¸ðµ¨À» Á¦°øÇÑ´Ù.
1) ·ÎÄà ij½Ã : ÀÏ¹Ý Ä³½Ã Ŭ·¡½º¿Í ´Ù¸¦ ¹Ù ¾ø´Ù. ´Ù¸¥ ¼¹ö·Î ij½Ã Á¤º¸¸¦ º¹Á¦ ÇÏÁö ¾Ê´Â´Ù.
2) µ¿±â ij½Ã : ´Ù¸¥ ¼¹ö·Î ij½Ã Á¤º¸¸¦ µ¿±âÀûÀ¸·Î º¹Á¦ÇÑ´Ù. µû¶ó¼ ¼¹ö A¿¡¼ ij½Ã¿¡ put()ÇÏ¸é °ð¹Ù·Î ´Ù¸¥ ¸ðµç ¼¹öµéÀÇ Ä³½Ã¿¡ ±× Á¤º¸¸¦ put()Çϰí ÀÌ ÀÛ¾÷ÀÌ ¸¶Ä£ ¼ö ¿ø·¡ÀÇ put() ¸Þ¼Òµå°¡ ¸®ÅÏ µÈ´Ù. ÀÏÁ¾ÀÇ Æ®·£Àè¼ÇÀÌ º¸ÀåµÇ´Â °ÍÀÌ´Ù.
3) ºñµ¿±â ij½Ã : µ¿±â ij½Ã¿Í µ¿ÀÏÇÑ µ¿ÀÛÀ» ÇÏÁö¸¸ ¸Þ½ÃÁö Àü¼ÛÀÌ ºñµ¿±âÀûÀ¸·Î ÀÌ·ïÁø´Ù. µû¶ó¼ put() ¸Þ¼Òµå°¡ ¸®ÅÏ µÇ±â ÀÌÀü¿¡ ´Ù¸¥ ¸ðµç ¼¹öÀÇ Ä³½Ã¿¡ ±× µ¥ÀÌÅ͸¦ put()ÇÏ´Â °ÍÀÌ º¸ÀåµÇÁö ¾Ê´Â´Ù. µ¿±â ij½Ã´Â ¸Þ¸ð¸®ÀÇ ½Ç½Ã°£ÀûÀÎ µ¿±âȸ¦ º¸ÀåÇÏÁö¸¸, ¼Óµµ´Â ºñµ¿±â ij½Ã°¡ ´õ ºü¸£´Ù.
JBossCache´Â POJO ·¹º§ÀÇ Ä³½Ã¸¦ Á¦°øÇÑ´Ù. ¸¸¾à ¾î¶² °´Ã¼¸¦ Àü¼ÛÇÑ´Ù°í »ý°¢Çغ¸ÀÚ. °´Ã¼¸¦ Àü¼ÛÇϱâ À§ÇØ ±× °´Ã¼´Â Serializable ÀÎÅÍÆäÀ̽º¸¦ »ó¼Ó ¹Þ¾Æ¾ß ÇÑ´Ù. ±×·¡¾ß °´Ã¼¸¦ ½ºÆ®¸²À¸·Î ¸¸µé ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÇÏÁö¸¸ JBossCache´Â POJO °´Ã¼¸¦ put() ÇÏ´õ¶óµµ JBossAOP¿¡ ÀÇÇØ ½ºÆ®¸²À¸·Î º¯È¯ÀÌ °¡´ÉÇÑ POJO·Î ¸¸µé¾îÁØ´Ù.
JBossCache´Â ½ÇÁ¦·Î ÀԷµǴ °´Ã¼¸¦ °ü¸®Çϱâ À§ÇÑ ÀڷᱸÁ¶·Î Æ®¸®¸¦ »ç¿ëÇÑ´Ù. ÇÏÁö¸¸ »ç¿ë ÆíÀǼºÀÌ ¶³¾îÁö´Â Æ®¸® ±¸Á¶ÀÇ ºÒÆíÇÔÀ» ´ëÆø °³¼±ÇÑ´Ù. °³¹ßÀÚ¿¡°Ô Ä£±ÙÇÑ ¸Ê(Map)ó·³ Æ®¸®¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
 |
| <±×¸² 6> ºÐ»ê º¹Á¦¿¡¼ °øÀ¯ ·¹ÆÛ·±½ºÀÇ ¹®Á¦Á¡ |
ij½Ã¿¡ µî·ÏµÈ °´Ã¼µéÀ» ´Ù¸¥ ¼¹öÀÇ Ä³½Ã·Î ºÐ»ê º¹Á¦ÇÒ ¶§¿¡´Â ¸î °¡Áö ³°¨ÇÑ ¹®Á¦µéÀÌ ¹ß»ýÇÑ´Ù. <±×¸² 6>¿¡¼ º¸´Â ¹Ù¿Í °°ÀÌ Joe, Mary °´Ã¼´Â ½ÇÁ¦·Î µ¿ÀÏÇÑ Addr °´Ã¼¸¦ ÂüÁ¶ÇÑ´Ù. ÀÌ·± »óȲ¿¡¼ Joe¿Í Mary¸¦ °¢°¢ JBossCache¿¡ put() ÇÏ°Ô µÇ¸é °¢°¢ÀÇ °´Ã¼µéÀÌ ´Ù¸¥ ¼¹öµé¿¡ º¹Á¦µÇ¾î Addr´Â ½ÇÁ¦·Î µÎ °³ÀÇ ÀνºÅϽº·Î º¹Á¦µÈ´Ù.
´õ À§ÇèÇÑ °ÍÀº JoeÀÇ Addr¸¦ º¯°æÇßÀ» °æ¿ì ¿øº» ¼¹ö¿¡¼´Â º¯°æµÈ AddrÀ» Joe, Mary°¡ ÂüÁ¶ÇÏÁö¸¸ ´Ù¸¥ ¼¹öµéÀº º¯°æµÈ AddrÀÇ Á¤º¸¸¦ °øÀ¯ÇÏÁö ¸ø ÇÏ´Â °ÍÀÌ´Ù. µû¶ó¼ ´Ù½Ã Joe¿Í Mary¸¦ put() ÇØÁà¾ß µ¿ÀÏÇÑ Ä³½Ã¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Ù. À̶§ Joe¸¸ put()ÇÏ¸é ´Ù¸¥ ¼¹öµéÀÇ Mary´Â Joe¿¡ ´Ù¸¥ AddrÀÇ °ªÀ» °¡Áö°Ô µÈ´Ù.
ÀÌ·¯ÇÑ º¹Á¦ ¹æ½ÄÀ» coarse-grained º¹Á¦¹æ½ÄÀ̶ó Çϴµ¥ ³×Æ®¿öÅ© »ç¿ë·®°ú ¸Þ¸ð¸® »ç¿ë·®, ¿¡·¯ °¡´É¼ºÀÌ ³ôÀº ´ÜÁ¡À» °®°í ÀÖ´Ù. ±×·¡¼ JBossCache´Â TreeCacheAOP Ŭ·¡½º¸¦ Á¦°øÇÑ´Ù.
TreeCacheAOP´Â <±×¸² 6>°ú °°Àº »óȲ¿¡¼ ÇÑ °³ÀÇ Addr¸¸ º¹Á¦ÇÑ´Ù. ÀÌ´Â AOP¿¡ ÀÇÇØ Addr°¡ ·¹ÆÛ·±½º µÇ´Â Joe¿Í Mary °´Ã¼¸¦ ¾Ë°í Àֱ⠶§¹®ÀÌ´Ù. À̶§ Joe°¡ AddrÀ» º¯°æÇßÀ» ¶§ º¯°æµÈ Addr¸¸ º¹Á¦µÇ¾î ³×Æ®¿öÅ© »ç¿ë·®°ú ¸Þ¸ð¸® »ç¿ë·®±îÁö ÃÖ¼ÒÈ ½ÃŰ´Â °æÀÌ·Î¿î ¸¶¹ýµµ ÇÔ²² ÀÌ·ïÁø´Ù.
ÀÌ·± ¹æ½ÄÀ» ÆÄÀα׷¹Àεå(fine-grained) º¹Á¦¹æ½ÄÀ̶ó°í ºÎ¸¥´Ù. TreeCacheAOP¿¡ µî·ÏµÈ °´Ã¼´Â setter ¸Þ¼Òµå³ª ¡®=¡¯ ¿ÀÆÛ·¹ÀÌÅÍ¿¡ ÀÇÇØ ¸â¹ö º¯¼ö¸¦ º¯°æÇßÀ» ¶§ AOPÀÇ ÀÎÅͼÁÅͰ¡ µ¿ÀÛÇÏ¿© °ð¹Ù·Î ´Ù¸¥ ¼¹ö·Î º¯°æµÈ Á¤º¸¸¸ º¹Á¦ÇÑ´Ù. À̰ÍÀº JoeÀÇ ¸â¹ö º¯¼öÀÎ AddrÀÇ ¸â¹ö º¯¼ö¸¦ º¯°æÇÒ ¶§µµ ¸¶Âù°¡Áö´Ù.
°á°úÀûÀ¸·Î ¾Æ¹«¸® °´Ã¼ÀÇ ³»ºÎ ±¸Á¶°¡ ÄÄÆ÷Áö¼ÇÀ̳ª »ó¼ÓÀ¸·Î º¹ÀâÇØÁ® ÀÖ´Ù ÇÏ´õ¶óµµ Á¤±³Çϰí Á¤È®ÇÑ º¹Á¦ ¸ÞÄ¿´ÏÁòÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
½ÇÁ¦·Î JBoss´Â ¿£Æ¼Æ¼ ºó(Entity Bean) ÇÁ·¹ÀÓ¿öÅ©·Î »ç¿ëÇϰí ÀÖ´Â ÇÏÀ̹ö³×ÀÌÆ®¿¡¼ TreeCacheAOP¸¦ »ç¿ëÇÑ´Ù. ÇÏÀ̹ö³×ÀÌÆ®´Â read()ÇÒ ¶§ DB¸¦ ¸Å¹ø select ÇÏÁö ¾Ê±â À§ÇØ ³»ºÎÀûÀ¸·Î ij½Ã¸¦ Á¦°øÇÑ´Ù.
ÇÏÁö¸¸ ÀÌ ¼¹ö°¡ Ŭ·¯½ºÅ͸µÀ¸·Î ¿«¿©ÀÖ´Ù¸é ÀÌ Ä³½Ã Á¤º¸¸¦ °øÀ¯ÇÒ ¶§ È¿À²¼ºÀ» ³ôÀÏ ¼ö ÀÖ´Â °æ¿ì°¡ ÀÖ´Ù. À̶§ ÇÏÀ̹ö³×ÀÌÆ®´Â ºÐ»ê ij½Ã ¸ÞÄ¿´ÏÁòÀ¸·Î TreeCacheAOP¸¦ »ç¿ëÇÑ´Ù.
 | Ŭ·¯½ºÅ͸µ Ä¿¹Â´ÏÄÉÀ̼Ç
|  |
Ŭ·¯½ºÅ͸µÀ̶õ ÇϳªÀÇ ¼ºñ½º¸¦ À§ÇØ ¿©·¯ °³ÀÇ ¼¹ö¸¦ »ç¿ëÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. ÀÌ·¸°Ô ÇÏ¸é ºÎÇϸ¦ ºÐ»ê½ÃÄÑ ¼¹öÀÇ °¡¿ë¼ºÀ» ³ôÀÏ(Load Balancing) ¼ö ÀÖ´Ù. ¶Ç, ÀϺΠ¼¹ö¿¡ Àå¾Ö°¡ ¹ß»ýÇÏ´õ¶óµµ ³ª¸ÓÁö ¼¹öµéÀ» ÅëÇØ ¼ºñ½º°¡ Á¤»óÀûÀ¸·Î ¿î¿µÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °Í(¹«Á¤ÁöÇü, Fault Tolerant)µµ ÁÖµÈ ¸ñÀûÀÌ´Ù.
ÀÌ·¸°Ô ¿©·¯ ¼¹öµéÀÌ µ¿ÁúÀÇ ¼ºñ½º¸¦ ÇÒ ¼ö ÀÖÀ¸·Á¸é ¸ÕÀú °¢ ¼¹öµéÀÌ ¼·Î¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÏ¸ç ¼·ÎÀÇ ¸Þ¸ð¸® »óŸ¦ µ¿ÀÏÇÏ°Ô À¯ÁöÇØ¾ß ÇÑ´Ù. ÀÌ·¸°Ô ¼ºñ½ºµÇ´Â ¼¹öµéÀÇ ÁýÇÕÀ» Ŭ·¯½ºÅ͸µ ±×·ìÀ̶ó°í Çϴµ¥ JBoss¿¡¼´Â ÆÄƼ¼ÇÀ̶õ °³³äÀ¸·Î Ç¥ÇöÇÑ´Ù.
¼ºñ½º ¿î¿µ Áß ÇϳªÀÇ ¼¹ö¿¡ ¹®Á¦°¡ »ý°åÀ» ¶§ ´Ù¸¥ ¼¹ö°¡ ¼ºñ½º¸¦ ´ëüÇÒ ¼ö ÀÖÀ¸·Á¸é ¾î¶² 󸮵éÀ» ÇØ µÎ¾î¾ß ÇÒ±î? º¸Åë ÀÚ±ÝÀÌ ÃæºÐÇÏ´Ù¸é L4 ½ºÀ§Ä¡¸¦ »ç¿ëÇÑ´Ù. ÇÏÁö¸¸ ²À ½ºÀ§Ä¡¸¦ »ç¿ëÇÏÁö ¾Ê´õ¶óµµ ¼ÒÇÁÆ®¿þ¾îÀûÀ¸·Î ÇØ°áÇÒ ¼ö ÀÖ´Ù. JBoss¿¡¼´Â ÀÎÅÚ¸®ÀüÆ® ½ºÅÓ(intelligent stub)À» »ç¿ëÇÏ¿© ÀÌ ¹®Á¦¸¦ ÇØ°áÇÑ´Ù.
¿ì¸®´Â º¸Åë EJB È£ÃâÀ» À§ÇØ JNDI¸¦ ÅëÇØ EJBÀÇ ½ºÅÓÀ» ¾ò¾î¿Â´Ù. JBoss°¡ ½ºÅÓÀ» ¸¸µé ¶§ ÇϳªÀÇ EJB¿¡ ´ëÇÑ Á¤º¸¸¦ ¾ò¾î¿À´Âµ¥ ÀÎÅÚ¸®ÀüÆ® ½ºÅÓÀº ÆÄƼ¼Ç¿¡ ¼ÓÇÑ µ¿Á¾ÀÇ ´Ù¸¥ EJB È£Ãâ Á¤º¸µµ °°ÀÌ Æ÷ÇÔÇϰí ÀÖ´Ù. ±×·¡¼ ºÎÇϺлêÀ̳ª ¹«Á¤ÁöÇü 󸮸¦ ÇÒ ¶§ ´Ù¸¥ ¼¹öÀÇ µ¿ÀÏÇÑ EJB¸¦ È£ÃâÇÑ´Ù.
 |
| <±×¸² 7> JBoss Fault Tolerant |
¹°·Ð È£ÃâµÈ EJB´Â JGroups¿¡ ÀÇÇØ Àå¾Ö°¡ »ý±ä ¼¹öÀÇ EJB¿Í µ¿ÀÏÇÑ »óŸ¦ À¯ÁöÇÑ´Ù. ºÎÇÏ ºÐ»êÀÇ °æ¿ì¸¦ »ý°¢Çغ¸ÀÚ. ºÎÇϸ¦ ºÐ»ê½ÃŰ·Á¸é ÆÄƼ¼Ç¿¡ µî·ÏµÈ ¼¹öµéÀÌ ±ÕÀÏÇÏ°Ô ¼ºñ½º Çϵµ·Ï ÇØ¾ß ÇÑ´Ù(ÇϳªÀÇ ¼ºñ½º¿¡¸¸ ºÎÇϰ¡ ¸¹ÀÌ °É¸°´Ù¸é ºÎÇÏ ºÐ»êÀÌ µÇÁö ¾Ê´Â °ÍÀÌ´Ù).
ÀÎÅÚ¸®ÀüÆ® ½ºÅÓÀº ºÎÇÏ ºÐ»êÀÇ ÇüÆò¼ºÀ» º¸ÀåÇϱâ À§ÇØ ´ÙÀ½¿¡ È£ÃâÇÒ ¼ºñ½º¸¦ ¼±ÅÃÇϱâ À§ÇÑ Á¤Ã¥À» Á¦°øÇÑ´Ù. ´ÙÀ½Àº JBoss ÀÎÅÚ¸®ÀüÆ® ½ºÅÓÀÇ ºÎÇÏ ºÐ»ê Á¤Ã¥ÀÌ´Ù.
• RoundRobin : ¼ø¼ ¼øÈ¯ ¹æ½Ä
• FirstAvailable : ÆÄƼ¼Ç ³»ÀÇ ¸ðµç ¼¹öµé¿¡°Ô ÇÎ(ping)À» ³¯·Á ÃÖÃÊ·Î µµ´ÞÇÏ´Â ¼¹ö¸¦ ¼±ÅÃÇÏ´Â ¹æ½ÄÀÌ´Ù. À̶§ ¼±ÅÃµÈ ¼¹ö´Â ´Ù¸¥ Ŭ¶óÀÌ¾ðÆ®µé¿¡°Ô °øÀ¯µÇÁö ¾Ê´Â´Ù. Áï, ´Ù¸¥ Ŭ¶óÀ̾ðÆ®ÀÇ ½ºÅÓ ¸®½ºÆ®¿¡¼ Á¦°ÅµÈ´Ù.
• FirstAvailableIdenticalAllProxies : FirstAvailable¹æ½Ä°ú µ¿ÀÏÇϳª ¼±ÅÃµÈ ¼¹ö´Â ´Ù¸¥ Ŭ¶óÀÌ¾ðÆ®µµ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
Farming
Ŭ·¯½ºÅ͸µ ȯ°æ¿¡¼ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¹èÆ÷ ÇÏ´Â »óȲÀ» »ó»óÇØº¸ÀÚ. ÇϳªÀÇ ÆÄƼ¼Ç¿¡ A, B, C ¼¹ö°¡ ÀÖÀ» ¶§ A, B, C ¼ø¼·Î ¾ÖÇø®ÄÉÀ̼ÇÀ» ¹èÆ÷ ÇÑ´Ù¸é AºÎÅÍ C±îÁö ¸ðµÎ ¹èÆ÷ÇÒ µ¿¾È ¸ðµç ¼¹ö°¡ µ¿ÀÏÇÑ ¼ºñ½º¸¦ Á¦°øÇÒ ¼ö ¾ø´Ù. ¿Ö³ÄÇÏ¸é ¾ÖÇø®ÄÉÀ̼ÇÀÌ A, B, C ¼ø¼·Î ¼ºñ½ºµÇ±â ¶§¹®ÀÌ´Ù.
±×·¸´Ù°í ¼¹ö¸¦ ¸ðµÎ Á¾·áÇÏ°í ¹èÆ÷ÇÑ ÈÄ ´Ù½Ã ±âµ¿ÇÏ´Â ¹«¸ðÇÑ ½Ãµµ¸¦ ÇÒ ¼ö´Â ¾ø´Â ÀÏÀÌ´Ù. ¹«Áß´Ü ¿î¿µÀÌ º¸ÀåµÇ¾î¾ß ÇÏ´Â ¼ºñ½ºÀÇ °æ¿ì¿¡´Â ƯÈ÷ ´õ ±×·¸´Ù. ¾Æ¹«Æ° ÀÌ·± Å¿¿¡ n°³ÀÇ ¼¹ö°¡ ÀÖÀ» °æ¿ì ¾ÖÇø®ÄÉÀ̼ǵµ n¹ø ¹èÆ÷ÇØ¾ß ÇÏ´Â ºÎ´ãÀÌ »ý±ä´Ù.
JBoss´Â ÀÌ·± »óȲÀ» À§ÇØ FarmingÀ̶õ ±â¼úÀ» Á¦°øÇÑ´Ù. JBossÀÇ /farm µð·ºÅ丮¿¡ ÆÐŰ¡µÈ ¾ÖÇø®ÄÉÀÌ¼Ç ÆÄÀÏÀ» º¹»çÇϸé JBoss´Â ÀÚµ¿ÀûÀ¸·Î ÆÄƼ¼Ç ³»ÀÇ ´Ù¸¥ ¼¹öµé¿¡°Ô ¹èÆ÷ÇÑ ÆÐŰÁö ÆÄÀÏÀ» º¹Á¦ÇØÁØ´Ù.
HA-JNDI Lookup
Áö±Ý±îÁö JGroups¸¦ ±â¹ÝÀ¸·Î ÇÑ JBossÀÇ º¹Á¦¿¡ ´ëÇØ¼ ÀåȲÇÑ ¼Ò°³¸¦ Çß´Ù. Ŭ·¯½ºÅ͸µÀ» Á¦°øÇϱâ À§ÇÑ ±âº» ±â´ÉÀÌ ¸ðµç ¼¹öÀÇ »óŸ¦ µ¿±âÈ ÇÏ´Â °ÍÀ̱⿡ µ¿±âÈÀÇ ¼ö´ÜÀ¸·Î º¹Á¦¸¦ »ç¿ëÇÑ´Ù. ÇÏÁö¸¸ JBoss°¡ º¹Á¦ÇÏÁö ¾Ê´Â °ÍÀÌ ÀÖ´Ù. ¹Ù·Î JNDI ¼ºñ½º´Ù. ÇÏÀ̹ö³×ÀÌÆ® ij½Ã¿Í JNDI Æ®¸®¿¡ ´ëÇØ¼ »ý°¢Çغ¸ÀÚ.
ÇÏÀ̹ö³×ÀÌÆ® ij½Ã¿¡ ÀúÀåµÈ °´Ã¼´Â DB¿¡ insert³ª update¸¦ ¸¹ÀÌ ÇÒ¼ö·Ï »óÅ º¯È°¡ ÀÚÁÖ ÀÌ·ïÁø´Ù. ±×¸¸Å º¹Á¦°¡ ÀÌ·ïÁø´Ù. ÇÏÁö¸¸ JNDIÀÇ °æ¿ì ÀÏ´Ü ¼¹ö°¡ ±âµ¿µÇ°í ¾à°£ÀÇ ½Ã°£ÀÌ È帣¸é JNDI Æ®¸®¿¡ µî·ÏµÈ °´Ã¼´Â ±×´ÙÁö »óŸ¦ º¯°æÇÏÁö ¾Ê´Â´Ù. ¾Æ¸¶µµ ÀÌ·± ¿¬À¯¿¡¼ ±»ÀÌ Àß º¯°æµÇÁö ¾Ê´Â Á¤º¸µéÀº º¹Á¦ÇÏÁö ¾Ê´Â µíÇÏ´Ù.
ÇÏÁö¸¸ A ¼¹ö ³»ÀÇ Å¬¶óÀÌ¾ðÆ®°¡ B ¼¹ö ³»ÀÇ EJB¸¦ È£ÃâÇÒ ¶§ A ¼¹öÀÇ Å¬¶óÀÌ¾ðÆ®´Â B ¼¹öÀÇ EJBÀÇ ½ºÅÓÀ» °¡Á®¿Í¾ß ÇÑ´Ù. À̶§ A ¼¹ö´Â B ¼¹öÀÇ JNDI¸¦ ÅëÇØ B ¼¹öÀÇ EJB ½ºÅÓÀ» °¡Á®¿Ã ¼ö ÀÖ´Ù.
Ŭ·¯½ºÅ͸µ ÇÏ¿¡¼ JBoss´Â HA-JNDI((High Available-JNDI)¶ó´Â º°µµÀÇ JNDI ¼ºñ½º¸¦ Á¦°øÇÑ´Ù. HA-JNDI´Â Ŭ·¯½ºÅ͸µ ³»ÀÇ °¢ ¼¹ö¿¡°Ô ÀÚ½ÅÀÌ Ã£°íÀÚ ÇÏ´Â °´Ã¼ÀÇ ½ºÅÓÀ» °Ë»öÇÏ´Â ±â´ÉÀ» ´ã´çÇÑ´Ù. ¿ªÀ¸·Î HA-JNDI´Â ´Ù¸¥ ¼¹öÀÇ HA-JNDI°¡ ÀÚ½ÅÀÇ JNDI¸¦ °Ë»öÇÒ ¶§ °Ë»öÀ» ´ëÇàÇØÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù.
 |
| <±×¸² 8> JBoss ºôµù ºí·Ï |
<±×¸² 8>¿¡¼ Ŭ¶óÀÌ¾ðÆ®°¡ ³ëµå 3¿¡ ÀÖ´Â EJBÀÇ ½ºÅÓÀ» ¾òÀ¸·Á°í ÇÑ´Ù. óÀ½¿¡ Ŭ¶óÀÌ¾ðÆ®´Â ³ëµå 2ÀÇ HA-JNDI¿¡°Ô LookupÀ» ½ÃµµÇÑ´Ù. ³ëµå 2ÀÇ HA-JNDI´Â ³ëµå 2ÀÇ JNDI¿¡°Ô LookupÀ» Çϰí ãÁö ¸ø ÇÑ´Ù¸é, ³ëµå 2ÀÇ HA-JNDI´Â ´Ù½Ã ³ëµå 1ÀÇ HA-JNDI¿¡°Ô LookupÀ» ½ÃµµÇÑ´Ù.
ÀÌ·¸°Ô Ŭ¶óÀÌ¾ðÆ®°¡ ¿äûÇÑ EJBÀÇ ½ºÅÓÀ» ãÀ» ¶§±îÁö ÆÄƼ¼Ç ³»ÀÇ Àü ³ëµå¸¦ ¼øÈ¸ÇÏ¿© LookupÀ» ½ÃµµÇÑ´Ù. ÇÊÀÚ´Â ÀÌ ¸ðµ¨À» º¼ ¶§¸¶´Ù JGroups¸¦ ÅëÇØ ÇѲ¨¹ø¿¡ Àüü ³ëµå¿¡°Ô LookupÀ» ÇßÀ¸¸é ´õ¿í È¿À²ÀûÀ̾úÀ» °Í °°´Ù´Â »ý°¢ÀÌ µç´Ù.
»ç½Ç Ŭ·¯½ºÅ͸µÀº °³³äÀûÀÎ ºÎºÐµµ ¸¹°í ³»¿ëµµ ¹æ´ëÇØ¼ °³¹ßÀÚµéÀÌ ±× ¿ø¸®¸¦ ´õ¿í ±Ã±ÝÇØ ÇÏ´Â ºÎºÐÀÌ´Ù. ÇÏÁö¸¸ ¾î¶°ÇÑ Å¬·¯½ºÅ͸µÀÌ´ø »ç¶÷ÀÌ °³¹ßÇÑ °ÍÀ̰í, ¸·»ó ±× ¿ø¸®¸¦ ¾Ë°í ³ª¸é ±×´ÙÁö ½Å±âÇÒ °Íµµ ¾ø´Ù. ÇÁ·¹ÀÓ¿öÅ©ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÀÌÇØÇÏ´Â °Í°ú ÇÁ·¹ÀÓ¿öÅ©ÀÇ ³»ºÎ¸¦ ÀÌÇØÇÏ´Â °Íµµ ¸¶Âù°¡Áö´Ù.
¿äÁò °°Àº ¡®¿ÀǼҽº °úÀס¯ÀÇ ½Ã´ë¿¡´Â °øÂ¥·Î ¿ÀǼҽº °³¹ßÀÚÀÇ Áö½ÄÀ» ¡®º¹Á¦¡¯Çϱâ ÁÁÀº ȯ°æÀÎ µíÇÏ´Ù(¹°·Ð ¿ÀǼҽº ÇÁ·¹ÀÓ¿öÅ©ÀÇ ³»ºÎ ±¸Á¶¿¡ ´ëÇÑ ¹®¼´Â Á»Ã³·³ ±¸ÇÏ±â ¾î·Æ´Ù). ¾Æ¹«Æ° ÇÁ·¹ÀÓ¿öÅ©´Â ±× ³»ºÎ¸¦ ¾Ë¼ö·Ï Àç¹ÌÀÖ°í, Á¦´ë·Î »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ¹«¾ùº¸´Ù °³¹ßÀÚÀÇ ½Ç·ÂÀ» Çâ»ó½ÃŲ´Ù´Â °ÍÀº Ʋ¸²¾ø´Â »ç½ÇÀÌ´Ù.
ÇÁ·¹ÀÓ¿öÅ©ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÀÌÇØÇÏ´Â °Í°ú ÇÁ·¹ÀÓ¿öÅ©ÀÇ ³»ºÎ¸¦ ÀÌÇØÇÏ´Â °ÍÀÇ Â÷ÀÌ´Â °á±¹ ¡®¾Ë±â À§ÇÑ ¿ë±â¡¯ÀÇ Â÷ÀÌ Á¤µµ ¹Û¿¡ µÇÁö ¾ÊÀ» °ÍÀÌ´Ù.
 | ÇÁ·¹ÀÓ¿öÅ© Ȱ¿ë Àü¼ú
|  |
ACE/TAO ¹× ¿©·¯ ¹Ìµé¿þ¾î¿Í ÇÁ·¹ÀÓ¿öÅ©¸¦ ¾ÆÅ°ÅØÃ³ÇÑ ´õ±Û¶ó½º ½´¹ÌÃ÷ ±³¼ö´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇϴµ¥ ÀÖ¾î »ó´çÇÑ ½Ã°£À» ÅõÀÚÇØ¾ß ÇÑ´Ù°í ÁÖÀåÇÑ´Ù. º¸Åë ÇϳªÀÇ ÇÁ·¹ÀÓ¿öÅ©¸¦ ÇÁ·ÎÁ§Æ®¿¡ µµÀÔÇϸé ù ¹øÂ° ÇÁ·ÎÁ§Æ®¿¡¼´Â »ç¿ë¹ýÀ» ÀÍÈ÷´Â ¼öÁØÀ¸·Î ÇÁ·¹ÀÓ¿öÅ©¸¦ ÀÌ¿ëÇÏ°Ô µÈ´Ù.
µÎ ¹øÂ° ÇÁ·ÎÁ§Æ®¿¡¼´Â º£½ºÆ® ÇÁ·¢Æ¼½º¿Í »ç¿ë °¡À̵å¶óÀÎÀ» ¹ß°ßÇÏ°Ô µÇ°í ¼¼ ¹øÂ° ÇÁ·ÎÁ§Æ®¿¡¼¾ß ºñ·Î¼Ò ÇÁ·¹ÀÓ¿öÅ©¸¦ ´É¼÷È÷ »ç¿ëÇÒ ¼ö ÀÖ´Ù°í ÇÑ´Ù. °³ÀÎÂ÷°¡ ÀÖ°ÚÁö¸¸ ÇÁ·¹ÀÓ¿öÅ©¸¦ ´É¼÷ÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖÀ¸·Á¸é 1³â¿¡ °¡±î¿î ÇнÀ ±â°£ÀÌ ÇÊ¿äÇÏ´Ù°í ÇÑ´Ù.
ÇÏÁö¸¸ ¿ì¸®°¡ °æÇèÇÏ´Â ´ëºÎºÐÀÇ ÇÁ·ÎÁ§Æ®¿¡¼´Â Ã¥À̳ª ¸Å´º¾óÀ» Á¤µ¶Çϰí, ¸î °³ÀÇ »ùÇÃÄڵ带 µû¶ó ÇØº¸°í, ¾à°£ÀÇ ¾ÈÀü¼ºÀ» Å×½ºÆ® ÇÑ ÈÄ °ð¹Ù·Î ÇÁ·¹ÀÓ¿öÅ©¸¦ µµÀÔÇÏ´Â °æ¿ì°¡ Çã´ÙÇÏ´Ù(»ç½Ç ÇÊÀÚÀÇ °æÇè¿¡ µû¸£¸é À̺¸´Ù ÈξÀ ÀûÀº ³ë·ÂÀ» Èñ»ýÇÑ´Ù).
¹°·Ð ȯ°æÀû Á¦¾à¿¡ ÀÇÇØ¼ ÃæºÐÇÑ ½Ã°£À» ÅõÀÚÇÒ ¼ö ¾ø¾úÁö¸¸ ½À°üÀûÀ¸·Î ÇÁ·¹ÀÓ¿öÅ© ÇнÀ¿¡ ´ëÇÑ ÅõÀÚ¸¦ °ÔÀ»¸® ÇÏ´Â °æÇâÀÌ ÀÖ´Ù. ÀÌ·¸°Ô »ç¿ëµÈ ÇÁ·¹ÀÓ¿öÅ©´Â óÀ½¿¡ ¹ß°ßÇÏÁö ¸øÇÑ ¹®Á¦·Î ÇÁ·ÎÁ§Æ® Áß, ÈĹݿ¡ °ñÄ©°Å¸®·Î Àü¶ôÇÏ´Â °æ¿ì°¡ ¸¹´Ù. ÇÁ·¹ÀÓ¿öÅ©¸¦ ÃæºÐÈ÷ ÀÌÇØÇÏÁö ¾Ê°í ÇÁ·ÎÁ§Æ®¿¡ Àû¿ëÇÑ Å¿ÀÌ´Ù.
ÇÁ·¹ÀÓ¿öÅ©¿¡ ´ëÇÑ ÃæºÐÇÑ ÀÌÇØ°¡ ¾øÀ¸´Ï ÃÖÀûÈµÈ »ç¿ëÀ» ÇÒ ¼ö ¾øÀ»»Ó´õ·¯, ÇÁ·¹ÀÓ¿öÅ© ±Ô¸ð¿¡ ºñÇØ ³Ê¹« ÀûÀº ÀϺΠ±â´É¸¸ »ç¿ëÇÏ´Â °æ¿ìµµ Çã´ÙÇÏ´Ù. ÇÁ·¹ÀÓ¿öÅ©¸¦ µµÀÔÇϱâ Àü¿¡ ÃæºÐÇÑ ½Ã°£ ÅõÀÚ°¡ ÇÊ¿äÇÏ´Ù.
JBoss´Â ±× ÀÚü·Îµµ ÈǸ¢ÇÑ ÇÁ·¹ÀÓ¿öÅ©Áö¸¸, JBoss ³»ºÎÀÇ ¼ºê ÇÁ·¹ÀÓ¿öÅ©µµ È¿¿ë°¡Ä¡°¡ ÃæºÐÈ÷ ³ô´Ù. JBossCache, JGroups, JBoss Remoting µî °³°³ÀÇ ÇÁ·¹ÀÓ¿öÅ©·Îµµ »ó´çÈ÷ °·ÂÇÑ ±â´ÉÀ» ÇÏ´Â °ÍµéÀÌ JBoss ÇÁ·ÎÁ§Æ®¿¡´Â ¸¹ÀÌ ÀÖ´Ù. ÇÊÀÚ´Â JBossÀÇ ³»ºÎ ±¸Á¶¸¦ °øºÎÇÏ¸é¼ JBoss º¸´Ù JBoss ³»ºÎÀÇ °³°³ÀÇ ÇÁ·¹ÀÓ¿öÅ©¿¡ ´õ Å« ¸Å·ÂÀ» ´À²¼´Ù.
JBoss´Â ÀÌ·± °³º° ÇÁ·¹ÀÓ¿öÅ©µéÀÌ À̸ÓÀü½º µÇ¾î ºôµù ºí·ÏÀÇ ÁýÇÕü°¡ µÈ °ÍÀÌ´Ù. ÀÌ ¸ðµ¨Àº JBoss¸¦ »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ¿¡°Ôµµ Àǹ̽ÉÀåÇÑ ¸Þ½ÃÁö¸¦ Àü´ÞÇÑ´Ù. ¿ì¸®µµ JBoss¸¦ ÀÌ¿ëÇÏ¿© ´õ ¿Ï¼ºµÈ ºÎ°¡°¡Ä¡¸¦ °®´Â ¹«¾ùÀ» ¸¸µé ¼ö Àֱ⠶§¹®ÀÌ´Ù.
´ÜÁö ¿ì¸®°¡ ¿°µÎÇØ¾ß ÇÒ °ÍÀº »ç¿ëÇÒ ÇÁ·¹ÀÓ¿öÅ©¸¦ ÃæºÐÈ÷ ÀÌÇØÇÏ¿© ±× ÇÁ·¹ÀÓ¿öÅ©¿Í ³ªÀÇ Äڵ带 Á¶ÇÕÇÏ¿© â¹ßÀ» ¸¸µé¾î ³»·Á´Â ³ë·ÂÀ» ÀØÁö ¾Ê´Â °ÍÀÌ´Ù. @
* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.