Korea |
| ||
IBM Ȩ | Á¦Ç° & ¼ºñ½º | °í°´Áö¿ø & ´Ù¿î·Îµå | ȸ¿ø°¡ÀÔ |
Java theory and practice: JTS ÀÌÇØÇϱâ - À帷 µÚÀÇ ¸¶¹ý |
|||
J2EE ÄÁÅ×À̳ʰ¡ Æ®·£Àè¼Ç °ü¸®ÀÇ º¹À⼺À» ¼û±â´Â ¹æ¹ý
Part 1¿¡¼ Æ®·£Àè¼ÇÀ» °ËÅäÇÏ°í ±×µéÀÇ ±âº» Ư¼ºÀÎ ¿øÀÚ¼º, ÀÏ°ü¼º, °Ý¸®¼º ¹× ¿µ¼Ó¼ºÀ» »ìÆ캸¾Ò´Ù. Æ®·£Àè¼ÇÀº ±â¾÷ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±âÃÊÀûÀÎ ±¸¼º ¿ä¼ÒÀÌ´Ù. Æ®·£Àè¼Ç ¾øÀÌ´Â ³»°áÇÔ¼ºÀ» °®Ãá ±â¾÷ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸ÃàÀÌ °ÅÀÇ ºÒ°¡´ÉÇÒ °ÍÀÌ´Ù. ´ÙÇàÈ÷µµ Java Transaction Service (JTS)¿Í J2EE ÄÁÅ×À̳ʴ ¿©·¯ºÐÀ» À§ÇØ Æ®·£Àè¼Ç °ü¸® ÀÛ¾÷ÀÇ »ó´ç ºÎºÐÀ» ÀÚµ¿ÀûÀ¸·Î ¼öÇàÇϸç, µû¶ó¼ ¿©·¯ºÐÀº ¿©·¯ºÐÀÇ ÄÄÆ÷³ÍÆ® Äڵ忡 Á÷Á¢ Æ®·£Àè¼Ç ÀÎ½Ä ±â´ÉÀ» ÅëÇÕÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ±× °á°ú´Â °ÅÀÇ ÀÏÁ¾ÀÇ ¸¶¹ýÀ̶ó ÇÒ ¼ö ÀÖ´Ù. ¸î °¡Áö °£´ÜÇÑ ±ÔÄ¢À» µû¸§À¸·Î½á J2EE ¾ÖÇø®ÄÉÀ̼ÇÀº Ãß°¡ÀûÀÎ ÄÄÆ÷³ÍÆ® ÄÚµå ¾øÀÌ Æ®·£Àè¼Ç Àǹ̷ÐÀ» ÀÚµ¿ÀûÀ¸·Î ¾òÀ» ¼ö ÀÖ´Ù. ÀÌ ±ÛÀº Æ®·£Àè¼Ç °ü¸®°¡ ¾î¶»°Ô, ±×¸®°í ¾îµð¿¡¼ ¼öÇàµÇ´ÂÁö¸¦ º¸¿©ÁÜÀ¸·Î½á ÀÌ ¸¶¹ýÀÇ ÀϺÎÀÇ ½Åºñ¸¦ ¹þ±â´Â µ¥ ¸ñÇ¥¸¦ µÐ´Ù. JTS´Â ÄÄÆ÷³ÍÆ® Æ®·£Àè¼Ç ¸ð´ÏÅÍÀÌ´Ù. ÀÌ°ÍÀº ¹«½¼ ¶æÀΰ¡? Part 1¿¡¼ ¿ì¸®´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» ´ë½ÅÇØ ºÐ»êµÇ¾î ÀÖ´Â Æ®·£Àè¼ÇµéÀÇ ½ÇÇàÀ» Á¶Á¤ÇÏ´Â Æ®·£Àè¼Ç ó¸® ¸ð´ÏÅÍ (TPM)¶ó´Â °³³äÀ» ¼Ò°³ÇÏ¿´´Ù. TPMÀº °ÅÀÇ µ¥ÀÌÅͺ£À̽º¸¸Å ¿À·¡µÈ °ÍÀÌ´Ù. IBMÀÌ 1960³â´ë ÈĹݿ¡ ÃÖÃÊ·Î CICS¸¦ °³¹ßÇߴµ¥, ÀÌ°ÍÀº Áö±Ýµµ ¿©ÀüÈ÷ »ç¿ëµÇ°í ÀÖ´Ù. °íÀüÀûÀÎ (ȤÀº ÀýÂ÷ÀûÀÎ) TPMÀº Á¤ÀÇµÈ Æ®·£Àè¼ÇµéÀ» Æ®·£Àè¼Ç ÀÚ¿ø (µ¥ÀÌÅͺ£À̽º µî)¿¡ ´ëÇÑ ¿¬¼ÓÀûÀÎ ÀÛ¾÷À¸·Î½á ÀýÂ÷ÀûÀ¸·Î °ü¸®ÇÑ´Ù. CORBA, DCOM, RMI¿Í °°Àº ºÐ»ê °´Ã¼ ÇÁ·ÎÅäÄÝÀÇ ÃâÇöÀ¸·Î Æ®·£Àè¼Ç¿¡ ´ëÇÑ º¸´Ù °´Ã¼ ÁöÇâÀûÀÎ °ßÇØ°¡ ¹Ù¶÷Á÷ÇÏ°Ô µÇ¾ú´Ù. °´Ã¼ ÁöÇâ ÄÄÆ÷³ÍÆ®¿¡ Æ®·£Àè¼ÇÀûÀÎ Àǹ̷ÐÀ» ÁÖ·Á¸é TPM ¸ðµ¨ÀÇ È®ÀåÀÌ ÇÊ¿äÇѵ¥, ¿©±â¿¡¼´Â Æ®·£Àè¼ÇÀÌ Æ®·£Àè¼ÇÀûÀÎ °´Ã¼¿¡ ´ëÇÑ ¸Þ½îµå¸¦ È£ÃâÇÏ´Â Ãø¸é¿¡¼ Á¤ÀǵȴÙ. JTS´Â ¹Ù·Î ±×°ÍÀÌ´Ù. ÄÄÆ÷³ÍÆ® Æ®·£Àè¼Ç ¸ð´ÏÅÍ (¶§¶§·Î °´Ã¼ Æ®·£Àè¼Ç ¸ð´ÏÅÍ), Áï CPMÀÌ´Ù. JTS¿Í J2EEÀÇ Æ®·£Àè¼Ç Áö¿ø ¼³°è´Â CORBA °´Ã¼ Æ®·£Àè¼Ç ¼ºñ½º (OTS)ÀÇ ¿µÇâÀ» ¸¹ÀÌ ¹Þ¾Ò´Ù. »ç½Ç JTS´Â OTS¸¦ ±¸ÇöÇÏ°í, Æ®·£Àè¼Ç °æ°è¸¦ Á¤ÀÇÇÏ´Â ÇÏÀ§ ·¹º§ APIÀÎ ÀÚ¹Ù Æ®·£Àè¼Ç API¿Í OTS°£ÀÇ ÀÎÅÍÆäÀ̽º ¿ªÇÒÀ» ÇÑ´Ù. »õ·Î¿î °´Ã¼ Æ®·£Àè¼Ç ÇÁ·ÎÅäÄÝÀ» ¸¸µå´Â ´ë½Å OTS¸¦ »ç¿ëÇÏ¸é ±âÁ¸ Ç¥Áص鿡¼ ±¸ÃàÇÒ ¼ö ÀÖÀ¸¸ç J2EE¿Í CORBA ÄÄÆ÷³ÍÆ®°£ÀÇ È£È¯À» À§ÇÑ ±æÀÌ ¿¸°´Ù. ¾ð¶æ º¸¸é ÀýÂ÷Àû Æ®·£Àè¼Ç ¸ð´ÏÅÍ¿¡¼ CPMÀ¸·ÎÀÇ ÀÌÇàÀº ´ÜÁö ¿ë¾îÀÇ º¯È·Î¸¸ º¸¿©Áø´Ù. ±×·¯³ª Â÷ÀÌ´Â ´õ Å©´Ù. CPM ³»ÀÇ
ÇÑ Æ®·£Àè¼ÇÀÌ È®¾àµÇ°Å³ª ·Ñ¹éµÇ¸é Æ®·£Àè¼Ç¿¡ °ü¿©ÇÑ °´Ã¼¿¡ ÀÇÇØ ¼öÇàµÈ ¸ðµç º¯°æ »çÇ×µéÀÌ ÇϳªÀÇ ±×·ìÀ¸·Î È®¾àµÇ°Å³ª Ãë¼ÒµÈ´Ù.
±×·±µ¥ CTMÀº ±× Æ®·£Àè¼Ç °úÁ¤ µ¿¾È °´Ã¼°¡ ¹«¾ùÀ» Çß´ÂÁö¸¦ ¾î¶»°Ô ¾Ë±î? EJB ÄÄÆ÷³ÍÆ®¿Í °°Àº Æ®·£Àè¼Ç ÄÄÆ÷³ÍÆ®µéÀº
¾ÖÇø®ÄÉÀÌ¼Ç »óÅ´ ÄÄÆ÷³ÍÆ®¿¡ ÀÇÇØ Á¶ÀÛµÇÁö¸¸ ¿©ÀüÈ÷ Æ®·£Àè¼Ç ÀÚ¿ø °ü¸®ÀÚ (¿¹ : µ¥ÀÌÅͺ£À̽º¿Í ¸Þ½ÃÁö Å¥ ¼¹ö)¿¡ ÀúÀåµÇ¸ç, ÀÌ´Â ºÐ»ê Æ®·£Àè¼Ç¿¡ ÀÚ¿ø °ü¸®ÀÚ·Î µî·ÏµÉ ¼ö ÀÖ´Ù. Part 1¿¡¼ ¿ì¸®´Â º¹¼öÀÇ ÀÚ¿ø °ü¸®ÀÚ°¡ ÇϳªÀÇ Æ®·£Àè¼Ç¿¡ ¾î¶»°Ô µî·ÏµÇ°í Æ®·£Àè¼Ç °ü¸®ÀÚ¿¡ ÀÇÇØ Á¶Á¤µÉ ¼ö ÀÖ´ÂÁö¿¡ °üÇØ ¼³¸íÇß´Ù. ÀÚ¿ø °ü¸®Àڴ ƯÁ¤ Æ®·£Àè¼Ç°ú ¾ÖÇø®ÄÉÀÌ¼Ç »óÅ º¯È¸¦ ¿¬°á½ÃÅ°´Â ¹æ¹ýÀ» ¾Ë°í ÀÖ´Ù. ±×·¯³ª ÀÌ°ÍÀº ¿ì¸® Áú¹®ÀÇ Æ÷Ä¿½º¸¦ ÄÄÆ÷³ÍÆ®¿¡¼ ÀÚ¿ø °ü¸®ÀÚ·Î ¿Å±â´Â °ÍÀÏ »ÓÀÌ´Ù. ÄÁÅ×À̳ʴ ¾î¶² ÀÚ¿øµéÀÌ Æ®·£Àè¼Ç¿¡ °ü¿©Çß´ÂÁö¸¦ ¾î¶»°Ô ¾Ë°í À̵éÀ» µî·Ï½Ãų ¼ö ÀÖÀ»±î? ÀϹÝÀûÀÎ EJB ¼¼¼Ç ºó¿¡¼ º¼ ¼ö ÀÖ´Â ´ÙÀ½ Äڵ带 °ËÅäÇØ º¸ÀÚ. Listing 1.ºóÀÌ °ü¸®ÇÏ´Â Æ®·£Àè¼Ç¿¡ ÀÚ¿øÀ» Åõ¸íÇÏ°Ô µî·Ï½ÃÅ°±â
ÀÌ ¿¹Á¦¿¡´Â ÇöÀçÀÇ Æ®·£Àè¼Ç¿¡ JDBC ¿¬°áÀ» µî·Ï½ÃÅ°´Â Äڵ尡 ¾ø´Ù´Â Á¡¿¡ ÁÖ¸ñÇÑ´Ù. ÄÁÅ×À̳ʰ¡ À̸¦ ¼öÇàÇÑ´Ù. ÀÌ°ÍÀÌ ¾î¶»°Ô ÀϾ´ÂÁö¸¦ »ìÆ캸ÀÚ. ÇÑ EJB ÄÄÆ÷³ÍÆ®°¡ µ¥ÀÌÅͺ£À̽º³ª ¸Þ½ÃÁö Å¥ ¼¹ö, ȤÀº ´Ù¸¥ Æ®·£Àè¼Ç ÀÚ¿øµé¿¡ Á¢±ÙÇÏ·Á°í ÇÒ ¶§ ÀÌ ÄÄÆ÷³ÍÆ®´Â ÀÚ¿ø °ü¸®ÀÚ¿¡ ¿¬°áµÈ´Ù (º¸Åë JNDI¸¦ »ç¿ëÇÏ¿©). ´õ±¸³ª J2EE »ç¾çÀº ´ÜÁö ¼¼ À¯ÇüÀÇ Æ®·£Àè¼Ç ÀÚ¿ø¸¸ ÀνÄÇϴµ¥, JDBC µ¥ÀÌÅͺ£À̽º, JMS ¸Þ½ÃÁö Å¥ ¼¹ö ¹× "JCA¸¦ ÅëÇØ Á¢±ÙµÇ´Â ´Ù¸¥ Æ®·£Àè¼Ç ¼ºñ½º"°¡ ±×°ÍÀÌ´Ù. ¸¶Áö¸· Ŭ·¡½º¿¡ ÀÖ´Â ¼ºñ½ºµé (ERP ½Ã½ºÅÛ°ú °°Àº)Àº JCA (J2EE COnnector Architecture)¸¦ ÅëÇØ Á¢±ÙµÇ¾î¾ß ÇÑ´Ù. ÀÌ ÀÚ¿ø À¯Çüµé °¢°¢¿¡ ´ëÇØ, ÄÁÅ×À̳ʳª Á¦°øÀÚ°¡ ÀÚ¿øÀ» Æ®·£Àè¼Ç¿¡ µî·Ï½ÃÅ°´Â °ÍÀ» µ½´Â´Ù. Listing 1¿¡¼ ¸ðµç J2EE ÄÁÅ×À̳ʴ Ʈ·£Àè¼Ç 󸮰¡ °¡´ÉÇÑ Ç® ¹æ½ÄÀÇ DataSource °´Ã¼µéÀ» »ý¼ºÇÒ ¼ö ÀÖÁö¸¸, J2EE »ç¾çÀº ¿©·¯ºÐ¿¡°Ô ±× ¹æ½ÄÀ» º¸¿©ÁÖÁö ¾Ê´Â´Ù. ÀÌ°ÍÀº ½ºÆå ¹ÛÀÇ ÀÏÀ̱⠶§¹®ÀÌ´Ù. J2EE ¹®¼¸¦ °Ë»öÇØ º¸¸é JDBC µ¥ÀÌÅÍ ¼Ò½º¸¦ »ý¼ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ´Â ¾Æ¹«°Íµµ ¹ß°ßÇÏÁö ¸øÇÒ °ÍÀÌ´Ù. ¿©·¯ºÐÀº ´ë½Å ¿©·¯ºÐÀÇ ÄÁÅ×À̳ʿ¡ °üÇÑ ¹®¼¸¦ »ìÆì º¸¾Æ¾ß ÇÒ °ÍÀÌ´Ù. ¿©·¯ºÐÀÇ ÄÁÅ×À̳ʿ¡ µû¶ó, µ¥ÀÌÅÍ ¼Ò½º »ý¼ºÀº µ¥ÀÌÅÍ ¼Ò½º Á¤ÀǸ¦ Ư¼ºÀ̳ª ¼³Á¤ ÆÄÀÏ¿¡ Ãß°¡ÇÏ´Â ÀÛ¾÷À» Æ÷ÇÔÇÒ ¼öµµ ÀÖ°í GUI °ü¸® ÅøÀ» ÅëÇØ ¼öÇàµÉ ¼öµµ ÀÖ´Ù. °¢ ÄÁÅ×ÀÌ³Ê (ȤÀº PoolMan°ú °°Àº ¿¬°á Ç® ¸Å´ÏÀú)´Â ´Ù¸¥ À¯ÇüÀÇ Æ®·£Àè¼Ç ÀÚ¿øÀÎ JMS ¸Þ½ÃÁö Å¥¿Í JCA connector´Â »ç¿ëÀÚ¿¡°Ô ÀÚ¿ø µî·ÏÀ» ¼û±â±â À§ÇØ À¯»çÇÑ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÑ´Ù. ¹èÄ¡½Ã¿¡ J2EE ¾ÖÇø®ÄÉÀ̼ǿ¡ JMS Å¥¸¦ »ç¿ë°¡´ÉÇϵµ·Ï ¸¸µé ¶§ ¿©·¯ºÐÀº ´Ù½Ã Á¦°øÀÚ¿¡ µû¶ó µ¶ÀÚÀûÀÎ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÏ¿© °ü¸®µÈ JMS °´Ã¼ (Å¥ ¿¬°á ÆÑÅ丮¿Í ¼ö½ÅÁö)¸¦ »ý¼ºÇϴµ¥, À̸¦ JNDI À̸§ °ø°£¿¡ °ø°³ÇÑ´Ù. Á¦°øÀÚ°¡ »ý¼ºÇÑ °ü¸®µÈ °´Ã¼´Â ÄÁÅ×À̳ʰ¡ Á¦°øÇÑ ¿¬°á Ç® °ü¸®ÀÚ¿¡ ÀÇÇØ Ãß°¡µÈ JDBC wrapper¿Í À¯»çÇÑ ÀÚµ¿ µî·Ï Äڵ带 °¡Áö°í ÀÖ´Ù. µÎ À¯ÇüÀÇ J2EE Æ®·£Àè¼Ç - ÄÁÅ×À̳ʰ¡ °ü¸®ÇÏ´Â Æ®·£Àè¼Ç°ú ºóÀÌ °ü¸®ÇÏ´Â Æ®·£Àè¼Ç-Àº Æ®·£Àè¼ÇÀ» ½ÃÀÛ½ÃÅ°°í ³¡³»´Â ¹æ¹ýÀÌ
Ʋ¸®´Ù. ÇÑ Æ®·£Àè¼ÇÀÌ ½ÃÀÛµÇ°í ³¡³ª´Â °÷À» Æ®·£Àè¼Ç ±¸ºÐ (transaction
demarcation)À̶ó°í ºÎ¸¥´Ù. Listing 1ÀÇ ¿¹Á¦ ÄÚµå´Â ºóÀÌ °ü¸®ÇÏ´Â Æ®·£Àè¼Ç(¶§·Î ÇÁ·Î±×·¥ÀûÀÎ
Æ®·£Àè¼ÇÀ̶ó°í ºÒ¸²)À» º¸¿©ÁØ´Ù. ºóÀÌ °ü¸®ÇÏ´Â Æ®·£Àè¼ÇÀº ÄÁÅ×À̳ʰ¡ °ü¸®ÇÏ´Â Æ®·£Àè¼Ç (Áï ¼±¾ðÀû Æ®·£Àè¼Ç)Àº ÄÄÆ÷³ÍÆ®ÀÇ ¹èÄ¡ ±â¼úÀÚ ³»¿¡ ÀÖ´Â Æ®·£Àè¼Ç ¼Ó¼º¿¡ µû¶ó
¾ÖÇø®ÄÉÀ̼ÇÀ» ´ë½ÅÇÏ¿© ÄÁÅ×À̳ʿ¡ ÀÇÇØ Åõ¸íÇÏ°Ô ½ÃÀÛµÇ°í ³¡³´Ù. ¿©·¯ºÐÀº ÄÁÅ×À̳ʰ¡ °ü¸®ÇÏ´Â Æ®·£Àè¼ÇÀ¸·Î ¿©·¯ºÐÀº EJB Ŭ·¡½º³ª ¸Þ½îµå ·¹º§¿¡ Æ®·£Àè¼Ç ¼Ó¼ºÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿©·¯ºÐÀº EJB
Ŭ·¡½º¿¡ ´ëÇÑ ±âº» Æ®·£Àè¼Ç ¼Ó¼º ¼¼Æ®¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ°í, ¶ÇÇÑ ´Ù¸¥ ¸Þ½îµåµéÀÌ °¢±â ´Ù¸¥ Æ®·£Àè¼Ç Àǹ̷ÐÀ» °¡Áö°í ÀÖ¾î¾ß ÇÒ °æ¿ì
°¢ ¸Þ½îµå¿¡ ´ëÇØ ¼Ó¼ºÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ Æ®·£Àè¼Ç ¼Ó¼ºÀº ¾î¼Àºí¸® µð½ºÅ©¸³ÅÍÀÇ ÄÁÅ×À̳Ê- Æ®·£Àè¼Ç ¼½¼Ç¿¡ ÁöÁ¤µÈ´Ù. ¿¹Á¦
¾î¼Àºí¸® µð½ºÅ©¸³ÅÍ°¡ Listing 2¿¡ ³ª¿Í ÀÖ´Ù.
Listing 1ÀÇ ¿¹Á¦¿Í´Â ´Þ¸® ¼±¾ðÀû Æ®·£Àè¼Ç ±¸ºÐ¿¡¼´Â ÄÄÆ÷³ÍÆ® ¸Þ½îµå¿¡ Æ®·£Àè¼Ç °ü¸® Äڵ尡 ¾ø´Ù. ÀÌ Á¡Àº °á°ú·Î ³ª¿À´Â ÄÄÆ÷³ÍÆ®¸¦ ´õ Àб⠽±°Ô ÇÏÁö¸¸ (Æ®·£Àè¼Ç °ü¸® ÄÚµå¿Í µÚ¼¯¿© ÀÖÁö ¾Ê±â ¶§¹®¿¡), ¶Ç´Ù¸¥ ´õ Áß¿äÇÑ ÀÌÁ¡À» °¡Áö°í Àִµ¥, ÄÄÆ÷³ÍÆ®ÀÇ Æ®·£Àè¼Ç Àǹ̷ÐÀÌ ÄÄÆ÷³ÍÆ®ÀÇ ¼Ò½º Äڵ带 ¼öÁ¤ÇÏÁö ¾Ê°í ½ÉÁö¾î´Â ¿©±â¿¡ Á¢±ÙÇÏÁö ¾Ê°íµµ ¾ÖÇø®ÄÉÀÌ¼Ç ¾î¼Àºí¸® ½ÃÁ¡¿¡ º¯°æµÉ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù. Æ®·£Àè¼Ç ±¸ºÐÀ» ÄÚµå¿Í º°°³·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀº ¾ÆÁÖ °·ÂÇÑ ±â´ÉÀÌÁö¸¸ ¾î¼Àºí¸® ½Ã¿¡ À߸øµÈ °áÁ¤À» ÇÏ¸é ¿©·¯ºÐ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¾ÈÁ¤ÀûÀÌÁö ¸øÇÏ°Ô Çϰųª ±× ¼º´ÉÀ» ½É°¢ÇÏ°Ô ÇØÄ¥ ¼ö ÀÖ´Ù. ÄÁÅ×À̳ʰ¡ °ü¸®ÇÏ´Â Æ®·£Àè¼ÇÀ» ¿Ã¹Ù·Î ±¸ºÐÇϴ åÀÓÀº ÄÄÆ÷³ÍÆ® °³¹ßÀÚ¿Í ¾ÖÇø®ÄÉÀÌ¼Ç ¾î¼Àºí·¯ »çÀÌ¿¡ °øÀ¯µÇ¾î ÀÖ´Ù. ÄÄÆ÷³ÍÆ® °³¹ßÀÚ´Â ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÄ¡ÀÚ°¡ ¾ÖÇø®ÄÉÀ̼ÇÀÇ Æ®·£Àè¼ÇµéÀ» ¾î¶»°Ô ü°èÈÇÒÁö¿¡ ´ëÇØ Çö¸íÇÑ ÆÇ´ÜÀ» ³»¸± ¼ö ÀÖµµ·Ï ÄÄÆ÷³ÍÆ®ÀÇ ¿ªÇÒ¿¡ ´ëÇØ ÃæºÐÇÑ ¹®¼¸¦ Á¦°øÇØ¾ß ÇÑ´Ù. ¾ÖÇø®ÄÉÀÌ¼Ç ¾î¼Àºí·¯´Â Æ®·£Àè¼ÇÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÀÏ°ü¼ºÀ» ÁöÅ°°í ¼º´ÉÀ» ÇØÄ¡Áö ¾Ê°Ô ±¸ºÐµÉ ¼ö ÀÖµµ·Ï ¾ÖÇø®ÄÉÀÌ¼Ç ³»ÀÇ ÄÄÆ÷³ÍÆ®µéÀÌ ¾î¶»°Ô »óÈ£ÀÛ¿ëÇÏ´ÂÁö¸¦ ÀÌÇØÇØ¾ß ÇÑ´Ù. ¿ì¸®´Â ÀÌ ½Ã¸®ÁîÀÇ Part 3¿¡¼ ÀÌ ¹®Á¦µéÀ» ¼³¸íÇÏ°Ú´Ù. µÎ À¯ÇüÀÇ Æ®·£Àè¼Ç ¸ðµÎ¿¡¼ ÀÚ¿ø ÇÒ´çÀº Åõ¸íÇÏ´Ù. ÄÁÅ×À̳ʴ Ʈ·£Àè¼Ç °úÁ¤ µ¿¾È »ç¿ëµÇ´Â ¾î¶² Æ®·£Àè¼Ç ÀÚ¿øÀÌ¶óµµ ÇöÀçÀÇ Æ®·£Àè¼Ç¿¡ ÀÚµ¿À¸·Î µî·ÏÇÑ´Ù. ÀÌ ÇÁ·Î¼¼½º´Â Listing 1¿¡¼ ¾ò¾îÁö´Â µ¥ÀÌÅͺ£À̽º ¿¬°á°ú °°Àº Æ®·£Àè¼Ç ¸Þ½îµå »Ó ¾Æ´Ï¶ó ÀÌ°ÍÀÌ È£ÃâÇÏ´Â ¸Þ½îµå, ½ÉÁö¾î´Â ¿ø°Ý ¸Þ½îµå¿¡ ÀÇÇØ »ç¿ëµÇ´Â ÀÚ¿ø±îÁöµµ È®ÀåµÈ´Ù. ÀÌ°ÍÀÌ ¾î¶»°Ô ÀϾ´ÂÁö¸¦ »ìÆ캸ÀÚ. ÄÁÅ×À̳ʴ Ʈ·£Àè¼ÇÀ» ¾²·¹µå¿Í ¿¬°á½ÃŲ´Ù. °¡·É °´Ã¼ AÀÇ Æ®·£Àè¼ÇÀÌ Ãʱâ鵃 ¶§ Æ®·£Àè¼Ç ¹®¸ÆÀº ½ÇÇà ¾²·¹µå¿Í ¿¬°áµÈ´Ù. A°¡ Æ®·£Àè¼ÇÀ» »ý¼ºÇϸé A°¡ ½ÇÇàÇÏ°í ÀÖ´Â ¾²·¹µå°¡ Æ®·£Àè¼Ç¿¡ ¿¬°áµÈ´Ù. ·ÎÄà ¸Þ½îµå È£ÃâÀº È£ÃâÀÚ¿Í µ¿ÀÏÇÑ ¾²·¹µå¿¡¼ ½ÇÇàµÇ±â ¶§¹®¿¡ A°¡ È£ÃâÇÑ ¸Þ½îµå ¿ª½Ã ±× Æ®·£Àè¼ÇÀÇ ¹®¸Æ ³»¿¡ ÀÖÀ» °ÍÀÌ´Ù. °´Ã¼ B°¡ ½ÇÁ¦·Î ´Ù¸¥ ¾²·¹µå, ½ÉÁö¾î´Â ´Ù¸¥ JVM¿¡¼ ¼öÇàµÇ°í ÀÖ´Â EJB ÄÄÆ÷³ÍÆ®¿¡ ´ëÇÑ ½ºÅÓÀ̶ó¸é ¾î¶°ÇÑ°¡? ³î¶ø°Ôµµ, ¿ø°Ý °´Ã¼ B°¡ Á¢±ÙÇÏ´Â ÀÚ¿øµéÀÌ ¿©ÀüÈ÷ ÇöÀçÀÇ Æ®·£Àè¼Ç¿¡ µî·ÏµÇ¾î ÀÖ´Ù. EJB °´Ã¼ ½ºÅÓ (È£ÃâÀÚÀÇ ¹®¸Æ¿¡¼ ½ÇÇàµÇ´Â ºÎºÐ), EJB ÇÁ·ÎÅäÄÝ (IIOP»çÀÇ RMI) ¹× ¿ø°ÝÁö¿¡ ÀÖ´Â ½ºÄÌ·¯Æ° °´Ã¼´Â ¸ðµÎ ÈûÀ» ÇÕÃÄ ÀÌ°ÍÀÌ Åõ¸íÇÏ°Ô ¹ß»ýµÇµµ·Ï ÇÑ´Ù. ½ºÅÓÀº È£ÃâÀÚ°¡ Æ®·£Àè¼ÇÀ» ¼öÇàÇÏ°í ÀÖ´ÂÁö¸¦ °áÁ¤ÇÑ´Ù. ¼öÇàÇÏ°í ÀÖ´Ù¸é Æ®·£Àè¼Ç ID, Áï Xid°¡ ¸Þ½îµå ¸Å°³º¯¼ö¿Í ÇÔ²² IIOP È£ÃâÀÇ ÀϺηΠ¿ø°Ý °´Ã¼¿¡ ÀüÇØÁø´Ù. (IIOP´Â CORBA ¿ø°Ý È£Ãâ ÇÁ·ÎÅäÄݷνá, Æ®·£Àè¼Ç ¹®¸ÆÀ̳ª º¸¾È ¹®¸Æ°ú °°Àº ½ÇÇà ¹®¸ÆÀÇ ´Ù¾çÇÑ ¿ä¼Ò¸¦ Àü´ÞÇϱâ À§ÇØ Á¦°øµÈ´Ù. (Âü°íÀÚ·á) È£ÃâÀÌ Æ®·£Àè¼ÇÀÇ ÀϺζó¸é ¿ø°Ý ½Ã½ºÅÛ¿¡ ÀÖ´Â ½ºÄÌ·¯Æ° °´Ã¼°¡ ¿ø°Ý ¾²·¹µåÀÇ Æ®·£Àè¼Ç ¹®¸ÆÀ» ÀÚµ¿À¸·Î ¼³Á¤ÇÏ¿©, ½ÇÁ¦ ¿ø°Ý ¸Þ½îµå°¡ È£ÃâµÇ¾úÀ» ¶§ ÀÌ°ÍÀÌ ÀÌ¹Ì Æ®·£Àè¼ÇÀÇ ÀϺΰ¡ µÇ¾î ÀÖ´Ù. (½ºÅÓ°ú ½ºÄÌ·¯Æ° °´Ã¼´Â ¶ÇÇÑ ÄÁÅ×À̳ʰ¡ °ü¸®ÇÏ´Â Æ®·£Àè¼ÇÀÇ ½ÃÀÛ°ú È®¾àÀ» °ü¸®ÇÑ´Ù.) Æ®·£Àè¼ÇÀº EJB ÄÄÆ÷³ÍÆ®, ¼ºí¸´, JSP ÆäÀÌÁö (ȤÀº ÄÁÅ×À̳ʰ¡ Áö¿øÇÒ °æ¿ì ¾ÖÇø®ÄÉÀÌ¼Ç Å¬¶óÀ̾ðÆ®)µî ¾î¶² J2EE ÄÄÆ÷³ÍÆ®¿¡ ÀÇÇؼµµ Ãʱâ鵃 ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ¿äûÀÌ ÀÖÀ» ¶§ ¿©·¯ºÐ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¼ºí¸´À̳ª JSP ÆäÀÌÁö¿¡¼ Æ®·£Àè¼ÇÀ» ½ÃÀÛ½Ãų ¼ö ÀÖ°í ¼ºí¸´À̳ª JSP ÆäÀÌÁö ³»¿¡¼ ÀϺΠ󸮸¦ ¼öÇàÇÒ ¼ö ÀÖ°í ¿©·¯ ¼¹ö»óÀÇ ¿£ÅÍƼ ºó°ú ¼¼¼Ç ºó¿¡ ÆäÀÌÁö ·ÎÁ÷ÀÇ ÀϺηΠÁ¢±ÙÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ ¸ðµç ÀÛ¾÷µéÀÌ Åõ¸íÇÏ°Ô ÇÑ Æ®·£Àè¼ÇÀÇ ºÎºÐÀÌ µÇµµ·Ï ÇÒ ¼ö ÀÖÀ½À» ÀǹÌÇÑ´Ù. ±×¸² 1Àº Æ®·£Àè¼Ç ¹®¸ÆÀÌ ¼ºí¸´¿¡¼ EJB·ÎÀÇ ½ÇÇà °æ·Î¸¦ µû¶ó°¡´Â ¹æ½ÄÀ» º¸¿©ÁØ´Ù. ±×¸² 1. ÇÑ Æ®·£Àè¼Ç ³»ÀÇ ¿©·¯ ÄÄÆ÷³ÍÆ®µé ÄÁÅ×À̳ʰ¡ Æ®·£Àè¼ÇÀ» °ü¸®Çϵµ·Ï Çϸé ÄÁÅ×À̳ʴ ¿ì¸®¸¦ À§ÇØ Æ¯Á¤ÇÑ ÃÖÀûÈ °áÁ¤À» ³»¸± ¼ö ÀÖ´Ù. ±×¸² 1¿¡¼ ¿ì¸®´Â ÇϳªÀÇ
¼ºí¸´°ú ¿©·¯ °³ÀÇ EJB ÄÄÆ÷³ÍÆ®°¡ ÇÑ Æ®·£Àè¼ÇÀÇ ¹®¸Æ ³»¿¡¼ µ¥ÀÌÅͺ£À̽º¿¡ Á¢±ÙÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù. °¢°¢Àº µ¥ÀÌÅͺ£À̽º·ÎÀÇ
Åõ¸íÇÑ Æ®·£Àè¼Ç Á¦¾î, ÀÚ¿ø ÇÒ´ç ¹× Æ®·£Àè¼Ç ÀüÆĸ¦ °¡´ÉÄÉ ÇÏ´Â ¸¶¹ýÀº JTSÀÇ ºÎºÐÀÌ ¾Æ´Ï°í, ´ë½Å À帷 µÚ¿¡¼ J2EE ¾ÖÇø®ÄÉÀ̼ÇÀ» ´ë½ÅÇØ J2EE ÄÁÅ×À̳ʰ¡ JTA¿Í JTS ¼ºñ½º¸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁöÀÇ ÀϺκÐÀÌ´Ù. ÀÌ·¯ÇÑ ¸¶¹ýÀÌ Åõ¸íÇÏ°Ô ÀϾµµ·Ï Çù·ÂÇÏ´Â ¼ö¸¹Àº ¿£ÅÍƼµéÀÌ À帷 µÚ¿¡ ÀÖ´Ù. EJB ½ºÅÓ°ú ½ºÄÌ·¯Æ°, ÄÁÅ×ÀÌ³Ê º¥´õ°¡ Á¦°øÇÏ´Â JDBC µå¶óÀ̹ö wrapper. µ¥ÀÌÅͺ£À̽º º¥´õ°¡ Á¦°øÇÏ´Â JDBC µå¶óÀ̹ö, JMS provider ¹× JCA connectersµéÀÌ ±×°ÍÀÌ´Ù. ÀÌ ¿£ÅÍƼµé ¸ðµÎ°¡ Æ®·£Àè¼Ç °ü¸®ÀÚ¿Í »óÈ£ÀÛ¿ëÇϱ⠶§¹®¿¡ ¿©·¯ºÐÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç Äڵ尡 À̸¦ ¼öÇàÇÒ ÇÊ¿ä°¡ ¾ø´Ù. Part 3¿¡¼ ¿ì¸®´Â J2EE ¹®¸Æ ³»¿¡¼ Æ®·£Àè¼ÇÀ» °ü¸®ÇÏ´Â °Í°ú °ü·ÃµÈ ¸î °¡Áö ½ÇÁúÀûÀÎ »çÇ×µé - Æ®·£Àè¼Ç ±¸ºÐ ¹× °Ý¸®-°ú ¾ÖÇø®ÄÉÀÌ¼Ç ¿µ¼Ó¼º, ¾ÈÁ¤¼º ¹× ¼º´É¿¡ ÀÌ°ÍÀÌ ¹ÌÄ¡´Â ¿µÇâÀ» »ìÆ캸°Ú´Ù.
| |||||||||||||