Korea |
| ||
IBM Ȩ | Á¦Ç° & ¼ºñ½º | °í°´Áö¿ø & ´Ù¿î·Îµå | ȸ¿ø°¡ÀÔ |
±â¾÷¿¡¼ÀÇ RMI-IIOP |
|||
Damian
Hagge
1997³â IBM°ú Sun Microsystems´Â ±â¾÷¿ë ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß ±â¼ú·Î ÀÚ¹ÙÀÇ ¹ßÀüÀ» ÃËÁø½ÃÅ°±â À§ÇØ °øµ¿ ³ë·ÂÀ» ½ÃÀÛÇß´Ù. ƯÈ÷ µÎ ȸ»ç´Â ÀÚ¹Ù°¡ ¼¹öÃø ¾ð¾î·Î ¾î¶»°Ô »ç¿ëµÉ ¼ö ÀÖ´ÂÁö¿¡ ÃÊÁ¡À» ¸ÂÃß¾ú°í ±âÁ¸ ¾ÆÅ°ÅØó¿¡ ÅëÇÕµÉ ¼ö ÀÖ´Â ±â¾÷ ·¹º§ÀÇ Äڵ带 ¸¸µé¾ú´Ù. ÇÊ¿äÇÑ °ÍÀº ÀÚ¹ÙÀÇ RMI (Remote Method Invocation)ÀÇ ÀûÀº ÀÚ¿øÀ» »ç¿ëÇÏ´Â ±â¼ú°ú º¸´Ù ¼º¼÷ÇÑ CORBA (Common Object Request Broker Architecture) ±â¼úÀÇ °°Ç¼ºÀ» °áÇÕ½ÃÅ°´Â ±â¾÷¿ë Àü¼Û ±â¼úÀ̾ú´Ù. ÀÌ·¯ÇÑ ÇÊ¿ä¿¡ ÀÇÇØ RMI-IIOP°¡ ź»ýÇÏ¿´´Âµ¥, RMI-IIOP´Â ÀÚ¹Ù°¡ ÇöÀç ¼±µÎÀûÀÎ ¼¹öÃø ±â¾÷¿ë °³¹ß ¾ð¾î·Î ÀÚ¸®¸Å±èÇÏ´Â µ¥ ÃßÁøÁ¦ ¿ªÇÒÀ» ÇÏ¿´´Ù. ÀÌ ±Û¿¡¼ ³ª´Â RMI-IIOP¿¡ ´ëÇÑ ±âº» »çÇ×µéÀ» ¼Ò°³ÇÒ °ÍÀε¥, ¿©·¯ºÐÀÌ ±â¾÷¿ë °³¹ß ¼Ö·ç¼Ç¿¡ ÀÌ ±â¼úÀ» »ç¿ëÇϱ⠽ÃÀÛÇϵµ·Ï ÇÏ´Â °ÍÀÌ ¸ñÇ¥ÀÌ´Ù. ³ª´Â RMI-IIOP°¡ ½ÇÁ¦·Î ¹«¾ùÀÎÁö¸¦ ¼³¸íÇϱâ À§ÇØ CORBA¿Í RMI¿¡ ´ëÇØ ¼Ò°³ÇÑ ÀÏ¹Ý ÀÚ·áµé¿¡¼ ¹ß°ßÇÒ ¼ö ¾ø¾ú´ø Á¤º¸¸¦ Á¦°øÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù°í »ý°¢ÇÑ´Ù. CORBA¿Í RMIÀÇ ±âº» »çÇ׵鿡 ´ëÇØ Àß ¸ð¸¥´Ù¸é ÀÌ ±ÛÀ» °è¼Ó Àо°¡±â Àü¿¡ ¸î °¡Áö ¼Ò°³ ÀÚ·áµéÀ» Àо±â¸¦ ±ÇÇÑ´Ù. Âü°íÀÚ·á¿¡ Á¤¼±µÈ ±Û°ú ±³ÀçµéÀÌ ³ª¿Í ÀÖ´Ù. RMI-IIOP¿¡ ´ëÇØ ±¸Ã¼ÀûÀ¸·Î ¸»Çϱâ Àü¿¡ ¿ì¸®´Â CORBA¿Í RMI°¡ ¿äûÀ» Á¤·Ä½ÃÅ°±â À§ÇØ »ç¿ëÇÏ´Â ¸ÞÄ¿´ÏÁòÀ» »ìÆ캸ÀÚ. CORBA°¡ ¿ì¸®ÀÇ ÁÖµÈ ¿¹°¡ µÉ °ÍÀÌ´Ù. RMI-IIOP Á¤·ÄÈ°¡ CORBA Àü¼Û ÇÁ·ÎÅäÄÝ (IIOP)¿¡ ±âÃÊÇÏ°í Àֱ⠶§¹®ÀÌ´Ù. ¿ì¸®´Â ¿äûÀ» º¸³»°í ¿ø°Ý °´Ã¼ÀÇ À§Ä¡¸¦ ã°í ³×Æ®¿öÅ© »ó¿¡¼ ±× °´Ã¼¸¦ Àü¼ÛÇÏ´Â ÀÛ¾÷¿¡¼ Àü¼Û ÇÁ·ÎÅäÄÝ°ú ORB (object request broker)°¡ ¼öÇàÇÏ´Â ±âº» ±â´ÉµéÀ» »ìÆ캸°Ú´Ù. ÇÑ CORBA ¿äûÀÌ Á¤·ÄµÇ¸é ±×°ÍÀº IIOP ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© ¼öÇàµÈ´Ù. °£´ÜÈ÷ ¸»ÇØ, IIOP´Â IDL (Interface Definition Language) »ý¼ºÀÚÀÇ ¿ä¼ÒµéÀ» ÀÏ·ÃÀÇ ¹ÙÀÌÆ®·Î µÈ Ç¥ÁØÈµÈ Æ÷¸ËÀ¸·Î Ç¥½ÃÇÑ´Ù. µû¶ó¼ ÇÑ Àڹ٠Ŭ¶óÀ̾ðÆ®°¡ CORBA ¿äûÀ» C++ ¼¹ö¿¡°Ô º¸³»°í ÀÖ´Ù°í °¡Á¤Çغ¸ÀÚ. Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼ÇÀº ¿ø°Ý °´Ã¼¿¡ ´ëÇÑ ÂüÁ¶¸¦ ÀÚ¹Ù ÀÎÅÍÆäÀ̽º ÇüÅ·Π°¡Áö°í ÀÖ°í, ±× ÀÎÅÍÆäÀ̽º»ó¿¡ ÀÛ¾÷À» È£ÃâÇÑ´Ù. º¸´Ù ÀÚ¼¼È÷ ¸»Çϸé, ÀÎÅÍÆäÀ̽º´Â ±×¿¡ »óÀÀÇÏ´Â ÀÛ¾÷ÀÇ ±¸ÇöÀ» È£ÃâÇϸç, ÀÌ·¯ÇÑ ±¸ÇöÀº ½ºÅÓ¿¡ À§Ä¡ÇÏ°í ÀÖÀ» °ÍÀÌ´Ù.(ÀÌ ½ºÅÓÀº ¿©·¯ºÐÀÌ idlj¸¦ ÀÌ¿ëÇØ IDL·ÎºÎÅÍ ¸¸µé¾î³¾ °ÍÀÌ´Ù) ½ºÅÓÀº ¸Þ¼Òµå È£ÃâÀ» ORB·Î ³»·Áº¸³»´Âµ¥, ÀÌ°ÍÀº Ŭ¶óÀ̾ðÆ® ORB¿Í ¼¹ö ORBÀÇ µÎ ºÎºÐÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù. Ŭ¶óÀ̾ðÆ® ORBÀÇ ÀÏÀº ¿äûÀ» ƯÁ¤ À§Ä¡·Î ÇâÇÏ´Â ³×Æ®¿öÅ©¿¡ Á¤·Ä½ÃÅ°´Â °ÍÀÌ´Ù. ¼¹ö ORBÀÇ ÀÏÀº ³×Æ®¿öÅ©¿¡¼ µé¾î¿À´Â ¿äûÀ» µè°í À̵éÀ» ¾ð¾î ±¸ÇöÀÌ ÀÌÇØÇÒ ¼ö ÀÖ´Â ¸Þ¼Òµå È£Ãâ·Î º¯È¯ÇÏ´Â °ÍÀÌ´Ù. CORBA ORBÀÇ ¿ªÇÒ¿¡ ´ëÇÑ º¸´Ù ½Éµµ ±íÀº ¼³¸íÀº Âü°íÀÚ·á ºÎºÐÀ» ÂüÁ¶ÇÑ´Ù. ½ºÅÓÀÌ ¸Þ¼Òµå È£ÃâÀ» º¸³½ ÈÄ¿¡ Ŭ¶óÀ̾ðÆ® ORB´Â ¸ðµç ¸Å°³º¯¼ö¸¦ Æ÷ÇÔÇØ ÀÛ¾÷ ¼öÇà ¿äûÀ» Ç¥ÁØÈµÈ ¹ÙÀÌÆ® Æ÷¸ËÀ¸·Î º¯È¯Çϴµ¥, ÀÌ °æ¿ì¿¡´Â IIOP·Î º¯È¯ÇÑ´Ù. ±×¸®°í ³ª¼ µé¾î¿Ã ¿äûÀ» À§ÇØ ´ë±âÇÏ°í ÀÖ´Â ¼¹ö ORB¿¡°Ô ³»Æ®¿öÅ©¸¦ ÅëÇØ ÀÛ¾÷À» º¸³»°Ô µÈ´Ù. ¼¹öÃø ORB´Â µ¥ÀÌÅ͸¦ ¹ÙÀÌÆ® ´ÜÀ§·Î ÀÐ¾î ³ª°¡°í, ±× ¿äûÀ» C++ ¼¹ö ±¸Çö¿¡°Ô ÀǹÌÀÖ´Â °ÍÀ¸·Î º¯È¯ÇÑ´Ù. C++ ¼¹ö ¸Þ¼Òµå´Â ÀÚ½ÅÀÇ ¿ªÇÒ (Áï ¿äûµÈ ¸Þ¼Òµå È£Ãâ)À» ¼öÇàÇÏ°í, °á°ú°ªÀ» À§¿Í µ¿ÀÏÇÑ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇØ IIOP»óÀÇ Å¬¶óÀ̾ðÆ®¿¡°Ô ¹ÝȯÇÒ °ÍÀÌ´Ù. RMIµµ ¿äûÀ» ÀÌ¿Í ºñ½ÁÇÏ°Ô Ã³¸®ÇÏÁö¸¸, ´ë½Å Àü¼Û ÇÁ·ÎÅäÄÝ·Î JRMP (Java Remote Messaging Protocol)À» »ç¿ëÇÑ´Ù. ±×¸®°í ¹°·Ð RMI Àü¼Û ÀÛ¾÷Àº ÀÚ¹Ù °´Ã¼ÀÇ Á÷·Äȸ¦ Æ÷ÇÔÇÑ´Ù.
CORBA´Â ¿ø°Ý °´Ã¼¸¦ ã±â À§ÇØ CosNaming À̸§ ¼ºñ½º¸¦ »ç¿ëÇÑ´Ù. CosNamingÀº À̸§ ¼¹ö°¡ CORBA ¼¹ö ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ¹ÙÀεù (ȤÀº ÂüÁ¶)À» °¡Áöµµ·Ï Çϱâ À§ÇÑ ÇÁ·¹ÀÓ¿öÅ©¸¦ Á¦°øÇÑ´Ù. CORBA Ŭ¶óÀ̾ðÆ®°¡ ¾î¶² À̸§ÀÇ ÇÑ ¼¹ö ÇÁ·Î¼¼½º¸¦ ã±â À§ÇØ CosNaming ¿äûÀ» À̸§ ¼¹ö¿¡°Ô º¸³»¸é, À̸§ ¼ºñ½º´Â ±× ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ¾ç¹æÇâ °´Ã¼ ÂüÁ¶ (interoperable object reference,IOR)¸¦ ¹ÝȯÇÑ´Ù. ±×·¯¸é Ŭ¶óÀ̾ðÆ®´Â ±× IOR¸¦ »ç¿ëÇÏ¿© ¼¹ö ÇÁ·Î¼¼½º¿Í Á÷Á¢ Åë½ÅÇÑ´Ù. IORÀº ¼¹öÀÇ À§Ä¡µî ¼¹ö ÇÁ·Î¼¼½º¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù. CosNaming ¼ºñ½ºÀÇ ´ÜÁ¡ Áß Çϳª´Â »ç¶÷ÀÌ IORÀ»
Æǵ¶ÇÒ ¼ö ¾ø´Ù´Â °ÍÀÌ´Ù. Àû¾îµµ »çÀ̺¸±× µÎ³ú¸¦ °¡ÁöÁö ¾ÊÀº »ç¶÷Àº ¸»ÀÌ´Ù. ¹Ý¸é RMI´Â Á» ´õ »ç¿ëÀÚ¿¡°Ô Ä£±ÙÇÏ´Ù. RMI´Â
JNDI¿¡¼ ½ÇÇàµÇ´Â ·¹Áö½ºÆ®¸® (À̸§ ¼ºñ½º¿Í À¯»ç)¸¦ »ç¿ëÇØ ¿ø°Ý °´Ã¼¸¦ ã´Â´Ù. RMI ·¹Áö½ºÆ®¸®´Â ¿ø°Ý °´Ã¼¸¦
È®ÀÎÇÏ°í À§Ä¡¸¦ ã±â À§ÇØ CORBA´Â ¾ÆÁÖ ÃÖ±Ù¿¡ »óÈ£ÀÛ¿ë °¡´ÉÇÑ À̸§ ¼ºñ½º (Interoperable Naming Service : INS)¸¦ ÀÚ½ÅÀÇ °´Ã¼ À§Ä¡ ½ºÅ°¸¶¿¡ ±¸Ã¼È½ÃÄ×´Ù. INS´Â »ç¶÷ÀÌ ÀÐÀ» ¼ö ÀÖ´Â URLÀ» °´Ã¼ À§Ä¡·Î »ç¿ëÇϸç CosNaming »ó¿¡¼ ÀÛµ¿ÇÑ´Ù. INS´Â À̸§ ¼ºñ½º¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. ´ë½Å ÁöÁ¤µÈ URL¿¡ Á÷Á¢ È£ÃâÀ» º¸³½´Ù. INS¿¡ ´ëÇÑ »ó¼¼ Á¤º¸´Â Âü°íÀڷḦ ÂüÁ¶ÇÑ´Ù. ±×·¸´Ù¸é CORBA¿Í RMI Áß ¾î¶² °ÍÀÌ ³ªÀº°¡? ´ë´äÀº ¿©·¯ºÐÀÌ ¹«¾ùÀ» ÇÏ°í ½ÍÀº°¡¿¡ ´Þ·Á ÀÖ´Ù. CORBA´Â ¾÷°è Ç¥ÁØÀÇ 3¼¼´ë, ȤÀº 4¼¼´ë ÇÁ·ÎÅäÄݻ󿡼 ÀÛµ¿ÇÏ´Â °Å´ëÇÏ°í °ËÁõµÈ ¾ÆÅ°ÅØóÀÌ´Ù. ¿©·¯ºÐÀÌ COBA°¡ Á¦°øÇÏ´Â ¸ðµç Ãß°¡ ±â´Éµé (Æ®·£Àè¼Ç ó¸®, º¸¾ÈÀ» À§ÇÑ ÀÎÅͼÁÅÍ, À̺¥Æ® ä³Îµî)À» °í·ÁÇÑ´Ù¸é CORBA°¡ ±â¾÷ ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ ´äó·³ º¸ÀÏ °ÍÀÌ´Ù. CORBAÀÇ Å« °áÁ¡Àº º¹ÀâÇÏ´Ù´Â °ÍÀÌ´Ù. °³¹ßÀÚµéÀÌ CORBA¿¡ ´É¼÷ÇØÁö·Á¸é º¸Åë ¾ÆÁÖ Èûµç ÇнÀ °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù. ¹Ý¸é RMI´Â ¾ÆÁÖ ¹è¿ì±â ½±´Ù. RMI¸¦ »ç¿ëÇØ Å¬¶óÀ̾ðÆ®/¼¹ö ±¸ÇöÀ» »ý¼ºÇÏ°í ·¹Áö½ºÅ͸®¿Í ¿ø°Ý °´Ã¼¸¦ °áÇÕ½ÃÅ°°í ¿äûÀ» È£ÃâÇÏ°í ¹Þ´Â °ÍÀº ¸Å¿ì °£´ÜÇÏ´Ù. RMI´Â ¶ÇÇÑ CORBAº¸´Ù ÈξÀ ÀûÀº ÀÚ¿øÀ» »ç¿ëÇÑ´Ù. JRMP°¡ IIOPº¸´Ù »ó´çÈ÷ ºñ¿ëÀÌ ´ú µå´Â ÇÁ·ÎÅäÄÝÀ̱⠶§¹®ÀÌ´Ù. ±×·¯³ª RMI´Â CORBA°¡ °¡Áø °·ÂÇÑ Ãß°¡ ±â´ÉÀÌ ¾ø°í ¼ø¼öÇÏ°Ô ÀÚ¹Ù¿¡ ±â¹ÝÇÑ ¸ÞÄ¿´ÏÁòÀÌ´Ù. µû¶ó¼ ¿ì¸®°¡ ½ÇÁ¦·Î ¿øÇÏ´Â °ÍÀº RMIÀÇ À¯¿¬¼º ¹× »ç¿ëÀÇ ¿ëÀ̼ºÀ» CORBA°¡ °¡Áø ±â¾÷ ÄÄÇ»Æÿ¡ ´ëÇÑ Áغñ¼º°ú °áÇÕ½ÃŲ °ÍÀÌ´Ù. ±×·¸Áö ¾ÊÀº°¡? ÀÌÁ¦ RMI-IIOP·Î µé¾î°¡ º¸ÀÚ.
RMI-IIOP´Â RMI È£ÃâÀ» °ÅÀÇ ¼öÁ¤ ¾øÀÌ IIOP¿¡¼ ½ÇÇà½ÃÅ°µµ·Ï ÇØÁØ´Ù. RMI-IIOP·Î ¿©·¯ºÐÀº Á÷Á¢ÀûÀÎ ÀÚ¹Ù Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ°í, ¶ÇÇÑ CORBA°¡ Á¦°øÇϴ dzºÎÇÑ ±â¾÷ ÄÄÇ»Æà Áö¿ø ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´õ ³ª¾Æ°¡ ÄÚµå´Â RMI¿¡¼µç IIOP¿¡¼µç ½ÇÇàµÉ ¼ö ÀÖÀ»¸¸Å À¯¿¬ÇÏ´Ù. ÀÌ°ÍÀº ÀûÀº ÀÚ¿ø »ç¿ë°ú À¯¿¬¼ºÀÌ Áß¿äÇÑ ¹®Á¦°¡ µÇ´Â °æ¿ì¿¡ ¿©·¯ºÐÀÇ Äڵ带 ¼ø¼ö Àڹ٠ȯ°æ¿¡¼ ½ÇÇà½Ãų ¼öµµ ÀÖ°í, ȤÀº ÃÖ¼ÒÇÑÀÇ ÄÚµå º¯°æÀ¸·Î ±âÁ¸ÀÇ CORBA ÀÎÇÁ¶ó¿¡ ÅëÇÕ½Ãų ¼öµµ ÀÖÀ½À» ÀǹÌÇÑ´Ù. RMI-IIOPÀÇ ¸Å¿ì °·ÂÇÑ ±â´É Áß Çϳª°¡ RMI Ŭ·¡½º Á÷·ÄÈÀÇ À¯¿¬¼ºÀ» ÀÒÁö ¾ÊÀ¸¸é¼ ¼ø¼ö Àڹ٠Ŭ¶óÀ̾ðÆ®/¼¹ö ±¸ÇöÀ» ÀÛ¼ºÇϵµ·Ï ÇØÁشٴ °ÍÀÌ´Ù. RMI-IIOP´Â ÀÚ¹Ù Á÷·Äȸ¦ ¿À¹ö¶óÀ̵åÇÏ°í Àڹ٠Ŭ·¡½º¸¦ IIOP·Î º¯È¯ÇÏ¿© ³×Æ®¿öÅ©¿¡ ½Ç¾î ³»¸²À¸·Î½á À̸¦ °¡´ÉÄÉ ÇÑ´Ù. ´Ù¸¥ ÇÑ ÂÊ¿¡¼´Â Àڹ٠Ŭ·¡½º°¡ ³×Æ®¿öÅ©·ÎºÎÅÍ IIOP·Î ÀÐÇô ¿Ã·ÁÁö¸ç, ÇØ´ç Ŭ·¡½º¿¡ ´ëÇØ ±× ¸â¹öµéÀÇ °ªÀÌ ÀüÇô º¯ÇÏÁö ¾ÊÀº ä »õ·Î¿î ÀνºÅϽº°¡(reflectionÀ» »ç¿ëÇÏ¿©) »ý¼ºµÇ¾îÁø´Ù - º¸½Ã¶ó: ÀÌ°ÍÀÌ IIOP»óÀÇ ÀÚ¹Ù Á÷·ÄÈÀÌ´Ù. RMI-IIOP°¡ Åõ¸íÇÏ°Ô °´Ã¼ À§Ä¡¸¦ ã°Ô Çϱâ À§ÇØ ORB º¥´õµéÀº ¿ª»çÀûÀ¸·Î Java CosNaming service provider (ºñÀü¹®°¡ ¿ë¾î·Î´Â Ç÷¯±×ÀÎ)¸¦ »ç¿ëÇØ ¿Ô´Ù. Ç÷¯±×ÀÎÀº JNDI API ÇÏ¿¡¼ ÀÛµ¿ÇÏ¿© CORBA À̸§ ¼ºñ½º¿¡ Á¢±ÙÇÑ´Ù. ÀÌ ±Û¿¡¼´Â ±× ÀÌÀ¯¸¦ ¼³¸íÇÒ¸¸Å ¿©À¯°¡ ¾øÁö¸¸, ÀÌ À̸§ ¼ºñ½º´Â ÀÌ»óÀûÀÌÁö ¾Ê´Ù. ±× °á°ú ¼ö¸¹Àº º¥´õ -ƯÈ÷ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö º¥´õ -µéÀÌ RMI-IIOP¿¡ ´ëÇØ µ¶ÀÚÀûÀÎ °´Ã¼ À§Ä¡ ¸ÞÄ¿´ÏÁòÀ» °³¹ßÇØ ¿Ô´Ù. RMI-IIOP´Â ¶ÇÇÑ ÀÚ¹Ù CosNaming ¼ºñ½º¿¡ ´ëÇÑ È®ÀåÀÚ·Î INS¸¦ Áö¿øÇÑ´Ù. ³ª´Â INS°¡ ÇâÈÄ °´Ã¼ À§Ä¡ ±â´ÉÀ» À̲ø °ÍÀ̶ó°í ¹Ï±â ¶§¹®¿¡ ¿ì¸®°¡ ÀÌ ±Û¿¡¼ ÀÛ¾÷ÇÒ ÄÚµå ¿¹Á¦¿¡¼ INS¸¦ »ç¿ëÇÑ´Ù. Note: SunÀÌ OMG INS Ç¥ÁØÀ» ¾ÆÁ÷ ¿ÏÀüÈ÷ ÄÄÆÄÀÏÇÏÁö ¾Ê¾Ò°í
À̾߱â´Â ÃæºÐÈ÷ ÇßÀ¸´Ï ÀÌÁ¦ Äڵ带 ÀÛ¼ºÇØ º¸ÀÚ. ´ÙÀ½ ¼½¼Ç¿¡¼ ¿ì¸®´Â °£´ÜÇÑ ÀÚ¹Ù ±â¹ÝÀÇ Å¬¶óÀ̾ðÆ®/¼¹ö RMI-IIOP ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÒ °ÍÀÌ´Ù. ÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀº ¼¼ ºÎºÐÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù.: RMI ÀÎÅÍÆäÀ̽º¿Í ¼¹ö ¾ÖÇø®ÄÉÀÌ¼Ç ¹× Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼ÇÀÌ ±×°ÍÀÌ´Ù. ¿¹Á¦´Â IIOP »ó¿¡ ÀÚ¹Ù Á÷·ÄÈ ±â´ÉÀ» ±¸ÇöÇϴµ¥, ¿©·¯ºÐÀº Àڹ٠Ŭ·¡½º°¡ Ŭ¶óÀ̾ðÆ®¿¡ ÀÇÇØ ¾î¶»°Ô ÀνºÅϽºÈµÇ°í, ¼¹ö¿¡°Ô Àü´ÞµÇ°í, ¼¹ö¿¡ ÀÇÇØ ¾î¶»°Ô º¯°æµÇ°í, ±×¸®°í ¾î¶»°Ô ±× º¯°æ »çÇ×µéÀÌ ¼Õ»óµÇÁö ¾ÊÀº ä Ŭ¶óÀ̾ðÆ®¿¡°Ô Àü´ÞµÇ´ÂÁö¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Part 1: ÀÎÅÍÆäÀ̽º Á¤ÀÇÇϱâ RMI-IIOP¿¡¼ ¿ì¸®´Â RMI³ª IDL Áß¿¡¼ ¼±ÅÃÇØ ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ¿ì¸®´Â RMI°¡ IIOP¿¡¼ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö¸¦ º¸°í ½Í±â ¶§¹®¿¡ RMI¸¦ »ç¿ëÇØ ¿¹Á¦ ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇÒ °ÍÀÌ´Ù. Listing 1Àº ¿ì¸®ÀÇ °£´ÜÇÑ ¿¹Á¦¿¡ ´ëÇÑ RMI ÀÎÅÍÆäÀ̽ºÀÌ´Ù:
¿ì¸®ÀÇ °£´ÜÇÑ ÀÎÅÍÆäÀ̽º´Â ÀÌ°ÍÀÌ ÀüºÎÀÌ´Ù. ÀÌÁ¦ ¼¹ö Ŭ·¡½º¸¦ »ìÆì º¸ÀÚ. Part 2: ¼¹ö ±¸ÃàÇϱ⠿츮´Â
¿©±â¿¡¼ ¹«½¼ ÀÏÀÌ ÀϾ´Â°¡? ¼¹ö ¾ÖÇø®ÄÉÀ̼ÇÀº ¸¹Àº Äڵ带 °¡Áö°í ÀÖ´Ù. À̸¦ ³ª´©¾î º¸ÀÚ. ¿ì¼± À§¿¡¼ ¾ð±ÞÇÑ´ë·Î
ORB°¡ ÃʱâȵǸé ÁÖ ¸Þ¼Òµå´Â ´ÙÀ½¿¡ ¿ì¸®´Â °´Ã¼¸¦
¹ÝȯµÈ ¸¶Áö¸·À¸·Î, ¿©·¯ºÐÀº ORB¸¦ ÀÌ°Ô ÀüºÎ´Ù. ¿ì¸® ¼¹ö´Â ÀÌÁ¦ µé¾î¿À´Â Ŭ¶óÀ̾ðÆ® INS ¿äûÀ» ±â´Ù¸®°í ÀÖ´Ù. ±×·¸´Ù¸é Ŭ¶óÀ̾ðÆ®´Â ¾î¶°ÇÑ°¡? Part 3: Ŭ¶óÀ̾ðÆ® ±¸ÃàÇϱâ Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼ǿë Äڵ尡 Listing 4¿¡ ³ª¿Í ÀÖ´Ù:
Ŭ¶óÀ̾ðÆ® ÄÚµå´Â ¼¹ö Äڵ庸´Ù ´Ù¼Ò °£´ÜÇÏ´Ù. ¿ì¸®´Â ORB¸¦ ÃʱâÈÇÏ°í
¿ì¸®°¡ ÀÌ URLÀ» °£´ÜÇÑ hello ¸Þ¼Òµå (¼³¸íÀÌ ÇÊ¿ä ¾øÀ» °ÍÀÌ´Ù.)¸¦ È£ÃâÇÑ ÈÄ ¿ì¸®´Â RMI-IIOPÀÇ
Á÷·ÄÈ ±â´É¿¡ ´ëÇÑ Å½»ç¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. ¿ì¼± Á÷·ÄÈ °¡´ÉÇÑ Àڹ٠Ŭ·¡½ºÀÎ Part 4: ¿¹Á¦ ½ÇÇà½ÃÅ°±â ¿ì¸®°¡ ¿©±â¿¡¼ °³¹ßÇÑ ¿¹Á¦´Â IBM Developer Kit for Java technology, version 1.3.1 ÀÌ»ó°ú ÇÔ²² ½ÇÇàµÇ¾î¾ß ÇÔ¿¡ ÁÖÀÇÇÑ´Ù. Sun JDK¸¦ »ç¿ëÇÏ°í ½Í´Ù¸é Sun¿¡ µ¶ÀÚÀûÀÎ ¼Ò½º Äڵ带 ´Ù¿î¹Þ±â ¹Ù¶õ´Ù. ÀÌ ÄÚµå´Â Sun 1.4.0 JDK À̻󿡼 ½ÇÇàµÇ¾î¾ß ÇÑ´Ù. ÀÌ ¼Ò½º Äڵ忡´Â IBM SDK¿Í Sun JDK°£ÀÇ Â÷À̸¦ ¼³¸íÇÑ readme.txt ÆÄÀÏÀÌ µé¾î ÀÖ´Ù. IBM Developer Kit for Java technology´Â Áö±Ý ´Ù¿î·Îµå¹ÞÀ» ¼ö ÀÖ´Ù. ¹«·áÀÌ´Ù. ¿¹Á¦¸¦ ½ÇÇà½ÃÅ°´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù:
RMI-IIOP¿Í EJB ÄÄÆ÷³ÍÆ®¿¡ ´ëÇÑ ³ëÆ® EJB 2.0 »ç¾ç¿¡´Â EJB ÄÄÆ÷³ÍÆ®°¡ RMI¿Í RMI-IIOP¸ðµÎ¿¡¼ ½ÇÇàµÉ ¼ö ÀÖ¾î¾ß ÇÑ´Ù°í ³ª¿Í ÀÖ´Ù. RMI-IIOP¸¦ EJB ÄÄÆ÷³ÍÆ®¿¡ ´ëÇÑ Àü¼Û ÇÁ·ÎÅäÄÝ·Î Ãß°¡ÇÏ¸é ´ëºÎºÐ ¸Å¿ì CORBA Áý¾àÀûÀÎ ±âÁ¸ÀÇ ±â¾÷ ÀÎÇÁ¶ó¿¡ J2EE ȯ°æÀ» ÅëÇÕ½ÃÅ°´Â °ÍÀ» »ó´çÈ÷ µµ¿ÍÁØ´Ù. ±×·¯³ª ¸î °¡Áö ¹®Á¦µµ ÀÖ´Ù. °£´ÜÇÏ°Ô ¸»ÇÏÀÚ¸é »ç¿ëÀÚ Á¤ÀÇ ÄÄÆ÷³ÍÆ®¿Í EJB ÄÄÆ÷³ÍÆ®¸¦ ÅëÇÕÇϸé, ÅëÇÕµÇÁö ¾Ê¾ÒÀ» °æ¿ì EJB ¾ÆÅ°ÅØó°¡ ¿ä¾àÇÏ¿© ¿©·¯ºÐ¿¡°Ô Àü´ÞÇßÀ» plumbingÀ» ¿©·¯ºÐ (°³¹ßÀÚ)ÀÌ ´Ù·ç¾î¾ß ÇÑ´Ù. ¾ÆÁ÷ ÀÌ ¹®Á¦¿¡ ´ëÇÑ °£´ÜÇÑ ¼Ö·ç¼ÇÀÌ ³ª¿Í ÀÖÁö ¾ÊÀ¸¸ç, ¾ÕÀ¸·Îµµ Èûµé °ÍÀÌ´Ù. À¥¼ºñ½º¿Í °°ÀÌ ¶°¿À¸£´Â ±â¼úµé·ÎºÎÅÍ ¼Ö·ç¼ÇÀÌ ³ª¿Ã ¼ö ÀÖÀ» °ÍÀÌÁö¸¸, ¾ÆÁ÷Àº ¾Ë·ÁÁ®ÀÖÁö ¾Ê´Ù. °á·Ð : ¿©±â¿¡¼ ¾îµð·Î °¡¾ß ÇÒ °ÍÀΰ¡? ÀÌ ±ÛÀÌ ¿©·¯ºÐ¿¡°Ô RMI-IIOP Ŭ¶óÀ̾ðÆ®/¼¹ö ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ°í ½ÇÇàÇÏ´Â °ÍÀÌ ¾ó¸¶³ª ½¬¿îÁö¸¦ º¸¿© ÁÖ¾ú±â¸¦ ¹Ù¶õ´Ù. ¿ì¸®°¡ »ç¿ëÇÑ ¿¹Á¦¿¡¼ Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö¸¦ ¼ø¼ö CORBA·Î ¹Ù²Ù¾î È°¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ±×·¸°Ô Çϸé ÀÚ¹Ù Á÷·ÄÈ°¡ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ºüÁú °ÍÀÌ´Ù. RMI-IIOP¸¦ CORBA ȯ°æ¿¡¼ »ç¿ëÇÏ´Â °ÍÀ» °í·ÁÇÏ°í ÀÖ´Ù¸é IDLÀÌ ÀÚ¹Ù¿¡ ¾î¶»°Ô ´ëÀÀµÇ´ÂÁö, ±×¸®°í ÀÚ¹Ù°¡ IDL¿¡ ¾î¶»°Ô ´ëÀÀµÇ´ÂÁö¸¦ º¸´Â °ÍÀÌ µµ¿òÀÌ µÉ °ÍÀÌ´Ù. RMI-IIOP¸¦ ¾ÈÀüÇÏÁö ¾ÊÀº ȯ°æ (¿©·¯ºÐµéÀÇ PC¸¦ À̾߱âÇÏ´Â °ÍÀº ¾Æ´Ï°í)¿¡ ¹èÄ¡ÇÒ °ÍÀ» °í·ÁÇÏ°í ÀÖ´Ù¸é ÀÎÅͼÁÅͳª CORBA º¸¾È ¸ðµ¨°ú °°Àº CORBA º¸¾È ±â´É°ú Æ®·£Àè¼Ç ó¸®¿Í °°Àº CORBAÀÇ ´Ù¸¥ ±â¾÷¿ë ±â´ÉµéÀ» »ìÆ캸´Â °ÍÀÌ ÁÁÀ» °ÍÀÌ´Ù. RMI-IIOP¸¦ »ç¿ëÇϸé CORBAÀÇ Ç³ºÎÇÑ ¸ðµç ±â´ÉÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ³ª¿¡°Ô Á÷Á¢, ȤÀº discussion forumÀ» ÅëÇØ ÀÌ ±Û¿¡ °üÇÑ ¿©·¯ºÐÀÇ ÀÇ°ßÀ» ÀÚÀ¯·Ó°Ô Á¦°øÇϱ⠹ٶõ´Ù. ³ª´Â ¿©·¯ºÐÀÇ »ý°¢¿¡ °ü½ÉÀ» °¡Áö°í ÀÖ´Ù.
| |||||||||||||||||