ObjectWeb ±â¹ÝÀÇ ½Ã½ºÅÛ ÅëÇÕ ±â¼ú
¹ÚÀçÇö , ÇÑ»ó¸¸
°æ±âµµ ¿ëÀνà ±¸¼º¸é ¸¶ºÏ¸® »ê1-1
Çö´ëÁ¤º¸±â¼ú(ÁÖ) Á¤º¸±â¼ú¿¬±¸¼Ò µ¥ÀÌŸ¿þ¾îÇÏ¿ì¡ÆÀ
E-mail : jhpark@shinbiro.com, smhan@shinbiro.com
URL :
http://www.shinbiro.com/~jhpark
- Abstract:
- ÇöÀç WWW(World Wide Web)À» ±â¹ÝÀ¸·Î ÇÑ ÀÎÅÍ³Ý ¼ºñ½º´Â ÀÏ´ë º¯È¯±â¸¦ ¸ÂÀÌ Çϰí ÀÖ´Ù. À¥Å¬¶óÀÌ¾ðÆ®³ª ±âŸ ÀÎÅÍ³Ý Åë½Å ¼ºñ½º¿ë ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ß¿¡¼ ÄÁÅÙÆ® ¼ºñ½º·Î ¹ßÀüÇϰí ÀÖ´Â °ÍÀÌ´Ù. ƯÈ÷ °³¹ßµÇ´Â ÄÁÅÙÆ®µéµµ ±âÁ¸ÀÇ CGI(Common Gateway Interface)³ª BGI(Binary Gateway Interface)¸¦ ±â¹ÝÀ¸·Î ÇÑ µ¥ÀÌŸº£À̽º ¿¬µ¿ ÄÁÅÙÆ®¿¡¼ ±â¾÷ÀÇ »çȰÀÌ °É¸°(mission-critical) ´ë±Ô¸ðÀÇ ¿£ÅÍÇÁ¶óÀÌÁî ÄÁÅÙÆ®µé·Î ¼Ó¼Ó ÀüȯµÇ°í ÀÖ´Ù. ÀÌ·¯ÇÑ È¯°æÇÏ¿¡¼ ±âÁ¸ÀÇ CGI¿Í ÀÌÀÇ º¸¿Ï ¹æ¹ýÀÎ ³Ý½ºÄÉÀÌÇÁ»çÀÇ NSAPI(Nestscape API)¿Í ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ISAPI(Internet Information Server API)°°Àº °³¹ß¹æ½ÄÀº ¿£ÅÍÇÁ¶óÀÌÁî ÄÁÅÙÆ®¸¦ °³¹ßÇÏ´Â µ¥ ÀÖ¾î ¸¹Àº ¹®Á¦Á¡À» ³»Æ÷Çϰí ÀÖ´Ù. ÀÌ·± ¹è°æÇÏ¿¡¼ °´Ã¼ÁöÇâ ÆÐ·¯´ÙÀÓÀ» ±Ù°£À¸·Î ÇÏ´Â CORBA(Common Object Request Broker)¿Í WWWÀÇ ÅëÇÕȯ°æÀº ¾Õ¼± ¹æ¹ýµéÀÇ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ƯÈ÷ ÀÎÅÍ³Ý ¸ðºô ÄÚµå ÆÐ·¯´ÙÀÓÀ» Á¦°øÇØÁÖ´Â ÀÚ¹Ù ¾ð¾î·ÎÀÇ CORBA ¸ÅÇÎÀº WWW»ó¿¡¼ µ¥ÀÌŸ¿þ¾îÇϿ조ú °°Àº ¿£ÅÍÇÁ¶óÀÌÁî ÄÁÅÙÆ®¸¦ °³¹ßÇÏ´Â µ¥ ¸¹Àº À¯¿¬¼ºÀ» Á¦°øÇØÁØ´Ù. ÀÌ ±Û¿¡¼´Â CORBA, Java¸¦ ±Ù°£À¸·Î ÇÑ WWW ÅëÇÕ ±â¼ú°ú Àû¿ë ¹æ¹ý¿¡ ´ëÇØ »ìÆìº»´Ù.
- Keywords:
- CORBA , CGI , Data Warehousing , Java , Middleware , Object , WWW
1. ¼·Ð
ÀÎÅͳÝ, ƯÈ÷ WWWÀÇ Æø¹ßÀûÀÎ ¼ºÀåÀº ¼ÒÇÁÆ®¿þ¾î ºÐ¾ß¿¡¼ ±Û·Î¹ú ¼ºñ½º¶ó´Â »õ·Î¿î ÆÐ·¯´ÙÀÓÀ» Á¦½ÃÇÏ¿´´Ù. ÀÌ ÆÐ·¯´ÙÀÓÀº ±âÁ¸ÀÇ ÀÀ¿ë ¼ºñ½ºµéÀÇ
¼ºñ½º Á¦°ø¹üÀ§¸¦ ¼Ò±Ô¸ð LANȯ°æÇÏ¿¡¼ Àü¼¼°è¸¦ ±Ù°£À¸·Î ÇÑ ±Û·Î¹ú ¼ºñ½º·ÎÀÇ È®ÀåÀ» ÀǹÌÇÑ´Ù. ±Û·Î¹ú ¼ºñ½º´Â ÇöÀçÀÇ Á¤º¸½Ã½ºÅÛ¿¡¼ ¿ä±¸Çϰí ÀÖ´Â
ÆÐ·¯´ÙÀÓÀÌ´Ù. ¿Ö³ÄÇϸé ÇöÀçÀÇ ±â¾÷ ȯ°æÀº ±¹°¡¿Í ±¹°æÀ» ÃÊ¿ùÇÑ ±Û·Î¹ú °æ¿µ°ú Á¶Á÷À¸·Î ¹ßÀüÇϰí Àֱ⠋š¹®ÀÌ´Ù. µû¶ó¼ ÀÌ·±ÇÑ È¯°æº¯È¿¡ ´Éµ¿ÀûÀ¸·Î
´ëóÇϱâ À§ÇØ ±Û·Î¹ú ȯ°æÀ» Áö¿øÇÏ´Â »õ·Î¿î ÇüÅÂÀÇ Á¤º¸ °ü¸® ½Ã½ºÅÛÀÌ ÇÊ¿äÇÏ°Ô µÈ´Ù. ´ÙÀ½Àº ÇöÀçÀÇ È¯°æ¿¡¼ ÇÊ¿ä·Î Çϰí ÀÖ´Â Á¤º¸ ½Ã½ºÅÛÀÇ ¸ð½ÀÀÌ´Ù.
"Á¤º¸ ½Ã½ºÅÛÀº Á¶Á÷À̳ª ±â°üÀÇ Á¤º¸Ã³¸® °úÁ¤°ú °æ¿µ öÇÐÀ» Áö¿øÇÔ¿¡ ÀÖ¾î Áö¸®ÀûÀ¸·Î ºÐ»êµÇ°í ÀÌÁ¾ÀÎ Á¤º¸ ÀÚ¿øÀ» º¸´Ù ½±°í , ¾ÈÁ¤µÇ°í, ÀϰüµÈ
¹æ¹ýÀ¸·Î °ü¸®ÇØ¾ß ÇÑ´Ù.[jhpark96] "
ÀÌ·¯ÇÑ Á¤º¸ ½Ã½ºÅÛÀº ´ÙÀ½ÀÇ ±â´ÉµéÀ» º¸ÀåÇØ¾ß ÇÑ´Ù.
»ç¿ëÀÚ ÀÎÅÍÆäÀ̽º Ãø¸é¿¡¼ »ç¿ëÇϱ⠽¬¿ö¾ß Çϰí Á÷°üÀûÀ¸·Î »ç¿ë°¡´ÉÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ »ç¿ëÀÚÀÇ ¿ä±¸»çÇ׿¡ µû¶ó ÀûÀýÈ÷ ¿øÇÏ´Â Á¤º¸¸¦
¼±ÅÃÀûÀ¸·Î ÃëÇÕÇÒ ¼ö ÀÖ´Â ±â´ÉµéÀ» Á¦°øÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ
½Ã½ºÅÛ Ãø¸é ¿¡¼ ±âÁ¸ÀÇ ½Ã½ºÅÛµé°ú ½±°Ô ÅëÇյǰųª ÅëÇÕÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º¸¦ Áö¿øÇØ¾ß ÇÏ¸ç ±âÁ¸ÀÇ ½Ã½ºÅÛº¸´Ù ºü¸£°Å³ª ÃÖ¼ÒÇÑ
µ¿µîÇÑ ¼º´ÉÀ» º¸ÀåÇØ¾ß ÇÑ´Ù. ¾Æ¿ï·¯ ½Ã½ºÅÛ°ú Á¤º¸¿¡ ´ëÇÑ ¸ðµç Á¢±Ù°ú ÅëÀÏµÈ ¹æ¹ýÀ¸·Î °ü¸®µÇ¸ç ÇÕ¹ýÀûÀ̾î¾ß ÇÑ´Ù.
Á¤º¸ Ãø¸é ¿¡¼ ±â¾÷ÀÇ »ý»ê Ȱµ¿À» Áö¿øÇÒ ¼ö ÀÖ´Â ½Å¼±ÇÑ Á¤º¸°¡ Áö¼ÓÀûÀ¸·Î °ø±ÞµÇ°í ÇØ´ç Á¤º¸¸¦ ÀûÀýÈ÷ °¡°øÇϱâ À§ÇÑ ÀÀ¿ë ¼ºñ½º°¡
Áö¿øµÅ¾ß Çϸç , Á¤º¸ ÀÚüÀÇ ¾ÈÁ¤¼º°ú ¹«°á¼ºÀ» º¸ÀåÇØ¾ß ÇÑ´Ù. ¸¶Áö¸·À¸·Î
±â¾÷ Ãø¸é ¿¡¼´Â ÇØ´ç Á¤º¸ ½Ã½ºÅÛÀº Á¶Á÷ÀÇ º¯È¿¡ ´Éµ¿ÀûÀ¸·Î À籸¼º°¡´ÉÇϸç ÇØ´ç Á¶Á÷ÀÇ È¯°æÀ̳ª ¹®È¿¡ ÀûÇÕÇÏ°Ô ±¸Ãà, ¿î¿µµÅ¾ß Çϸç
±Û·Î¹ú ³×Æ®¿÷ ȯ°æÀ» Áö¿øÇØ¾ß ÇÑ´Ù.
ÀÌ·¯ÇÑ ½Ã½ºÅÛÀ» ±¸ÃàÇϱâ À§ÇÑ °¢ ºÐ¾ßÀÇ ³ë·ÂµéÀº ´ÙÀ½°ú °°´Ù.
¸ÕÀú ½Ã½ºÅÛ Ãø¸é¿¡¼ ÀÌÁ¾ÀÇ ´Ù¾çÇÑ ½Ã½ºÅÛÀ» ½±°Ô ÅëÇÕÇϰí À̵éÀ» ÀϰüµÈ ¹æ¹ýÀ¸·Î °³¹ßÇϱâ À§ÇÑ ³ë·ÂÀ¸·Î ´Ù¾çÇÑ ¹Ìµé¿þ¾î ¼Ö·ç¼Ç [orfali96]
[tresch96]À» µé ¼ö ÀÖ´Ù. Ãʱ⠴ëºÎºÐÀÇ Á¤º¸½Ã½ºÅÛÀº ¸ÞÀÎÇÁ·¹ÀÓÀ» Áß½ÉÀ¸·Î ÇÑ Áß¾ÓÁýÁß ¹æ½ÄÀ̾ú´Ù. ÀÌ ¹æ½ÄÀº Áß¾ÓÀÇ ½Ã½ºÅÛ¿¡ ¸ðµç ÀÛ¾÷ÀÌ ÁýÁߵǴÂ
¹®Á¦¸¦ ÃÊ·¡Çß´Ù. µû¶ó¼ ÀÌ ¹æ¹ýÀ» äÅÃÇÑ °÷¿¡¼´Â Áß¾Ó ½Ã½ºÅÛÀ¸·Î °ªºñ½Ñ IBM È£½ºÆ®°°Àº ´ëÇü ÄÄÇ»Å͸¦ »ç¿ëÇØ¾ß¸¸ ÇßÀ¸¸ç Áß¾ÓÀÇ ÄÄÇ»ÅÍ¿¡ ¸ðµç
ÀÛ¾÷ºÎÇϰ¡ °É¸®´Â ¹®Á¦¸¦ ÃÊ·¡Çß´Ù. ÀÌ·¯ÇÑ ¹®Á¦µéÀ» ÇØ°áÇϰíÀÚ Á¦¾ÈµÈ ¹æ¹ýÀÌ ÀÏÁ¤ÇÏ°Ô ÀÛ¾÷À» ºÐ¹èÇÏ¿© Çùµ¿ÇÏ´Â ½Ã½ºÅÛ ¸ðµ¨ÀÎ ºÐ»ê ÄÄÇ»ÆÃ ½Ã½ºÅÛÀÌ´Ù.
ºÐ»ê ÄÄÇ»ÆÃ ½Ã½ºÅÛÀº ´ëÇü ÄÄÇ»Å͸¦ ÀÌ¿ëÇÏÁö ¾Ê°í À¯´Ð½º°°ÀÌ ´ëÇü ÄÄÇ»ÅÍ¿¡ ºñÇØ »ó´ëÀûÀ¸·Î °ªÀÌ ½Ñ ÁßÇü ÄÄÇ»Å͵鿡°Ô ÀÏÀ» ÀûÀýÈ÷ ºÐ¹èÇÏ¿©
Ȱ¿ëÇÔÀ¸·Î½á ¸¹Àº È¿°ú¸¦ ¾ò¾ú´Ù. ÀÌ·¯ÇÑ ºÐ»ê ÄÄÇ»ÆÃ ½Ã½ºÅÛÀ» ±¸¼ºÇÏ´Â ´ëÇ¥ÀûÀÎ ±â¼úÀû ¹æ¹ýÀÌ Å¬¶óÀ̾ðÆ®/¼¹ö ±â¼úÀÌ´Ù. ÀÌ ¹æ¹ýÀº »ó´ëÀûÀ¸·Î
¸¹Àº Ŭ¶óÀÌ¾ðÆ®µéÀÌ ¼¹öÀÇ ÀÚ¿øÀ» ½±°Ô °øÀ¯ÇÒ ¼ö ÀÖÀ¸¸ç ³×Æ®¿÷À» ±â¹ÝÀ¸·Î Çϱ⠶§¹®¿¡ ÀûÁ¤ ±Ô¸ð·Î ½Ã½ºÅÛÀ» ±¸¼ºÇÒ ¼ö ÀÖ´Ù¶ó´Â ÀåÁ¡µéÀÌ ÀÖ´Ù.
±×·¯³ª ÀÌ ¹æ½Ä ¿ª½Ã ¼ö¸¹Àº ÀÌÁ¾ÀÇ ½Ã½ºÅÛÀ» ó¸®ÇÏ´Â µ¥ ÀÖ¾î ¸¹Àº ¹®Á¦µéÀ» ³»Æ÷Çϰí ÀÖ´Ù. ƯÈ÷ ¼·Î ´Ù¸¥ Á¾·ùÀÇ ½Ã½ºÅÛÀ» Ãß°¡ÇÒ ¶§¸¶´Ù »õ·Î¿î
ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇØ¾ß ¸¸ ÇÑ´Ù. ¿¹¸¦ µé¸é, ¼·Î ´Ù¸¥ N°³ÀÇ Å¬¶óÀÌ¾ðÆ®¿Í M°³ÀÇ ¼¹ö¸¦ ¿¬°áÇϱâ À§Çؼ ÇÁ·Î±×·¥¸Ó´Â N X M °³ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇØ¾ß ¸¸ ÇÑ´Ù. ÀÌ·¯ÇÑ ´ÜÁ¡µéÀ» ±Øº¹ÇϰíÀÚ ³ª¿Â ÇØ°áÃ¥ÀÌ ¹Ù·Î ¹Ìµé¿þ¾î ¹æ¹ýÀÌ´Ù. ¹Ìµé¿þ¾î´Â Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö»çÀÌ¿¡ ºñÁö´Ï½º ·ÎÁ÷À» ó¸®ÇØÁÖ°í À̵é
Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¼¹ö¿¡ ´ëÇÑ ÅëÀÏµÈ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇѱ⠶§¹®¿¡ ´Ù´Ü°è Ŭ¶óÀ̾ðÆ®/¼¹ö ±¸Á¶¶ó°íµµ ÇÑ´Ù. ¹Ìµé¿þ¾î ±¸Á¶¸¦ »ç¿ëÇÏ¿© ±¸ÃàµÈ
Á¤º¸½Ã½ºÅÛÀº ´Ù¾çÇÑ Á¤º¸½Ã½ºÅÛÀ» ÇϳªÀÇ ÀÎÅÍÆäÀ̽º·Î ÅëÇØ ó¸®ÇÒ ¼ö ÀÖÀ¸¸ç Á¤º¸½Ã½ºÅÛÀÇ ·ÎÁ÷À» ±¸Á¶ÀûÀ¸·Î Ãß»óȽÃų ¼ö Àֱ⠶§¹®¿¡ ¸¹Àº À¯¿¬¼ºÀ»
Á¦°øÇÑ´Ù. ÀϹÝÀûÀ¸·Î ¹Ìµé¿þ¾î¿¡´Â DBMS ¼¹öµéÀ» Áß¾Ó¿¡¼ °ü¸®ÇØ ÁÖ´Â DBMS¹Ìµé¿þ¾î¿Í ¼¹ö»çÀÌÀÇ Æ®·»Á§¼Ç°ú ·Îµå¹ß·£½ÌÀ» ÀûÀýÈ÷ Áö¿øÇØÁÖ´Â OLTP
¹Ìµé¿þ¾î , °´Ã¼ÁöÇâ ÆÐ·¯´ÙÀÓÀ» ÅëÇØ ÅëÇÕ ½Ã½ºÅÛÀ» ±¸ÃàÇÏ°Ô ÇØÁÖ´Â CORBA[OMG96]°¡ ÀÖ´Ù. ÇöÀç ÀÌµé ¼Ö·ç¼ÇÀº ¸¹Àº ±â¾÷ÀÇ Á¤º¸½Ã½ºÅÛÀ» ±¸ÃàÇÏ´Â µ¥ Àû¿ëµÇ°í ÀÖ´Ù.
¶ÇÇÑ Á¤º¸Ãø¸é¿¡¼´Â ºÐ»êµÈ ±â¾÷ÀÇ µ¥ÀÌŸº£À̽ºµéÀ» ÀûÀýÈ÷ ÅëÇÕÇÏ¿© ±â¾÷ÀÇ ÀÇ»ç°áÁ¤À» ºñ·ÔÇÏ¿© °¢Á¾ Áß¿ä °áÁ¤»çÇ׿¡ ÀÌ¿ëÇÏ°Ô ÇØÁÖ´Â µ¥ÀÌŸ¿þ¾îÇÏ¿ì¡ ±â¼úÀÌ È®»êµÇ°í ÀÖ´Ù[Inmon81]. ±âÁ¸ÀÇ ´Ü¼øÇÑ µ¥ÀÌŸ ó¸®À§ÁÖ¿¡¼ º¸´Ù Àû±ØÀûÀ¸·Î Á¤º¸¸¦ °¡°øÇÏ·Á´Â ³ë·ÂÀÌ ¹Ù·Î µ¥ÀÌŸ¿þ¾î ÇÏ¿ì¡À̶õ ±¸Ãà ¹æ¹ý·ÐÀ¸·Î Ç¥ÃâµÈ °ÍÀÌ´Ù. ±×·¯³ª ÇöÀç ÀÌ ¹æ¹ý ¿ª½Ã ½Ç½Ã°£ µ¥ÀÌŸÀÇ ¹Ý¿µ¿©ºÎ¿Í ±âÁ¸ÀÇ µ¥ÀÌŸµé°ú µ¥ÀÌŸ¿þ¾î ÇϿ콺»ó¿¡ ÀÖ´Â µ¥ÀÌŸ »çÀÌÀÇ ºÒÀÏÄ¡¹× À¯Áö º¸¼ö»óÀÇ ¹®Á¦Á¡µéÀ» ³»Æ÷Çϰí ÀÖ´Ù. [jhpark97] [tresch96]
±â¾÷ÀÇ Ãø¸é¿¡¼´Â Á¤º¸ÀÇ µ¥ÀÌŸ¿þ¾îÇÏ¿ìÂ¡È¿Í ¾Æ¿ï·¯ ±â¾÷ Á¶Á÷ÀÇ ±Û·Î¹úÈ¿Í ±Þ¼ÓÇÑ ¸®¿£Áö´Ï¾î¸µ¿¡ ÀûÇÕÇÑ , ±Ô¸ðÁ¶Á¤ °¡´ÉÇÑ ½Ã½ºÅÛÀÇ ±¸ÃàÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ·¯ÇÑ ´ëÇ¥ÀûÀÎ ³ë·ÂÀº WWW ¶Ç´Â ÀÎÅÍ³Ý ±â¼úÀ» ±â¹ÝÀ¸·Î ÇÑ ÀÎÆ®¶ó³Ý°ú ÀͽºÆ®¶ó³Ý ±â¼úÀÌ´Ù. ÀÎÆ®¶ó³ÝÀº ±âÁ¸ÀÇ ±â¾÷ ¾÷¹«¿Í Á¤º¸ ½Ã½ºÅÛÀ» ÀÎÅÍ³Ý ±â¼ú, ƯÈ÷ WWW ±â¹ÝÀ¸·Î À籸ÃàÇÏ´Â °ÍÀ» ¸»Çϸç ÀͽºÆ®¶ó³ÝÀº ÀÎÆ®¶ó³ÝÀÇ ±Ô¸ð¿Í ¹üÀ§¸¦ Àü¼¼°è·Î È®ÀåÇÑ °ÍÀ» ÀǹÌÇÑ´Ù. ÀÌ·¯ÇÑ ±â¼úÀÇ ±â¹Ý¿¡´Â
WWWÀÇ ¾ÈÁ¤¼º°ú ¾Æ¿ï·¯ Java°°Àº ÀÎÅÍ³Ý ¿£Áö´Ï¾î¸µ ¾ð¾îÀÇ È®»êÀ» µé ¼ö ÀÖ´Ù.
ÀÌµé ³ë·ÂµéÀº °³º°ÀûÀ¸·Î °æÁֵǴ °ÍÀº ¾Æ´Ï´Ù. ½ÇÁ¦ ¸ñÇ¥ ½Ã½ºÅÛÀ» ±¸ÃàÇϱâ À§Çؼ´Â ´Ù¾çÇÑ Ãø¸é¿¡¼ °³¹ßµÇ´Â ±â¼úµéÀ» ÅëÇÕÇØ¾ß ÇÑ´Ù. ÀÌ
ÅëÇÕ±â¼úÀº ÇöÀç WWW°ú CORBA , ±×¸®°í Java¸¦ ±â¹ÝÀ¸·Î ÇÏ¿© ºñÁö´Ï½º ¼Ö·ç¼ÇÀ» °³¹ßÇÏ´Â °ÍÀ¸·Î ¸ð¾ÆÁö°í ÀÖ´Ù.[ashley96] [almasi96] [beitz95]
[condict96] [merle96] ºñÁö´Ï½º ¼Ö·ç¼Ç¿¡´Â ±âÁ¸ÀÇ µ¥ÀÌŸ¿þ¾îÇÏ¿ì¡À» ºñ·ÔÇÏ¿© Àλç,ȸ°è ½Ã½ºÅÛó·³ ±â¾÷ÀÇ ´Ù¾çÇÑ Á¤º¸ ½Ã½ºÅÛÀ» Æ÷ÇÔÇϰí ÀÖ´Ù.
º» ±Û¿¡¼´Â ÇâÈÄ Á¤º¸ ½Ã½ºÅÛ ±¸Ãà½Ã ±Ù°£ÀÌ µÉ WWW¿Í CORBA ±×¸®°í JavaÀÇ ÅëÇÕ±â¼úÀÎ ObjectWeb¿¡ ´ëÇØ »ìÆìº»´Ù.
2. °ü·Ã ¿¬±¸
2.1 WWWÀÇ °³¹ß ȯ°æ
Á¤º¸½Ã½ºÅÛÀÇ ±Ù°£ ±â¼ú·Î¼ ÀÚ¸®¸Å±èÇϰí ÀÖ´Â WWWÀº ¾ÈÁ¤µÈ ÇÁ·ÎÅäÄÝÀ» ±â¹ÝÀ¸·Î ´Ù¾çÇÑ ¿ä±¸»çÇ×µéÀ» ¼ö¿ëÇÏ°í ±âÁ¸ÀÇ ½Ã½ºÅÛµéÀ» ÅëÇÕÇϸç
¹ßÀüÇØ¿À°í ÀÖ´Ù. 1994³â Ãʱâ WWWÀº HTTP(Hyper Text Transfer Protocol)°ú ÇÏÀÌÆÛÅØ½ºÆ® ÀÎÅÍÆäÀ̽º¸¦ ±â¹ÝÀ¸·Î ÅØ½ºÆ®³ª À̹ÌÁö, ¿Àµð¿ÀµîÀ»
Æ÷ÇÔÇÏ´Â ¸ÖƼ¹Ìµð¾î HTML(Hyper Text Markp Language) ¹®¼¸¦ Á¦°øÇØ ÁÖ¾ú´Ù. ÀÌÈÄ 1995³â¿¡ µé¾î WWW´Â ±âÁ¸ÀÇ µ¥ÀÌŸ³ª ÀÀ¿ë ÇÁ·Î±×·¥À» ¿¬µ¿ÇÏ°í º¸´Ù dzºÎÇÑ ¼ºñ½º¸¦ Á¦°øÇϱâ À§ÇØ HTML¹®¼³»¿¡ Ãʺ¸ÀûÀÎ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇØÁÖ´Â FORM ÅÂ±×¿Í À̸¦ ÅëÇØ Á¦ÃâµÈ »ç¿ëÀÚ ¿ä±¸»çÇ×À» ¿ÜºÎ ÀÀ¿ë ÇÁ·Î±×·¥°ú ¿¬µ¿ÇØÁÖ´Â CGI ¹æ½ÄÀ» ÅëÇØ ±âÁ¸ÀÇ ÀÀ¿ë ½Ã½ºÅÛ°ú ¿¬µ¿µÇ±â ½ÃÀÛÇß´Ù. ¾Æ¿ï·¯ Å×À̺íÀ» ºñ·ÔÇÏ¿© °ÈµÈ HTMLű׵é°ú º¸¾È±â´ÉÀÌ
Ãß°¡µÇ¾ú´Ù. Áö±Ý±îÁöÀÇ WWWÀ» Á¤ÀûWWWÀ̶ó ºÎ¸¥´Ù. ±× ÀÌÀ¯´Â ÇѸ¶µð·Î WWWÀÇ HTTP ÇÁ·ÎÅäÄݷδ Áö¼ÓÀûÀÎ »óÅÂÁ¤º¸¸¦ À¯ÁöÇÏÁö ¸øÇÑ´Ù´Â µ¥
±âÀÎÇÑ´Ù. À¥ Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö»çÀÌ¿¡´Â ±â²¯ÇØ¾ß ÇѹøÀÇ ¿äû°ú ÀÌ¿¡ ´ëÇÑ ¼ºñ½º Á¦°øÀÌ ÀÌ·ç¾îÁö¸ç ÀÌÈÄÀÇ ¿äûÀº »õ·Î¿î ¼¼¼ÇÀ¸·Î ¼³Á¤µÇ±â ¶§¹®¿¡ À¥
Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö»çÀÌ¿¡ Áö¼ÓÀûÀÎ Æ®·»Á§¼ÇÀ» À¯ÁöÇÏÁö ¸øÇÑ´Ù. ÀÌ ´ÜÁ¡Àº ±â¾÷¿¡¼ ¿ä±¸ÇÏ´Â ´ë±Ô¸ðÀÇ ½Ã½ºÅÛÀ» ±¸ÃàÀ» ºÒ°¡´ÉÇÏ°Ô ÇÑ´Ù[±×¸²1].
[ ±×¸²1 ] CGI¸¦ ÅëÇÑ À¥ °³¹ß ȯ°æ
¹°·Ð ÀÌ¿¡ ´ëÇÑ º¸¿ÏÃ¥À¸·Î Äí±â(Cookies)¶ó ºÒ¸®´Â ¹æ¹ýÀÌ ÀÖÀ¸³ª ¾ÈÁ¤¼º°ú º¸¾ÈÃø¸é¿¡¼ ¸¹Àº ¹®Á¦Á¡À» ³»Æ÷Çϰí ÀÖ´Ù. ÀÌ ¿Ü¿¡µµ ±âÁ¸ÀÇ CGI¹æ½ÄÀº ÇØ´ç À¥ Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀÌ Á¦ÃâµÉ ¶§¸¶´Ù »õ·Î¿î ¼¹ö¸¦ »ý¼ºÇϰí À̸¦ ÅëÇØ ¼ºñ½º¸¦ Á¦°øÇÑ´Ù. µû¶ó¼ ÀÌ °úÁ¤¿¡¼ ¹ß»ýÇÏ´Â ÄÁÅØ½º ±³È¯(Context Switing) ºñ¿ëÀº À¥ Ŭ¶óÀ̾ðÀÇ ¿ä±¸°¡ ¸¹°í DBMSó·³ À¥°ú ¿¬µ¿µÇ´Â ÀÀ¿ë ÇÁ·Î±×·¥ ¼¹ö°¡ Å« °æ¿ì ±âÇϱ޼öÀûÀ¸·Î Áõ°¡ÇÑ´Ù. ÀÌ·¯ÇÑ ¹®Á¦Á¡À» ÇØ°áÇϰíÀÚ ³Ý½ºÄÉÀÌÇÁ³ª ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® °°Àº WWW ¼¹ö °ø±Þ¾÷ÀÚ¿Í ¿À¶óŬÀ̳ª »çÀ̺£À̽º, À¯´ÏSQL°°Àº DBMS °ø±Þ¾÷ÀÚµéÀº ±×µé ÀÚ½ÅÀÇ ½Ã½ºÅÛ°ú WWWÀ» ÀûÀº ºñ¿ëÀ¸·Î ¿¬°èÇϱâ À§ÇÑ ¹æ¹ýÀ» Á¦°øÇϰí ÀÖ´Ù. ±×·¯³ª ÀÌ ¹æ¹ý¿ª½Ã CGI ¿Í WWW¼¹ö ÀÚü°¡ °®°í ÀÖ´Â ÇѰ踦 ¹þ¾î³ªÁö ¸øÇÑ´Ù.
ÀÌ·¯ÇÑ ¼Ó¿¡¼ 1996³â ¼±¸¶ÀÌÅ©·Î½Ã½ºÅÛ¿¡¼ °³¹ßÇÑ ÀÚ¹Ù¶ó´Â °´Ã¼ÁöÇâ ÀÎÅÍÇÁ¸®ÅÍ ¾ð¾î´Â ±âÁ¸ÀÇ WWW¿¡ ´ëÈÇü ÀÀ¿ë ÇÁ·Î±×·¥À» Ãß°¡ÇÏ°í »óÅÂÁ¤º¸¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Â °¡´É¼ºÀ» Á¦½ÃÇÏ¿´´Ù[±×¸²2]. ÀÌ ÈÄ, WWW´Â ÀÚ¹ÙÀÇ ÀÌ·¯ÇÑ ÀåÁ¡À» ¹Þ¾Æµé¿© ±âÁ¸ÀÇ Á¤ÀûWWW¿¡¼ µ¿ÀûWWWÀ¸·Î º¯È¯Çϱ⠽ÃÀÛÇÑ´Ù. ÀÌ ½Ã±âÀÇ µ¿ÀûWWWÀÇ Æ¯Â¡Àº WWW ¼¹ö¿¡ À§Ä¡½Ãų ¼ö ÀÖ´Â ¾ÖÇø´À̶ó´Â ÄÚµå¿Í ÀÌ Äڵ带 ÀÚ¹Ù°¡´ÉÇÑ À¥ ºê¶ó¿ìÁ®¸¦ ÅëÇØ ´Ù¿î·Îµå ¹ÞÀº ÈÄ À̸¦ ½ÇÇà½Ãų ¼ö ÀÖ´Â ¸ðºô ÄÚµå ȯ°æÀÌ´Ù. ÀÌÈÄ , 1997³â¿¡ À̸£·¯ WWW´Â ±âÁ¸ÀÇ ÀÚ¹Ù ±â¼ú¿Ü¿¡ Çϵå¿þ¾î³ª ¼ÒÇÁÆ®¿þ¾î¿¡ »ó°ü¾øÀÌ ÀÀ¿ë ÇÁ·Î±×·¥À» °³¹ßÇÏ°í ´Ù¾çÇÑ °³¹ß ¼ºñ½º¸¦ ÀÌ¿ëÇÏ°Ô ÇØÁÖ´Â °´Ã¼ÁöÇ⠹̵é¿þ¾îÀÎ CORBA[OMG96]¸¦ ¼ö¿ëÇÏ°Ô µÇ¾ú´Ù. Á»´õ ÀÚ¼¼È÷ ¸»ÇÏÀÚ¸é CORBAÀÇ Ç¥ÁØ ÇÁ·ÎÅäÄÝÀÎ IIOP(Internet Inter-ORB Protocol)¿Í WWWÀÇ Ç¥ÁØ ÇÁ·ÎÅäÄÝÀÎ HTTPÀÇ ÅëÇÕ¿¡ ÀÇÇØ WWW»ó¿¡¼ ÄÄÆ÷³ÍÆ® ¼ºñ½º¸¦ °³¹ßÇϱâ À§ÇÑ Åä´ë¸¦ °®Ãß°Ô µÈ °ÍÀÌ´Ù. CORBA¿Ü¿¡µµ JAVAÀÇ ÄÞÆ÷³ÍÆ® ±â¼úÀÎ Java Beans³ª ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ÄÄÆ÷³ÍÆ® ±â¼úÀÎ ActiveX°¡ ±âÁ¸ WWWÀÇ È®ÀåÀ» À§ÇØ Àû±Ø äÅõǰí ÀÖ´Ù. À̵éÀ» ¹¾î µ¿Àû WWW¶ó ÇÑ´Ù.
[ ±×¸²2 ] Java¸¦ ÅëÇÑ À¥ °³¹ß ȯ°æ
ƯÈ÷ ÀÌ·¯ÇÑ ±â¼úÁß¿¡¼ WWW°ú CORBA , ±×¸®°í CORBAÀÇ ÀÚ¹Ù ¸ÅÇÎÀº ÀÚ¹Ù¿¡¼ Á¦°øÇÏ´Â ¸ðºô ÄÚµå ±â´É°ú CORBA¿¡¼ Á¦°øÇÏ´Â °´Ã¼ ÄÄÆ÷³ÍÆ® ±â¼úÀ» Àû¿ëÇÏ¿© ´ë±Ô¸ðÀÇ ±â¾÷ Á¤º¸½Ã½ºÅÛÀ» ±âÁ¸ÀÇ WWW»ó¿¡¼ ±¸ÃàÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ÀÌ·¸°Ô ±¸ÃàµÈ Á¤º¸ ½Ã½ºÅÛÀ» CORBA ºñÁö´Ï½º °´Ã¼¶ó Çϸç ÀÌ·¯ÇÑ °³¹ßȯ°æÀ» ObjectWeb À̶ó Á¤ÀÇÇÑ´Ù[orfali97]. [±×¸²3]Àº ¾Õ¼ ¼³¸íÇÑ WWW °³¹ß ȯ°æÀÇ º¯È¸¦ º¸¿©ÁØ´Ù.
[±×¸²3] WWW °³¹ß ȯ°æÀÇ º¯È
3. ObjectWebÀÇ ±¸Á¶
3.1 CORBA¿Í WWWÀÇ ¿¬µ¿ ÇöȲ
Áö±Ý±îÁö CORBA¿Í WWW¸¦ ¿¬µ¿Çϱâ À§ÇÑ ¸¹Àº ¼±Çà ³ë·ÂµéÀÌ ÀÖ¾ú´Ù.[ashley96] [almasi96] [beitz95] [condict96] [merle96] ÀÌµé ¹æ¹ýÀº Å©°Ô ±âÁ¸ ½Ã½ºÅÛÀÇ ±¸Á¶¸¦ º¯°æÇÏÁö ¾Ê°í ±âÁ¸ÀÇ ±â´ÉÀ» È®ÀåÇÏ´Â ¹æ¹ý°ú ½Ã½ºÅÛ¿¡ º¯ÇüÀ» °¡ÇØ ¿¬µ¿ÇÏ´Â ¹æ¹ýÀ¸·Î ºÐ·ùÇÒ ¼ö ÀÖ´Ù.
ÀüÀÚÀÇ °æ¿ì, ±âÁ¸ÀÇ CGI¸¦ ÀÌ¿ëÇÏ¿© °ÔÀÌÆ®¿þÀ̸¦ ±¸¼ºÇÏ´Â ¹æ¹ý°ú HTTP ÇÁ·ÎÅäÄÝÀ» CORBA IIOPÇÁ·ÎÅäÄÝ·Î º¯°æÇØÁÖ´Â °ÔÀÌÆ®¿þÀ̸¦ ±¸¼ºÇÏ´Â ¹æ¹ý, ±×¸®°í ÀÚ¹Ù-CORBA ¸ÅÇÎ ¹æ¹ýÀÌ ÀÖ´Ù. CGI°ÔÀÌÆ®¿þÀÌÀÇ °æ¿ì, µðÁöÅ»ÀÇ Web Broker¿¡¼ ±¸ÇöµÇ¾ú´Ù. ÀÌ ¹æ¹ýÀº ¿©ÀüÈ÷ CGIÀÇ ¹®Á¦¸¦ ³»Æ÷Çϰí ÀÖ´Ù. HTTP-to-IIOPÀÇ °æ¿ì ANSA[ashley96]¿Í ¿À¶óŬ¿¡¼ »ç¿ëÇϰí ÀÖ´Ù. ÀÌ ¹æ¹ýÀº CORBA°¡ HTTP¸¦ ó¸®ÇÏ´Â ¿ªÇÒÀ» °®´Â °ÍÀ» ÀǹÌÇÑ´Ù.
¸¶Áö¸· ¹æ¹ýÀº ±âº»ÀÇ HTTP¿Í CORBA¸¦ °øÁ¸½ÃŰ´Â °ÍÀÌ´Ù. À¥ Ŭ¶óÀÌ¾ðÆ®´Â CORBA¿¡ ¼ºñ½º¸¦ ¿äûÇϱâ À§ÇÑ ORB ±â´ÉÀ» °®°í ÀÖ°í ½ÇÇà½Ã¿¡ ¼¹öÃø¿¡ ÀÚ¹Ù·Î ÀÛ¼ºµÈ CORBA ÀÀ¿ë ÇÁ·Î±×·¥À» ´Ù¿î·Îµå ¹ÞÀº ÈÄ À̸¦ ¼öÇà½ÃŲ´Ù. ÀÌ·¯ÇÑ ¾ÖÇø´À» ORBletÀ̶ó ÇÑ´Ù. ÀÌ ¹æ¹ýÀº Ãß°¡ÀûÀÎ °ÔÀÌÆ®¿þÀ̸¦ °³¹ßÇÒ Çʿ䰡 ¾ø´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ¹Ý¸é¿¡ CORBA ORB±â´ÉÀ» ÀÚµ¿À¸·Î ´Ù¿î·ÎµåÇÒ ¼ö ¾ø±â ¶§¹®¿¡ À¥¿¡ ³»ÀåÇØ¾ß ÇÑ´Ù´Â ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. ÇöÀç ³Ý½ºÄÉÀÌÇÁ¿Í Visibroker[visigenic], Orbix/Web[iona] , ¼±»çÀÇ NEO[joe][neo]µî¿¡¼ »ç¿ëÇϰí ÀÖ´Ù.
ÀÌ ¹æ¹ý¿Ü¿¡ ½Ã½ºÅÛ º¯ÇüÀ» ÅëÇØ ¿¬µ¿ÇÏ´Â ¹æ¹ýÀº CORBA IDL(Interface Definition Language) ÄÄÆÄÀÏ·¯¸¦ È®ÀåÇÏ¿© ÇØ´ç IDL ÆÄÀÏÀ» WWW¿¡ ÀûÇÕÇÑ ÄÚµå·Î »ý¼ºÇØ ÁÖ´Â ¹æ¹ýÀÌ ÀÖ´Ù. ÀÌ ¹æ¹ýÀº CORBA IDLÀ» ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖÀ¸³ª CORBA ÀÎÅÍÆäÀ̽º¸¶´Ù °³º°ÀûÀÎ FORM ¹®À» »ý¼ºÇϱ⠶§¹®¿¡ ´ë±Ô¸ð ½Ã½ºÅÛ °³¹ß¿¡ ºÎÀûÇÕÇÏ´Ù. ÀÌ ¹æ¹ý¿Ü¿¡µµ À¥ ¼¹ö¸¦ È®ÀåÇÏ¿© CORBA ¼ºñ½º¸¦ È£ÃâÇÒ ¼ö ÀÖ°Ô È®ÀåÇÏ´Â ¹æ¹ý°ú ÀÚ¹Ù ¾ÖÇø´ÀÌ CORBA»ó¿¡¼ »óÅÂÁ¤º¸¸¦ À¯ÁöÇÒ ¼ö ÀÖ°Ô CORBA ÇÁ·ÎÅäÄÝ¿¡ ½ºÆ®¸² ±â´ÉÀ» Ãß°¡Çϵµ·Ï È®ÀåÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù[resnick96].
3.2 ObjectWebÀÇ Á¤ÀÇ
ObjectWebÀ̶õ WWW¿¡¼ CORBA¿Í ÀÚ¹Ù¿¡¼ Á¦°øÇÏ´Â ´Ù¾çÇÑ ºÐ»ê ¼ºñ½ºµé°ú °´Ã¼ÁöÇâ ÆÐ·¯´ÙÀÓÀ» ÀÌ¿ëÇϱâ À§ÇØ, ½Ã½ºÅÛ º¯Çü¾øÀÌ, WWW¿¡ CORBA¸¦ ÅëÇÕÇÑ È¯°æÀ» ¸»ÇÑ´Ù. ¹Ý´ë·Î CORBA¿Í ÀÚ¹Ù´Â WWW¿¡¼ Á¦°øÇÏ´Â ¾ÈÁ¤µÈ Àü´Þ ÇÁ·ÎÅäÄÝ(HTTP)°ú À¥ºê¶ó¿ìÁ®·Î ÁöĪµÇ´Â ÅëÀÏµÈ Å¬¶óÀÌ¾ðÆ® ÀÎÅÍÆäÀ̽º¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ObjectWebÀº ÇϳªÀÇ µ¶ÀÚÀûÀÎ ½Ã½ºÅÛÀÌ ¾Æ´Ï´Ù. ´ÜÁö ÇöÀç ºÐ»ê °³¹ß ȯ°æÀ» ¼±µµÇϰí ÀÖ´Â ±â¼úµéÀ» ÅëÇÕÇÏ¿© »ó½ÂÈ¿°ú¸¦ ¾ò´Â ¹æ¹ýÀÌ´Ù. [±×¸²4]´Â ObjectWebÀÇ ±¸¼ºµµÀÌ´Ù. ¸ÕÀú ObjectWebÀº WWWÀÇ HTTP¿Í CORBAÀÇ IIOP¸¦ ±âº» ÇÁ·ÎÅäÄÝ·Î »ç¿ëÇϸç CORBA IDL·Î ÀÛ¼ºµÈ ÀÎÅÍÆäÀ̽º¸¦ ÀÚ¹Ù ¾ð¾î·Î ¸ÅÇÎÇÑ´Ù. µû¶ó¼ ObjectWebÀ» ÅëÇØ ÀÛ¼ºµÈ ÀÀ¿ë ÇÁ·Î±×·¥Àº ÀÚ¹Ù ¾ÖÇø´(¶Ç´Â Orblet) ¶Ç´Â ¼ø¼ö ÀÚ¹Ù ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ µÉ ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ÀÛ¼ºµÈ ObjectWebÀÇ ÀÀ¿ë ÇÁ·Î±×·¥Àº WWWÀÇ HTTP¸¦ ÅëÇØ Àü¼ÛµÇ¸ç ÀÏ´Ü Àü¼ÛµÈ ÀÀ¿ë ÇÁ·Î±×·¥µéÀº CORBAÀÇ IIOP¸¦ ÅëÇØ ±¸µ¿µÇ¸ç ¼ºñ½º¸¦ ÁÖ°í ¹Þ´Â´Ù.
[±×¸²4] ObjectWebÀÇ ±¸¼º
4. ObjectWebÀÇ ±¸¼º¿ä¼Ò
ObjetWebÀº [±×¸²4]¿¡¼ ó·³ ±âº»ÀûÀ¸·Î WWW¿Í CORBA , ±×¸®°í ÀÚ¹Ù·Î ÀÌ·ç¾îÁø´Ù. À̹ø Àå¿¡¼´Â CORBA¸¦ Áß½ÉÀ¸·Î °¢ ±¸¼º¿ä¼Ò¿¡ ´ëÇØ Á¤¸®ÇØ º»´Ù.
4.1 WWW
WWW´Â ±âº»ÀûÀ¸·Î URL(Uniform Resource Locator)¶ó ºÒ¸®´Â ÁúÀÇ ±¸Á¶°ú ÀÌ¿¡ ´ëÇÑ °á°ú¸¦ HTML¶ó ºÒ¸®´Â ¸ÖƼ¹Ìµð¾î ÇÏÀÌÆÛ ¸µÅ© ¹®¼·Î º¸³»´Â ±¸Á¶·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. À̶§ Àü¼ÛÀº HTTP¶ó´Â ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇÑ´Ù. ÀÌ·¯ÇÑ ±âº» ±â´É¿Ü¿¡ CGI¶ó´Â ¿ÜºÎ ÇÁ·Î±×·¥ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ ¿ÜºÎ ¼ºñ½º¿Í ¿¬µ¿ÇÏ´Â ±¸Á¶·Î ÀÌ·ç¾îÁ® ÀÖ´Ù[±×¸²5].
[±×¸²5] WWWÀÇ ±¸¼º
4.2 ÀÚ¹Ù
ÀÚ¹Ù´Â Ãʱ⠾ÖÇø´À̶ó´Â ¸ðºô ÄÚµå °³³äÀ» À¥ ºê¶ó¿ìÁ®¿¡ ³»ÀåÇÔÀ¸·Î½á WWW¿¡ ´ëÈÇü ÀÀ¿ë ÇÁ·Î±×·¥ ÀÛ¼ºÀÇ ±æÀ» Á¦°øÇØ ÁÖ¾ú´Ù. ±×·¯³ª ÀÌ ±â´É¸¸À¸·Î´Â WWW¿¡ ¿£ÅÍÇÁ¶óÀÌÁî ±Ô¸ðÀÇ ÀÀ¿ë ½Ã½ºÅÛÀ» °³¹ßÇϱ⿡´Â ¿ªºÎÁ·ÀÌ´Ù. µû¶ó¼ ¼± ¸¶ÀÌÅ©·Î½Ã½ºÅÛÀº ÀÚ¹Ù¸¦ ¿£ÅÍÇÁ¶óÀÌÁî ȯ°æ¿¡¼ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÀÚ¹Ù µ¥ÀÌŸº£À̽º ¿¬µ¿ ÆÐŰÁöÀÎ JDBC(Jaa Database connectivity) , ÀÚ¹Ù RPC(Remote Procedure Call)ÀÎ RMI(Remote Method Invocation), ±×¸®°í ÀÚ¹ÙÀÇ CORBA Áö¿ø ÅøÀÎ JAVA IDL, ÀÚ¹ÙOLEÀÎ ÀÚ¹Ù Beans, ÀÚ¹Ù Ä¿¸Ó½º ÇÁ·¹ÀÓ¿÷ÀÎ JavaWallet , º¸¾È ÇÁ·¹ÀÓ¿÷, ´Ù¾çÇÑ ¸ÖƼ¹Ìµð¾î¸¦ Áö¿øÇØÁÖ´Â ¹Ìµð¾î ÇÁ·¹ÀÓ¿÷µîÀ» °³¹ßÇϰí ÀÖ´Ù. [±×¸²6]Àº ÀÚ¹Ù¿¡¼ Áö¿øÇÏ´Â ¼ºñ½ºµéÀ» Á¤¸®ÇÑ °ÍÀÌ´Ù.
[±×¸²6] JavaÀÇ ¼ºñ½ºµé
4.3 CORBA
1989³â 4¿ù ÇöÀç Á¸ÀçÇÏ´Â °´Ã¼ ±â¼úÀ» ¹ÙÅÁÀ¸·Î ÀÀ¿ë ÇÁ·Î±×·¥µéÀ» °áÇÕÇϱâ À§ÇÑ °´Ã¼ÁöÇâ Ç¥ÁØÀ» Á¦Á¤Çϱâ À§ÇØ OMG¶ó´Â ºñ¿µ¸® ´Üü°¡ ź»ýÇÏ¿´´Ù. ÀÌ ´Üü¿¡´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¸¦ Æ÷ÇÔÇÏ¿© 600°³ÀÇ ÄÄÇ»ÅÍ °ü·Ã ´ÜüµéÀÌ Âü°¡ÇÏ¿© °´Ã¼ÁöÇâ ±â¼úÀ» ±â¹ÝÀ¸·Î ÀÌÁ¾ÀÇ ºÐ»êµÈ ȯ°æÇÏ¿¡¼ ÀÀ¿ë ÇÁ·Î±×·¥µéÀÌ ¼·Î ÅëÇÕÇÒ ¼ö Àִ ǥÁرâ¼úÀ» ź»ý½ÃÄ×´Ù. ¹Ù·Î ÀÌ Ç¥ÁØÀÌ OMA(Object Management Architecture)ÀÌ´Ù. OMA´Â ÀÀ¿ë ÇÁ·Î±×·¥°£ÀÇ °áÇÕ»Ó¸¸ ¾Æ´Ï¶ó °´Ã¼ÀÇ »ý¼º , ¼Ò¸ê¿¡¼ ºÎÅÍ ÀúÀå , Æ®·»Á§¼Ç ±â´É¿¡ À̸£±â±îÁö ºÐ»ê °´Ã¼ ȯ°æ¿¡¼ ÇÊ¿äÇÑ ¸ðµç ¼ºñ½º¸¦ ÃÑĪÇÏ´Â °ÍÀÌ´Ù. ÀÌµé ±â´ÉÁß CORBA´Â ÄÄÇ»ÅÍ ³»ºÎÀÇ ¹ö½ºÃ³·³ ¼·Î ´Ù¸¥ ÇÁ·Î±×·¥µé »çÀÌÀÇ ¹ö½º ¿ªÇÒÀ» ÇÏ´Â ¸ðµâ·Î¼ OMA ±¸Á¶¿¡¼ °¡Àå Áß¿äÇÑ ¿ä¼Ò°¡ µÈ´Ù. ¶ÇÇÑ CORBA¿¡¼ °¡Àå Áß¿äÇÑ ¿ä¼Ò´Â ORBÀÌ´Ù. [ ±×¸²7 ] Àº OMG ¿¡¼ ¹ßÇ¥ÇÑ OMA ¿Í CORBA , ORB ¸¦ Æ÷ÇÔ°ü°è·Î Ç¥½ÃÇÑ °ÍÀÌ´Ù. ±×¸²¿¡¼ ó·³ CORBA ´Â OMAÀÇ ÇÑ ºÎºÐÀ̰í ORB´Â CORBA ÀÇ Çٽɱâ¼úÀ» ¸»ÇÏ´Â °ÍÀÌ´Ù.
ÇöÀç OMG´Â 1990³â OMA¸¦ ¹ßÇ¥ÇÑ ÀÌ·¡ Áö±Ý±îÁö CORBA2.0 ½ºÆåÀ» ¹ßÇ¥ÇÏ¿´´Ù.
[±×¸²7] OMG , OMA , CORBAÀÇ °ü°è
4.3.1 OMGÀÇ OMA
OMA´Â [±×¸²8]¿¡¼ º¸µíÀÌ ÀÌÁ¾ÀÇ ºÐ»êȯ°æ¿¡¼ ÇÊ¿äÇÑ ¸ðµç ±â´ÉÀ» Á¤ÀÇÇϱ⠶§¹®¿¡ »ó´çÈ÷ ±¤¹üÀ§ÇÏ´Ù. ¸ÕÀú OMA¸¦ ÀÌÇØÇÏ´Â µ¥ ÀÖ¾î °¡Àå ±âÃÊ»çÇ×ÀÌ °´Ã¼ÁöÇâ °³³äÀÇ ÀÌÇØÀÌ´Ù. ¿Ö³ÄÇϸé OMA°¡ Á¦°øÇÏ´Â ¸ðµç ¼ºñ½º´Â °´Ã¼°³³äÀ» ±â¹ÝÀ¸·Î Çϱ⠶§¹®ÀÌ´Ù. ´ÙÀ½Àº CORBA¸¦ ÀÌÇØÇÏ´Â µ¥ ÇÊ¿äÇÑ °´Ã¼ÁöÇâ °³³ä¸¸À» ¸ð¾Æ Á¤¸®ÇÑ °ÍÀÌ´Ù.
- °´Ã¼ = ¾ÖÆ®¸®ºäÆ® + ¸Þ¼Òµå
°´Ã¼´Â ÇÁ·Î±×·¥¿¡¼ µ¥ÀÌŸ ÇüÀ» °®´Â º¯¼ö°°Àº ¾ÖÆ®¸®ºäÆ®(»óÅÂ)¿Í ÇÔ¼ö°°Àº ¸Þ¼Òµå(Çൿ)·Î ±¸¼ºµÈ ÀÏ·ÃÀÇ Äڵ带 ÀǹÌÇÑ´Ù.
¿¹¸¦µé¾î , ÀÚµ¿Â÷¶õ °´Ã¼´Â ¹ÙÄû¿Í ÇÚµé µîÀÇ ¾ÖÆ®¸®ºäÆ®¸¦ °®À» »Ó¸¸ ¾Æ´Ï¶ó ÀüÁøÀ̳ª ÈÄÁø µîÀÇ ¸Þ¼Òµåµµ Æ÷ÇÔÇϰí ÀÖ´Ù.
- Ŭ·¡½º = °´Ã¼µé¿¡ °øÅëµÈ Ư¼º , °´Ã¼´Â Ŭ·¡½º¸¦ ÅëÇÑ »ý¼º¹°
Ŭ·¡½º´Â °´Ã¼µéÀÌ °¡Áö°í ÀÖ´Â °øÅëÀÇ Æ¯¼ºµéÀ» ¸ð¾Æ ¸¸µç ƲÀ» ÀǹÌÇÑ´Ù. µû¶ó¼ ÀÌ Æ²À» ÅëÇØ »ç¿ëÇÏ´Â ¿øÇÏ´Â ¸¸ÅÀÇ °´Ã¼¸¦ »ý¼ºÇϰųª »èÁ¦ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, ÀÚµ¿Â÷´Â ±âÁ¸ÀÇ ¼Ò³ªÅ¸³ª ¿¤¶õÆ®¶ó , ¿¢¼¿°°Àº °´Ã¼ÀÇ °øÅëÀûÀΠƯ¼ºÀ» »Ì¾Æ¸¸µç °´Ã¼ÀÌ´Ù. ÀÌ·¯ÇÑ °´Ã¼¸¦ Ŭ·¡½º¶ó°í ÇÑ´Ù.
- ĸ½¶È(Encapsulation)
ĸ½¶È´Â °´Ã¼¸¦ ±¸¼ºÇÒ ¶§ ¾ÖÆ®¸®ºäÆ®¿Í ¸Þ¼Òµå¸¦ ÇÔ²² Á¤ÀÇÇÑ ÈÄ, ÇØ´ç °´Ã¼ÀÇ ¾ÖÆ®¸®ºäÆ®¿¡ Á¢±ÙÇϱâ À§Çؼ´Â ¹Ì¸® Á¤ÀÇµÈ ¸Þ¼Òµå¸¸À» ÅëÇØ¼ °¡´ÉÇÏ°Ô ÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. ĸ½¶È´Â ´Ù¸¥ °´Ã¼¿Í ÇØ´ç °´Ã¼¸¦ Ãß»óÀûÀ¸·Î ±¸ºÐÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. µû¶ó¼ °íµµÀÇ ¸ðµâÈ¿Í Ãß»óȰ¡ °¡´ÉÇÏ´Ù.
- ´ÙÁß¼º(Polymorphism)
´ÙÁß¼ºÀ̶õ ÇϳªÀÇ ¸Þ¼Òµå À̸§À¸·Î ¿©·¯ °³ÀÇ ¼·Î ´Ù¸¥ ±â´ÉÀ» Á¦°øÇÏ´Â ¸Þ¼Òµå·Î ¸¸µé ¼ö ÀÖ´Â ±â´ÉÀ» ÀǹÌÇÑ´Ù. ¿¹¸¦µé¾î ,
Insert( int ) , Insert( char* ) ó·³ °°Àº À̸§À¸·Î ¼·Î ´Ù¸¥ ±â´ÉÀ» ¼öÇàÇÏ´Â ¸Þ¼Òµå¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
- »ó¼Ó , »óÀ§ Ŭ·¡½º , ÇÏÀ§ Ŭ·¡½º
»ó¼ÓÀ̶õ ÇÑ Å¬·¡½º°¡ °®°í ÀÖ´Â ¾ÖÆ®¸®ºäÆ®¿Í ¸Þ¼Òµå¸¦ ƯÁ¤ Ŭ·¡½º°¡ ¹°·Á¹Þ´Â °ü°è¸¦ ¸»Çϸç À̶§ ¹°·ÁÁִ Ŭ·¡½º¸¦ »óÀ§ Ŭ·¡½º , ¹°·Á¹Þ´Â ´ë»óÀÌ µÇ´Â Ŭ·¡½º¸¦ ÇÏÀ§ Ŭ·¡½º¶ó°í ÇÑ´Ù.
¿¹¸¦µé¾î , Æ®·°°°Àº Ŭ·¡½º´Â ÀÚµ¿Â÷ Ŭ·¡½ºÀÇ ¾ÖÆ®¸®ºäÆ®¿Í ¸Þ¼Òµå¸¦ »ó¼Ó¹ÞÀ» ¼ö ÀÖ´Ù. ¿Ö³ÄÇϸé ÀÚµ¿Â÷´Â Æ®·°¿¡ ÇÊ¿äÇÑ ¾ÖÆ®¸®ºäÆ®¿Í ¸Þ¼Òµå¸¦ Æ÷ÇÔÇϰí Àֱ⠶§¹®ÀÌ´Ù. À̶§ ÀÚµ¿Â÷ Ŭ·¡½º¸¦ »óÀ§ Ŭ·¡½º , Æ®·° Ŭ·¡½º¸¦ ÇÏÀ§ Ŭ·¡½º¶ó°í ÇÑ´Ù.
OMA´Â Å©°Ô ÀÌÁ¾ÀÇ ºÐ»ê ȯ°æ¿¡¼ Åë½ÅÀ» ´ã´çÇÏ´Â CORBA¿Í °´Ã¼¸¦ Á¶ÀÛÇÏ´Â µ¥ ÇÊ¿äÇÑ °¢Á¾ ±âº» ±â´ÉµéÀ» Á¤ÀÇÇϰí ÀÖ´Â COSS
(Common Object Service Specification) , ±×¸®°í Ãß°¡ÀûÀ¸·Î Á¦°øµÇ´Â ±â´É ¼ºñ½º°¡ Á¸ÀçÇϰí ÀÖ´Ù. ±×¸®°í ¸¶Áö¸·À¸·Î À̵é
±â´ÉµéÀ» ÀÌ¿ëÇÏ¿© »ç¿ëÀÚµéÀÌ ÀÛ¼ºÇÑ °¢Á¾ ÀÀ¿ë °´Ã¼µéÀÌ Á¸ÀçÇÑ´Ù. ¾Õ¼µµ ¾ð±ÞÇßµíÀÌ OMA ±¸Á¶¿¡¼ °¡Àå Áß¿äÇÑ °ÍÀÌ CORBAÀ̸ç ÇöÀç ¼ö¸¹Àº ±¸Çö Á¦Ç°ÀÌ Á¸ÀçÇϰí ÀÖ´Ù. ±×·¯³ª ½ÇÁ¦ CORBA¸¸À¸·Î´Â º¹ÀâÇÑ ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â µ¥ ÀÖ¾î ÃæºÐÇÑ ±â´ÉÀ» Á¦°øÇÏÁö´Â ¸øÇÑ´Ù. µû¶ó¼ À̵é ÇÊ¿äÇÑ ±â´ÉÀ» ¸ð¾Æ¼ ¸¸µç °ÍÀÌ COSSÀÌ´Ù. ÇöÀç CORBA ¸¦ ±¸ÇöÇÑ ´ëºÎºÐÀÇ Á¦Ç°Àº À̵é COSS±â´ÉÀ» Á¦°øÇϱâ À§ÇØ ¸¹Àº ÀÛ¾÷À» ¼öÇàÇϰí ÀÖ´Ù. ÀÏ´Ü CORBA°¡ Á¦°øÇÏ´Â ÀÌÁ¾ÀÇ ºÐ»ê±â´ÉÀº ´ÙÀ½ Àý¿¡¼ »ìÆìº¸±â·Î ÇÏ°í °£·«Çϳª¸¶ COSS ¿¡¼ Á¦°øÇÏ´Â °´Ã¼¸¦ ´Ù·ç´Â ¼ºñ½ºµé¿¡ ´ëÇØ »ìÆìº»´Ù.
[Ç¥1] 1993³â COSS I
| ¼ºñ½º ¸í |
¼ºñ½º ³»¿ë |
| »ý¸íÁÖ±â(LifeCycle) |
°´Ã¼ÀÇ »ý¼º¹× ¼Ò¸ê ±â´ÉÀ» Á¦°øÇÑ´Ù. |
| ¸í¸í(Naming) |
¿øÇÏ´Â °´Ã¼¸¦ °´Ã¼ÀÇ °íÀ¯ÇÑ ½Äº°ÀÚ°¡ ¾Æ´Ï¶ó À̸§À¸·Î ãÀ» ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. |
| »ç°ÇÀü´Þ(Event Notification) |
ƯÁ¤ÇÑ ÀÛ¾÷À» ¼öÇàÇϵµ·Ï ¿øÇÏ´Â »ç°ÇÀ» µî·ÏÇϰųª »èÁ¦ÇÒ ¼ö ÀÖ´Ù. |
| Áö¼Ó¼º(Persistence) |
°´Ã¼¸¦ ÆÄÀÏÀ̳ª µ¥ÀÌŸº£À̽º¿¡ ÀúÀåÇϵµ·Ï ÇØÁØ´Ù. |
[Ç¥2]1994³â COSS II
| ¼ºñ½º ¸í |
¼ºñ½º ³»¿ë |
| °´Ã¼ °ü°è(Relationship) |
°¢ °´Ã¼µé»çÀÌÀÇ °ü°è¸¦ Á¤ÀÇÇϰí ÀÌ °ü°è°¡ À¯ÁöµÇµµ·Ï ÇØÁØ´Ù. |
| °´Ã¼ ¿ÜÇüÈ(Externalizaction) |
±âÁ¸ÀÇ °´Ã¼¸¦ Á¦°Å°¡´ÉÇÑ º¸Á¶ ±â¾ïÀåÄ¡ µî¿¡ ÀúÀåÇϵµ·Ï ÇØÁØ´Ù. |
| Æ®·»Á§¼Ç |
Æ®·»Á§¼ÇÀ» ¿ä±¸ÇÏ´Â °´Ã¼µé »çÀÌÀÇ 2´Ü°è Ä¿¹Ô( 2 Phase commit)±â´ÉÀ» Á¦°øÇÑ´Ù. |
| µ¿½Ã¼º Á¦¾î |
º¹ ¼öÀÇ ¸Þ¼Òµåµé¿¡ ÀÇÇÑ °´Ã¼Á¢±ÙÀ» º¸ÀåÇÑ´Ù |
[Ç¥3]±âŸ ¼ºñ½ºµé
| ¼ºñ½º ¸í |
¼ºñ½º ³»¿ë |
| ¶óÀ̼¾½Ì |
°´Ã¼ »ç¿ë¿¡ ´ëÇÑ Á¤´çÇÑ ÁöºÒÀ» À§ÇØ °´Ã¼ÀÇ »ç¿ë¿¡ ´ëÇÑ ¿¹ÃøÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù. |
| °´Ã¼ Ư¼º(Properties) |
ŸÀÌÆ²À̳ª ³¯Â¥Ã³·³ °¢ °´Ã¼¿Í °ü·ÃµÈ Ư¼ºÀ» ºÎ¿©ÇÒ ¼ö ÀÖ´Ù. |
| ÁúÀÇ |
°ü°èÇü µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀÇ SQL3³ª °´Ã¼ÁöÇâ µ¥ÀÌŸº£À̽ºÀÇ OQL ÁúÀǸ¦ »óÀ§±â´ÉÀ¸·Î °´Ã¼¿¡ ´ëÇÑ ÁúÀÇ ±â´ÉÀ» Á¦°øÇÑ´Ù. |
| Æ®·¹À̵ù( Trading ) |
ºÐ»êµÈ ȯ°æ¿¡¼ °¢°¢ÀÇ °´Ã¼°¡ Á¦°øÇÏ´Â ¼ºñ½ºÀÇ Á¾·ù¿¡ ´ëÇÑ ¾È³»¸¦ Á¦°øÇÑ´Ù. |
ÀÌµé ¼ºñ½º¿Ü¿¡µµ °´Ã¼ÀÇ º¸¾È , ½Ã°£ , º¯È°ü¸® , µ¥ÀÌŸ ±³È¯¿¡ °üÇÑ ¼ºñ½º°¡ Á¤ÀǵǾî ÀÖ´Ù.

[ ±×¸²8 ] OMA(Object Managemant Architecture)
4.3.2 OMAÁß CORBA 1.2 ÀÇ ÀÌÇØ
ºÐ»ê °´Ã¼ ½Ã½ºÅÛÀ» À§ÇÑ OMA ¿¡¼ CORBA´Â °¡Àå ÁßÃßÀûÀÎ ¿ªÇÒÀ» ÇÑ´Ù. ´Ù¸§¾Æ´Ï¶ó CORBA´Â ºÐ»ê ȯ°æ¿¡¼ °´Ã¼°£ÀÇ Åë½ÅÀ»
´ã´çÇϱ⠶§¹®ÀÌ´Ù.
4.3.2.1 CORBA ±¸¼ºµµ
CORBA´Â [ ±×¸²9 ]¿Í °°Àº ±¸Á¶·Î ±¸¼ºµÇ¾î ÀÖ´Ù. CORBA¸¦ ÀÌÇØÇÏ´Â µ¥ ÀÖ¾î Áß¿äÇÑ Á¡Àº CORBA´Â ¼¹ö¶ó´Â ¿ë¾î¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. ¿Ö³ÄÇϸé CORBA´Â °´Ã¼ÁöÇâ °³³äÀ» ¹ÙÅÁÀ¸·Î ÇÏ¿© ¿ø°ÝÁöÀÇ Å¬¶óÀÌ¾ðÆ®°¡ ¿ø°ÝÁö¿¡ ÀÖ´Â ¼¹ö¸¦ È£ÃâÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó °´Ã¼ÀÇ ¸Þ¼Òµå¸¦ È£ÃâÇÔÀ¸·Î½á ¼ºñ½º°¡ ÀÌ·ç¾îÁö±â ¶§¹®ÀÌ´Ù. µû¶ó¼ CORBA ¿¡¼´Â ¼¹ö°¡ ¾Æ´Ï¶ó ±¸Çö °´Ã¼( Object Implementation )¶ó´Â ¿ë¾î¸¦ »ç¿ëÇÑ´Ù. À̶§ °í·ÁÇØ¾ß ÇÒ Á¡Àº »ç¿ëÀÚ°¡ Ŭ¶óÀÌ¾ðÆ®¿Í ±¸Çö °´Ã¼»çÀÌÀÇ Åë½ÅºÎºÐÀ» Á÷Á¢ °ü¿©ÇØ¾ß Çϴ°¡¿¡ ´ëÇÑ ¿©ºÎ¿Í ±¸Çö½Ã »ç¿ëÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ µû¶ó °¢±â ´Ù¸£°Ô ÀÛ¼ºÇØ¾ß Çϴ°¡ ÇÏ´Â ¹®Á¦ÀÌ´Ù. ¸¸¾à ±×·¸´Ù¸é »ç¿ëÀÚ¿¡°Ô ³Ê¹« ¸¹Àº ÁüÀ» Áö¿ì´Â ¼ÀÀÌ µÈ´Ù. ÀÌ·¯ÇÑ Á¡À» ÇØ°áÇϰíÀÚ CORBA¿¡¼´Â IDLÀ̶ó´Â Ç¥Áؾð¾î¸¦ Á¦°øÇÑ´Ù. µÚ¿¡ ÀÚ¼¼È÷ ´Ù·ç°ÚÁö¸¸ »ç¿ëÀÚ´Â IDLÀ» »ç¿ëÇÏ¿© ¿øÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ÀÏ´Ü ÀÛ¼ºµÈ IDLÀº CORBA ¿¡¼ Á¦°øÇÏ´Â IDL ÄÄÆÄÀÏ·¯¸¦ ÅëÇØ ÄÄÆÄÀϵȴÙ. ÀÌ °á°ú ¿øÇÏ´Â ÇÁ·Î±×·¥ ¾ð¾î·Î ÀÛ¼ºµÈ Ŭ¶óÀÌ¾ðÆ® ÄÚµå¿Í ±¸Çö °´Ã¼ Äڵ带 ¾òÀ» ¼ö ÀÖ´Ù.( ÀÌ ÄÚµå´Â C³ª C++ ¶Ç´Â ½º¸ôÅäũó·³ »ç¿ëÀÚ°¡ ¿øÇÏ´Â ÇüÅ·ΠÁ¦°øµÈ´Ù.) ÀÌ ÄÚµåµé¿¡´Â Åë½ÅÀ» À§ÇØ ÇÊ¿äÇÑ ¸ðµç ±â´ÉÀÌ ÀÚµ¿ÀûÀ¸·Î Æ÷ÇԵȴÙ. µû¶ó¼ »ç¿ëÀÚ´Â ³×Æ®¿÷°ú ±¸Çö¾ð¾î¿¡ ´ëÇÑ °ÆÁ¤À» ÇÒ Çʿ䰡 ¾ø´Ù.
ÀÏ´Ü CORBAÀÇ Å¬¶óÀÌ¾ðÆ®¿¡´Â Ŭ¶óÀÌ¾ðÆ® ½ºÅͺê¿Í ÇÁ·Î±×·¥ ¼öÇà½Ã ¿øÇÏ´Â ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â µ¿Àû È£Ãâ(Dynamic Invocation) ±â´ÉÀ» ÅëÇØ ±¸Çö°´Ã¼¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ÀÏ´Ü Å¬¶óÀ̾ðÆ®ÀÇ È£ÃâÀÌ ¹ß»ýÇϸé Åë½ÅÀ» ´ã´çÇÏ´Â ORB ±â´ÉÀ» ÅëÇØ ±¸Çö°´Ã¼¿¡°Ô Àü´ÞµÈ´Ù. À̶§ ±¸Çö°´Ã¼ÂÊÀÇ °´Ã¼ ¾Æ´äÅÍ(Object Adaptor)´Â ±âº»ÀûÀ¸·Î ÇØ´ç °´Ã¼¸¦ È£Ãâ°¡´ÉÇÏ°Ô »ý¼ºÇÏ°í ¿øÇϴ ȣÃâ¿¡ ÇØ´çÇÏ´Â ¸Þ¼Òµå¸¦ ½ÇÇà½ÃŲ´Ù. ÀÏ´Ü ½ÇÇàµÈ ¸Þ¼Òµå¿¡ ÀÇÇØ¼ ó¸®µÈ °á°ú´Â ´Ù½Ã Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Àü´ÞµÈ´Ù. ÀÌ °úÁ¤À» ¿ä¾àÇØ¼ º¸¸é [ ±×¸²10 ]°ú °°´Ù. Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ¼ ¿äûµÈ ¼ºñ½º´Â CORBA¸¦ ÅëÇØ ¿ø°ÝÁöÀÇ ±¸Çö°´Ã¼¿¡°Ô Àü´ÞµÇ°í ±¸Çö°´Ã¼¿¡ ÀÇÇØ¼ ó¸®µÈ °á°ú´Â ´Ù½Ã Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¹ÝȯµÈ´Ù. À̶§ È£Ãâ½Ã Àü´ÞµÇ´Â Á¤º¸·Î´Â È£Ãâ½Ã ´ë»óÀÌ µÇ´Â °´Ã¼¿Í ¸Þ¼Òµå , ÆÄ¶ó¸ÞÅ͵îÀÌ ÀÖ´Ù.

[ ±×¸²9 ] CORBA ±¸¼ºµµ

[ ±×¸²10 ] CORBA Ŭ¶óÀÌ¾ðÆ®¿Í °´Ã¼ ±¸Çö»çÀÌÀÇ Åë½Å
4.3.2.2 CORBA È£Ãâ ¿ø¸® ÀÌÇØ
CORBA¸¦ ÀÌÇØÇÏ´Â µ¥ ÀÖ¾î °´Ã¼ÁöÇâ °³³äÀÌ °¡Àå ±âº»ÀÌ µÊÀ» °Á¶ÇÑ ¹Ù ÀÖ´Ù. ¶ÇÇϳª Á¤È®È÷ ÀÌÇØÇØ¾ß ÇÒ °ÍÀÌ CORBAÀÇ È£Ãâ
¿ø¸®¸¦ ÀÌÇØÇÏ´Â °ÍÀÌ´Ù. ¸ÕÀú CORBA ¿¡¼ ¼ºñ½º°¡ È£ÃâµÇ´Â ¿ø¸®´Â [ ±×¸²11 ]°ú °°´Ù. ±âÁ¸ÀÇ °´Ã¼ÁöÇâ Äڵ忡¼´Â ¸Þ¼ÒµåÀÇ
È£Ãâ(Caller)°¡ ÀÌ¿¡ ´ëÇÑ È£Ãâ ó¸®ÀÚ(Callee)´Â ÇϳªÀÇ ÇÁ·Î¼¼½º·Î Á¸ÀçÇÑ´Ù. ±×·¯³ª ¸¸¾à ¸Þ¼ÒµåÀÇ È£Ãâ°ú ÀÌ¿¡ ´ëÇÑ Ã³¸®°¡
³×Æ®¿÷À» ±âÁØÀ¸·Î ¾çºÐµÈ´Ù¸é ¾î¶»°Ô µÉ±î? ½ÇÁ¦ ÀÌ¿¡ ´ëÇÑ ´ë´äÀº °£´ÜÇÏ´Ù. ¸ÕÀú È£ÃâÇÏ´Â ÂÊ , Ŭ¶óÀÌ¾ðÆ®¿¡´Â ³×Æ®¿÷À» ÅëÇØ ¼ºñ½º¸¦ È£ÃâÇϰí ÀÌ¿¡ ´ëÇÑ °á°ú¸¦ Àü´Þ¹Þ´Â Äڵ带 ÀÛ¼ºÇØ ÁÖ°í È£Ãâ ó¸®ÀÚÃø , ±¸Çö °´Ã¼ÂÊ¿¡¼´Â ³×Æ®¿÷»óÀ¸·Î Àü´ÞµÇ´Â ¼ºñ½º È£ÃâÀ» ¹Þ°í À̸¦ ó¸®ÇÑ ÈÄ ´Ù½Ã Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Àü´ÞÇØÁÖ´Â Äڵ带 ÀÛ¼ºÇØ ÁÖ¸é µÈ´Ù. ÀÌ·¯ÇÑ ±â´ÉÀ» ¼öÇàÇÏ´Â Äڵ带 ÀüÀÚ´Â ½ºÅͺê(Stub) , ÈÄÀÚ´Â ½ºÄ̸®ÅÏ(Skeleton)À̶ó ÇÑ´Ù.
½ÇÁ¦ ¿¹·Î, ¸¸¾à ±¸Çö °´Ã¼·Î¼ PersonÀ̶ó´Â C++ Ŭ·¡½º¸¦ ÀÛ¼ºÇß´Ù°í °¡Á¤ÇÏÀÚ. ¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ PersonŬ·¡½ºÀÇ getAge()¶ó´Â ¸Þ¼Òµå¸¦
È£ÃâÇÒ ¶§ ÀÌ È£ÃâÀº Ŭ¶óÀ̾ðÆ®Ãø getAge()½ºÅͺ긦 ÅëÇØ ¿ø°ÝÁöÀÇ ½ºÄ̸®ÅÏÀ¸·Î Àü´ÞµÈ´Ù. ÀÌ °úÁ¤¿¡¼ ½ºÅͺê´Â ÇØ´ç ¸Þ¼ÒµåÀÇ È£Ãâ¿¡ ÇÊ¿äÇÑ
°¢Á¾ Á¤º¸¸¦ ³×Æ®¿÷À¸·Î Àü´ÞÇϱâ À§ÇØ Æ÷ÀåÀ» ÇØ¾ß ÇÑ´Ù. ÀÌ Æ÷ÀåµÈ ¸Þ¼Òµå´Â getAge()ÀÇ ½ºÄÌ·ÎÅÏ¿¡ ÀÇÇØ¼ Æ÷ÀåÀÌ Ç®·ÁÁö°í È£ÃâµÈ´Ù.
ó¸®µÈ getAge()´Â ´Ù½Ã ³×Æ®¿÷À» ÅëÇØ Ŭ¶óÀÌ¾ðÆ® ½ºÅͺ꿡°Ô Àü´ÞµÇ±â À§ÇØ Æ÷ÀåµÇ°í Àü´ÞµÈ´Ù. Ŭ¶óÀ̾ðÆ®ÂÊÀÇ getAge()½ºÅͺê´Â ½ºÄ̸®ÅÏÀ» ÅëÇØ ³Ñ°Ü¹ÞÀº °á°úÀÇ Æ÷ÀåÀ» Ç®°í ÇØ´ç °á°ú°ªÀ» ó¸®ÇÑ´Ù.
½ÇÁ¦ ÀÌ·¯ÇÑ °úÁ¤À» ÅëÇØ CORBA°´Ã¼ÀÇ È£ÃâÀÌ ÀÌ·ç¾îÁø´Ù. À̶§ ½ºÅͺê¿Í ½ºÄ̸®ÅÏÀ» À§ÇØ ÇÊ¿äÇÑ ¸ðµç ±â´ÉÀÇ ÄÚµå´Â CORBA¿¡ ÀÇÇØ¼
ÀÚµ¿ÀûÀ¸·Î Á¦°øµÈ´Ù.
[ ±×¸²11 ] CORBA È£Ãâ ¿ø¸®
4.3.2.3 CORBA ±¸¼º ¿ä¼Ò ÀÌÇØ
´ÙÀ½Àº CORBAÀÇ °¢ ±¸¼º¿ä¼Òµé¿¡ ´ëÇÑ ¼³¸íÀÌ´Ù.
- CORBA Ŭ¶óÀÌ¾ðÆ® ºÎºÐ
CORBA Ŭ¶óÀÌ¾ðÆ®´Â ±¸Çö °´Ã¼¿¡ ¼ºñ½º ¿äûÀ» ´ã´çÇÑ´Ù. À̶§ CORBA Ŭ¶óÀÌ¾ðÆ®´Â Á¤ÀûÀΠȣÃâ¹æ¹ýÀÎ ½ºÅͺ긦 »ç¿ëÇϰųª µ¿Àû
È£Ãâ¹æ¹ýÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ORB¿¡¼ Á÷Á¢ Á¦°øÇÏ´Â ±â´ÉÀ» ÀÌ¿ëÇϱ⵵ ÇÑ´Ù. ´ÙÀ½Àº °¢°¢ÀÇ ºÎºÐ¿¡ ´ëÇÑ ¼³¸íÀÌ´Ù.
- Ŭ¶óÀÌ¾ðÆ® ½ºÅͺê
Ŭ¶óÀÌ¾ðÆ® ½ºÅͺê´Â Á¤Àû È£ÃâÀ̶ó°íµµ ÇÑ´Ù. ¿Ö³ÄÇÏ¸é ¸Þ¼Òµå È£ÃâÀÌ ÄÄÆÄÀϽà ¹Ì¸® °áÁ¤µÇ±â ¶§¹®ÀÌ´Ù.
- µ¿Àû È£Ãâ
µ¿Àû È£ÃâÀº ½ÇÇàÁß¿¡ ¿øÇÏ´Â ¸Þ¼Òµå¸¦ µ¿ÀûÀ¸·Î È£ÃâÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» ÀǹÌÇÑ´Ù. À̸¦ À§ÇØ CORBA´Â ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò¶ó´Â
µ¥ÀÌŸº£À̽º¿¡ ÇØ´ç Ŭ·¡½ºÀÇ ¸ðµç ÀÎÅÍÆäÀ̽º¸¦ ÀúÀåÇØ µÎ°í µ¿Àû È£ÃâÀÌ ¼öÇàµÉ ¶§ À̸¦ ÂüÁ¶ÇÏ¿© ÇØ´ç ¸Þ¼Òµå¸¦ ¼öÇàÇÑ´Ù.
- ORB ÀÎÅÍÆäÀ̽º
Åë½Å ±â´É°ú ¸Þ¼Òµå È£Ãâµî ORBÀÇ ±âº»±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÌ ±â´ÉÀº Ŭ¶óÀÌ¾ðÆ®¿Í ±¸Çö °´Ã¼ ¸ðµÎ¿¡ Àû¿ëµÈ´Ù.
[ ±×¸²12 ] CORBAÀÇ Å¬¶óÀÌ¾ðÆ® ºÎºÐ
- CORBA ±¸Çö ºÎºÐ
±¸Çö °´Ã¼´Â ½ºÄ̸®ÅÏÀ» ÅëÇØ Ŭ¶óÀ̾ðÆ®ÀÇ ¼ºñ½º ¿äûÀ» ó¸®ÇÑ´Ù. CORBA ±¸Çö ºÎºÐÀº ÀÌ ±â´ÉÀ» ¼öÇàÇϱâ À§ÇØ ±¸Çö ½ºÄ̸®ÅÏ , °´Ã¼ ¾Æ´äŸ , ORB ÀÎÅÍÆäÀ̽º·Î ±¸¼ºµÇ¾î ÀÖ´Ù. °¢°¢ÀÇ ±â´ÉÀº ´ÙÀ½°ú °°´Ù.
- ±¸Çö ½ºÄ̸®ÅÏ(Implementation Skeleton)
±¸Çö ½ºÄ̸®ÅÏÀº Ŭ¶óÀ̾ðÆ®ÀÇ ¼ºñ½º ¿äû¿¡ ´ëÇÑ ±¸Çö °´Ã¼¸¦ Á÷Á¢ È£ÃâÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. À̶§ ¼ºñ½º ¿äû½Ã Á¦°øµÇ´Â Á¤º¸¸¦ ÇØ¼®Çϰí À̸¦ ±¸Çö °´Ã¼¿¡ Àü´ÞÇϸç ó¸®µÈ °á°ú¸¦ Æ÷ÀåÇÏ¿© ³×Æ®¿÷À» ÅëÇØ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Àü´ÞÇÑ´Ù.
- °´Ã¼ ¾Æ´äŸ(Object Adapter)
°´Ã¼ ¾Æ´äŸ´Â CORBA¸¦ Àû¿ëÇÏ·Á´Â ºÐ¾ß¿¡ µû¶ó ´Ù¾çÇÏ°Ô ¼±ÅÃµÇ¾î »ç¿ëµÇ¾î Áú¼ö ÀÖ´Ù. °¡·É, µ¥ÀÌŸº£À̽º°¡ ÇÊ¿äÇÏ´Ù¸é µ¥ÀÌŸº£À̽º ¾Æ´äŸ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ±×·¯³ª CORBA1.1¿¡¼´Â ±âº»ÀûÀÎ °´Ã¼ ¾Æ´äŸ(BOA , Basic Object Adapter)¸¸À» Á¤ÀÇÇϰí ÀÖ´Ù. À§Ä¡ÀûÀ¸·Î °´Ã¼ ¾Æ´äŸ´Â ±¸Çö ½ºÄ̸®Åϰú ORB¿¡ À§Ä¡ÇÑ´Ù. µû¶ó¼ °´Ã¼ ¾Æ´äŸ´Â ±¸Çö °´Ã¼¸¦ µî·ÏÇϰųª »èÁ¦Çϸç ÇØ´ç ±¸Çö °´Ã¼¸¦ À¯ÀÏÇÏ°Ô °ü¸®ÇÑ´Ù. ¶ÇÇÑ ½ÇÁ¦ ¸Þ¼Òµå¸¦ È£Ãâ½ÃŰ´Â ¿ªÇÒÀ» ÇÑ´Ù. ÀÌó·³ ±¸Çö °´Ã¼¸¦ È£ÃâÇϱâ À§Çؼ ¸ðµç ±¸Çö°´Ã¼¿¡ ´ëÇÑ Á¤º¸¸¦ ±¸Çö ÀúÀå¼Ò(Implementation Repository)¿¡ ÀúÀåÇϰí À̸¦ ÂüÁ¶ÇÑ´Ù.
- ORB ÀÎÅÍÆäÀ̽º
Ŭ¶óÀÌ¾ðÆ® ºÎºÐ¿¡¼ ó·³ Åë½Å ±â´É°ú ¸Þ¼Òµå È£Ãâµî ORBÀÇ ±âº» ±â´ÉÀ» Á¦°øÇÑ´Ù.

[ ±×¸²13 ] CORBAÀÇ ±¸Çö °´Ã¼ ºÎºÐ
- ÀÎÅÍÆäÀ̽º Á¤ÀǾî
IDLÀº ºÐ»ê ȯ°æ¿¡¼ C , C++ , ½º¸ôÅåó·³ ¾î¶² ¾ð¾î³ª ÄÄÆÄÀÏ·¯µî¿¡ »ó°ü¾øÀÌ CORBA ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.
´Ù½Ã ¸»ÇØ, ÀÏ´Ü IDL·Î ÀÛ¼ºµÈ CORBA ÀÀ¿ë ÇÁ·Î±×·¥Àº IDLÄÄÆÄÀÏ·¯¸¦ ÅëÇØ ¿øÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ÀûÇÕÇÑ ÄÚµå·Î º¯È¯µÈ´Ù. »ç¿ëÀÚ´Â
ÀÌ Äڵ带 ÀÌ¿ëÇÏ¿© ¿øÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ¸é µÈ´Ù. ´ÙÀ½ [ ±×¸²14 ]´Â IDLÀÇ ¿ªÇÒÀ» Àß ³ªÅ¸³» ÁÖ°í ÀÖ´Ù. ÇöÀç
IDLÀº Ç¥ÁØÀ¸·Î C ¾ð¾î·ÎÀÇ ¸ÅÇÎÀ» Áö¿øÇϰí ÀÖÀ¸³ª ¸¹Àº Á¦Ç°µéÀº C++°ú ÀÚ¹Ù ¸ÅÇεµ Áö¿øÇϰí ÀÖ´Ù. ¶ÇÇÑ ½º¸ôÅå¿Í Ada , ÄÚº¼µî
´Ù¾çÇÑ ¾ð¾î¸¦ Áö¿øÇÒ ¿¹Á¤ÀÌ´Ù.
´ÙÀ½Àº IDLÀÇ Æ¯Â¡À» Á¤¸®ÇÑ °ÍÀÌ´Ù.
- ƯÁ¤ ÇÁ·Î±×·¥¾ð¾î¿Í ÄÄÆÄÀÏ·¯¿¡ µ¶¸³ÀûÀÌ´Ù.
- ´ÙÁß »ó¼Óµî °´Ã¼ÁöÇâ °³³äÀ» Áö¿øÇÑ´Ù.
- ±¸ÇöÀ» À§ÇÑ ¾ð¾î°¡ ¾Æ´Ï´Ù. Áï, ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ¾Æ´Ï´Ù.
- µ¿Àû È£Ãâ ¸ÞÄ«´ÏÁòÀ» Á¦°øÇÑ´Ù.

[ ±×¸²14 ] IDL ÀÇ ¿ªÇÒ
½ÇÁ¦·Î ´ÙÀ½Àº IDL·Î ÀºÇà°èÁ¤ Ŭ·¡½º¸¦ Á¤ÀÇÇÑ °ÍÀÌ´Ù. IDL¾ð¾î´Â ½ÇÁ¦ C++ó·³ ¿øÇϴ Ŭ·¡½º¸¦ interface¶ó´Â Ű¿öµå¸¦ »ç¿ë
ÇØ¼ ¼±¾ðÇÒ ¼öµµ ÀÖÀ¸¸ç ÀÌ interface¾È¿¡ ¾ÖÆ®¸®ºäÆ®¿Í ¸Þ¼Òµå¸¦ ¼±¾ðÇÒ ¼öµµ ÀÖ´Ù. ¾Æ¿ï·¯ °¢Á¾ µ¥ÀÌŸ ŸÀÔµµ Á¸ÀçÇÑ´Ù.
interface account
{
readonly attribute float balance;
readonly attribute string name;
void make_lodgement(in float f);
void make_withdrawal(in float f);
};
[ ¿¹Á¦ 1 ] IDL·Î ÀÛ¼ºµÈ account ÀÎÅÍÆäÀ̽º
½ÇÁ¦ IDL¿¡¼ °¡Àå ±âº»ÀÌ µÇ´Â ´ÜÀ§´Â ÀÎÅÍÆäÀ̽º(Interface)ÀÌ´Ù. interface´Â ¾ÖÆ®¸®ºäÆ®¿Í ¸Þ¼Òµå·Î ±¸¼ºµÈ´Ù.
´ÙÀ½Àº IDLÀÇ »ç¿ë¹®¹ýÀ» °£´ÜÇÏ°Ô Á¤¸®ÇÑ °ÍÀÌ´Ù. ´ëºÎºÐÀÇ ¹®¹ýÀº ÀÚ¹Ù ±¸¹®°ú ¾ÆÁÖ À¯»çÇÏ´Ù. ±×·¯³ª ÆÄ¶ó¸ÞÅÍ_ŸÀÔÀÇ °æ¿ì Ŭ¶óÀ̾ðÆ®
¿Í ±¸Çö°´Ã¼ »çÀÌ·ÎÀÇ À̵¿ ¹æÇâ¿¡ µû¶ó in , out , inputÀ¸·Î ¼±¾ðÇÒ ¼ö ÀÖ´Ù. inÀÇ °æ¿ì Ŭ¶óÀÌ¾ðÆ®¿¡¼ ±¸Çö°´Ã¼·Î , outÀº
±¸Çö°´Ã¼¿¡¼ Ŭ¶óÀÌ¾ðÆ®·Î , inoutÀº ¾ç¹æÇâÀ¸·Î À̵¿ÀÌ °¡´ÉÇÑ ÆÄ¶ó¸ÞÅ͸¦ ÀǹÌÇÑ´Ù.
[ Ç¥4 ] IDL »ç¿ë ¹®¹ý
| ÀÎÅÍÆäÀ̽º |
:= INTERFACE { ¸Þ¼Òµå | ¾ÖÆ®¸®ºäÆ® } |
| ¸Þ¼Òµå |
:= ¸®ÅÏŸÀÔ ¸Þ¼Òµå À̸§ ( ÆÄ¶ó¸ÞÅÍ_ŸÀÔ ¾Æ±Ô¸ÕÆ®) |
| ¸®ÅÏŸÀÔ |
:= void | boolean | ... |
| ¸Þ¼Òµå À̸§ |
:= ½ºÆ®¸µ |
| ÆÄ¶ó¸ÞÅÍ_ŸÀÔ |
:= in | out | inout |
| type |
:= int | boolean | float | ... |
| ¾Æ±Ô¸ÕÆ® |
:= ½ºÆ®¸µ |
| ¾ÖÆ®¸®ºäÆ® |
:= [readonly] ATTRIBUTE ¸®ÅÏŸÀÔ ¾ÖÆ®¸®ºäÆ®_À̸§ |
| ¾ÖÆ®¸®ºäÆ®_À̸§ |
:= ½ºÆ®¸µ |
| |
|
ÀÎÅÍÆäÀ̽º¸¦ ¼±¾ðÇϱâ À§ÇÑ ¹®¹ý»Ó¸¸ ¾Æ´Ï¶ó IDLÀº ±âº» ÀÚ·áÇüÀ» Á¦°øÇÑ´Ù. ´ÙÀ½Àº IDL·Î »ç¿ë°¡´ÉÇÑ ±âº» ÀÚ·áÇüµéÀÌ´Ù. ÀÌ
±âº» ÀÚ·áÇüÀ» »ç¿ëÇÏ¿© ÀÛ¼ºµÈ ÀÎÅÍÆäÀ̽º¸¦ »õ·Î¿î ÀÚ·áÇüÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.
short, long, unsigned short, unsigned long, float, double, char,
boolean, octet, any, string, constant, struct, typedef, sequence,
arrays, exceptions, enum, union, contexts, inheritanc
- Á¤Àû ÀÎÅÍÆäÀ̽º È£Ãâ°ú µ¿Àû ÀÎÅÍÆäÀ̽º È£Ãâ
¾Õ¼µµ Àá½Ã ¾ð±ÞÇßÁö¸¸ CORBA´Â Ŭ¶óÀÌ¾ðÆ®¿¡°Ô 2°¡Áö ¼ºñ½º È£Ãâ¹æ½ÄÀ» Á¦°øÇÑ´Ù. Çϳª´Â Á¤ÀûÀÎ ¹æ¹ýÀÌ°í ¶Ç Çϳª´Â µ¿ÀûÀÎ ¹æ¹ýÀÌ´Ù. ¸ÕÀú Á¤ÀûÀΠȣÃâ¹æ¹ýÀº ORB¿¡¼ Á¦°øÇÏ´Â ±âº» API±â´ÉÀ» ÀÌ¿ëÇÏ¿© ¼ºñ½º¸¦ ¿äûÇÏ´Â °ÍÀÌ´Ù. µû¶ó¼ »ç¿ëÀÚµéÀÌ °¡Àå ¼Õ½±°Ô ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ´Ù. ±×·¯³ª ¸¶¿ì½º ÇÁ·Î±×·¡¹Öó·³ ÇÁ·Î±×·¥ÀÌ ¼öÇàÁß¿¡ ƯÁ¤ÇÑ ¼ºñ½º¸¦ ÇÊ¿ä·Î ÇÒ °æ¿ì Á¤ÀûÀÎ ¹æ¹ýÀ¸·Î´Â ºÒ°¡´ÉÇÏ´Ù. µû¶ó¼ ÀÌ·¯ÇÑ »óȲ¿¡¼ »ç¿ë°¡´ÉÇÑ ¹æ¹ýÀÌ µ¿Àû ÀÎÅÍÆäÀ̽º È£ÃâÀÌ´Ù. Ŭ¶óÀÌ¾ðÆ®´Â µ¿Àû ÀÎÅÍÆäÀ̽º È£Ãâ¹æ¹ýÀ» ÀÌ¿ëÇÏ¿© ´ÙÀ½°ú °°Àº ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù.
- ÇÁ·Î±×·¥ ½ÇÇàÁß¿¡ ¿øÇÏ´Â °´Ã¼¸¦ ã´Â´Ù.
- ÇÁ·Î±×·¥ ½ÇÇàÁß¿¡ ¿øÇÏ´Â °´Ã¼ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ã´Â´Ù.
- ÇÁ·Î±×·¥ ½ÇÇàÁß¿¡ ¿øÇÏ´Â ¼ºñ½º¸¦ »ý¼ºÇÑ´Ù.
- ÇÁ·Î±×·¥ ½ÇÇàÁß¿¡ ¿øÇÏ´Â ¼ºñ½º¸¦ ¿äûÇÑ´Ù.
- ÇÁ·Î±×·¥ ½ÇÇàÁß¿¡ ¿øÇÏ´Â ¼ºñ½ºÀÇ °á°ú¸¦ ¹Þ´Â´Ù.
ÀÌ »Ó¸¸ ¾Æ´Ï¶ó µ¿Àû ÀÎÅÍÆäÀ̽º È£ÃâÀº µ¿±â¹æ½Ä°ú ºñµ¿±â ¹æ½Ä ¸ðµÎ¸¦ Áö¿øÇÑ´Ù. µû¶ó¼ »ç¿ëÀÚ´Â ´Ù¾çÇÑ ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
´ÜÁ¡À¸·Î´Â ÇÁ·Î±×·¥½Ã Á¤Àû ÀÎÅÍÆäÀ̽º È£Ãâ¿¡ ºñÇØ ¸¹Àº ÄÚµå¿Í ³ë·ÂÀÌ ÇÊ¿äÇÏ´Ù´Â °ÍÀÌ´Ù.
- ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò(Interface Repository)
IDL·Î ÀÛ¼ºµÈ ¸ðµç ÀÎÅÍÆäÀ̽º Á¤º¸´Â ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò¿¡ ÀúÀåµÈ´Ù. À̰÷¿¡ ÀúÀåµÈ Á¤º¸¸¦ »ç¿ëÇÏ¿© Ŭ¶óÀÌ¾ðÆ®°¡ Á¦ÃâÇÑ ¼ºñ½º ¿äû¿¡ ´ëÇÑ ÀÎÅÍÆäÀ̽º Á¤º¸¸¦ Á¶È¸ÇÒ ¼ö ÀÖÀ¸¸ç ÇØ´ç ¿äûÀÌ Á¤´çÇÑÁö °Ë»çÇÒ ¼ö ÀÖ´Ù. ( ½ÇÁ¦ Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀº ¾Õ¼ »ìÆìº»´ë·Î ¿øÇÏ´Â °´Ã¼ÀÇ ¸Þ¼Òµå È£ÃâÀ» ÀǹÌÇÑ´Ù. µû¶ó¼ ÀÌ ¸Þ¼Òµå È£Ãâ½Ã Àü´ÞµÇ´Â ÆÄ¶ó¸ÞÅͳª ¾Æ±Ô¸ÕÆ®ÀÇ Å¸ÀÔÀÌ Á¤È®ÇÑÁö °Ë»çÇÒ ¶§ ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò¸¦ ÀÌ¿ëÇÑ´Ù. ) ÀÎÅÍÆäÀÌÁö ÀúÀå¼Ò´Â [±×¸²10]°ú °°Àº ±¸Á¶·Î ÀÎÅÍÆäÀ̽º Á¤º¸¸¦ °ü¸®ÇÑ´Ù

[ ±×¸²15 ] ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò
- ±¸Çö ÀúÀå¼Ò(Implementation Repository)
ÀÎÅÍÆäÀ̽º¿Í ¸¶Âù°¡Áö·Î ±¸Çö °´Ã¼ÀÇ Á¤º¸µµ ±¸Çö ÀúÀå¼Ò¿¡ ÀúÀåµÈ´Ù. ÀÌ Á¤º¸´Â ÇØ´ç ¼ºñ½º¿¡ ÇÕ´çÇÑ ±¸Çö°´Ã¼¸¦ ±¸µ¿½ÃŰ´Â µ¥ »ç¿ëµÈ´Ù.
[±×¸²10]´Â IDL·Î ÀÛ¼ºµÈ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò¿Í ±¸Çö ÀúÀå¼Ò°¡ »ç¿ëµÇ´Â ¿¹ÀÌ´Ù. IDL·Î
ÀÛ¼ºµÈ ÀÎÅÍÆäÀ̽º´Â IDL ÄÄÆÄÀÏ·¯¸¦ ÅëÇØ ÄÄÆÄÀϽà ÀÎÅÍÆäÀ̽º¿Í ±¸Çö Á¤º¸°¡ °¢±â ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò¿Í ±¸Çö ÀúÀå¼Ò¿¡ ÀúÀåµÈ´Ù.
ÀÌ·¸°Ô ÀúÀåµÈ Á¤º¸´Â °¢±â Ŭ¶óÀÌ¾ðÆ®¿Í ±¸Çö°´Ã¼°¡ ½ÇÇàµÉ ¶§ ÀÌ¿ëµÈ´Ù.

[ ±×¸²16 ] IDL °ú ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò
4. CORBA 2.0ÀÇ Ãß°¡ ±â´É
CORBA 1.0 Ç¥ÁؾÈÀÇ °¡Àå Å« ´ÜÁ¡Àº ´Ù¸¥ CORBA Á¦Ç°°ú ȣȯÀÌ µÇÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. °¡·É, A»ç¿¡¼ °ø±ÞÇÏ´Â CORBA Á¦Ç°°ú B»çÀÇ Á¦Ç°Àº ȣȯÀÌ µÇÁö ¾Ê´Â´Ù. ¿Ö³ÄÇÏ¸é °¢±â °´Ã¼¸¦ ÀνÄÇÏ´Â ¹æ¹ýÀÌ Æ²¸®±â ¶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ ¹®Á¦Á¡¸¦ ÇØ°áÇÏ´Â µ¥ ÁßÁ¡À» µÐ °ÍÀÌ CORBA 2.0 Ç¥ÁؾÈÀÌ´Ù. µû¶ó¼ CORBA 2.0Àº ±âÁ¸ÀÇ CORBA 1.2ÀÇ ±â´É¿¡ ´ÙÀ½ÀÇ ±â´ÉµéÀ» Ãß°¡ÇÏ¿´´Ù.
- µ¿Àû ½ºÄ̸®ÅÏ ÀÎÅÍÆäÀ̽º(Dynamic Skeleton Interface)
CORBA 1.2¿¡¼´Â Ŭ¶óÀ̾ðÆ®ÀÇ ½ºÅͺ꿡 µû¶ó ±¸Çö °´Ã¼»óÀÇ ½ºÄ̸®ÅÏÀÌ ÄÄÆÄÀϽà °áÁ¤µÇ¾ú´Ù. ±×·¯³ª 2.0¿¡¼´Â ÀÌ·¯ÇÑ ¹æ½ÄÀ̿ܿ¡
½ÇÇà½Ã°£¿¡ ¿äûµÈ ¼ºñ½ºÀÇ ÆÄ¶ó¸ÞÅ͸¦ ÇØ¼®ÇÏ¿© ÇØ´ç ±¸Çö °´Ã¼ÀÇ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â µ¿Àû ½ºÄ̸®ÅÏ ÀÎÅÍÆäÀ̽º ¹æ½ÄÀ»
Ãß°¡ÇÏ¿´´Ù. ƯÈ÷ ÀÌ ±â´ÉÀº ´Ù¸¥ ORBµé »çÀÌÀÇ ¼ºñ½º ±³È¯½Ã À¯¿ëÇÑ ±â´ÉÀÌ´Ù.
- CORBA2.0ÀÇ ORB°£ ȣȯ ±¸Á¶
CORBA2.0¿¡¼´Â ORB»çÀÌÀÇ È£È¯À» À§ÇØ [±×¸²17]°ú °°Àº ±¸Á¶¸¦ Á¦¾ÈÇÏ¿´´Ù. ÀÌ ±¸Á¶¿¡¼ º¸¸é Å©°Ô ÇʼöÀûÀÎ ¿ä±¸»çÇ×À¸·Î GIOP(General Inter-ORB Protocol)°ú TCP/IP °¡ , ¿É¼Ç»çÇ×À¸·Î ESIOP(Environment-Specific Inter-ORB Protocol)ÀÌ ¼Ò°³µÇ¾ú´Ù.
¸ÕÀú GIOP´Â ORBµé »çÀÌÀÇ Åë½ÅÀ» À§ÇÑ ÀÏ·ÃÀÇ ¸Þ½ÃÁö ÇüÅÂ¿Í °øÅëÀÇ µ¥ÀÌŸ Ç¥ÇöÀ» ¸í½ÃÇÑ´Ù. GIOP·Î ¸í½ÃµÈ Ŭ¶óÀ̾ðÆ®ÀÇ ¿ä±¸»çÇ×Àº TCP/IP¸¦ ºñ·ÔÇÏ¿© ³×Æ®¿ö¾îµî ÀÏ·ÃÀÇ ³×Æ®¿÷À» °øÀ¯ÇÏ¿© ´Ù¸¥ ORB¿¡°Ô ¹Ù·Î Àü´ÞµÈ´Ù. À̶§ IDL·Î Á¤ÀÇµÈ µ¥ÀÌŸ ŸÀÔÀ» ³×Æ®¿÷ ¸Þ½ÃÁö ÇüÅ·Πº¯È¯Çϱâ À§ÇØ CDR(Common Data Format)À̶ó´Â ¹æ¹ýÀÌ »ç¿ëµÈ´Ù.
CORBA 2.0¿¡¼ Á¤ÀÇÇÑ TCP/IP¸¦ IIOP(Internet Inter-ORB Protocol)À̶ó°íµµ Çϴµ¥ ¿©±â¼´Â GIOP·Î Á¤ÀÇµÈ ¸Þ¼¼Áö°¡ TCP/IP»ó¿¡¼ ¾î¶»°Ô Àü´ÞµÇ´ÂÁö¸¦ Á¤ÀÇÇϰí ÀÖ´Ù. ÀÌ IIOP´Â ÀÎÅͳÝÀ» ORB ÀÇ ±âº» ³×Æ®¿÷À¸·Î »ç¿ë°¡´ÉÇÏ°Ô ÇÑ´Ù. °á±¹ CORBA 2.0 À» Áö¿øÇÏ´Â ¸»Àº TCP/IP »ó¿¡¼ GIOP¸¦ »ç¿ëÇÏ¿© ¼·Î ´Ù¸¥ ORBµé »çÀÌÀÇ ¸Þ¼Òµå È£ÃâÀ» Áö¿øÇÑ´Ù´Â ¸»ÀÌ´Ù.
GIOP¿Í IIOP°¡ ÇʼöÀûÀÎ ¿ä±¸»çÇ×Àε¥ ¹ÝÇØ ESIOP´Â ¿É¼Ç»çÇ×À¸·Î¼ ´Ù¸¥ ºÐ»ê ¼ºñ½º ½Ã½ºÅÛµé°úÀÇ È£È¯À» À§ÇØ ¼³Á¤µÈ´Ù. ÇöÀç DCE(Distributed Computing Environment)°¡ ±× ù ¹øÂ° ȣȯ´ë»óÀ¸·Î¼ Á¤ÀǵǾî ÀÖ´Ù. DCE/ESIOP ¿¡ µû¸£¸é GIOPÀÇ CDR·Î Ç¥ÇöµÈ ¸Þ½ÃÁö´Â DCE ¿¡¼ ÇØ¼®ÀÌ °¡´ÉÇϵµ·Ï º¯È¯µÇ¾î Áø´Ù. µû¶ó¼ ESIOP¸¦ »ç¿ëÇÏ¸é º¸¾È±â´ÉÀ̳ª µð·ºÅ丮 ¼ºñ½ºµî DCE¿¡¼ Á¦°øÇÏ´Â Ãß°¡ÀûÀÎ ±â´ÉÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.

[ ±×¸²17 ] ORB°£ ȣȯÀ» À§ÇÑ ±¸Á¶
- ORB°£ ºê¸®Áö Á¦°ø
CORBA2.0 ¿¡¼ Á¤ÀÇÇÑ µ¿Àû ½ºÄ̸®ÅÏ ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇÏ¸é ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ COM/OLE¿Í °°Àº ´Ù¸¥ °´Ã¼¿¡ ´ëÇÑ °ÔÀÌÆ®¿þÀ̸¦
»ý¼ºÇÒ ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó ´Ù¸¥ ORB»çÀÌ¿¡¼µµ Ưº°ÇÑ ±â´ÉÀÇ °ÔÀÌÆ®¿þÀ̸¦ ¸¸µé ¼ö ÀÖ´Ù.
5. ºÐ»ê °´Ã¼ ½Ã½ºÅÛÀÇ ¿©·¯ °¡Áö ±¸¼º¹æ¹ý
½ÇÁ¦ ÀÌ·¯ÇÑ ºÐ»ê °´Ã¼ ½Ã½ºÅÛÀ» ±¸¼ºÇÏ´Â µ¥¿¡´Â [±×¸²18]¿¡¼ ó·³ Å©°Ô 3°¡Áö ¹æ¹ýÀÌ Á¸ÀçÇÑ´Ù.
Çϳª´Â ´ÜÀÏ ÇÁ·Î¼¼½º ³»ºÎ¿¡¼ ¶óÀ̺귯¸®¸¦ ÅëÇØ Ŭ¶óÀÌ¾ðÆ®¿Í ±¸Çö °´Ã¼»çÀÌÀÇ ¼ºñ½º°¡ ÁøÇàµÇ´Â ¹æ¹ýÀÌ´Ù. ÀÌ ¹æ¹ýÀº ºÐ»êµÈ ȯ°æ¿¡ ÀûÇÕÇÏÁö ¾Ê´Ù.
¶Ç ÇϳªÀÇ ¹æ¹ýÀº ºÐ»ê °´Ã¼ ½Ã½ºÅÛ¿¡¼ Á¦°øÇÏ´Â ±â´ÉÀÌ Å¬¶óÀÌ¾ðÆ®¿ë ¶óÀ̺귯¸®¿Í ±¸Çö °´Ã¼¿ë ¶óÀ̺귯¸® ÇüÅ·ΠÁ¸ÀçÇϰí À̸¦ ÀÌ¿ëÇÏ¿© ºÐ»êµÈ
ȯ°æ¿¡¼ ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ´Ù. ÀÛ¼ºµÈ ÇÁ·Î±×·¥Àº º°µµÀÇ ÇÁ·Î¼¼½º·Î Á¸ÀçÇÑ´Ù.
¸¶Áö¸·À¸·Î ±âÁ¸ÀÇ ¿î¿µÃ¼Á¦¿¡ ºÐ»ê °´Ã¼ ±â´ÉÀ» Ãß°¡Çϰųª º°µµÀÇ ºÐ»ê °´Ã¼ µ¥¸ó ÇÁ·Î±×·¥ÀÌ Á¸ÀçÇÏ¿© Ŭ¶óÀÌ¾ðÆ®¿Í ºÐ»ê °´Ã¼»çÀÌÀÇ ¼ºñ½º¸¦ ÁÖ°üÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù.
ÇöÀç ´ë´Ù¼öÀÇ ±¸ÇöÁ¦Ç°Àº µÎ ¹øÂ°¿Í ¼¼ ¹øÂ° ¹æ¹ýÀ» »ç¿ëÇÏ¿© ºÐ»ê °´Ã¼ ½Ã½ºÅÛÀ» °³¹ßÇϰí ÀÖ´Ù.

[ ±×¸²18 ] ºÐ»ê °´Ã¼ ½Ã½ºÅÛÀÇ ¿©·¯ °¡Áö ±¸Á¶
5. ObjectWeb ±¸Ãà ȯ°æ
ObjectWebÀÇ ±¸Ãà ȯ°æÀº ±âÁ¸ÀÇ WWWȯ°æ°ú µ¿ÀÏÇÏ´Ù. ´ÜÁö ´Ù¸¥ Á¡Àº CORBA IIOP¸¦ Áö¿øÇÏ´Â À¥ ºê¶ó¿ìÁ®¿Í CORBA¿Í ¿¬µ¿°¡´ÉÇÑ À¥¼¹ö¿¡ ÀÖ´Ù. ÀÏ´Ü ObjectWebÀ» ÅëÇØ °³¹ßµÈ Ŭ¶óÀÌ¾ðÆ® OrbletÀº CORBA IIOP¸¦ Áö¿øÇÏ´Â À¥ ºê¶ó¿ìÁ®¿¡ HTTP¸¦ ÅëÇØ ´Ù¿î·ÎµåµÈ´Ù. ´Ù¿î·ÎµåµÈ OrbletÀº IIOP¸¦ ÅëÇØ CORBA¿ÍÀÇ ¼ºñ½º¸¦ °³½ÃÇÏ°Ô µÈ´Ù. ÀÌ ¶§ À¯ÀÇÇÒ Á¡Àº Orblet ¿ª½Ã ÀÚ¹Ù ¾ÖÇø´À̱⠶§¹®¿¡ ÀÚ¹Ù ¾ÖÇø´ÀÌ °®°í ÀÖ´Â º¸¾È»óÀÇ Á¦¾à, ƯÈ÷ ´Ù¿î·Îµå ¹ÞÀº È£½ºÆ®¿¡¸¸ ¿¬°áÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Â Á¦¾à¿¡ Áö¹èµÈ´Ù. µû¶ó¼ ±âº»ÀûÀ¸·Î ´Ù¿î·ÎµåµÈ WWW¼¹ö¸¦ ÅëÇØ ¼ºñ½º ¿¬°áÀ» ½ÃµµÇÑ´Ù. °á±¹
WWW¼¹ö´Â Orblet ÀÌ ¿äûÇÑ ¼ºñ½º¸¦ ³×Æ®¿÷»óÀÇ ´Ù¸¥ °÷¿¡ À§Ä¡ÇÑ CORBA¿¡°Ô Àü´ÞÇϱâ À§ÇÑ ¹æ¹ýÀ» °®°í ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ ¶§ »ç¿ëµÇ´Â ¿¬µ¿¹æ¹ýÀº 3.1¿¡¼ ¼³¸íÇÑ ¹Ù¿Í °°´Ù. ObjectWeb ȯ°æÀº À§¿Í °°Àº CORBA ¼ºñ½º¿Ü¿¡µµ ±âÁ¸ÀÇ CGI ÀÎÅÍÆäÀ̽º¿Í HTML ¹®¼ ¼ºñ½º¸¦ ¿©ÀüÈ÷ Á¦°øÇÑ´Ù. ÇöÀç ³Ý½ºÄÉÀÌÇÁ4.0¿¡ ³»ÀåµÈ CORBA IIOP ±â´ÉÀ» ÅëÇØ ObjectWeb ¼ºñ½º¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.

[ ±×¸²19 ] ObjectWeb ±¸Ãà ȯ°æ
6. ObjectWeb Á¦Ç°µé
ÇöÀç ObjectWeb ȯ°æÀ» Áö¿øÇÏ´Â ¸¹Àº CORBA Á¦Ç°µéÀÌ ¼Ò°³µÇ°í ÀÖ´Ù. ´ÙÀ½Àº ÇØ´ç Á¦Ç°µé¿¡ ´ëÇÑ ¸ñ·ÏÀÌ´Ù. ¸ÕÀú ÁÖ¸ñÇÒ ¸¸ÇÑ Á¦Ç°À¸·Î´Â ³Ý½ºÄÉÀÌÇÁ»ç¿Í º¼·£µåµî¿¡¼ CORBA IIOP ±â´ÉÀ» Áö¿øÇϱâ À§ÇØ ¶óÀ̼¾½ºÇÑ Á¦Ç°À¸·Î ºñÁöºê·ÎÄ¿»çÀÇ ºñÁöºê·ÎÄ¿[visigenic]¿Í °¡Àå ¸¹Àº Ç÷¡Æû°ú ´Ù¾çÇÑ CORBA ¼ºñ½º¸¦ Á¦°øÇÏ´Â Orbix[iona]°¡ ÀÖ´Ù.
[Ç¥5] ObjectWeb »ó¿ëÁ¦Ç°
| Á¦Ç°¸í |
ȸ»ç |
URL |
| OrbixWeb |
IONA |
http://www.iona.com |
| Visibroker for Java |
Visigenic |
http://www.visigenic.com |
| JOE |
Sun |
http://www.sunsoft.com |
| CHORUS/COOL |
CHORUS Systems |
http://www.chorus.com/Products/Cool/index.html |
[Ç¥6] ObjectWeb °ø°³ Á¦Ç°µé
| Á¦Ç°¸í |
URL |
| JacORB |
http://www.inf.fu-berlin.de/~brose/jacorb |
| Julu |
http://Coho.stanford.EDU/~hassan/Jylu |
| ELECTRA |
http://www.olsen.ch/~maffeis/electra.html |
| Omnibroker |
http://www.ooc.com/ob.html |
| Jade |
http://pariah.ansa.co.uk:8080/~jade/ |
| DOME |
http://www.realobj.demon.co.kuk/ |
| JORBA |
http://www.progsoc.uts.edu.au/~raz/jorba/ |
| Java ID |
http://splash.javasoft.com/JavaIDL/pages/index.html |
´ÙÀ½Àº »ó¿ë Á¦Ç°µéÀÇ ±â´ÉÀ» ºñ±³ÇÑ Ç¥ÀÌ´Ù[Orfali97].
[ Ç¥7 ] »ó¿ë ObjecdtWeb ±â´É ºñ±³Ç¥
| CORBA ±â´É |
OrbixWeb |
Joe |
Visibroker for Java |
| Ŭ¶óÀ̾ðÆ®Ãø ÀÚ¹Ù |
0 |
0 |
0 |
| ¼¹öÃø ÀÚ¹Ù |
0 |
X |
0 |
| Á¤Àû ¸Þ¼Òµå È£Ãâ |
0 |
0 |
0 |
| µ¿Àû ¸Þ¼Òµå È£Ãâ |
0 |
X |
0 |
| ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò |
0 |
X |
0 |
| ¼¹ö Äݹé |
0 |
0 |
0 |
| IIOP¸¦ ÅëÇÑ ³×ÀÌÆ¼ºê ÀÚ¹Ù |
X |
X |
0 (Caffeine) |
7. ObjectWeb ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ß
5Àå°ú 6Àå¿¡¼ »ìÆìº» °Íó·³ ÇöÀç ¸¹Àº Á¦Ç°µéÀÌ ObjectWeb ȯ°æÀ» Á¦°øÇÑ´Ù. ±×·¯³ª ´ÙÇེ·¯¿î °ÍÀº ÀÌ Á¦Ç°µé ¸ðµÎ CORBA Ç¥ÁØÀ» ÁؼöÇϱ⠶§¹®¿¡ ±× °³¹ß ¹æ¹ý°ú ÀýÂ÷´Â µ¿ÀÏÇÏ´Ù´Â °ÍÀÌ´Ù. ¹°·Ð Ç¥ÁØ¿¡ ÁؼöÇÏ´Â ±Ô¾à¿Ü¿¡ °¢ Á¦Ç°µéÀÌ ³ª¸§´ë·Î Á¦°øÇÏ´Â ±â´Éµéµµ ´Ù¼ö Á¸ÀçÇÑ´Ù. µû¶ó¼ º» Àý¿¡¼´Â ¿©·¯ Á¦Ç°µéÁß ºñÁöºê·ÎÄ¿¸¦ »ç¿ëÇÏ¿© ObjectWeb¿¡¼ÀÇ ÀϹÝÀûÀÎ °³¹ß°úÁ¤À» »ìÆìº¸µµ·Ï ÇÑ´Ù.
7.1 ObjectWebÀÇ ÀϹÝÀûÀÎ °³¹ß °úÁ¤
ObjectWeb¿¡¼ÀÇ °³¹ß °úÁ¤Àº ±âÁ¸ÀÇ CORBA °³¹ß ¹æ¹ý°ú µ¿ÀÏÇÏ´Ù. ´ÙÀ½Àº ±× °³¹ß°úÁ¤À» Á¤¸®ÇÑ °ÍÀÌ´Ù.
- [´Ü°è1] IDLÀ» »ç¿ëÇÏ¿© ¿øÇÏ´Â °´Ã¼µéÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇÑ´Ù.
- [´Ü°è2] IDL ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇÏ¿© ÀÛ¼ºÇÑ IDL ÆÄÀÏÀ» ÄÄÆÄÀÏÇÑ´Ù. ÄÄÆÄÀÏÇÑ ÈÄ Å¬¶óÀÌ¾ðÆ® ½ºÅͺê ÄÚµå¿Í ¼¹ö ½ºÄ̸®ÅÏ Äڵ尡 »ý¼ºµÇ¸ç ÀÎÅÍÆäÀ̽º Á¤º¸°¡ ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò¿¡ ÀúÀåµÈ´Ù.
- [´Ü°è3] ¼¹ö ±¸Çö ºÎºÐ°ú Ŭ¶óÀÌ¾ðÆ® ±¸Çö ºÎºÐÀ» ÀÛ¼ºÇÑ´Ù.
- [´Ü°è4] ¼¹ö ±¸Çö ºÎºÐ°ú ¼¹ö ½ºÄ¿·ÎÅÏ ÄÚµå, Ŭ¶óÀÌ¾ðÆ® ±¸Çö ºÎºÐ°ú ½ºÅͺê Äڵ带 ÄÄÆÄÀÏÇÑ´Ù.
- [´Ü°è5] ÄÄÆÄÀÏµÈ ¼¹ö¸¦ ±¸Çö ÀúÀå¼Ò¿¡ µî·ÏÇÑ´Ù.
- [´Ü°è6] ORB¸¦ ÅëÇØ ¼¹ö¸¦ ÀÚµ¿ È£ÃâÇÏ°Ô Çϰųª ¹Ì¸® ORB¿Í ¼¹ö¸¦ ±¸µ¿½ÃŲ´Ù.
- [´Ü°è7] Ŭ¶óÀÌ¾ðÆ®¸¦ ±¸µ¿½ÃŲ´Ù.
Âü°í·Î ³Ý½ºÄÉÀÌÇÁ¿Í ºñÁöºê·ÎÄ¿¿¡¼ ¹ßÇ¥ÇÑ Ä«ÆäÀÎ(caffeine)ÀÇ °æ¿ì IDL¾øÀÌ ÀÛ¼ºµÈ ÀÚ¹Ù ÀÎÅÍÆäÀ̽º ÄÚµå(.class)·Î ºÎÅÍ ½ºÅͺê¿Í ½ºÄ̸®ÅÏ Äڵ带 »ý¼ºÇØ ³½´Ù. ÇѸ¶µð·Î Ä«ÆäÀÎÀº CORBA IIOPÀ§¿¡ ÀÚ¹Ù RMI¸¦ ±¸ÇöÇÑ °ÍÀ̶ó ÇÒ ¼ö ÀÖ´Ù. [±×¸²20]´Â ¾Õ¼ ¼³¸íÇÑ °úÁ¤À» ³ªÅ¸³½ ±×¸²ÀÌ´Ù.

[ ±×¸²20 ] ObjectWeb ÇÁ·Î±×·¡¹Ö ÀýÂ÷
7.2 ÇÁ·Î±×·¥ °³¹ß °úÁ¤
ObjectWebÀÇ °³¹ß °úÁ¤Àº Ãʺ¸ÀÚÀÇ °æ¿ì »ó´çÈ÷ º¹ÀâÇÏ°Ô ´À²¸Áø´Ù. ±×·¯³ª Ç×»ó ÀÏ·ÃÀÇ °úÁ¤À» ÅëÇØ ÁøÇàµÇ±â ¶§¹®¿¡ ±× ÁøÇà ÀýÂ÷¸¦ ¼÷ÁöÇÏ¸é ¼Õ½±°Ô ¿øÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº ObjectWeb Á¦Ç°Áß ºñÁöºê·ÎÄ¿¸¦ ÅëÇØ ÀÌ °úÁ¤À» ÀÍÇôº¸µµ·Ï ÇÑ´Ù.
7.2.1 ObjectWeb ȯ°æ ±¸Ãà
´ÙÀ½Àº ºñÁöºê·ÎÄ¿ Á¦Ç°ÀÇ È¯°æ ±¸Ãà °úÁ¤ÀÌ´Ù. ¼³Ä¡È¯°æÀº À©µµ¿ìÁî¶ó°í °¡Á¤ÇÑ´Ù.
¸¸¾à, Ŭ¶óÀÌ¾ðÆ®°¡ ÀÚ¹Ù ¾ÖÇø´À̶ó¸é ¼öÇàÇϱâ Àü¿¡ gatekeeper ¶ó´Â ÇÁ·Î±×·¥À» ¼öÇàÇØ¾ß ÇÑ´Ù.
getekeeper´Â HTTP¸¦ ÅëÇØ ºñÁöºê·ÎÄ¿ ¼¹ö¸¦ È£ÃâÇÏ°Ô ÇØÁÖ´Â HTTP-to-IIOP °ÔÀÌÆ®¿þÀÌÀÌ´Ù. gatekpeer°¡ Á¦´ë·Î ¼öÇàµÇÁö ¾ÊÀ¸¸é
¾ÖÇø´ ÇüÅÂÀÇ Å¬¶óÀÌ¾ðÆ®´Â ¼öÇàµðÁö ¾Ê´Â´Ù. gatekeeper ¼öÇà½Ã °¡Àå ºó¹øÈ÷ ¹ß»ýÇÏ´Â °ÍÀº UnknownHost ExceprionÀÌ´Ù.
ÀÌ °æ¿ì, ½ÇÁ¦ ÀÚ¹ÙÀÇ ¶óÀ̺귯¸®(getHostByName)ÀÇ ¿À·ùÀε¥ ·ÎÄà ȣ½ºÆ®ÀÇ µµ¸ÞÀÎ À̸§°ú DNS ¼¹ö»óÀÇ µµ¸ÞÀÎÀ̸§ÀÇ Æ²¸° °æ¿ìÀÌ´Ù.
µû¶ó¼ DNS ¼¹ö¿¡¼ Á¦°øÇÏ´Â µµ¸ÞÀÎ À̸§À¸·Î ¼³Á¤À» ¹Ù²Ù¸é Á¦´ë·Î ¼öÇàÇÒ ¼ö ÀÖ´Ù.
7.2.2 ObjectWeb °³¹ß °úÁ¤ ÀÌÇØ
¾Õ¼ ¹«»çÈ÷ ¼³Ä¡¸¦ Çß´Ù¸é ´ÙÀ½ÀÇ °úÁ¤¿¡ µû¶ó ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ´Ù. ÆíÀÇ»ó ¿¹Á¦·Î¼ ¼³Ä¡ ÈÄ ¿¹Á¦ µð·ºÅ丮¿¡ º¹»çµÇ´Â
bank ¿¹Á¦¸¦ »ç¿ëÇϱâ·Î ÇÑ´Ù.
- [´Ü°è1] bank °´Ã¼¿¡ ´ëÇÑ IDL ÆÄÀÏÀ» ÀÛ¼ºÇÑ´Ù. ½ÇÁ¦ ¿¹´Â ¾Æ·¡°ú °°´Ù. bank °´Ã¼´Â Bank¶ó´Â ¸ðµâ³»¿¡ µÎ°³ÀÇ ÀÎÅÍÆäÀ̽º·Î ±¸¼ºµÈ´Ù.
Çϳª´Â balance() ¸Þ¼Òµå¸¦ °®´Â Account ÀÌ°í ´Ù¸¥ Çϳª´Â ƯÁ¤ ¼ÒÀ¯ÁÖÀÇ À̸§À» ¹Þ°í ÇØ´ç °èÁ¤À» °³¹æÇÑ ÈÄ ÀÓÀÇÀÇ °èÁ¤ ÆòÀܾ×À» ¹ÝȯÇÏ´Â
open() ¸Þ¼Òµå¸¦ °®´Â AccountManager Ŭ·¡½ºÀÌ´Ù. open()¸Þ¼ÒµåÀÇ Àü´ÞÀÎÀÚ´Â String ÇüÅ·ΠŬ¶óÀÌ¾ðÆ®¿¡¼ ¼¹ö·Î¸¸ Àü´ÞµÇ±â ¶§¹®¿¡
inÀ» »ç¿ëÇÏ¿´´Ù.
// Bank.idl
module Bank {
interface Account {
float balance();
};
interface AccountManager {
Account open(in string name);
};
};
- [´Ü°è2] ÇØ´ç IDL ÆÄÀÏÀ» ÄÄÆÄÀÏ ÇÑ´Ù.
idl2java Bank.idl
ÄÄÆÄÀÏ ÈÄ, ÇöÀç µð·ºÅ丮¾Æ·¡ Bank¶ó´Â À̸§ÀÇ µð·ºÅ丮¿Í ´Ù¼öÀÇ ÆÄÀϵéÀÌ »ý¼ºµÈ´Ù. °¢ ÆÄÀϵéÀÌ ÀǹÌÇÏ´Â °ÍÀº ´ÙÀ½°ú °°´Ù.
- Ŭ¶óÀ̾ðÆ®Ãø ÆÄÀϵé
- _st_Account.java AccountÀÇ ½ºÅͺê ÄÚµå
- _st_AccountManager.java AccountManagerÀÇ ½ºÅͺê ÄÚµå
- Account_var.java Ŭ¶óÀ̾ðÆ®ÃøÀÇ Account°¡ ¼¹öÂÊÀ» È£ÃâÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â bind()¸Þ¼Òµå¿Í ÆÄ¶ó¸ÞÅ͵é
- AccountManager_var.java Ŭ¶óÀ̾ðÆ®ÃøÀÇ AccountManager°¡ ¼¹öÂÊÀ» È£ÃâÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â bind()¸Þ¼Òµå¿Í ÆÄ¶ó¸ÞÅ͵é
- ¼¹öÃø ÆÄÀϵé
- _sk_Account.java AccountÀÇ ½ºÄ̸®ÅÏ ÄÚµå
- _sk_AccountManager.java AccountManagerÀÇ ½ºÄ̸®ÅÏ ÄÚµå
- _example_Account.java Account ±¸ÇöÀ» À§ÇÑ ÅÛÇø´ ÄÚµå
- _example.AccountManager.java AccountManager ±¸ÇöÀ» À§ÇÑ ÅÛÇø´ ÄÚµå
- °øÅë
- Account.java Account ÀÎÅÍÆäÀ̽º ÆÄÀÏ
- AccountManager.java AccountManager ÀÎÅÍÆäÀ̽º ÆÄÀÏ
- [´Ü°è3] _example_Account.java¿Í _example.AccountManager.java¸¦ ÀÌ¿ëÇÏ¿© ¼¹öÂÊ ±¸Çö °´Ã¼¸¦ ÀÛ¼ºÇÑ´Ù. º¼µåü ºÎºÐ¿¡ ¿øÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ·ÎÁ÷À» ÀÛ¼ºÇϰí ÇØ´ç ¼¹ö°´Ã¼¸¦ »ý¼ºÇϰí À̸¦ ORB¿¡ µî·ÏÇϱâ À§ÇÑ main()ÇÔ¼ö¸¦ ÀÛ¼ºÇÑ´Ù. Âü°í·Î ¿¹Á¦ Äڵ忡¼ º¼µåü ºÎºÐÀº »ç¿ëÀÚ°¡ ÀÛ¼ºÇÑ ºÎºÐÀÌ´Ù.
//_example_Account.java
package Bank;
public class _example_Account extends Bank._sk_Account {
/** Construct a persistently named object. */
public _example_Account(java.lang.String name) {
super(name);
}
/** Construct a transient object. */
public _example_Account() {
super();
}
public float balance() throws CORBA.SystemException {
// À̰÷¿¡ »ç¿ëÀÚÀÇ ·ÎÁ÷À» ÀÛ¼ºÇÑ´Ù.
}
}
//_example_AccountManager.java
package Bank;
public class _example_AccountManager extends Bank._sk_AccountManager {
/** Construct a persistently named object. */
public _example_AccountManager(java.lang.String name) {
super(name);
}
/** Construct a transient object. */
public _example_AccountManager() {
super();
}
public Bank.Account open(
java.lang.String name
) throws
CORBA.SystemException {
// À̰÷¿¡ »ç¿ëÀÚÀÇ ·ÎÁ÷À» ÀÛ¼ºÇÑ´Ù.
}
}
ÀÛ¼ºµÈ ÄÚµå´Â ´ÙÀ½°ú °°´Ù.
//Server.java
import java.util.*;
class Account extends Bank._sk_Account {
Account(float balance) {
_balance = balance;
}
public float balance() throws CORBA.SystemException {
return _balance;
}
private float _balance;
}
class AccountManager extends Bank._sk_AccountManager {
AccountManager(String name) {
super(name);
}
public Bank.Account open(String name) throws CORBA.SystemException {
// °èÁ¤ Dictionary¿¡¼ ÇØ´ç °èÁ¤À» ¾ò¾î ¿Â´Ù.
Bank.Account account = (Bank.Account) _accounts.get(name);
if(account == null) {
// 0 °ú 1000´Þ·¯ »çÀÌÀÇ °èÁ¤À» »ý¼ºÇÑ´Ù.
float balance = Math.abs(_random.nextInt()) % 100000 / 100f;
account = new Account(balance);
System.out.println("Created " + name + "'s account: " + account);
// »õ·Î¿î °´Ã¼ ÂüÁ¶ÀÚ¸¦ ¾ò¾î¿Â´Ù.
_boa().obj_is_ready(account);
// °èÁ¤ ¸ñ·Ï¿¡ ÇØ´ç °èÁ¤À» ÀúÀåÇÑ´Ù.
_accounts.put(name, account);
}
// °èÁ¤À» ¹ÝȯÇÑ´Ù.
return account;
}
private Dictionary _accounts = new Hashtable();
private Random _random = new Random();
}
public class Server {
public static void main(String[] args) {
try {
// ORB¸¦ ÃʱâÈ ½ÃŲ´Ù.
CORBA.ORB orb = CORBA.ORB.init();
// BOA¸¦ ÃʱâÈ ½ÃŲ´Ù.
CORBA.BOA boa = orb.BOA_init();
// account manager °´Ã¼¸¦ »ý¼ºÇÑ´Ù.
AccountManager manager =
new AccountManager("WWW-KR Bank");
// »õ·Ó°Ô »ý¼ºµÈ °´Ã¼¸¦ BOA¿¡µî·ÏÇÑ´Ù. Áö±ÝºÎÅÍ »ç¿ëÁغñ°¡ µÈ ¼ÀÀÌ´Ù.
boa.obj_is_ready(manager);
System.out.println(manager + " is ready.");
//Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ±â´Ù¸°´Ù.
boa.impl_is_ready();
}
catch(CORBA.SystemException e) {
System.err.println(e);
}
}
}
- [´Ü°è4] Ŭ¶óÀÌ¾ðÆ® Äڵ带 ÀÛ¼ºÇÑ´Ù.
// Client.java
public class Client {
public static void main(String args[]) {
try {
// ORB¸¦ ÃʱâÈ ½ÃŲ´Ù.
CORBA.ORB orb = CORBA.ORB.init();
// ¼¹ö account manager°´Ã¼¿¡ ´ëÇÑ °´Ã¼ ÂüÁ¶ÀÚ¸¦ ¾ò¾î¿Â´Ù.
Bank.AccountManager manager =
Bank.AccountManager_var.bind("WWW-KR Bank");
// µðÆúÆ® »ç¿ëÀÚ À̸§À̳ª args[0]¸¦ °èÁ¤ À̸§À¸·Î ¼³Á¤ÇÑ´Ù.
String name = args.length > 0 ? args[0] : "Jirubak";
// ÇØ´ç °èÁ¤À̸§ÀÇ °èÁ¤À» ¿¶ó°í ¿äûÇÑ´Ù
Bank.Account account = manager.open(name);
// °èÁ¤ÀÇ ÆòÀܾ×À» ¾ò¾î¿Â´Ù.
float balance = account.balance();
// ÆòÀܾ×À» Ãâ·ÂÇÑ´Ù.
System.out.println
("The balance in " + name + °´¤º°´ + balance);
}
catch(CORBA.SystemException e) {
System.err.println(e);
}
}
}
- [´Ü°è5] ÀÛ¼ºµÈ Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö Äڵ带 ÄÄÆÄÀÏÇÑ´Ù.
javac Client.java -> Client.java
javac Server.java -> Server.java
- [´Ü°è6] ¸ÕÀú osagent¶ó´Â ºñÁöºê·ÎÄ¿ µ¥¸óÀ» ¼öÇà½ÃŲ´Ù. osagent´Â ObjectWeb Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö»çÀÌÀÇ À§Ä¡ ¼ºñ½º¸¦ Á¦°øÇÑ´Ù. µû¶ó¼ LANȯ°æ¿¡ Àû¾îµµ ÇϳªÀÇ osagent°¡ ¼öÇàµÇ¾î¾ß ÇÑ´Ù.
start osagent
´ÙÀ½À¸·Î ¼¹ö °´Ã¼¸¦ ¼öÇà½ÃŲ´Ù.
start java Server
osagent¿Í ¼¹ö °´Ã¼¸¦ ¼·Î ´Ù¸¥ ÇÁ·Î¼¼½º»ó¿¡¼ ¼öÇàÇϱâ À§ÇØ start ¸í·É¾î¸¦ »ç¿ëÇÏ¿´´Ù.
- [´Ü°è7] ´Ù¸¥ À©µµ¿ì»ó¿¡¼ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» ¼öÇàÇÑ´Ù.
java Client
¸¸¾à Àü´ÞÀÎÀÚ°¡ ¾ø´Ù¸é ´ÙÀ½°ú °°Àº °á°ú¸¦ »ý¼ºÇØ ³½´Ù.
The balance in jirubak's account is $73.17
¸¸¾à Àü´ÞÀÎÀÚ·Î www-krÀ» »ç¿ëÇÏ¸é ´ÙÀ½°ú °°Àº °á°ú¸¦ »ý¼ºÇØ ³½´Ù.
The balance in www-kr's account is $11.17
¸¶Áö¸·À¸·Î ÁÖÀÇ ÇÒ Á¡Àº ¾Õ¼ ¼³¸íÇÑ °Íó·³ Ŭ¶óÀÌ¾ðÆ®°¡ ÀÚ¹Ù ¾ÖÇø´ÀÎ °æ¿ì ¹Ýµå½Ã ½ÇÇàÇϱâ Àü¿¡ osagent¿Í gatetkeeper(IIOP GeteKeeper)¶ó´Â ÇÁ·Î±×·¥À» ¼öÇàÇØ¾ß ÇÑ´Ù. gatekeeper´Â HTTP ÅͳθµÀ» ÅëÇØ ¹æÈº®³»¿¡ °´Ã¼ ¼¹öµé°ú Åë½ÅÇÏ°Ô ÇØÁØ´Ù.
´Ù½Ã¸»Çϸé getekeeper´Â ObjectWeb Ŭ¶óÀÌ¾ðÆ® ¾ÖÇø´ÀÌ ´Ù¿î·ÎµåµÈ È£½ºÆ®¿Ü¿¡ ´Ù¸¥ °÷¿¡ À§Ä¡ÇÑ °´Ã¼µé°ú Åë½ÅÇÏ°Ô ÇØÁØ´Ù.
8. °á·Ð
Áö±Ý±îÁö WWW¿Í CORBA, JavaÀÇ ¿¬µ¿ ±â¼úÀ» ÁöĪÇÏ´Â ObejctWeb¿¡ ´ëÇØ »ìÆìº¸¾Ò´Ù. Á¤¸®Çϸé ObjectWebÀº ÇöÀç ÀÎÅͳÝÀ» Áß½ÉÀ¸·Î ÇÑ ±â¼úÁß
°¡Àå Áß¿äÇÑ ÇÙ½É ±â¼úÀÎ WWW¿Í CORBA, JavaÀÇ ÀåÁ¡µéÀ» ¿¬µ¿ÇÏ¿© º¸´Ù À¯¿¬ÇÑ ½Ã½ºÅÛÀ» °³¹ßÇÏ°Ô ÇØÁØ´Ù. µû¶ó¼ ObjectWeb »ç¿ëÀÚ´Â ¾ÖÇø´À»
ÅëÇØ ¿©·¯ È£½ºÆ®»óÀÇ °´Ã¼µé°ú ¼ºñ½º¸¦ ÁÖ°í ¹ÞÀ» ¼ö ÀÖÀ¸¸ç ¿£ÅÍÇÁ¶óÀÌÁî ±Ô¸ðÀÇ ½Ã½ºÅÛÀ» µðÀÚÀÎÇÏ°í °³¹ßÇÏ°Ô ÇØÁØ´Ù. ¶ÇÇÑ ObjectWebÀº WWW ±â¹ÝÀÇ ½Ã½ºÅÛÀ» ±¸ÃàÇÏ´Â µ¥ ÀÖ¾î ±âÁ¸ÀÇ CGI¿¡¼ ¹ß»ýÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ »Ó¸¸ ¾Æ´Ï¶ó CORBA¿¡¼ Á¦°øÇÏ´Â ºÐ»ê °´Ã¼ ±â¼úÀ» ÅëÇØ ÀÎÅͳÝ
¾î´À °÷¿¡¼µçÁö ¼öÇà°¡´ÉÇÑ ½Ã½ºÅÛÀ» ±¸ÃàÇϰí À̸¦ ±Ô¸ðÀÖ°Ô Á¶Á¤ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ±âÁ¸ÀÇ ÀÚ¹Ù ¾ÖÇø´À» ÅëÇØ CORBA·Î ÀÛ¼ºµÈ ´Ù¸¥ ¾ð¾îÀÇ
°´Ã¼µéÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô ¶§¹®¿¡ ÄÄÆ÷³ÍÆ® ¼ÒÇÁÆ®¿þ¾î ±¸Ãà°ú Àç»ç¿ëÀÌ °¡´ÉÇÏ´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯µé·Î ÀÎÇØ ObjectWeb ±â¼úÀº À¥À» ±â¹ÝÀ¸·Î ÇÑ
Ç¥ÁØ ½Ã½ºÅÛ ±¸Ãà ¹æ¹ýÀ¸·Î È®»êµÉ °ÍÀÌ¸ç ±âº»ÀÇ CGI³ª ±âŸ ¿¬µ¿ ±â¼úÀº ObjectWeb ±â¼ú·Î ´ëüµÉ °ÍÀÌ´Ù.
ƯÈ÷, À¥À» ±â¹ÝÀ¸·Î ÇÑ Á¤º¸½Ã½ºÅÛÁß Å¥¸ð¿Í Á¾·ù°¡ ´Ù¾çÇÑ µ¥ÀÌŸ¿Í ȯ°æÀ§¿¡ ±âÁ¸ÀÇ ½Ã½ºÅÛÀ» ¹ÙÅÁÀ¸·Î »õ·Î¿î Ç¥ÁØ ½Ã½ºÅÛÀ» ±¸ÃàÇÏ·Á ÇÒ ¶§
ObjectWebÀº ±× Áø°¡¸¦ ¹ßÈÖÇÒ °ÍÀÌ´Ù.
Âü°í¹®Çå(References)
- [almasi96]
- G. Almasi, V juggy Jagannathan, Integrating the WWW and CORBA-based Environment, West virginia University, 1996
URL:http://webstar.cerc.wvu.edu/www4/www4/html
- [ashley96]
- Ashley McClenaghan, Building a Web from Distributed Objects, ANSA Project, 1996
URL:http://www.ansa.co.uk/ANSA/ISF/96-6-workshop-tms.html
- [beitz95]
- Ashley Beitz, Renato Iannella, etc, Integrating WWW an\d Middleware, Ausweb95 , 1995
URL:http://www.scu.edu.au/ausweb95/papers/management/beitz/
- [condict97]
- Michael Condict, Dejan Milojicic, etc, Towards a World-Wide Civilization of Objects, SIGOPS96, 1996
URL:http://www.osf.org/~condict/WebOS/Papers/SIGOPS96/
- [iona]
- URL:http://www.iona.com/www/Orbix/OrbixWeb/index.htmll
- [inmon96]
- Inmon, Using the Data Warehousing , ÇÏÀÌÅ×Å© Á¤º¸ , 1996
- [joe]
- URL:http://www.sun.com/sunsoft./neo
- [merle96]
- Philippe Merle, Distributed Object Technology abd the Web , 7 May, WWW5 Conference , 1996
URL:http://www.ansa.co.uk/ANSA/ISF/WWW5/DOWpanel.html
- [neo]
- URL:http://www.sun.com/sunsoft.neo
- [OMG96]
- CORBA Specification , OMG, 1996
URL:http://www.omg.org
- [tresch96]
- Markus Tresch, middleware for Distributed Object Management, Tutorial at CIKM96, 1996
- [jhpark 96]
- jaehyun park, WWW¿Í ºÐ»ê°´Ã¼½Ã½ºÅÛ, WWW-KR Workshop , Aug 17, 1996
- [jhpark 97]
- jaehyun park, ºñÁö´Ï½º ȯ°æ¿¡¼ÀÇ CORBA, KIECO , Apr 14, 1997
URL:http://www.aminet.co.kr/~jhpark/wwwcorba.zip
- [orfali 96]
- Robert Orfali , The Essential Client/Server Survival Guide , 2nd edition , Wiley, 1996
- [orfali 97]
- Robert Orfali , Dan Harkey , Client/Server Programming with JAVA and CORBA , Wiley, 1997
- [resnick]
- Ron Resnick , Bring Distributed Objects to the World Wide Web , 1996
URL:http://www.interlog.com/~resnick/javacorb.html
- [siegal 96]
- CORBA Fundamentals and Programming , Wiley, 1996
- [visigenic]
- URL:http://www.visigenic.com