IBM Korea Skip to main content
       IBM Ȩ    |  Á¦Ç° & ¼­ºñ½º  |  °í°´Áö¿ø & ´Ù¿î·Îµå  |  È¸¿ø°¡ÀÔ  

P2P »óÈ£ ¿î¿ë¼º È®º¸Çϱâ : JXTA ½Ã½ºÅÛ °³¹ßÇϱâ
¸ñ Â÷:
ºÐ»êµÈ µ¥ÀÌÅÍ ¼öÁý ¹®Á¦ ÇØ°áÇϱâ
Ãʱ⠺м®
¼Ö·ç¼Ç
¿À·ù ȸº¹¼º
JXTA ¼­ºñ½º¿Í JXTA Ŭ¶óÀ̾ðÆ® ¼³°èÇϱâ
ÁýÁß ÀåÄ¡
¼öÁý±â
½ÇÇàÁßÀÎ JXTA
¸Å·ÂÀûÀÎ ¾ÖÇø®ÄÉÀÌ¼Ç ÆÐÅÏ
TCP/IP¸¦ ³Ñ¾î¼± ³×Æ®¿öÅ·
Âü°í ÀÚ·á
ÇÊÀÚ ¼Ò°³
±â»ç¿¡ ´ëÇÑ Æò°¡
°ü·Ã dW ¸µÅ©:
Making P2P interoperable: The JXTA story
Making P2P interoperable: The JXTA command shell
The practice of peer-to-peer computing column archive
developerWorks newsletter ±¸µ¶Çϱâ
US ¿ø¹® Àбâ
Also in the Web services zone:
Æ©Å丮¾ó
Åø ¹× Á¦Ç°
ÄÚµå ¹× ÄÄÆ÷³ÍÆ®
񃯇
±âÁ¸ÀÇ ³×Æ®¿öÅ© °æ°è¸¦ ³Ñ¾î È®ÀåµÇ´Â 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. µ¥ÀÌÅÍ ¼öÁý ¹®Á¦ ÇØ°áÇϱâ
Solving the data collection problem

³×Æ®¿öÅ©ÀÇ ´Ù¾çÇÑ »óȲÀ» ¼ö¿ëÇϱâ À§ÇØ º´Ä¡µÈ P2P ³×Æ®¿öÅ©¸¦ »ç¿ëÇÏ´Â ÇÑÆí ÁýÁß ÀåÄ¡´Â µ¥ÀÌÅͺ£À̽º ¼­¹ö¿Í ¼öÆÛ ÄÄÇ»ÅÍ°¡ ÀÖ´Â ±âÁ¸ÀÇ Å¬¶óÀ̾ðÆ®/¼­¹ö ³×Æ®¿öÅ©¿Í P2P ³×Æ®¿öÅ©¿¡ ´ëÇÑ ¿¬°áÀ» Á¦°øÇÏ°í ÀÖ´Ù´Â »ç½Ç¿¡ ÁÖÀÇÇÑ´Ù. ÁýÁß ÀåÄ¡µéÀº µÎ ³×Æ®¿öÅ©°£ÀÇ ±³·® ¿ªÇÒÀ» Çϴµ¥, P2P ³×Æ®¿öÅ©ÀÇ µ¿ÀûÀΠƯ¼º°ú Ŭ¶óÀ̾ðÆ®/¼­¹ö ³×Æ®¿öÅ©ÀÇ Á¤ÀûÀΠƯ¼ºÀ» ¸ðµÎ °¡Áö°í ÀÖ´Ù.

ÀÌ ¾ÆÅ°ÅØó´Â juxtaposition (º´Ä¡ : JXTA¶ó´Â À̸§ÀÌ ¸¸µé¾îÁø ¹Ù·Î ±× ´Ü¾î)¸¦ ÀÌ¿ëÇØ ±âÁ¸ ½Ã½ºÅÛµéÀ» º¸¿ÏÇÏ°í À̵鿡°Ô ºÎ°¡µÈ °¡Ä¡¸¦ Á¦°øÇÏ´Â JXTAÀÇ ¿ª·®À» ³ªÅ¸³½´Ù.

¿ì¸®´Â º°·Î µ¶Æ¯ÇÒ °ÍÀÌ ¾ø´Â Ŭ¶óÀ̾ðÆ®/¼­¹ö ³×Æ®¿öÅ©ÀÇ »ó¼¼ »çÇ×Àº ´Ù·çÁö ¾ÊÀ» °ÍÀÌ´Ù. ¿ì¸®´Â VPN ±â¼úÀ» »ç¿ëÇØ À̸¦ ÀÎÅÍ³Ý »ó¿¡¼­µµ ½ÇÇà½Ãų ¼ö ÀÖ´Ù. Èï¹Ì¸¦ ²ô´Â ºÎºÐÀÌ P2P ³×Æ®¿öÅ©ÀÌ´Ù. ±×¸² 2´Â ±× ±¸¼ºÀ» º¸¿©Áִµ¥, ¾ÕÀ¸·Î º¯È­Çϱ⠽ʹÙ. °ü·ÃµÈ ±â¼úµéÀÇ ´Ù¾ç¼º¿¡ ÁÖ¸ñÇϱ⠹ٶõ´Ù.

±×¸² 2. µ¥ÀÌÅÍ ¼öÁý±â ³×Æ®¿öÅ© ±¸¼º
Data collector network composition

¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝ Áö¿ø

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. ³×Æ®¿öÅ© °¡»óÈ­
Network virtualization

¼öÁý±â¿Í ÇǾ ½ÇÁ¦·Î »óÈ£ ¿¬°áÇÏ´Â ¸ðµç »óÀÌÇÑ Àü¼Û ¹× ÁÖ¼Ò ½ºÅ°¸¶µéÀÌ °¡»óÈ­µÇ¸ç, ¸ðµç ÇǾ ´Ù¸¥ ¸ðµç ÇǾ ¿¬°áµÇ´Â ¸Á»çÇü ³×Æ®¿öÅ©¸¸ ³²°Ô µÈ´Ù. JXTA´Â ÅëÀÏµÈ ÁÖ¼Ò ½ºÅ°¸¶¿Í ¸Å¿ì ´À¸° ¹ÙÀεùÀ» »ç¿ëÇØ º¹¼öÀÇ ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝ »ó¿¡ Áö´ÉÀûÀÎ ¸Þ½ÃÁö ¶ó¿ìÆà °èÃþÀ» Ãß°¡ÇÔÀ¸·Î½á À̸¦ ¼öÇàÇÑ´Ù. º»ÁúÀûÀ¸·Î, °¢ ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝÀ̳ª Àü¼Û ½ºÅÃÀº °¡»óÈ­µÈ JXTA ³×Æ®¿öÅ©ÀÇ ÃßÁøÀÚ°¡ µÇ¸ç °¡»óÈ­µÈ ³×Æ®¿öÅ©¸¦ ½ÇÁ¦ ³×Æ®¿öÅ©·Î ¸ÅÇνÃŲ´Ù. ±×¸² 4¿¡ ÀÌ ¼³Á¤ÀÌ ³ª¿Í ÀÖ´Ù.

±×¸² 4. ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝ
Endpoint protocols as drivers

¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝ¿¡ ÀûÇÕÇÑ Åë½Å ÇÁ·ÎÅäÄÝÀÌ µÇ·Á¸é µÎ °³ÀÇ ¹°¸®Àû ³ëµå °£¿¡ XML ¸Þ½ÃÁö¸¦ ÁÖ°í ¹ÞÀ» ¼ö Àֱ⸸ ÇÏ¸é µÈ´Ù. Àü¼ÛÀÇ ½Å·Ú¼ºÀ̳ª ¸Þ½ÃÁö ¹æ¼Û¿¡ ´ëÇÑ Áö¿øÀÌ ÇÊ¿ä ¾ø´Ù. À̸®ÇÏ¿© °¡Àå °£´ÜÇÑ ÆÐŶ ¹«¼± ÇÁ·ÎÅäÄÝÀÌ TCP/IP¿Í °°Àº º¹ÀâÇÑ ´Ù°èÃþ ÇÁ·ÎÅäÄÝ°ú ³ª¶õÈ÷ ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝ·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ¿Ö ½ÇÁ¦·Î´Â ¾ÆÁÖ ´Ù¸¥ ·¹º§¿¡ Á¸ÀçÇÏ´Â HTTP¿Í TCP/IP°¡ JXTA ½ºÅÃÀÇ µ¿ÀÏÇÑ ·¹º§¿¡ ÀÖ´Â ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝÀÎÁö¸¦ ¼³¸íÇØÁØ´Ù. HTTP´Â ÇÑ ÇǾ¼­ ´Ù¸¥ ÇǾî·Î Àü´ÞµÇ´Â ¸Þ½ÃÁö¸¦ ¾ò±â À§ÇØ ÇÊ¿äÇÑ ¸¹Àº ÆÄÀ̾î¿ùµéÀ» Åë°úÇÒ ¼ö ÀÖ´Â ´É·Â ¶§¹®¿¡ Áö¿øµÇ´Â ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝÀÌ´Ù.

JXTA ³×Æ®¿öÅ©ÀÇ °¢ ÇǾî´Â µ¿½Ã¿¡ ¿©·¯ °³ÀÇ ¿£µåÆ÷ÀÎÆ® ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÒ ¼ö ÀÖ°í, JXTA °¡»ó ³×Æ®¿öÅ© ¸ÞÄ¿´ÏÁòÀº °¡»óÈ­µÈ ÅëÀÏµÈ ³×Æ®¿öÅ© ÁÖ¼Ò¸¦ ½ÇÁ¦ ³×Æ®¿öÅ© ÁÖ¼Ò (JXTA¿¡¼­´Â ³×Æ®¿öÅ© ¿£µåÆ÷ÀÎÆ®¶ó°í ºÒ¸²)¸¦ °¡´ÉÇÑÇÑ ´À¸®°Ô ¸ÅÇνÃų °ÍÀÌ´Ù. º»ÁúÀûÀ¸·Î ÇÑ ÇǾî´Â ¹°¸®ÀûÀÎ ¿£µåÆ÷ÀÎÆ®µéÀÇ ÁýÇÕ¿¡ ´ëÀÀµÇ¸ç, ÀÌµé °¢°¢Àº ¿ÏÀüÈ÷ ´Ù¸¥ ¹°¸®Àû Åë½Å ÇÁ·ÎÅäÄÝ¿¡¼­ ±¸ÇöµÉ ¼ö ÀÖ´Ù. »óÀ§ ·¹º§ °¡»óÈ­¿Í ¶ó¿ìÆà ¼­ºñ½º´Â À̵éÀ» º¸ÀÌÁö ¾Ê°Ô À¯ÁöÇÒ °ÍÀÌ´Ù. ¸¹Àº »ç¶÷µéÀÌ ¿À´Ã³¯ÀÇ ÀÎÅͳÝÀ» Çö½Ç·Î ¸¸µç Àåºñ¿Í µ¿ÀÏÇÑ ¸ÖƼÇÁ·ÎÅäÄÝ ¶ó¿ìÅÍÀÇ ¾ÆÁÖ ¹ßÀüµÈ Çü½ÄÀ¸·Î À̸¦ ÀνÄÇÒ °ÍÀÌ´Ù. ÀÌ °³³äÀÇ ¹ßÀüÀÌ º¸´Ù ³Î¸® È®»êµÇ´Â ÀÎÅÍ³Ý ¹öÀüÀ¸·Î ¿ì¸®¸¦ À̲ø °ÍÀº ¾ÆÁÖ ÀÚ¿¬½º·¯¿î ÀÏÀÌ´Ù.

±×¸² 5¿¡¼­ ¿ì¸® ¿¹Á¦¸¦ Á» ´õ ÀÚ¼¼È÷ »ìÆ캸ÀÚ. ÇǾî A´Â ¿ì¸® ³×Æ®¿öÅ©ÀÇ ÇÑ ¼öÁý±â·Î½á, ÀÏ·ÃÀÇ Áß°³ ¼öÁý±â(ÇǾî B,C,D)¸¦ ÅëÇØ ÁýÁßÀåÄ¡ (ÇǾî E)¿¡°Ô µ¥ÀÌÅ͸¦ º¸³»·Á°í ½ÃµµÇÑ´Ù. ±×¸²ÀÇ °¢ ÇÇ¾î ¾Æ·¡¿¡´Â ÇǾ Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝÀÇ ¸ñ·ÏÀÌ ³ª¿Í ÀÖ´Ù.

±×¸² 5. JXTA ¶ó¿ìÆà ¿¹Á¦
JXTA routing example

ÇǾî 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 Ŭ¶óÀ̾ðÆ® ¼³°èÇϱâ
¿ì¸®ÀÇ ±â»ó °üÃø¼Ò ¿¹·Î µ¹¾Æ°¡ º¸ÀÚ. °³³äÀûÀ¸·Î, ÁýÁß ÀåÄ¡´Â ´ÙÀ½°ú °°Àº °ÍÀ» ¼öÇàÇØ¾ß ÇÑ´Ù.

  1. ÁýÁßÀåÄ¡¿¡°Ô ¾î¶² JXTA ±×·ì¿¡ Âü¿©ÇÒÁö ¾Ë·ÁÁÖ´Â ÀûÀýÇÑ ¼³Á¤ ÆÄÀÏÀ» Àаí ó¸®ÇÑ´Ù. (¿ì¸® ¿¹Á¦¿¡ ´ëÇÑ ¼³Á¤ ÆÄÀÏÀÌ »ùÇà ÄÚµå ÆÐÅ°Áö¿¡ µé¾î ÀÖ´Ù.)

  2. JXTA¸¦ ±¸µ¿½ÃŲ´Ù.

  3. ¼³Á¤ ÆÄÀÏ¿¡ ÁöÁ¤µÈ ±×·ì¿¡ Âü¿©ÇÑ´Ù.

  4. ÁýÁß ÀåÄ¡¿¡ ´ëÇÑ ¼­ºñ½º advertisement°¡ Á¦°øµÇ¾î ÀÖ´ÂÁö °Ë»öÇÑ´Ù. Á¦°øµÇ¾î ÀÖÁö ¾ÊÀ¸¸é Çϳª¸¦ ¸¸µé°í À̸¦ °ø°³ÇÑ´Ù.

  5. ¼­ºñ½º¿¡ ´ëÀÀÇÏ´Â ÀÔ·Â ÆÄÀÌÇÁ¸¦ »ý¼ºÇÑ´Ù.

  6. ¼öÁý±â·ÎºÎÅÍ µµÂøÇÏ´Â ¸Þ½ÃÁö¸¦ À§ÇØ ÆÄÀÌÇÁ¿¡¼­ ´ë±âÇÑ´Ù.

  7. ¸Þ½ÃÁö°¡ µµÂøÇϸé À̸¦ ó¸®ÇÏ¿© RDBMS¿¡ ÀúÀåÇÑ´Ù.

  8. 6´Ü°è·Î µ¹¾Æ°£´Ù.

ÀÌ ·ÎÁ÷Àº com.ibm.jxta.Concentrator Ŭ·¡½º¿¡¼­ ±¸ÇöµÈ´Ù. ¿©·¯ºÐÀº ÀÌ Å¬·¡½º¿Í ÀÌ ±Û¿¡ ³ª¿Â ´Ù¸¥ ¸ðµç Äڵ带 Âü°íÀÚ·á¿¡¼­ ´Ù¿î·Îµå¹ÞÀ» ¼ö ÀÖ´Ù.

¼öÁý±â´Â ´ÙÀ½À» ±¸ÇöÇØ¾ß ÇÑ´Ù.

  1. ¼³Á¤ ÆÄÀÏÀ» Àаí ó¸®ÇÑ´Ù.

  2. JXTA¸¦ ±¸µ¿½ÃŲ´Ù.

  3. ¼³Á¤ ÆÄÀÏ¿¡ ÁöÁ¤µÈ ±×·ì¿¡ Âü¿©ÇÑ´Ù.

  4. ÁýÁßÀåÄ¡ ¼­ºñ½º¿¡ ´ëÇÑ ¼­ºñ½º advertisement¸¦ °Ë»öÇÑ´Ù. ÀÌ°ÍÀÌ »ç¿ë°¡´ÉÇÏÁö ¾ÊÀ¸¸é °è¼Ó ÁøÇàÇÒ ¼ö ¾ø´Ù.

  5. ¼­ºñ½º advertisement¿¡¼­ ÆÄÀÌÇÁ Á¤º¸¸¦ ÃßÃâÇÑ´Ù.

  6. Á¤±âÀûÀÎ °£°ÝÀ¸·Î µ¥ÀÌÅ͸¦ ¼öÁýÇÑ´Ù.

  7. ¼öÁý±âÀÇ À§Ä¡¿Í µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â ¸Þ½ÃÁö¸¦ »ý¼ºÇÑ´Ù.

  8. ÆÄÀÌÇÁ¸¦ ÅëÇØ ÁýÁßÀåÄ¡ ¼­ºñ½º¿¡°Ô ¸Þ½ÃÁö¸¦ º¸³½´Ù.

  9. 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. ÀÚ¹Ù °ü·Ã ¼ö¸¹Àº ÀÚ·áµé

ÇÊÀÚ¼Ò°³
Photo of Sing LiSSing Li´Â Wrox Press°¡ ¹ß°£ÇÑ ¼ö¸¹Àº ´Ù¸¥ Ã¥ »Ó ¾Æ´Ï¶ó Early Adopter JXTA ¿Í Professional JiniÀÇ ÀúÀÛÀÚÀÌ´Ù. ±×´Â ±â¼ú ÀâÁö¿¡ Á¤±âÀûÀ¸·Î ±â°íÇÏ°í ÀÖ°í, P2P ¾ÖÇø®ÄÉÀ̼ÇÀÇ Àû±ØÀûÀÎ Àüµµ»çÀÌ´Ù. SingÀº ÄÁ¼³ÅÏÆ® °â ÇÁ¸®·£¼­ ÀÛ°¡ÀÌ´Ù.



ÀÌ ±â»ç¿¡ ´ëÇÏ¿© ¾î¶»°Ô »ý°¢ÇϽʴϱî?

Á¤¸» ÁÁ´Ù (5) ÁÁ´Ù (4) ±×Àú±×·¸´Ù (3) ¼öÁ¤º¸¿ÏÀÌ ÇÊ¿äÇÏ´Ù(2) ÇüÆí¾ø´Ù (1)

  È¸»ç¼Ò°³  |  °³Àκ¸È£Á¤Ã¥  |  ¹ý·ü  |  ¹®ÀÇ