±âÁ¸ÀÇ ³×Æ®¿öÅ© °æ°è¸¦ ³Ñ¾î È®ÀåµÇ´Â P2P ½Ã½ºÅÛ ¼³°è
Sing
Li ÀÛ°¡, Wrox Press 2002³â 4¿ù
¸ð¹ÙÀÏ ÄÄÇ»ÆÃÀÇ ÀαⰡ ³ô¾ÆÁö°í ³×Æ®¿öÅ©¿¡ ¿¬°á °¡´ÉÇÑ ³»Àå ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼°¡ ³Î¸® Àû¿ëµÊ¿¡ µû¶ó TCP/IP ÇÁ·ÎÅäÄÝÀÌ
¸¶Ä§³» ±× ³ëÈļºÀ» µå·¯³»°í ÀÖ´Ù. JXTA´Â ÇöÀçÀÇ TCP/IP ±â¹Ý ³×Æ®¿öÅ©ÀÇ ÇѰ踦 ³Ñ¾î ÀÎÅͳÝÀÇ ¹üÀ§¸¦ È®´ëÇÏ·Á´Â Àǵµ¿¡¼
¼³°èµÇ¾ú´Ù. JXTA¿¡ ´ëÇÑ developerWorks ÀÇ ½Ã¸®Áî Áß ÃÖÁ¾È¸¿¡¼ Sing Li´Â ÀÌ·¯ÇÑ È®ÀåÀ» º¸¿©
ÁÖ°í ½ÇÁúÀûÀÎ ¹®Á¦¸¦ ÇØ°áÇÏ´Â ½Ã½ºÅÛÀ» ¼³¸íÇÑ´Ù. ¿©·¯ºÐÀº JXTA°¡ Ŭ¶óÀ̾ðÆ®-¼¹ö ³×Æ®¿öÅ©ÀÇ ÀϹÝÀûÀÎ Á¦¾à »çÇ׿¡ ±¸¼ÓµÇÁö
¾ÊÀ½À» º¸°Ô µÉ °ÍÀÌ´Ù.
Áö±Ý±îÁö ÀÌ ½Ã¸®Áî¿¡¼ ¿ì¸®´Â ÀÚ¹Ù ÂüÁ¶ ±¸ÇöÀ» °¡Áø »õ·Î¿î P2P Ç÷§ÆûÀÎ JXTA°¡ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö¿¡ ´ëÇØ ±âº»ÀûÀÎ
»çÇ×µéÀ» »ìÆ캸¾Ò´Ù. ùȸ ¿¡¼´Â
»óÈ£ ¿î¿ë °¡´ÉÇÑ JXTAÀÇ ±â´ÉµéÀ» »ìÆ캸¾Ò´Ù. »óÈ£ ¿î¿ë °¡´ÉÇÑ ÇÁ·ÎÅäÄÝ ¼¼Æ®·Î Á¤ÀǵǴ JXTA´Â ¿©·¯ Çϵå¿þ¾î Ç÷§Æû, ¿î¿µ
üÁ¦, ÇÁ·Î±×·¡¹Ö ¾ð¾îµé¿¡¼ ±¸ÇöµÉ ¼ö ÀÖ´Ù. ¿ì¸®´Â ¶ÇÇÑ JXTAÀÇ ¿î¿µ ¸ðµ¨°ú ÇǾî, ÇÇ¾î ±×·ì, ¼ºñ½º ¹× ÆÄÀÌÇÁ¿Í °°Àº Áß¿äÇÑ
°³³äµéµµ ´Ù·ç¾ú´Ù. 2ȸ ¿¡¼
¿ì¸®ÀÇ Æ÷Ä¿½º´Â JXTA¸¦ ±¸µ¿½ÃÄÑ ½ÇÇà½ÃÅ°´Âµ¥ ¸ÂÃß¾îÁ³´Ù. ¿ì¸®´Â ÇÑ JXTA ¾ÖÇø®ÄÉÀÌ¼Ç -JXTA ¼¿-À» °ËÅäÇÏ¿© ÆÄÀÌÇÁ¸¦
¸¸µé°í ÇÑ ÇǾ¼ ´Ù¸¥ ÇǾî·Î ¸Þ½ÃÁö¸¦ º¸³»´Â ½Ã³ª¸®¿À¸¦ ½ÇÇàÇÏ¿´´Ù. ¿ì¸®´Â ¶ÇÇÑ JXTA ¼¿ È®ÀåÀÚ¸¦ ÀÛ¼ºÇÏ¿© JXTA API¿¡
´ëÇÑ Ã¹¹ø° ÇÁ·Î±×·¡¹Ö °æÇèÀ» ¾ò¾ú´Ù. ÀÌ·¸°Ô Áö±Ý±îÁö ¿ì¸®ÀÇ JXTA Á¢±Ù ¹æ½ÄÀº »óÇâ½ÄÀ̾ú´Ù. ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö°ú ¿£Áö´Ï¾î¸µ
¹è°æÀ» °¡Áø ¿ì¸®¿¡°Ô´Â ÀÌ°ÍÀÌ °¡Àå ÀÚ¿¬½º·¯¿î ¹æ½ÄÀÌ´Ù.
3ȸÀÌÀÚ ¸¶Áö¸· ȸÀÎ À̹ø ±Û¿¡¼ ¿ì¸®´Â Á¢±Ù ¹æ½ÄÀ» ÇÏÇâ½ÄÀ¸·Î ¹Ù²Ù¾î º¸°Ú´Ù. ÀÌ ±ÛÀº ¾ÖÇø®ÄÉÀÌ¼Ç ·¹º§ ¼³°è¿Í ¾ÆÅ°ÅØó¿¡
°üÇØ ÀÛ¾÷ÇÏ´Â »ç¶÷µéÀÇ °ßÇظ¦ ÃëÇÏ¿© JXTA¿¡ ´ëÇØ ÇÏÇâ½ÄÀ¸·Î Á¢±ÙÇÑ´Ù. ¿ì¸®´Â ÇϳªÀÇ Æ¯Á¤ ¿¹Á¦ ¹®Á¦¸¦ °¡Áö°í ½ÃÀÛÇÏ¿© ±× ¹®Á¦¿¡
´ëÇÑ ¼Ö·ç¼ÇÀ» ºÐ¼®ÇÏ°í ¼³°èÇϸç JXTA°¡ ±× ¹®Á¦¸¦ ¾î¶»°Ô ÀÚ¿¬½º·´°Ô ÇØ°áÇÏ´ÂÁö¸¦ º¸¿© ÁÖ°Ú´Ù.
¿ì¸®´Â JXTA°¡ º´Ä¡
(juxtaposition)¸¦ ÀÌ¿ëÇÏ¿© ³×Æ®¿öÅ· °æ°üÀ» ¾î¶»°Ô º¯È½ÃÅ°´ÂÁö¸¦ ¹àÈ÷°í JXTA ¼ºñ½º¿Í Ŭ¶óÀ̾ðÆ®ÀÇ ¼³°è¿Í Äڵ嵵
Á¦½ÃÇÏ°Ú´Ù.
ºÐ»ê µ¥ÀÌÅÍ ¼öÁý ¹®Á¦ ÇØ°áÇϱâ
¿ì¸®°¡ ´ë´ÜÀ§ ±â»ó µ¥ÀÌÅÍ ¼öÁý ¹× ºÐ¼® ½Ã½ºÅÛÀ» °³¹ßÇØ¾ß ÇÑ´Ù°í »ó»óÇØ º¸ÀÚ. ÀÌ ½Ã½ºÅÛ¿¡¼ ¿ì¸®´Â ¼ö¹é°³ÀÇ ±â»ó µ¥ÀÌÅÍ ¼öÁý
ÁöÁ¡À» °¡Áö°í ÀÖ´Ù. ÀÌµé °¢°¢¿¡´Â ÇöÀç ¿Âµµ (±×¸®°í ´Ù¸¥ ´ë±â »óŵé)¸¦ ÇÑ ¼¼Æ®ÀÇ µ¥ÀÌÅÍ ÁýÁß ÀåÄ¡¿¡ Á¦°øÇÏ´Â ¸ðÇü ±â»ó
°üÃø¼Ò°¡ ¼³Ä¡µÇ¾î ÀÖ´Ù. ¼öÁý±âµéÀº Àü ¼¼°è¿¡ Èð¾îÁ® ÀÖ°í, ÀÌµé ¸ðµÎ°¡ ÀÎÅͳݿ¡ Á÷Á¢ ¿¬°áµÇ¾î ÀÖ´Â °ÍÀº ¾Æ´Ï¸ç »õ·Î¿î µ¥ÀÌÅÍ
¼öÁý±â´Â ¶§¶§·Î ¿¬°áÀÌ ²÷±â±âµµ ÇÑ´Ù. ÀÌ ÇÁ·ÎÁ§Æ®¿¡ Âü¿©ÇÏ´Â ¼öÁý±âÀÇ Á¤ÇÑ ¼ýÀÚ´Â °è¼Ó ¹Ù²ï´Ù. µ¥ÀÌÅÍ ºÐ¼®°ú 󸮴 Áö¿ªº° Æò±Õ¿¡
±âÃÊÇÑ´Ù.
Ãâ¹ßÇÒ ¶§´Â ´ÜÁö 10°³ÀÇ ÁýÁß ÀåÄ¡°¡ ÀÖ¾ú´Ù. °¢ ÁýÁß ÀåÄ¡´Â ¸¹Àº ¼öÁý±âµéÀÌ º¸³»´Â µ¥ÀÌÅ͸¦ ¸ð´ÏÅ͸µÇÏ°í ÀÌ µ¥ÀÌÅÍ´Â
½Ç½Ã°£À¸·Î °ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡ Àü´ÞµÈ´Ù. ±× ÈÄ¿¡ °ü°èÇü µ¥ÀÌÅͺ£À̽ºÀÇ µ¥ÀÌÅÍ´Â ±â»ó ºÐ¼®°ú ¿¹ÃøÀ» À§ÇÑ ½Ã¹Ä·¹ÀÌ¼Ç ¸ðµ¨À» ¿î¿ëÇÏ´Â
¼öÆÛ ÄÄÇ»ÅÍ¿¡ Àü´ÞµÇ°í ¿©±â¿¡¼ 󸮵ȴÙ. ÁýÁß ÀåÄ¡ÀÇ ¼ö¿Í À§Ä¡´Â ´Ù¾çÇÒ ¼ö ÀÖÁö¸¸, ÇൿÀº ´ú º¯ÈÇÑ´Ù. ÀÏ´Ü ¼³Ä¡µÇ¸é ½Ã½ºÅÛ
Àå¾Ö°¡ ¾ø´Â ÇÑ °è¼Ó ¿î¿µµÈ´Ù.
¿ì¸®°¡ ÇØ°áÇØ¾ß ÇÏ´Â ¹®Á¦´Â ¾î¶»°Ô ¿ì¸® ½Ã½ºÅÛÀÌ Áö¼ÓÀûÀ¸·Î ÀÛµ¿ÇÏ°Ô ÇÏ°í Àüü ¼º´É¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾ÊÀ¸¸é¼ ¼öÁý±â¿Í ÁýÁß
ÀåÄ¡¸¦ µ¿ÀûÀ¸·Î Ãß°¡ÇÏ°í Á¦°ÅÇÒ ¼ö ÀÖµµ·Ï Çϴ°¡ÀÌ´Ù.
Ãʱ⠺м® : Àӽà ³×Æ®¿öÅ©ÀÇ º¹À⼺
½Ã½ºÅÛ ³»ÀÇ ÀϺΠ¼öÁý±â´Â Á÷Á¢ÀûÀÎ ÀÎÅÍ³Ý ¿¬°áÀ» °¡Áö°í ÀÖÁö¸¸, ÀϺδ ¹«¼± Àü¼Û ±â¼ú·Î ¿¬°áµÇ¾î ÀÖ°í °ÅÄ£ ¿ÜºÎ ȯ°æ ¼Ó¿¡
ÀÖ´Ù. »ç½Ç ÀÌµé ¹«¼± Àü½Å ±â¹Ý ¼öÁý±â Áß ¸¹Àº °ÍÀÌ Àü·ÂÀ» º¸Á¸ÇÔÀ¸·Î½á ¹èÅ͸® ¼ö¸íÀ» Àý¾àÇϵµ·Ï ¼³°èµÇ¾î ÀÖ´Ù. À̵éÀº °¡Àå
°¡±î¿î ¼öÁý±â³ª ±âÁö¿¡ Á¢¼ÓÇÒ¸¸ÅÀÇ ¹üÀ§¸¸ °¡Áö°í ÀÖ´Ù. ÀÌ Áß ¸¹Àº ¼öÁý±âµéÀÌ TCP/IP¸¦ Áö¿øÇÏÁö ¾ÊÀ¸¸ç ´ë½Å ¹Ì¼÷ÇÑ ÆÐŶ ¹«¼±
±â¼úÀ» »ç¿ëÇÑ´Ù. ¸î °³ÀÇ Á» ´õ °í¸³µÈ ¼öÁý±âµéÀº Àü·ÂÀ» ¿ÀÁ÷ žç ÀüÁöÆÇ¿¡¼ ¾òÀ¸¸ç À§¼º Àü¼ÛÀ» »ç¿ëÇÏ¿© Åë½ÅÇÑ´Ù. ±×·¯³ª ¶Ç´Ù¸¥
±×·ìÀº Ç¥ÁØ ¼¿·ê·¯ Æù°ú ¿¬°áµÇ¾î ÀÖ°í SMS (short message service) ¸Þ½Ã¡À» »ç¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ Àü¼ÛÇÑ´Ù.
»ç¿ë °¡´ÉÇÑ ¼öÁý±âÀÇ ¼ö´Â ÇÁ·ÎÁ§Æ® °úÁ¤ µ¿¾È º¯µ¿ÀûÀÏ °ÍÀÌ´Ù. ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇÒ ¶§ ¿ì¸®´Â ¹Ì·¡ÀÇ ¼öÁý±â¿¡ ±¸ÃàµÉ ¿¬°á¼ºÀÇ
À¯Çü°ú À̵éÀÌ »ç¿ëÇÒ ±â¼úÀ» ¿¹ÃøÇÏÁö ¸øÇß´Ù. ¿¹¸¦ µé¾î, ÇÁ·ÎÁ§Æ®ÀÇ ÇÑ ´Ü°è¿¡¼´Â ¼ÒÇÁÆ®¿þ¾î ½Ã¹Ä·¹À̼ÇÀ» »ç¿ëÇÏ¿© ¸¹Àº ¼öÁý±âµéÀ»
³»ºÎÀûÀ¸·Î ½Ã¹Ä·¹À̼ÇÇϱâ À§ÇØ ¼öÆÛ ÄÄÇ»ÅÍ Å¬·¯½ºÅÍ°¡ »ç¿ëµÇ¾ú´Ù. ¿ì¸®ÀÇ ¼Ö·ç¼ÇÀº ½ÇÁ¦ÀÇ ±×¸®°í ½Ã¹Ä·¹À̼ǵÈ, ÇöÀç¿Í ¹Ì·¡ÀÇ ¸ðµç
¼öÁý±â¿¡ Àû¿ëµÉ ¼ö ÀÖ¾î¾ß ÇÑ´Ù.
¼Ö·ç¼Ç : º´Ä¡ ±×¸² 1Àº ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ
À§ÇÑ »óÀ§ ·¹º§ ¼³°è¸¦ º¸¿© ÁØ´Ù.
±×¸² 1. µ¥ÀÌÅÍ ¼öÁý ¹®Á¦ ÇØ°áÇϱâ
³×Æ®¿öÅ©ÀÇ ´Ù¾çÇÑ »óȲÀ» ¼ö¿ëÇϱâ À§ÇØ º´Ä¡µÈ P2P ³×Æ®¿öÅ©¸¦ »ç¿ëÇÏ´Â ÇÑÆí ÁýÁß ÀåÄ¡´Â µ¥ÀÌÅͺ£À̽º ¼¹ö¿Í ¼öÆÛ ÄÄÇ»ÅÍ°¡
ÀÖ´Â ±âÁ¸ÀÇ Å¬¶óÀ̾ðÆ®/¼¹ö ³×Æ®¿öÅ©¿Í P2P ³×Æ®¿öÅ©¿¡ ´ëÇÑ ¿¬°áÀ» Á¦°øÇÏ°í ÀÖ´Ù´Â »ç½Ç¿¡ ÁÖÀÇÇÑ´Ù. ÁýÁß ÀåÄ¡µéÀº µÎ ³×Æ®¿öÅ©°£ÀÇ
±³·® ¿ªÇÒÀ» Çϴµ¥, P2P ³×Æ®¿öÅ©ÀÇ µ¿ÀûÀΠƯ¼º°ú Ŭ¶óÀ̾ðÆ®/¼¹ö ³×Æ®¿öÅ©ÀÇ Á¤ÀûÀΠƯ¼ºÀ» ¸ðµÎ °¡Áö°í ÀÖ´Ù.
ÀÌ ¾ÆÅ°ÅØó´Â juxtaposition (º´Ä¡ : JXTA¶ó´Â À̸§ÀÌ ¸¸µé¾îÁø ¹Ù·Î ±× ´Ü¾î)¸¦ ÀÌ¿ëÇØ ±âÁ¸
½Ã½ºÅÛµéÀ» º¸¿ÏÇÏ°í À̵鿡°Ô ºÎ°¡µÈ °¡Ä¡¸¦ Á¦°øÇÏ´Â JXTAÀÇ ¿ª·®À» ³ªÅ¸³½´Ù.
¿ì¸®´Â º°·Î µ¶Æ¯ÇÒ °ÍÀÌ ¾ø´Â Ŭ¶óÀ̾ðÆ®/¼¹ö ³×Æ®¿öÅ©ÀÇ »ó¼¼ »çÇ×Àº ´Ù·çÁö ¾ÊÀ» °ÍÀÌ´Ù. ¿ì¸®´Â VPN ±â¼úÀ» »ç¿ëÇØ À̸¦
ÀÎÅÍ³Ý »ó¿¡¼µµ ½ÇÇà½Ãų ¼ö ÀÖ´Ù. Èï¹Ì¸¦ ²ô´Â ºÎºÐÀÌ P2P ³×Æ®¿öÅ©ÀÌ´Ù. ±×¸² 2´Â ±× ±¸¼ºÀ» º¸¿©Áִµ¥, ¾ÕÀ¸·Î º¯ÈÇϱ⠽ʹÙ.
°ü·ÃµÈ ±â¼úµéÀÇ ´Ù¾ç¼º¿¡ ÁÖ¸ñÇϱ⠹ٶõ´Ù.
±×¸² 2. µ¥ÀÌÅÍ ¼öÁý±â ³×Æ®¿öÅ© ±¸¼º
¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝ Áö¿ø
JXTAÀÇ ÀÚ¹Ù ÂüÁ¶ ±¸ÇöÀº ¿ì¸®°¡ ±â»ó ³×Æ®¿öÅ© ¿¹Á¦¿¡¼ ¼³¸íÇÒ ºñ TCP/IP ³×Æ®¿öÅ©¿¡ ´ëÇÑ ¿£µåÆ÷ÀÎÆ®
ÇÁ·ÎÅäÄÝÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù. ±×·¯³ª JXTA ¼³°è°¡ Áö´Ñ °íÀ¯ÇÑ °èÃþ ±â´É ´öºÐ¿¡ ¼öÁý±â°¡ JXTAÀÇ ¾î¶² ±âÁ¸
±¸ÇöÀÌ¶óµµ ¿î¿µÇÒ ¼ö ÀÖ´Â °æ¿ì ¿©·¯ºÐÀº ÀÌ·¯ÇÑ ÇÁ·ÎÅäÄÝÀ» Áö¿øÇϵµ·Ï ÄÚµùÇÒ ¼ö ÀÖ´Ù.
P2P ³×Æ®¿öÅ©¸¦ ±¸ÇöÇÒ ¶§ ¿ì¸®´Â JXTA¸¦ »ç¿ëÇÏ¿© ´ÙÀ½°ú °°Àº ÀÌÁ¡À» ¾òÀ» ¼ö ÀÖ´Ù.
JXTAÀÇ ÅëÀÏµÈ ºñÁýÁᫎ ÁÖ¼Ò Ã¼°è¿¡ ÀÇÇÑ »õ·Î¿î ¼öÁý±â³ª ÁýÁß ÀåÄ¡ÀÇ ¼Õ½¬¿î Ãß°¡¿Í »èÁ¦
JXTAÀÇ ³×Æ®¿öÅ© °¡»óÈ¿¡ ÀÇÇÑ ¼³°èÀÇ °£Æí¼º
JXTAÀÇ ¿À·ù ȸº¹ ±â´É¿¡ ÀÇÇÑ Áö¼ÓÀûÀÎ ¿î¿µ
JXTAÀÇ µ¿ÀûÀÌ°í ÀÚ±â Á¶Á÷ÀûÀÎ ³×Æ®¿öÅ© Áö¿ø¿¡ ÀÇÇÑ ¸ÞÀÎÅͳͽº°¡ ÇÊ¿ä ¾ø´Â ¿î¿µ
¸¹Àº Çϵå¿þ¾î Ç÷§Æû°ú ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ °ÉÄ£ ´Ù¾çÇÑ ±¸Çö¿¡ ´ëÇÑ Áö¿ø°ú »ç¿ëµÇ´Â ´Ù¾çÇÑ Åë½Å ÇÁ·ÎÅäÄÝ¿¡ ´ëÇÑ Áö¿ø
À̵é Áß ¸î °³¸¦ Á» ´õ »ó¼¼È÷ »ìÆ캸°í JXTA°¡ ¿ì¸® ¾ÆÅ°ÅØóÀÇ °¢ Ãø¸é¿¡ ¾î¶»°Ô ±â¿©ÇÏ´ÂÁö¸¦ ¾Ë¾Æ º¸ÀÚ.
ÅëÀÏµÈ ºñÁýÁᫎ ÁÖ¼Ò Ã¼°è ÅëÀÏµÈ ºñÁýÁß½Ä
ÁÖ¼Ò Ã¼°è ¶õ ÇǾ ÇöÀçÀÇ DNS¿¡¼ °ÅÃÄ¾ß ÇÏ´Â ¾î¶°ÇÑ µî·Ï ´ã´çÀÚ³ª Áß¾Ó ±â°üÀ» °ÅÄ¡Áö ¾Ê°íµµ ½º½º·Î ID¸¦ »ý¼ºÇÒ ¼ö
ÀÖ°í ³×Æ®¿öÅ©¿¡ Áï½Ã Âü¿©ÇÒ ¼ö ÀÖ´Ù´Â ÀǹÌÀÌ´Ù. ÀÌ ±â´ÉÀº ¿ì¸®°¡ ¾ðÁ¦¶óµµ ³×Æ®¿öÅ©¿¡ ¼öÁý±â¿Í ÁýÁßÀåÄ¡¸¦ Ãß°¡ÇÒ ¼ö ÀÖÀ½À»
ÀǹÌÇÑ´Ù.
ÀÌ ±Û¿¡¼ Á¦°øÇÏ´Â ÄÚµå ÆÐÅ°Áö(Âü°í
ÀÚ·á ¿¡¼ ´Ù¿î·Îµå¹ÞÀ» ¼ö ÀÖ´Ù)¿¡¼ ¿ì¸®´Â »õ·Î¿î JXTA ¼ºñ½º¿Í ÆÄÀÌÇÁ¿¡ ´ëÇÑ ÁÖ¼Ò¸¦ »ý¼ºÇϴµ¥ »ç¿ëµÇ´Â
mdidgen
À̶ó´Â À¯Æ¿¸®Æ¼¸¦ Á¦°øÇÏ¿´´Ù (mdidgen
¿¡ ´ëÇÑ Ãß°¡ Á¤º¸´Â º¸Á¶ÀÚ·á
mdidgen
À¯Æ¿¸®Æ¼ ¸¦ ÂüÁ¶ÇÑ´Ù). ÇǾî, ÇÇ¾î ±×·ì, ¼ºñ½º ¹× ÆÄÀÌÇÁ¿Í °°Àº JXTA °´Ã¼¿¡ ´ëÇØ Ã¼°èÀûÀ¸·Î ÁÖ¼Ò¸¦ ÁöÁ¤Çϱâ À§ÇØ
JXTA°¡ ¾î¶»°Ô »ç¿ëµÇ´ÂÁö¿¡ °üÇÑ »ó¼¼ »çÇ×Àº ÀÌ
½Ã¸®ÁîÀÇ Ã¹È¸ ¸¦ Àб⠹ٶõ´Ù.
JXTA ³×Æ®¿öÅ©ÀÇ ÇǾî´Â °³º°ÀûÀÎ ¹°¸®ÀûÀÎ Á¸À縦 °¡Áö°í ÀÖÀ» ÇÊ¿ä°¡ ¾ø´Ù´Â Á¡¿¡ ÁÖÀÇÇÑ´Ù. ¿ì¸®ÀÇ ¿¹¿¡¼ ¿ì¸®´Â °¢ÀÚ
ÀÚüÀûÀÎ ÅëÀÏµÈ ÁÖ¼Ò¸¦ °¡Áö°í ÀÖ´Â ¼ö¸¹Àº ¼öÁý±âµéÀ» ¸ð¹æÇÏ´Â ¼öÆÛ ÄÄÇ»ÅÍ Å¬·¯½ºÅ͸¦ »ç¿ëÇÏ¿´´Ù. ÀÌ ½Ã¹Ä·¹ÀÌ¼ÇµÈ ¼öÁý±âµé °¢°¢Àº
½ÇÁ¦·Î Á¸ÀçÇÏ´Â ÇǾîµé°ú ±¸º°ÀÌ ºÒ°¡´ÉÇÑ ÇǾî·Î½á P2P ³×Æ®¿öÅ©ÀÇ ³ª¸ÓÁö ºÎºÐ¿¡¼ ¿¶÷µÈ´Ù.
³×Æ®¿öÅ© °¡»óÈ
ºñÁýÁßÈµÈ ÁÖ¼Ò Ã¼°è¿¡ ÀÇÇØ ³×Æ®¿öÅ©¿¡¼ À¯ÀÏÇÑ ID¸¦ ¹ÞÀº ÈÄ¿¡ ¸ðµç ¼öÁý±â¿Í ÁýÁß ÀåÄ¡µéÀº Áï°¢ÀûÀ¸·Î ³×Æ®¿öÅ©¿¡¼ ÇǾ µÉ
¼ö ÀÖ°í ¼·Î Åë½ÅÀ» ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. À̵éÀº ¹«¼öÇÑ »óÀÌÇÑ ¸Þ½Ã¡ ¸ÞÄ¿´ÏÁòÀ» ÅëÇØ ¼·Î¿¡°Ô µµ´ÞÇÏÁö¸¸, ±×¸² 3¿¡¼ º¸¿©ÁöµíÀÌ
JXTA ·¹º§¿¡¼´Â ¸ðµå °¡»óÀÇ ¸Á»çÇü ³×Æ®¿öÅ©¿¡ ÀÖ´Â ³ëµåÀÏ »ÓÀÌ´Ù.
±×¸² 3. ³×Æ®¿öÅ© °¡»óÈ
¼öÁý±â¿Í ÇǾ ½ÇÁ¦·Î »óÈ£ ¿¬°áÇÏ´Â ¸ðµç »óÀÌÇÑ Àü¼Û ¹× ÁÖ¼Ò ½ºÅ°¸¶µéÀÌ °¡»óȵǸç, ¸ðµç ÇǾ ´Ù¸¥ ¸ðµç ÇǾ ¿¬°áµÇ´Â
¸Á»çÇü ³×Æ®¿öÅ©¸¸ ³²°Ô µÈ´Ù. JXTA´Â ÅëÀÏµÈ ÁÖ¼Ò ½ºÅ°¸¶¿Í ¸Å¿ì ´À¸° ¹ÙÀεùÀ» »ç¿ëÇØ º¹¼öÀÇ ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝ »ó¿¡ Áö´ÉÀûÀÎ
¸Þ½ÃÁö ¶ó¿ìÆà °èÃþÀ» Ãß°¡ÇÔÀ¸·Î½á À̸¦ ¼öÇàÇÑ´Ù. º»ÁúÀûÀ¸·Î, °¢ ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝÀ̳ª Àü¼Û ½ºÅÃÀº °¡»óÈµÈ JXTA ³×Æ®¿öÅ©ÀÇ
ÃßÁøÀÚ°¡ µÇ¸ç °¡»óÈµÈ ³×Æ®¿öÅ©¸¦ ½ÇÁ¦ ³×Æ®¿öÅ©·Î ¸ÅÇνÃŲ´Ù. ±×¸² 4¿¡ ÀÌ ¼³Á¤ÀÌ ³ª¿Í ÀÖ´Ù.
±×¸² 4. ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝ
¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝ¿¡ ÀûÇÕÇÑ Åë½Å ÇÁ·ÎÅäÄÝÀÌ µÇ·Á¸é µÎ °³ÀÇ ¹°¸®Àû ³ëµå °£¿¡ XML ¸Þ½ÃÁö¸¦ ÁÖ°í ¹ÞÀ» ¼ö Àֱ⸸ ÇÏ¸é µÈ´Ù.
Àü¼ÛÀÇ ½Å·Ú¼ºÀ̳ª ¸Þ½ÃÁö ¹æ¼Û¿¡ ´ëÇÑ Áö¿øÀÌ ÇÊ¿ä ¾ø´Ù. À̸®ÇÏ¿© °¡Àå °£´ÜÇÑ ÆÐŶ ¹«¼± ÇÁ·ÎÅäÄÝÀÌ TCP/IP¿Í °°Àº º¹ÀâÇÑ ´Ù°èÃþ
ÇÁ·ÎÅäÄÝ°ú ³ª¶õÈ÷ ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝ·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ¿Ö ½ÇÁ¦·Î´Â ¾ÆÁÖ ´Ù¸¥ ·¹º§¿¡ Á¸ÀçÇÏ´Â HTTP¿Í TCP/IP°¡
JXTA ½ºÅÃÀÇ µ¿ÀÏÇÑ ·¹º§¿¡ ÀÖ´Â ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝÀÎÁö¸¦ ¼³¸íÇØÁØ´Ù. HTTP´Â ÇÑ ÇǾ¼ ´Ù¸¥ ÇǾî·Î Àü´ÞµÇ´Â ¸Þ½ÃÁö¸¦ ¾ò±â
À§ÇØ ÇÊ¿äÇÑ ¸¹Àº ÆÄÀ̾î¿ùµéÀ» Åë°úÇÒ ¼ö ÀÖ´Â ´É·Â ¶§¹®¿¡ Áö¿øµÇ´Â ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝÀÌ´Ù.
JXTA ³×Æ®¿öÅ©ÀÇ °¢ ÇǾî´Â µ¿½Ã¿¡ ¿©·¯ °³ÀÇ ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÒ ¼ö ÀÖ°í, JXTA °¡»ó ³×Æ®¿öÅ© ¸ÞÄ¿´ÏÁòÀº
°¡»óÈµÈ ÅëÀÏµÈ ³×Æ®¿öÅ© ÁÖ¼Ò¸¦ ½ÇÁ¦ ³×Æ®¿öÅ© ÁÖ¼Ò (JXTA¿¡¼´Â ³×Æ®¿öÅ© ¿£µåÆ÷ÀÎÆ® ¶ó°í ºÒ¸²)¸¦ °¡´ÉÇÑÇÑ ´À¸®°Ô
¸ÅÇνÃų °ÍÀÌ´Ù. º»ÁúÀûÀ¸·Î ÇÑ ÇǾî´Â ¹°¸®ÀûÀÎ ¿£µåÆ÷ÀÎÆ®µéÀÇ ÁýÇÕ¿¡ ´ëÀÀµÇ¸ç, ÀÌµé °¢°¢Àº ¿ÏÀüÈ÷ ´Ù¸¥ ¹°¸®Àû Åë½Å ÇÁ·ÎÅäÄÝ¿¡¼
±¸ÇöµÉ ¼ö ÀÖ´Ù. »óÀ§ ·¹º§ °¡»óÈ¿Í ¶ó¿ìÆà ¼ºñ½º´Â À̵éÀ» º¸ÀÌÁö ¾Ê°Ô À¯ÁöÇÒ °ÍÀÌ´Ù. ¸¹Àº »ç¶÷µéÀÌ ¿À´Ã³¯ÀÇ ÀÎÅͳÝÀ» Çö½Ç·Î ¸¸µç
Àåºñ¿Í µ¿ÀÏÇÑ ¸ÖƼÇÁ·ÎÅäÄÝ ¶ó¿ìÅÍÀÇ ¾ÆÁÖ ¹ßÀüµÈ Çü½ÄÀ¸·Î À̸¦ ÀνÄÇÒ °ÍÀÌ´Ù. ÀÌ °³³äÀÇ ¹ßÀüÀÌ º¸´Ù ³Î¸® È®»êµÇ´Â ÀÎÅÍ³Ý ¹öÀüÀ¸·Î
¿ì¸®¸¦ À̲ø °ÍÀº ¾ÆÁÖ ÀÚ¿¬½º·¯¿î ÀÏÀÌ´Ù.
±×¸² 5¿¡¼ ¿ì¸® ¿¹Á¦¸¦ Á» ´õ ÀÚ¼¼È÷ »ìÆ캸ÀÚ. ÇǾî A´Â ¿ì¸® ³×Æ®¿öÅ©ÀÇ ÇÑ ¼öÁý±â·Î½á, ÀÏ·ÃÀÇ Áß°³ ¼öÁý±â(ÇǾî
B,C,D)¸¦ ÅëÇØ ÁýÁßÀåÄ¡ (ÇǾî E)¿¡°Ô µ¥ÀÌÅ͸¦ º¸³»·Á°í ½ÃµµÇÑ´Ù. ±×¸²ÀÇ °¢ ÇÇ¾î ¾Æ·¡¿¡´Â ÇǾ Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝÀÇ ¸ñ·ÏÀÌ
³ª¿Í ÀÖ´Ù.
±×¸² 5. JXTA ¶ó¿ìÆà ¿¹Á¦
ÇǾî A´Â ÇǾî E¿¡ Á÷Á¢ ¿¬°áµÇ¾î ÀÖÁö ¾Ê±â ´ë¹®¿¡ ±× ¸Þ½ÃÁö´Â Áß°³ ÇǾîÀÎ B,C,D¿¡ ¶ó¿ìÆõǾî¾ß ÇÑ´Ù. JXTA´Â
¸Þ½ÃÁö¸¦ ÀÚµ¿À¸·Î ¶ó¿ìÆÃÇÒ °ÍÀÌ´Ù.
TCP/IP¸¦ »ç¿ëÇÏ¿© ÇǾî A¿¡¼ ÇǾî B·Î
ÆÐŶ ¶óµð¿À¸¦ »ç¿ëÇÏ¿© ÇǾî B¿¡¼ ÇǾî C·Î
SMS¸¦ »ç¿ëÇÏ¿© ÇǾî C¿¡¼ ÇǾî D·Î
HTTP¸¦ »ç¿ëÇÏ¿© ÇǾî D¿¡¼ ÇǾî E·Î
ÇǾî E´Â ÀÚ½ÅÀÌ »ý¼ºÇÑ ÆÄÀÌÇÁ »ó¿¡¼ ÇǾî A·ÎºÎÅÍ ¸Þ½ÃÁö¸¦ ¹ÞÀ» °ÍÀ̸ç, JXTA°¡ ´ë½Å ¼öÇàÇÑ º¹ÀâÇÑ ÀÛ¾÷µéÀ» ÀüÇô ¾ËÁö
¸øÇÒ °ÍÀÌ´Ù. ÇǾî C¿¡¼ ÇǾî D·ÎÀÇ °æ·Î´Â ºñ´ëĪÀûÀ̶ó´Â µ¥ ÁÖÀÇÇÑ´Ù. JXTA´Â ±×·¯ÇÑ »óȲÀ» ó¸®Çϵµ·Ï ±¸Ã¼ÀûÀ¸·Î ¼³°èµÇ¾ú´Ù.
¸Þ½ÃÁö°¡ ÇǾî E¿¡¼ ÇǾî A·Î ÀçÀü¼ÛµÇ¸é JXTA´Â ÀÚµ¿ÀûÀ¸·Î ÇǾî D¿¡¼ ÇǾî C·Î ´ÙÀ̾ó¾÷ ¸ðµ© PPP ¶ó¿ìÆÃÀ» »ç¿ëÇÒ
°ÍÀÌ´Ù.
¿À·ù ȸº¹¼º
À§¿¡¼ ¼³¸íÇÑ ¶ó¿ìÆà ±â´É¸¸À¸·Îµµ ÀÌ¹Ì ¾ÆÁÖ ³î¶øÁö¸¸, JXTA´Â P2P ³×Æ®¿öÅ©ÀÇ º¯ÈÇÏ´Â À§»ó¿¡ ºÎÀÀÇϱâ À§ÇØ ÈξÀ ´õ ¸¹Àº
°ÍÀ» ¼öÇàÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ƯÈ÷ ¸Þ½ÃÁö ¶ó¿ìÆà ¿¡ÀÌÀüÆ®·Î ÀÛµ¿ÇÒ ¶§ P2P ÇǾîÀÇ ºñ½Å·Ú¼ºÀ» ´Ù·ê ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ¿ì¸®ÀÇ °æ¿ì¿¡
¸Þ½ÃÁö¸¦ ¶ó¿ìÆÃÇϱâ À§ÇØ ´Ù¸¥ ¼öÁý±â¿¡ ÀÇÁ¸ÇÏ´Â ¼öÁý±â´Â Áß°è ¼öÁý±â°¡ »ç¿ëÇÒ ¼ö ¾ø°Ô µÇ¸é Åë½ÅÀ» ÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù.
JXTA´Â ÇǾ ³×Æ®¿öÅ©¿¡ µé¾î¿À°í ³ª°¡´Â ¼ø°£¿¡ ¸Þ½ÃÁö¸¦ Àç¶ó¿ìÆÃÇÏ´Â ±â´ÉÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ±×¸² 5ÀÇ ¶ó¿ìÆà ¿¹Á¦¸¦
´Ù½Ã °í·ÁÇغ¸ÀÚ. ¾î¶² ÀÌÀ¯·Î ÇǾî A°¡ ¸Þ½ÃÁö¸¦ º¸³½ Á÷ÈÄ¿¡ (ÇöÀç Àü¼Û ÁßÀÓ), ±×¸®°í ¸Þ½ÃÁö°¡ ÇǾî C¿¡ µµÂøÇϱâ Àü¿¡ C¿Í
D°£ÀÇ À§¼º ¸µÅ©°¡ ´Ù¿îµÇ¾ú´Ù°í °¡Á¤ÇØ º¸ÀÚ. JXTA´Â ´ëü °æ·Î¸¦ ÅëÇØ ÇǾî E¿¡°Ô ¸Þ½ÃÁö¸¦ µ¿ÀûÀ¸·Î ÀçÀü¼ÛÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù
(´Ù¸¥ Áß°è ³ëµå ¼¼Æ®¸¦ ÅëÇØ). ÀÌ·¯ÇÑ µ¿ÀûÀÎ ¶ó¿ìÆÃÀº ÃÖ¼±ÀÇ ³ë·Â¿¡ µû¶ó ¼öÇàµÈ´Ù. ¶§¶§·Î ¾î¶² ¶ó¿ìÆõµ °¡´ÉÇÏÁö ¾ÊÀ» °æ¿ì
¸Þ½ÃÁö¸¦ ÀÒ¾î¹ö¸®±âµµ ÇÑ´Ù. ÀÌ·¯ÇÑ ¶ó¿ìÆÃÀº ÇǾî E (¿¹¸¦ µé¾î, HTTP¿¡¼ TCP/IP·Î)¿¡ µµÂøÇϱâ À§ÇØ »ç¿ëµÇ´Â ½ÇÁ¦
¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝÀ» º¯°æÇÒ ¼ö Àֱ⠶§¹®¿¡, ÇǾ ¹°¸®Àû ¿£µåÆ÷ÀÎÆ®¿¡ ¹ÙÀεù½ÃÅ°´Â ÀÏÀº °æ·ÎÀÇ ¸¶Áö¸· ÁöÁ¡±îÁö ¹ß»ýÇÏÁö ¾ÊÀ» ¼öµµ
ÀÖ´Ù. ÀÌ°ÍÀÌ JXTAÀÇ ¸Å¿ì ´À¸° ¹ÙÀεùÀÇ º»ÁúÀÌ´Ù.
ÇÇ¾î ±×·ì ·¹º§ (ÇÇ¾î ±×·ì¿¡ ´ëÇÑ »ó¼¼ »çÇ×Àº ÀÌ
½Ã¸®ÁîÀÇ Ã¹È¸ ¸¦ ÂüÁ¶ÇÑ´Ù.)¿¡¼ JXTA´Â ÇÇ¾î ±×·ì ³»¿¡¼ Ç×»ó »ç¿ë °¡´ÉÇØ¾ß ÇÏ´Â Áߺ¹ÀûÀ¸·Î ±¸ÇöµÈ ¼ºñ½ºÀÎ ÇǾî
±×·ì ¼ºñ½º ¸¦ Áö¿øÇÔÀ¸·Î½á ¿À·ù ȸº¹ ±â´ÉÀ» Áö¿øÇÑ´Ù.
µ¿ÀûÀÌ°í ÀÚ±â Á¶Á÷ÀûÀÎ ³×Æ®¿öÅ©
ÅëÀÏµÈ °¡»ó ³×Æ®¿öÅ© ID¸¦ °¡Áø ÇǾî´Â JXTA ³×Æ®¿öÅ©¿¡ »ðÀ﵃ ¶§ ´ÙÀ½°ú °°ÀÌ ÀÚ½ÅÀ» ºÎÆ®½ºÆ®·¦ÇØ¾ß ÇÑ´Ù.
·ÎÄà ÇǾîÀÇ À§Ä¡¸¦ ã°í ±â´ÉÀ» °Ë»öÇÑ´Ù.
»ç¿ë °¡´ÉÇÑ ÇÇ¾î ±×·ìÀ» °Ë»öÇÏ°í ¿©±â¿¡ Âü¿©ÇÑ´Ù.
ÇÇ¾î ±×·ì¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¼ºñ½º¸¦ °Ë»öÇÏ°í À̵éÀ» ÀÌ¿ëÇϱ⠽ÃÀÛÇÑ´Ù.
¿ì¸®´Â 2ȸ ¿¡¼
ÀÌ ÀÛ¾÷ÀÌ advertisement ¶ó°í ºÒ¸®´Â ´Ù¸¥ À¯ÇüÀÇ ¸Þ½ÃÁö¸¦ °ø°³ÇÏ°í Áß°èÇϸç Áï°¢ÀûÀ¸·Î ij½Ã¿¡ ÀúÀåÇÏ°í
°Ë»öÇÔÀ¸·Î½á ¸Þ½ÃÁö ·¹º§¿¡¼ ¼öÇàµÈ´Ù°í ¹è¿ü´Ù. JXTAÀÇ ÀÚ¹Ù ÂüÁ¶ ±¸ÇöÀº ÀÌ·¯ÇÑ °ø°³-ij½Ã-°Ë»ö ÇÁ·Î¼¼½º¸¦ ¿ëÀÌÇÏ°Ô ÇÏ´Â ÇØ°áÀÚ¿Í
Áý°á ¼ºñ½º °èÃþÀ» °¡Áö°í ÀÖ´Ù.
JXTAÀÇ ÇÇ¾î ±×·ìÀº ³×Æ®¿öÅ© ºÐÇÒ ¸ÞÄ¿´ÏÁòÀ¸·Î ÀÛ¿ëÇϴµ¥, advertisement°¡ À̵éÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â ±×·ì
¸â¹öµé¿¡°Ô¸¸ Áß°èµÇµµ·Ï º¸ÁõÇÑ´Ù. ´Ù¸¥ ÇÇ¾î ±×·ìµéÀº ´Ù¸£°Ô È¥ÇÕµÈ ÇǾî¿Í ÇÇ¾î ±×·ì ¼ºñ½º¸¦ °¡Áö°í ÀÖ°í, ±â´ÉÀ» Á¦°øÇϱâ À§ÇÑ
¹øµé¸µÀ¸·Î È°µ¿ÇÑ´Ù. ÇÇ¾î ±×·ìÀº ¶ÇÇÑ Æ¯Á¤ ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ ÀÎÁõ µµ¸ÞÀÎ ¿ªÇÒµµ ÇÑ´Ù.
mdidgen À¯Æ¿¸®Æ¼
À¯Æ¿¸®Æ¼ Ŭ·¡½º com.ibm.jxta.mdidgen
Àº JXTA °´Ã¼¿¡ ´ëÇÑ ÅëÀÏµÈ ÁÖ¼Ò¸¦
ºñÁýÁᫎ ¹æ½ÄÀ¸·Î »ý¼ºÇϴµ¥ »ç¿ëµÈ´Ù. ÀÌ À¯Æ¿¸®Æ¼´Â »õ·Î¿î ModuleClassID, ´ëÀÀÇÏ´Â
ModuleSpecID
¹× ±×·ì (±¸µ¿½Ã ÀÐÇôÁö´Â ¼³Á¤ ÆÄÀÏ¿¡ ÁöÁ¤µÇ¾î ÀÖÀ½)°ú ¿¬°üµÈ
»õ·Î¿î PipeID
¸¦ »ý¼ºÇÑ´Ù. »ý¼ºµÈ À̵é ID´Â ÀÚ¹Ù ¼±¾ð Çü½ÄÀ» »ç¿ëÇÒ Áغñ°¡ µÇ¾î ÀÖ°í,
¿©·¯ºÐ Äڵ忡 ¹Ù·Î »ðÀ﵃ ¼ö ÀÖ´Ù. ÀÌ°ÍÀÌ ModuleSpecAdvertisement
¿Í ÁýÁß ÀåÄ¡
¼ºñ½º ÆÄÀÌÇÁÀÇ ID¸¦ »ý¼ºÇÏ´Â ¹æ½ÄÀÌ´Ù.
JXTA ¼ºñ½º¿Í JXTA Ŭ¶óÀ̾ðÆ® ¼³°èÇϱâ
¿ì¸®ÀÇ ±â»ó °üÃø¼Ò ¿¹·Î µ¹¾Æ°¡ º¸ÀÚ. °³³äÀûÀ¸·Î, ÁýÁß ÀåÄ¡´Â ´ÙÀ½°ú °°Àº °ÍÀ» ¼öÇàÇØ¾ß ÇÑ´Ù.
ÁýÁßÀåÄ¡¿¡°Ô ¾î¶² JXTA ±×·ì¿¡ Âü¿©ÇÒÁö ¾Ë·ÁÁÖ´Â ÀûÀýÇÑ ¼³Á¤ ÆÄÀÏÀ» Àаí ó¸®ÇÑ´Ù. (¿ì¸® ¿¹Á¦¿¡ ´ëÇÑ ¼³Á¤ ÆÄÀÏÀÌ
»ùÇà ÄÚµå ÆÐÅ°Áö¿¡ µé¾î ÀÖ´Ù.)
JXTA¸¦ ±¸µ¿½ÃŲ´Ù.
¼³Á¤ ÆÄÀÏ¿¡ ÁöÁ¤µÈ ±×·ì¿¡ Âü¿©ÇÑ´Ù.
ÁýÁß ÀåÄ¡¿¡ ´ëÇÑ ¼ºñ½º advertisement°¡ Á¦°øµÇ¾î ÀÖ´ÂÁö °Ë»öÇÑ´Ù. Á¦°øµÇ¾î ÀÖÁö ¾ÊÀ¸¸é Çϳª¸¦ ¸¸µé°í À̸¦
°ø°³ÇÑ´Ù.
¼ºñ½º¿¡ ´ëÀÀÇÏ´Â ÀÔ·Â ÆÄÀÌÇÁ¸¦ »ý¼ºÇÑ´Ù.
¼öÁý±â·ÎºÎÅÍ µµÂøÇÏ´Â ¸Þ½ÃÁö¸¦ À§ÇØ ÆÄÀÌÇÁ¿¡¼ ´ë±âÇÑ´Ù.
¸Þ½ÃÁö°¡ µµÂøÇϸé À̸¦ ó¸®ÇÏ¿© RDBMS¿¡ ÀúÀåÇÑ´Ù.
6´Ü°è·Î µ¹¾Æ°£´Ù.
ÀÌ ·ÎÁ÷Àº com.ibm.jxta.Concentrator Ŭ·¡½º¿¡¼ ±¸ÇöµÈ´Ù. ¿©·¯ºÐÀº ÀÌ Å¬·¡½º¿Í ÀÌ ±Û¿¡ ³ª¿Â ´Ù¸¥ ¸ðµç
Äڵ带 Âü°íÀÚ·á ¿¡¼
´Ù¿î·Îµå¹ÞÀ» ¼ö ÀÖ´Ù.
¼öÁý±â´Â ´ÙÀ½À» ±¸ÇöÇØ¾ß ÇÑ´Ù.
¼³Á¤ ÆÄÀÏÀ» Àаí ó¸®ÇÑ´Ù.
JXTA¸¦ ±¸µ¿½ÃŲ´Ù.
¼³Á¤ ÆÄÀÏ¿¡ ÁöÁ¤µÈ ±×·ì¿¡ Âü¿©ÇÑ´Ù.
ÁýÁßÀåÄ¡ ¼ºñ½º¿¡ ´ëÇÑ ¼ºñ½º advertisement¸¦ °Ë»öÇÑ´Ù. ÀÌ°ÍÀÌ »ç¿ë°¡´ÉÇÏÁö ¾ÊÀ¸¸é °è¼Ó ÁøÇàÇÒ ¼ö
¾ø´Ù.
¼ºñ½º advertisement¿¡¼ ÆÄÀÌÇÁ Á¤º¸¸¦ ÃßÃâÇÑ´Ù.
Á¤±âÀûÀÎ °£°ÝÀ¸·Î µ¥ÀÌÅ͸¦ ¼öÁýÇÑ´Ù.
¼öÁý±âÀÇ À§Ä¡¿Í µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â ¸Þ½ÃÁö¸¦ »ý¼ºÇÑ´Ù.
ÆÄÀÌÇÁ¸¦ ÅëÇØ ÁýÁßÀåÄ¡ ¼ºñ½º¿¡°Ô ¸Þ½ÃÁö¸¦ º¸³½´Ù.
6´Ü°è·Î µ¹¾Æ°£´Ù.
À§ÀÇ ·ÎÁ÷Àº com.ibm.jxta.Collector
Ŭ·¡½º¿¡¼ ±¸ÇöµÈ´Ù.
DwJxtaPeer ¼öÆÛ Å¬·¡½º·Î ÀÏ¹Ý ÀÛ¾÷
factoringÇϱâ
¼öÁý±â¿Í ÁýÁß ÀåÄ¡ÀÇ ¿ªÇÒ¿¡ °øÅëµÇ´Â ¸¹Àº ÀÛ¾÷µéÀÌ ÀÖ´Ù. ÄÚµåÀÇ ºÒÇÊ¿äÇÑ Áߺ¹À» ¾ø¾Ö°í ÇâÈÄ À¯Áöº¸¼ö ÀÛ¾÷À» °£ÆíÇÏ°Ô Çϱâ
À§ÇØ ÀÌ °øÅë ÀÛ¾÷µéÀ» com.ibm.jxta.DWJxtaPeer
¶ó´Â ¼öÆÛ Å¬·¡½º·Î
factoringÇغ¸ÀÚ.
ÀÌ °øÅë ÀÛ¾÷µé Áß Çϳª´Â ModuleSpecAdvertisement
¿¡ ´ëÇÑ °Ë»öÀ» ¼öÇàÇÏ´Â °ÍÀÌ´Ù.
(advertisement¿¡ ´ëÇÑ »ó¼¼ »çÇ×Àº JXTA¿¡¼ÀÇ
¼ºñ½º Advertisements ¸¦ ÂüÁ¶ÇÑ´Ù.) ÀÌ°ÍÀº Listing 1ÀÇ
findModuleSpecAdv()
¸Þ¼Òµå¿¡ ÀÇÇØ ¼öÇàµÈ´Ù.
Listing
1. findModuleSpecAdv()
protected ModuleSpecAdvertisement findModuleSpecAdv() {
return (ModuleSpecAdvertisement) findAdv("ModuleSpecAdvertisement",
"Name",ModuleSpecName, new ModuleSpecAdvValidator(), false );
}
findModuleSpecAdv()
´Â findAdv()
¶ó´Â ¶Ç´Ù¸¥ ÀÏ¹Ý ¸Þ¼Òµå¸¦
È£ÃâÇѴٴµ¥ ÁÖÀÇÇÑ´Ù. ¿ì¸®´Â advertisement¸¦ °Ë»öÇϱâ À§ÇØ ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇÑ´Ù.
findAdv()
ÀÇ ÀÎÀÚ´Â ´ÙÀ½°ú °°´Ù.
ÀÎÀÚ
¼³¸í
AdvType
advertisementÀÇ À¯ÇüÀ» ¹®ÀÚ¿·Î ±â¼ú -- ¿¹ : PipeAdvertisement
Attr
advertisement¸¦ °Ë»öÇÒ ¶§ ¸ÅÄ¡µÇ´Â ÅÂ±× -- ¿¹ : Name
Value
ÁöÁ¤µÈ ¼Ó¼º°ú ÀÏÄ¡µÇ´Â °ª
Validator
FindValidate
ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â °´Ã¼, ÀÌ °´Ã¼´Â
checkAdv()
¶ó´Â ÇϳªÀÇ ¸Þ¼Òµå¸¦ °¡Áö°í Àִµ¥, ¹ß°ßµÈ
advertisement¸¦ ±àÁ¤ÀûÀ¸·Î È®ÀÎÇϴµ¥ »ç¿ëµÈ´Ù
LocalOnly
°Ë»öÀÌ ·ÎÄ÷θ¸, ȤÀº ³×Æ®¿öÅ© »ó¿¡¼ ¿ø°ÝÀ¸·Î¸¸ ¼öÇàµÇ¾î¾ß ÇÒ ¶§ À̸¦ ³ªÅ¸³»´Â boolean ű×
Listing 2¿¡ ³ª¿Í ÀÖ´Â °Íó·³, ¸Þ¼ÒµåÀÇ Ã¹¹ø° ºÎºÐÀº ±×·ìÀÇ °Ë»ö ¼ºñ½ºÀÇ
getLocalAdvertisement()
¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© ·ÎÄà advertisement ij½Ã¿¡ ÀÖ´Â
advertisement¸¸ °Ë»öÇÑ´Ù. ¹ß°ßµÈ advertisement¸¦ È®ÀÎÇϱâ À§ÇØ
validator.checkAdv()
¸¦ È£ÃâÇϴµ¥ ÁÖÀÇÇÑ´Ù.
Listing 2. findAdv(), Part 1
protected Advertisement findAdv(String advType, String attr, String val,
FindValidate validator, boolean localOnly) {
Enumeration enum = null;
System.out.println("Looking for " + advType + ", please wait...");
// First look in the local storage
try {
enum = discovery.getLocalAdvertisements(DiscoveryService.ADV,
attr, val);
} catch (Exception e) {
}
if ((enum != null) && (enum.hasMoreElements())) {
Advertisement adv = null;
while (enum.hasMoreElements()) {
try {
adv = (Advertisement) enum.nextElement();
if( validator.checkAdv(adv))
return adv;
} catch(Exception e) {
continue;
}
} // while
} // if
°Ë»öÀÌ ·ÎÄÿ¡¼ ¼öÇàµÇ¾î¾ß ÇÏ¸é ·ÎÁ÷Àº ¿©±â¿¡¼ ¸ØÃá´Ù. ±×·¸Áö ¾Ê´Ù¸é ³×Æ®¿öÅ©¿¡ Á¶È¸¸¦ º¸³»¾î ¿ø°Ý °Ë»öÀ» ¼öÇàÇÑ´Ù. ¹ß°ßµÈ
advertisement´Â °Ë»ö ¼ºñ½º¿¡ ÀÇÇØ ·ÎÄà ij½Ã¿¡ ÀúÀåµÉ °ÍÀÌ´Ù. ¿ì¸®´Â ¿ø°Ý °Ë»öÀÌ ¼öÇàµÇµµ·Ï ¾ó¸¶°£ÀÇ ½Ã°£À» Áֱ⸸ Çϸé
µÈ´Ù. Listing 3¿¡¼ ¿ì¸®´Â ¾à 5ÃÊ Á¤µµ ·çÇÁ¸¦ µ¹¸°´Ù.
Listing 3.
findAdv(), Part 2
if (localOnly)
return null;
System.out.println(" cannot find it locally, trying remote");
// Now, search remote
discovery.getRemoteAdvertisements(null, DiscoveryService.ADV,
attr, val, 2, null);
// Wait a bit in order to get an answer.
int i=0;
while (true) {
try {
if (i>MAXRETRIES){
System.out.print(".");
break;
}
Thread.sleep(WaitingTime);
i++;
} catch (Exception e) {
}
System.out.println("");
ÀÌ ÁöÁ¡¿¡¼´Â ¹ß°ßµÈ ¾î¶² advertisement¶óµµ ·ÎÄà ij½Ã¿¡¼ »ç¿ë °¡´ÉÇØ¾ß ÇÑ´Ù. Listing 4¿¡¼ ¿ì¸®´Â ·ÎÄÃ
üũ¸¦ ´Ù½Ã ¼öÇàÇÑ´Ù.
Listing 4. findadv(), Part 3
// Look in the local storage again
try {
enum = discovery.getLocalAdvertisements(DiscoveryService.ADV,
attr, val);
if ((enum != null) && (enum.hasMoreElements())) {
Advertisement adv = null;
while (enum.hasMoreElements()) {
try {
adv = (Advertisement) enum.nextElement();
if( validator.checkAdv(adv))
return adv;
} catch(Exception e) {
continue;
}
} // while
}
} catch (Exception e) {
}
}
return null;
}
TÀÌ ¼öÆÛ Å¬·¡½º¿¡ ÀÖ´Â ´Ù¸¥ µÎ°³ÀÇ °øÅë ¸Þ¼Òµå°¡ ¾Æ·¡ Ç¥¿¡ ¼³¸íµÇ¾î ÀÖ´Ù. ¿©·¯ºÐÀº ¿¬½À »ï¾Æ À̵éÀ» ºÐ¼®ÇØ º¼ ¼ö ÀÖ´Ù.
¸Þ¼Òµå
¼³¸í
PublishModuleSpecAdv()
°Ë»ö ÇÁ·Î¼¼½º°¡ ¼ºñ½º¿¡ ´ëÇÑ ±âÁ¸ ModuleSpecAdvertsiement
¸¦ ¹ß°ßÇÏÁö ¸øÇÑ °æ¿ì ÁýÁß ÀåÄ¡¿¡ ÀÇÇØ
È£ÃâµÈ´Ù. ÀÌ ¸Þ¼Òµå´Â ¼ºñ½º¸¦ »ý¼ºÇÒ °ÍÀÌ´Ù (¿ì¸®°¡ »ý¼ºÇÑ °íÁ¤µÈ ¼ºñ½º ID¿¡ ±â¹ÝÇÏ¿©). ÀÌ
advertisement´Â ·ÎÄðú ¿ø°ÝÀ¸·Î °ø°³µÉ °ÍÀÌ´Ù. advertisement »ý¼ºÀº ÁýÁß ÀåÄ¡°¡ ±¸µ¿µÉ ¶§, ¼³Á¤ÀÌ
¹Ù²ð ¶§, ȤÀº ·ÎÄà ¸Å½Ã°¡ º¯°æµÇ¾úÀ» ¶§¸¸ ÇÊ¿äÇÏ´Ù.
JoinGroupIfExists()
ÁýÁß ÀåÄ¡¿Í ¼öÁý±â ¾çÀÚ¿¡ ÀÇÇØ È£ÃâµÈ´Ù. ÀÌ ¸Þ¼Òµå´Â Æ÷°ýÀûÀÎ NetPeerGroup
(¸ðµç ÇǾ ¼ÓÇÑ ±âº» ±×·ì)ÀÇ ÀÚ½ÄÀÎ ÁöÁ¤µÈ ÇÏÀ§ ±×·ì¿¡
Âü¿©ÇÏ·Á°í ½ÃµµÇÑ´Ù.
Listing 5¿¡¼ DwJxtaPeer
Ŭ·¡½ºÀÇ »ó¼ö ¼±¾ð ¼½¼ÇÀÇ ÀϺκÐÀ» »ìÆ캸ÀÚ
Listing 5. Module ID definitions
public static final String ClassID =
"urn:jxta:uuid-EE99266A1DE84E3DB34D9CC842EC889105";
public static final String SpecID =
"urn:jxta:uuid-EE99266A1DE84E3DB34D9CC842EC8891B9EB13ECA6FE44DDA112B5F5E357763006";
Service advertisements in
JXTA
¼ºñ½º advertisement °³³äÀº ¼·Î °ü·ÃµÈ ¼¼ advertisement ¼¼Æ®·Î ³ª´©¾îÁø´Ù.
ModuleClassAdvertiseent
ModuleSpecAdvertisement
MdouleImplAdvertisement
ÀÌ°ÍÀº ½Ã½ºÅÛ»ó¿¡¼ À̵¿ÇÏ´Â advertisementÀÇ Å©±â¸¦ ÁÙÀÌ°í, ¼ºñ½ºÀÇ ÀÏ¹Ý Å¬·¡½º (Áï banking)¿Í
±× Ŭ·¡½º¿¡ ´ëÇÑ Æ¯Á¤ »ç¾ç (¿¹±Ý°ú Ãâ±Ý API) ¹× ¼ºñ½º ±¸Çö (Áï APIÀÇ ÀÚ¹Ù ±â¹Ý ±¸Çö)°£ÀÇ °ü°è¸¦ Ç¥ÁØÈÇϴµ¥
ÇÊ¿äÇÏ´Ù.
¾ÖÇø®ÄÉÀ̼Ç, Áï JXTA ¼ºñ½º´Â ÀÌ advertisementµéÀ» ¸ðµÎ »ç¿ëÇÏÁö ¾Ê¾Æµµ µÇ°í, ÇÊ¿äÇÑ °Í¸¸ »ç¿ëÇϸé
µÈ´Ù. ¿ì¸® ½Ã½ºÅÛ¿¡¼ ¿ì¸®´Â ModuleSpecAdvertisement
¸¸ ÇÊ¿äÇѵ¥, ¼ºñ½º¸¦
ÆÄÀÌÇÁ¿¡ °áÇÕ½ÃÅ°°í advertisement°¡ ¿ø°ÝÀ¸·Î °Ë»öµÉ ¼ö ÀÖµµ·Ï Çϴµ¥ À̸¦ »ç¿ëÇÑ´Ù.
À̵éÀº mdidgen
À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¿© »ý¼ºµÈ ModuleClassID
¿Í
ModuleSpecID
ÀÌ´Ù. À̵éÀº ÁýÁß ÀåÄ¡ ¼ºñ½ºÀÇ ID¿¡ ´ëÀÀÇÑ´Ù. ÀÌ ¼ºñ½ºÀÇ ID´Â ¸ðµç ¼öÁý±â¿¡
¾Ë·ÁÁö°í, ÀÏ´Ü »ý¼ºµÇ¸é µ¿ÀÏÇÏ°Ô À¯ÁöµÈ´Ù. µû¶ó¼ ±×·ì³»ÀÇ ¼öÁý±âµéÀº ÁýÁßÀåÄ¡ ¼ºñ½º¸¦ ½Å·Ú¼º ÀÖ°Ô °Ë»öÇÒ ¼ö ÀÖ´Ù.
ModuleClassID
´Â ModuleSpecID
¸¦ »ý¼ºÇÒ ¶§ ÇÊ¿äÇϱ⠶§¹®¿¡ ¿©±â¿¡
Á¸ÀçÇÑ´Ù. ÀÌ IDµéÀ» ½±°Ô »ý¼ºÇϱâ À§ÇØ ¿ì¸®´Â W.R. Bauer(vasha@jxta.org)°¡ °³¹ßÇÑ jxta-wire¶ó´Â
JXTA ÇÁ·ÎÁ§Æ®ÀÇ ÀϺÎÀÎ AdvCooker
¶óÀ̺귯¸®¸¦ »ç¿ëÇÑ´Ù.
³×Æ®¿öÅ©¿¡¼ ÀÛµ¿ÇÏ°í ÀÖ´Â ÁýÁß ÀåÄ¡µéÀÇ ¸ðµç ÀνºÅϽºµéÀº µ¿ÀÏÇÑ ÁýÁßÀåÄ¡ ÇÇ¾î ±×·ì ¼ºñ½º (µ¿ÀÏÇÑ
ModuleSpecID
¸¦ »ç¿ëÇÏ°íÀüÆÄ ÆÄÀÌÇÁÀÇ µ¿ÀÏÇÑ ³í¸®Àû ÀνºÅϽº¸¦ µè´Â)¿¡ ÀÀ´äÇÒ °ÍÀÌ´Ù . ÀÌ·¯ÇÑ Áߺ¹
±¸ÇöÀº ÁýÁß ÀåÄ¡ ¼ºñ½º°¡ ÇÇ¾î ±×·ì¿¡¼ Ç×»ó »ç¿ë °¡´ÉÇϵµ·Ï º¸ÀåÇÒ °ÍÀÌ´Ù.
ÁýÁßÀåÄ¡ : JXTA ÇÇ¾î ±×·ì ¼ºñ½º
com.ibm.jxta.Concentrator
±¸ÇöÀ» »ìÆì º¸ÀÚ. ¿ì¸®°¡ ¾ð±ÞÇßµíÀÌ, ÀÌ
±¸ÇöÀº DwJxtaPeer
Ŭ·¡½º¿¡¼ »ó¼ÓµÈ´Ù (±×¸®°í À̸¦ È®ÀåÇÑ´Ù.) ´ÙÀ½Àº
Concentrator
¸¦ ¸Þ¼Òµåº°·Î ¼¸íÇÑ °ÍÀÌ´Ù.
¸Þ¼Òµå
¼³¸í
init()
Ŭ·¡½º¿¡ È£ÃâµÇ´Â ù¹ø° ¸Þ¼ÒµåÀÏ °ÍÀÌ´Ù. private jxtaInit()
¸Þ¼Òµå¸¦ È£ÃâÇÏ°í Ãâ·Â ÁýÁßÀåÄ¡ ¼ºñ½º ÆÄÀÌÇÁÀÇ ÀνºÅϽº¸¦
¸¸µé¾î³½´Ù.
process()
ÀÌ ¸Þ¼Òµå´Â ¹«ÇÑ ·çÇÁ·Î °£´Ù. ¼öÁý±â µ¥ÀÌÅÍ°¡ µé¾î¿À´ÂÁö º¸±â À§ÇØ ÀÔ·Â ÁýÁßÀåÄ¡ ¼ºñ½º ÆÄÀÌÇÁ¸¦ µè´Â´Ù.
µé¾î¿À´Â °¢ µ¥ÀÌÅÍ¿¡ ´ëÇØ processData()
¸¦ È£ÃâÇÏ¿© µ¥ÀÌÅ͸¦
ó¸®ÇÑ´Ù.
findPipeAdv()
¼ºñ½º ÆÄÀÌÇÁ advertisement¿¡ ´ëÇØ ·ÎÄà °Ë»öÀ» ¼öÇàÇÑ´Ù. (Áï ·ÎÄà ij½Ã¸¸ üũÇÑ´Ù)
jxtaInit()
ÀÌ ¸Þ¼Òµå´Â ¿ì¼± ¼³Á¤ ÆÄÀÏÀ» ÀÐ°í ¿ì¸®°¡ Âü°¡ÇÒ ±×·ìÀ» ÁöÁ¤ÇÑ´Ù. ±×¸®°í JXTA¿Í NetPeerGroup
À» ±¸µ¿½ÃŲ ÈÄ ¼öÆÛ Å¬·¡½ºÀÇ joinGroupIfExist()
¸¦ È£ÃâÇÏ¿© ÁöÁ¤µÈ ±×·ì¿¡ Âü°¡ÇÑ´Ù. ±×¸®°í °¡´ÉÇÑ
°æ¿ì, ·ÎÄà ij½Ã¿¡¼ ¼ºñ½º ÆÄÀÌÇÁ advertisement¸¦ °Ë»öÇÑ´Ù. °Ë»öµÇÁö ¾ÊÀ¸¸é »õ·Î¿î °ÍÀ» »ý¼ºÇÒ °ÍÀÌ´Ù
(createInputPipeAdvIfNotExist()
¸¦ »ç¿ëÇÏ¿©).
¸¶Áö¸·À¸·Î ÀÌ ¸Þ¼Òµå´Â ModuleSpecAdvertisement
°¡ ¹ß°ßµÉ
¼ö ÀÖ´ÂÁö¸¦ º¸±â À§ÇØ °Ë»öÀ» ¼öÇàÇÑ´Ù. ¾øÀ¸¸é »õ·Î¿î °ÍÀ» ¸¸µé°í °ø°³ÇÑ´Ù.
processData()
ÀÌ ¸Þ¼Òµå´Â Ç÷¹À̽ºÈ¦´õÀÌ´Ù. ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼ ÀÌ ¸Þ¼Òµå´Â ¼öÁýµÈ µ¥ÀÌÅ͸¦ (¾Æ¸¶µµ JDBC¸¦ ÀÌ¿ëÇØ)
RDBMS¿¡ Á¦ÃâÇϱâ À§ÇØ ¹é¿£µå Ŭ¶óÀ̾ðÆ®/¼¹ö ³×Æ®¿öÅ©¸¦ »ç¿ëÇÒ °ÍÀÌ´Ù.
createInputPipeAdvIfNotExist()
ÀÌ ÇïÆÛ ¸Þ¼Òµå´Â ¼ºñ½º ÆÄÀÌÇÁ advertisement°¡ ÀÌ¿ë°¡´ÉÇÑÁö º¸±â À§ÇØ ¸ÕÀú ij½Ã¸¦ üũÇÑ´Ù. ÀÌ¿ëÇÒ ¼ö
¾øÀ¸¸é advertisement¸¦ »ý¼ºÇÏ¿© À̸¦ ij½Ã¿¡ ÀúÀåÇÑ´Ù. ¾î´À °æ¿ìÀÌµç ¸ðµÎ ¿Ã¹Ù¸¥ advertisement°¡
¹ÝȯµÈ´Ù.
Á¤ÀûÀÎ À¯Çü Á¤ÀÇ¿¡´Â ´ÙÀ½°ú °°Àº °ÍÀÌ Æ÷ÇԵȴÙ.
public static String servicePipeID =
"urn:jxta:uuid-969610EE8945417CA56F9771197EE3965207E4C303154E7EB5878751AE22761804";
ÀÌ°ÍÀº mdidgen
À¯Æ¿¸®Æ¼¿¡ ÀÇÇØ »ý¼ºµÈ ÆÄÀÌÇÁ ID·Î½á, ¸ðµç ÁýÁß ÀåÄ¡¿¡ ÀÇÇØ »ç¿ëµÇ´Â ¼ºñ½º
ÆÄÀÌÇÁ¿¡ ´ëÇÑ ÅëÀÏµÈ ÁÖ¼ÒÀÌ´Ù. ÀÌ°ÍÀº ÀüÆÄ ÆÄÀÌÇÁÀÌ¸ç µû¶ó¼ ¸Þ½ÃÁö¸¦ µè´Â ¸ðµç ÁýÁßÀåÄ¡´Â ¼öÁý±â·ÎºÎÅÍ ÀÌ ¸Þ½ÃÁöµéÀ» ¹Þ¾Æ¾ß ÇÑ´Ù.
¼öÁý±â´Â ModuleSpecAdvertisement
ÀÇ ºÎºÐÀÎ ÆÄÀÌÇÁ advertisement¿¡¼ ÀÌ ÆÄÀÌÇÁ
ID¸¦ ¾ò´Â´Ù. ±×¸®°í °Ë»ö ÀýÂ÷¸¦ ÅëÇØ ÀÌ advertisement¸¦ ¹ß°ßÇÑ´Ù.
¼öÁý±â : JXTA Ŭ¶óÀ̾ðÆ® ·ÎÁ÷ ÄÚµùÇϱâ
¸¶Áö¸·À¸·Î, com.ibm.jxta.Collector
Ŭ·¡½º¿¡ ÇÑÁ¤µÈ ¸Þ¼ÒµåµéÀ» »ìÆ캸ÀÚ.
¸Þ¼Òµå
¼³¸í
init()
Ŭ·¡½º·ÎºÎÅÍ È£ÃâµÇ´Â ù¹ø° ¸Þ¼ÒµåÀÏ °ÍÀÌ´Ù. private jxtaInit()
¸¦ È£ÃâÇÑ ÈÄ ¼öÁýµÈ µ¥ÀÌÅ͸¦ ÁýÁß ÀåÄ¡ ¼ºñ½º¿¡ º¸³»±â À§ÇØ
»ç¿ëµÇ´Â Ãâ·Â ÆÄÀÌÇÁ¸¦ »ý¼ºÇÑ´Ù.
process()
ÀÌ ¸Þ¼Òµå´Â ¿ì¼± ÃøÁ¤µÈ µ¥ÀÌÅ͸¦ ¾ò±â À§ÇØ collectData()
¸¦ È£ÃâÇÑ ÈÄ JXTA ¸Þ½ÃÁö¸¦ »ý¼ºÇÏ°í ÁýÁß ÀåÄ¡ ¼ºñ½º¸¦
ÅëÇØ ÀÌ ¸Þ½ÃÁö¸¦ ´ë±âÇÏ°í ÀÖ´Â ÁýÁß ÀåÄ¡¿¡ º¸³»´Â ¹«ÇÑ ·çÇÁ¸¦ °¡Áö°í ÀÖ´Ù. °¢ »ùÇøµÀº ·çÇÁ ³»ÀÇ Á¤ÇØÁø ½Ã°£±îÁö
Áö¿¬µÈ´Ù.
jxtaInit()
ÀÌ ¸Þ¼Òµå´Â ¿ì¼± ¼³Á¤ ÆÄÀÏÀ» ÀÐ°í ¿ì¸®°¡ Âü¿©ÇØ¾ß ÇÏ´Â ±×·ìÀ» ¼³Á¤ÇÑ ÈÄ ¼öÁý±âÀÇ À§Ä¡¸¦ °áÁ¤ÇÑ´Ù. ±×¸®°í
JXTA¿Í NetPeerGroupÀ» ±¸µ¿½ÃÅ°°í ¼öÆÛ Å¬·¡½ºÀÇ
joinGroupIfExist()¸¦ È£ÃâÇÏ¿© ÁöÁ¤µÈ ±×·ì¿¡ Âü¿©ÇÑ´Ù. ±× ´ÙÀ½ °Ë»öÀ» ¼öÇàÇÏ¿© Àß ¾Ë·ÁÁø ÁýÁßÀåÄ¡ ¼ºñ½º¿¡
´ëÀÀÇÏ´Â ModuleSpecAdvertisement
°¡ ¹ß°ßµÇ´ÂÁö º»´Ù. ¹ß°ßµÇÁö ¾ÊÀ¸¸é Á¾·áµÉ °ÍÀÌ´Ù.
ModuleSpecAdvertisment
°¡ ¹ß°ßµÇ¸é ÀÌ ¸Þ¼Òµå´Â ÁýÁßÀåÄ¡
¼ºñ½º ÆÄÀÌÇÁ advertisement¸¦ ÃßÃâÇÏ¿© Ãâ·Â ÆÄÀÌÇÁ »ý¼ºÀ» ÁغñÇÒ °ÍÀÌ´Ù.
collectData()
ÀÌ ¸Þ¼Òµå´Â ½ÇÁ¦ µ¥ÀÌÅÍ ÁýÇÕÀ» À§ÇÑ Ç÷¹À̽ºÈ¦´õÀÌ´Ù. ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼ ÀÌ ¸Þ¼Òµå´Â ´Ù¾çÇÑ µ¥ÀÌÅÍ ÀԷ ä³Î¿¡
Á¢±ÙÇÏ°í (¾Æ¸¶µµ ÀÔ·Â/Ãâ·Â Æ÷Æ®³ª ¿ø½Ã ¸ðµå¸¦ »ç¿ëÇÏ¿©) ¼öÁýµÈ µ¥ÀÌÅ͸¦ È£ÃâÀÚ¿¡°Ô ¹ÝȯÇÑ °ÍÀÌ´Ù.
ÀÛµ¿ÁßÀÎ JXTA : ¿©·¯ºÐÀÇ ¸Ó½Å¿¡¼ µ¿ÀûÀÎ
³×Æ®¿öÅ© Å×½ºÆ®Çϱâ ÀÌ ±Û°ú ÇÔ²² Á¦°øµÇ´Â ¼Ò½º
ÄÚµå ÆÐÅ°Áö´Â ½ÇÇèÀ» ¿ëÀÌÇÏ°Ô ÇØÁÙ µ¥ÀÌÅÍ ±¸Á¶¸¦ °¡Áö°í ÀÖ´Ù. ´ÙÀ½ µð·ºÅ丮µéÀÌ ÄÚµå ÇÏÀ§ µð·ºÅ丮 ¾Æ·¡¿¡ ÀÖ´Ù.
µð·ºÅ丮
¼³¸í
lib
JXTA coreÀÇ ÃֽŠ¾ÈÁ¤ ±¸ÃàÆÇÀÇ ¸ðµç jar ÆÄÀÏ, JXTA ¼¿ÀÇ ¸ðµç jar ÆÄÀÏ ¹×
jxta-wire ÇÁ·ÎÁ§Æ®ÀÇ jxta-wire.jar ÆÄÀÏÀ» ¿©±â¿¡ µÐ´Ù. (JXTA ¼¿°ú jxta-wire¿¡ ´ëÇÑ »ó¼¼
»çÇ×Àº Âü°í
ÀÚ·á ¸¦ ÂüÁ¶ÇÑ´Ù.)
src
¿ì¸® ½Ã½ºÅÛÀÇ ¼Ò½º Äڵ带 °¡Áö°í ÀÖ´Ù.
classes
¿ì¸® ½Ã½ºÅÛÀÇ ÄÄÆÄÀÏµÈ Å¬·¡½º ÆÄÀϵéÀ» °¡Áö°í ÀÖ´Ù.
shell1
óÀ½ ½ÇÇàµÈ µð·ºÅ丮. ¿ì¸®´Â ÀÌ µð·ºÅ丮¿¡ ÀÖ´Â ÁýÁß ÀåÄ¡ µÚ¿¡ ¼¿À» »ý¼ºÇÒ
°ÍÀÌ´Ù.
shell2
³×Æ®¿öÅ©¿¡ µÎ¹ø° ÇǾî·Î ±¸ÃàÇÑ´Ù. ÀÌ°ÍÀº ´Ù¸¥ ÁýÁßÀåÄ¡¸¦ ½ÇÇà½Ãų °ÍÀÌ´Ù.
shell3
³×Æ®¿öÅ©¿¡ ¼¼¹ø° ÇǾî·Î ±¸ÃàÇÑ´Ù. ÀÌ°ÍÀº ¼öÁý±â¸¦ ½ÇÇà½Ãų
°ÍÀÌ´Ù.
Äڵ带 ÄÄÆÄÀÏÇÏ·Á¸é JDK 1.3 ÀÌ»óÀÌ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ÄÚµå µð·ºÅ丮¿¡¼ MAKEIT.BAT ¹èÄ¡ ÆÄÀÏÀ» ½ÇÇà½ÃŲ´Ù.
±×·¯¸é Äڵ尡 ÄÄÆÄÀϵǾî Ŭ·¡½º µð·ºÅ丮¿¡ Ŭ·¡½º ÆÄÀÏÀ» »ý¼ºÇÒ °ÍÀÌ´Ù.
´ÙÀ½¿¡ MAKEJAR.BAT ¹èÄ¡ ÆÄÀÏÀ» ½ÇÇà½ÃŲ´Ù. ±×·¯¸é ¿ì¸®ÀÇ ¸ðµç Äڵ带 Æ÷ÇÔÇÏ°í ÀÖ´Â dwjxta.jar ÆÄÀÏÀÌ »ý¼ºµÉ
°ÍÀÌ´Ù. ÀÌ ÆÄÀÏÀ» lib
¿¡ µÐ´Ù. ±×·¯¸é ½ÇÇèÇÑ Áغñ°¡ °®Ãß¾îÁ³´Ù.
ÀÌÁ¦ ¼¼ °³ÀÇ ´Ù¸¥ ¸í·É âÀ» ±¸µ¿½ÃŲ´Ù. À̵éÀÇ µð·ºÅ丮¸¦ °¢°¢ shell1
,
shell2
, shell3À¸·Î ¹Ù²Û´Ù.
shell1 µð·ºÅ丮¿¡¼ runshell.bat ÆÄÀÏÀ» ÆíÁýÇÏ¿© ¼³Á¤ ´Ü°è¿¡¼ º¸¾ÈÀ» ±¸ÃàÇϱâ À§ÇØ »ç¿ëÇÒ »ç¿ëÀÚ
ID¿Í Æнº¿öµå¸¦ ÁöÁ¤ÇÑ´Ù. (Æнº¿öµå´Â Àû¾îµµ 8ÀÚ ±æÀÌ¿©¾ß ÇÑ´Ù.) runconc.bat and mdidgen.bat ÆÄÀÏ¿¡µµ ÀÌ
»ç¿ëÀÚ ID¿Í Æнº¿öµå¸¦ ÁöÁ¤ÇÑ´Ù.
runshell.batÀ» »ç¿ëÇÏ¿© ¼¿À» ½ÇÇà½ÃÅ°°í ÀÌ ÇǾ ´ÙÀ½°ú °°ÀÌ ±¸¼ºÇÑ´Ù.
ÇÇ¾î ¸í:
³ëµå1
Àü¼Û:
TCP/IPÁö¿ø, HTTP ºñÈ°¼ºÈ, act as rendezvous üũ, no relay
»ç¿ëµÇ´Â TCP Æ÷Æ®:
9701
º¸¾È »ç¿ëÀÚ¸í°ú Æнº¿öµå:
¹èÄ¡ ÆÄÀÏ¿¡ Á¤Àǵȴë·Î
¿ì¸® ½Ã½ºÅÛÀº ÀÛ¾÷À» À§ÇÑ ±×·ìÀÌ ÀÌ¹Ì ¸¸µé¾îÁ³´Ù°í °¡Á¤Çϱ⠶§¹®¿¡, ÀÌ ±×·ìÀ» ¼¿¿¡ »ý¼ºÇØ¾ß ÇÑ´Ù. ¼¿¿¡¼ ´ÙÀ½ ¸í·É¾î¸¦
»ç¿ëÇÏ¿© dwtest
±×·ìÀ» »ý¼ºÇÑ´Ù.
Jxta> myadv = mkadv -g dwtest
Jxta> mygrp = mkpgrp -d myadv dwtest
±×·¯¸é ¿ì¸®°¡ »ç¿ëÇÒ dwtest
±×·ìÀÌ ¸¸µé¾îÁø´Ù. ¿©·¯ºÐÀº ÀÌ ±×·ìÀÇ »ý¼ºÀ» ´ÙÀ½°ú °°ÀÌ È®Á¤ÇÒ ¼ö
ÀÖ´Ù.
Jxta>groups
group0: name = dwtest
ÀÌÁ¦ ¼¿¿¡¼ ºüÁ® ³ª¿Ã ¼ö ÀÖ´Ù.
ÀÌÁ¦ mdidgen.bat ÆÄÀÏÀ» »ç¿ëÇÏ¿© ÅëÀÏµÈ ÁÖ¼Ò(ID)ÀÇ ºñÁýÁᫎ »ý¼ºÀ» ½ÃµµÇØ º¸ÀÚ. À̸¦ ½ÇÇà½ÃÅ°¸é ´ÙÀ½°ú À¯»çÇÑ
Ãâ·ÂÀ» ¾ò°Ô µÉ °ÍÀÌ´Ù.
Listing 6. mdidgen.bat Ãâ·Â
remote group discovery message sent
group joined successfully
public static final String ClassID =
"urn:jxta:uuid-DCDD418FCC194040AA13A52A334B967105";
public static final String SpecID =
"urn:jxta:uuid-DCDD418FCC194040AA13A52A334B96716C515B975C2941AD9FBC90178B6918A806";
public static final String PipeID =
"urn:jxta:uuid-2184CACA259B42E0A866AEA788A923054C519D304E07415195B0917C81238FD004";
ModuleClassID
, ModuleSpecID
¹×
PipeID
°¡ »ý¼ºµÇ¾ú´Ù. ÀÌ°ÍÀÌ ¿ì¸®°¡ ÁýÁßÀåÄ¡ ¼ºñ½º¿¡¼ »ç¿ëµÇ´Â ID¸¦ ¾ò´Â ¹æ¹ýÀÌ´Ù.
runconc.bat ÆÄÀÏÀ» ½ÇÇà½ÃÄÑ ÁýÁßÀåÄ¡¸¦ ±¸µ¿½ÃÅ°ÀÚ. ÀÌ ÆÄÀÏÀº dwConfig ÆÄÀÏÀ» Àаí, ÁýÁßÀåÄ¡¿¡°Ô ¾î¶²
dwtest
±×·ì¿¡°Ô Âü°¡ÇÒÁö¸¦ ¸»ÇØÁØ´Ù. ¿©·¯ºÐÀº ´ÙÀ½°ú À¯»çÇÑ Ãâ·ÂÀ» ¾òÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.
Listing 7. Concentrator #1 (runconc.bat) Ãâ·Â
Starting Jxta...
Joining default NetPeerGroup...
Attempting to join group: dwtest
remote group discovery message sent
group joined successfully
group dwtest joined successfully
Look for previously created Pipe Adv, create one if not exist
Looking for PipeAdvertisement, please wait...
Previously published pipe advertisement not found, creating a new one.
Locally caching the new pipe advertisement...
Checking to see if MSA previously published...
Looking for ModuleSpecAdvertisement, please wait...
cannot find it locally, trying remote
... MSA not found, need to create it
Creating new MSA
Locally and remotely publish the MSA
Creating pipe for data collection...
pipe created successfully
Waiting for data from collector...
ÀÌ ÁöÁ¡¿¡¼, ÁýÁß ÀåÄ¡ ÀνºÅϽº°¡ ±¸ÃàµÇ°í ¼öÁý±â¿¡¼ ¿À´Â µ¥ÀÌÅ͸¦ ¹ÞÀ» Áغñ°¡ µÇ¾ú´Ù.
ÀÌÁ¦ shell2 ¸í·É âÀ¸·Î °¡¼ runconc.bat ÆÄÀÏ¿¡ ¿©·¯ºÐÀÇ º¸¾È »ç¿ëÀÚ ID¿Í Æнº¿öµå¸¦ ÀÔ·ÂÇÑ´Ù. ±×¸®°í ³ª¼
runconc.bat ÆÄÀÏÀ» »ç¿ëÇÏ¿© ÁýÁßÀåÄ¡ ÀνºÅϽº¸¦ ½ÇÇà½ÃŲ´Ù. ±¸¼º ÀýÂ÷¿¡¼´Â ´ÙÀ½°ú °°Àº ¸Å°³ º¯¼ö¸¦ ¼³Á¤ÇÑ´Ù.
ÇǾî¸í:
³ëµå 2
Àü¼Û:
TCP/IPÁö¿ø, HTTP ºñÈ°¼ºÈ, no rendezvous, no relays
»ç¿ëµÇ´Â TCP Æ÷Æ® :
9702
º¸¾È »ç¿ëÀÚ¸í°ú Æнº¿öµå:
¹èÄ¡ ÆÄÀÏ¿¡ Á¤Àǵȴë·Î
¸ðµç °ÍÀÌ ¿Ã¹Ù·Î ÀÛµ¿ÇÑ´Ù¸é ¿©·¯ºÐÀº ´ÙÀ½°ú À¯»çÇÑ Ãâ·ÂÀ» º¸°Ô µÉ °ÍÀÌ´Ù.
Listing
8. Concentrator #2 (runconc.bat output from Shell2)
Starting Jxta...
Joining default NetPeerGroup...
Attempting to join group: dwtest
remote group discovery message sent
group joined successfully
group dwtest joined successfully
Look for previously created Pipe Adv, create one if not exist
Looking for PipeAdvertisement, please wait...
Checking to see if MSA previously published...
Looking for ModuleSpecAdvertisement, please wait...
.. found previously published MSA
Creating pipe for data collection...
pipe created successfully
Waiting for data from collector...
ÁßÀåÄ¡ÀÇ ModuleSpecAdvertisement
°¡ ¹ß°ßµÇ¾úÀ½¿¡ ÁÖÀÇÇÑ´Ù. µû¶ó¼ ÀÌ ÁýÁßÀåÄ¡
ÀνºÅϽº´Â ´Ù¸¥ °ÍÀ» »ý¼ºÇÏÁö ¾Ê¾Æµµ µÈ´Ù. ÀÌÁ¦ ÀÌ ÀνºÅϽº ¿ª½Ã ¼öÁý±â·ÎºÎÅÍ ÀÔ·ÂÀÌ µé¾î¿À´ÂÁö ´ë±âÇÑ´Ù.
¸¶Áö¸·À¸·Î, shell3 ¸í·ÉâÀ¸·Î °¡¼ runcoll.bat ÆÄÀÏ¿¡ ¿©·¯ºÐÀÇ º¸¾È »ç¿ëÀÚ ID¿Í Æнº¿öµå¸¦ ÀÔ·ÂÇÑ´Ù. ´ÙÀ½¿¡
runcoll.bat ÆÄÀÏÀ» »ç¿ëÇÏ¿© ¼öÁý±â ÀνºÅϽº¸¦ ½ÇÇà½ÃŲ´Ù. ÀÌ ÀνºÅϽº´Â µð·ºÅ丮 ³»ÀÇ dwColConfig ÆÄÀÏÀ» »ç¿ëÇÒ
°ÍÀε¥, ÀÌ ÆÄÀÏÀº ¼öÁý±â¿¡°Ô ¾î¶² dwtest
±×·ì¿¡ Âü¿©ÇØ¾ß ÇÏ´ÂÁö ¾Ë·ÁÁÖ°í ±× À§Ä¡°¡ "Timbuktu
North"ÀÓÀ» ¾Ë·ÁÁØ´Ù. ±¸¼º ÀýÂ÷¿¡¼´Â ´ÙÀ½°ú °°Àº ¸Å°³ º¯¼ö¸¦ ¼³Á¤ÇÑ´Ù.
ÇǾî¸í:
³ëµå 3
Àü¼Û:
TCP/IPÁö¿ø, HTTP ºñÈ°¼ºÈ, no rendezvous, no relays
»ç¿ëµÇ´Â TCP Æ÷Æ®:
9703
º¸¾È »ç¿ëÀÚ¸í°ú Æнº¿öµå:
¹èÄ¡ ÆÄÀÏ¿¡ Á¤Àǵȴë·Î
¼öÁý±â ÀνºÅϽº´Â ModuleSpecAdvertisement
¸¦ ã±â ½ÃÀÛÇÒ °ÍÀÌ°í, À̸¦ ã¾Æ¾ß ÇÑ´Ù.
±×¸®°í ³ª¼ ÀÌ¹Ì ½ÇÇàÁßÀÎ ÁýÁßÀåÄ¡¿Í Åë½ÅÇϱâ À§ÇÑ ÆÄÀÌÇÁ¸¦ »ý¼ºÇÒ °ÍÀÌ´Ù. ¿©·¯ºÐÀº ´ÙÀ½°ú À¯»çÇÑ Ãâ·ÂÀ» º¸°Ô µÈ´Ù.
Listing 9. Collector (runcoll.bat output from
Shell3)
Reading config file, dwColConfig, and processing...
group to join will be dwtest
collector location is Timbuktu North
Starting Jxta...
Joining default NetPeerGroup...
Attempting to join group: dwtest
remote group discovery message sent
group joined successfully
group dwtest joined successfully
Searching for collector's MSA...
Looking for ModuleSpecAdvertisement, please wait...
cannot find it locally, trying remote
.. found collector's MSA
Extracting pipe adv from MSA...
Connecting to concentrator network...
pipe created successfully
... collecting data....
... data collected, sending to concentrator
waiting until next sample...
... collecting data....
... data collected, sending to concentrator
waiting until next sample...
µ¥ÀÌÅÍ°¡ ¼öÁýµÇ¾î Á¤±âÀûÀ¸·Î ÁýÁßÀåÄ¡ ¼ºñ½º¿¡ Àü¼ÛµÈ´Ù. µ¥ÀÌÅÍ´Â P2P ³×Æ®¿öÅ©»óÀ» À̵¿ÇÏ¿© µÎ ÁýÁßÀåÄ¡¿¡°Ô º¸³»Á® 󸮵ȴÙ.
¸Å·ÂÀûÀÎ ¾ÖÇø®ÄÉÀÌ¼Ç ÆÐÅÏ
¿ì¸®ÀÇ ±â»ó µ¥ÀÌÅÍ ¼öÁý ¿¹Á¦´Â ÀϹÝÀûÀÎ P2P ÀÀ¿ë ½Ã½ºÅÛ°ú ƯÈ÷ JXTA¿¡ ³Î¸® ÆÛÁ®ÀÖ´Â ¾ÖÇø®ÄÉÀÌ¼Ç ÆÐÅÏÀ» º¸¿©ÁØ´Ù.
ÀÌ°ÍÀº µÎ °³ÀÇ ¾ÆÁÖ ´À½¼ÇÏ°Ô °áÇÕµÈ ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ°í Àִµ¥, ¼ÒºñÀÚ ¿Í »ý»êÀÚ °¡ ±×°ÍÀÌ´Ù. ¼ÒºñÀÚ´Â »ý»êÀÚ°¡
¸¸µé¾î³½ Á¦Ç°À» ¿øÇÏ´Â ¹Ý¸é ƯÁ¤ »ý»êÀÚ¿¡°Ô °ÇÏ°Ô ¹ÀÌ´Â °ÍÀº ¿øÇÏÁö ¾Ê´Â´Ù. ÀÌ·¯ÇÑ Åµµ¿¡´Â ½Ç¼¼°èÀÇ ¸î °¡Áö µ¿±â°¡ ÀÖÀ» ¼ö
ÀÖ´Ù. ¼ÒºñÀÚµéÀº ´ÙÀ½À» ¿øÇÒ ¼ö ÀÖ´Ù.
ÁÖ¾îÁø ½Ã°£¿¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ÃÖ»óÀÇ »ý»êÀÚ¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Â ¼±ÅñÇÀ» °¡Áø´Ù.
ÇÑ »ý»êÀÚÀÇ ¼º°øÀ̳ª ½ÇÆп¡ ÀÇÁ¸ÇÏ´Â À§ÇèÀ» ÁÙÀδÙ.
±Ô¸ð¿Í ÅäÆú¸®Áö¸¦ ¹°¸®ÀûÀ¸·Î °ü¸®ÇÒ ¼ö ¾ø´Â ¸Å¿ì µ¿ÀûÀÌ°í ±Ô¸ð°¡ Å« Ä¿¹Â´ÏƼ¿¡¼ ¼±ÅÃÇÑ´Ù.
ÇöÀç »ç¿ë °¡´ÉÇÑ Àαâ ÀÖ´Â Àü¼¼°èÀûÀÎ ÆÄÀÏ °øÀ¯ ½Ã½ºÅÛÀÇ ¿¹¿Í °°ÀÌ ¼ÒºñÀÚ¿Í »ý»êÀÚ°¡ °ãÃÄÁú ¶§ ÆÐÅÏÀº ¾ÆÁÖ Èï¹Ì·Ó°Ô µÈ´Ù.
P2P ½Ã½ºÅÛÀº óÀ½ºÎÅÍ ±âÁ¸ÀÇ ³×Æ®¿öÅ· ±â¼ú°ú´Â ´Þ¸® ÀÌ·¯ÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ÆÐÅÏÀ» ¼ö¿ëÇϵµ·Ï ¼³°èµÇ¾î ¿Ô´Ù. ƯÈ÷ JXTA´Â ±âÁ¸ÀÇ
Ŭ¶óÀ̾ðÆ®/¼¹ö ±â¼úÀ» ¼³°èÇÒ ¶§ Á¦°øÇØ¾ß ÇÏ´Â º¹ÀâÇÑ ¼Ö·ç¼Ç°ú ´Þ¸® ÀÌ·¯ÇÑ ½Ã½ºÅÛÀ» Á÷Á¢ÀûÀÌ°í ½±°Ô °³¹ßÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
TCP/IP¸¦ ³Ñ¾î¼´Â ³×Æ®¿öÅ·
JXTA°¡ Ãß°¡ÇÏ´Â °¡Ä¡¸¦ ½ÇÁúÀûÀ¸·Î °Á¶Çϱâ À§ÇØ ³ª´Â Àü¼¼°èÀûÀÎ ±â»ó Á¤º¸ ¼öÁý ½Ã½ºÅÛÀ» ¿¹·Î ¼±ÅÃÇÏ¿´´Ù. ±×·¯³ª ¹®Á¦¿Í
¼Ö·ç¼ÇÀº ¸î °³¸¸ ³ª¿ÇÏÀÚ¸é ¸ð¹ÙÀÏ ¿µ¾÷ÆÀ ÀÚµ¿È, »óÇ° °Å·¡, ÄÁÅÙÆ® ¹èÆ÷ ¹× ºñÁî´Ï½º°£ ÀüÀÚ »ó°Å·¡µî°ú °°Àº ¸¹Àº ºñÁî´Ï½º
½Ã³ª¸®¿À¿¡¼ ÀüÇüÀûÀΠƯ¡µéÀ» °¡Áö°í ÀÖ´Ù. ÇöÀçÀÇ Á¤ÀûÀÎ °æ°è¸¦ ³Ñ¾î Àß È®ÀåµÇ´Â »õ·Î¿î ³×Æ®¿öÅ© ¼Ö·ç¼ÇÀ» ±¸ÃàÇϱâ À§ÇØ ±âÁ¸ÀÇ
Ŭ¶óÀ̾ðÆ®/¼¹ö ³×Æ®¿öÅ©¿Í P2P ³×Æ®¿öÅ©¸¦ ³ª¶õÈ÷ ³õÀ» ¼ö ÀÖ´Ù. ¿ÀÇ ¼Ò½º JXTA Ç÷§ÆûÀº ÀÌ·¯ÇÑ ½Å±Ô ¼Ö·ç¼ÇÀ» À§ÇÑ ¼ö´ÜÀÌ µÉ
°ÍÀÌ´Ù. ³ª´Â ÀÌ ½Ã¸®Áî°¡ JXTA°¡ Á¦°øÇÏ´Â °¡´É¼ºÀ» Ž»çÇϵµ·Ï ¿©·¯ºÐÀ» °í¹«½ÃÄױ⸦ ¹Ù¶õ´Ù.
Âü°í ÀÚ·á
ÀÌ ±Û¿¡ ¼³¸íµÈ ¿¹Á¦ÀÇ ¼Ò½º
ÄÚµå
JXTA¿¡ ´ëÇØ ´õ ¸¹ÀÌ ¹è¿ì°í ½Í´Ù¸é, Sing LiÀÇ Early
Adopter JXTA (Wrox Press, 2002)¸¦ ÂüÁ¶ÇÑ´Ù.
ÀÌ ½Ã¸®ÁîÀÇ 1ȸÀÎ "The
JXTA story " (developerWorks , August 2001) : ÇÁ·ÎÁ§Æ® JXTAÀÇ °³¿ä¿Í ÀÌ
½Å±â¼úÀÌ ¾î¶»°Ô P2P ¾ÖÇø®ÄÉÀ̼ÇÀ» °£´ÜÇÏ°Ô ±¸¼ºÇϵµ·Ï ÇÏ°í ¿øÇÒÇÏ°Ô ÇÏ´ÂÁö¸¦ ¼³¸íÇÑ´Ù.
ÀÌ ½Ã¸®ÁîÀÇ 2ȸÀÎ, "The
JXTA command shell " (developerWorks , September 2001) : JXTA
¼¿¿¡ °üÇØ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù. ¿©·¯ºÐÀº ±× ¸í·É¹® ¼¼Æ®¸¦ ÀÍÈ÷°í ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇØ ¿©·¯ºÐ ÀÚ½ÅÀÌ Á¤ÀÇÇÑ ¸í·É¾î¸¦
»ç¿ëÇÏ¿© ±× ±â´ÉÀ» È®ÀåÇÒ °ÍÀÌ´Ù.
Jxta.org , °ø½Ä JXTA Ä¿¹Â´ÏƼ »çÀÌÆ® : ÃÖ½Å
»ç¾ç, ¹®¼, ¼Ò½º ¹× ¹ÙÀ̳ʸ® ÆÄÀϵéÀÌ µé¾î ÀÖ´Ù.
Jxta.orgÀÇ jxta-wire ÇÁ·ÎÁ§Æ® :
¿©·¯ºÐÀº ÀÌ ±Û¿¡ ³ª¿Â ¿¹Á¦¸¦ ½ÇÇà½ÃÅ°±â À§ÇØ ÀÌ ÇÁ·ÎÁ§Æ®ÀÇ Äڵ尡 ÇÊ¿äÇÒ ¼ö ÀÖ´Ù.
¿ÀÇ ¼Ò½ºÀÎ Voice over P2P Network
ÇÁ·ÎÁ§Æ®¿¡¼ Sing Li¿Í Àü ¼¼°èÀÇ ¿£Áö´Ï¾îµé°ú ÇÔ²² ±âÁ¸ÀÇ ¸Þ°¡ ½ºÀ§Ä¡¿Í Áß¾Ó »ç¹«½Ç¿¡ ÀÇÁ¸ÇÏÁö ¾Ê´Â Çõ½ÅÀûÀÎ P2P À½¼º
³×Æ®¿öÅ©ÀÇ ¼³°è¿¡ Âü¿©Ç϶ó.
Todd SundstedÀÇ P2P
ÄÄÇ»ÆÃÀÇ ½ÇÁ¦ Ä÷³ (developerWorks) : P2P±â¹Ý ±â¼úÀÇ ¸ðµç Ãø¸éÀ»
¼³¸íÇÑ´Ù.
´ëü ¿ÀÇ ¼Ò½º P2P ½Ã½ºÅÛÀ» º¸·Á¸é Freenet ¸¦ ÂüÁ¶ÇÑ´Ù.
Advanced
Peer-to-Peer Networking (APPN) ´Â È®À强°ú °¡¿ë¼ºÀÌ ³ô°í ¾ÈÀüÇÑ ³×Æ®¿öÅ© ¼Ö·ç¼ÇÀ» Á¦°øÇÑ´Ù.
Magstar Peer-to-Peer
Virtual Tape Server ´Â µ¥ÀÌÅÍ °¡¿ë¼ºÀ» ³ôÀÌ°í ¿©·¯ºÐÀÇ Àç³ º¹±¸ ÀÎÇÁ¶ó¸¦ Çâ»ó½ÃÅ°±â À§ÇØ ¼³°èµÇ¾ú´Ù.
developerWorks
Java technology zone . ÀÚ¹Ù °ü·Ã ¼ö¸¹Àº ÀÚ·áµé
ÇÊÀÚ¼Ò°³ SSing Li´Â Wrox Press°¡ ¹ß°£ÇÑ ¼ö¸¹Àº ´Ù¸¥ Ã¥ »Ó
¾Æ´Ï¶ó Early
Adopter JXTA ¿Í Professional
Jini ÀÇ ÀúÀÛÀÚÀÌ´Ù. ±×´Â ±â¼ú ÀâÁö¿¡ Á¤±âÀûÀ¸·Î ±â°íÇÏ°í ÀÖ°í, P2P ¾ÖÇø®ÄÉÀ̼ÇÀÇ Àû±ØÀûÀÎ
Àüµµ»çÀÌ´Ù. SingÀº ÄÁ¼³ÅÏÆ® °â ÇÁ¸®·£¼ ÀÛ°¡ÀÌ´Ù.