5¸·
CORBA¿¡
¿¬µ¿ÇÒ ¼ö ÀÖ´Â °Íµé
1Àå.
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ Èñ¸Á,
DCOM/OLE
CORBA¿Í
Á÷Á¢ÀûÀ¸·Î °æÀïÇϴ ǥÁØÀº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ COM(Component
Object Model)ÀÌ´Ù
.
COMÀº À©µµ¿ì ¿î¿µ
üÁ¦°¡ Â÷ÁöÇϰí ÀÖ´Â ºñÁ߸¸Å °¡Àå ³Î¸® »ç¿ëµÇ°í ÀÖ´Â À©µµ¿ì ¹ö½ºÀÌ´Ù
.
µû¶ó¼ CORBA´Â
°è¼ÓÀûÀ¸·Î ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ °´Ã¼ Ç¥ÁØÀÎ COM/OLE¿Í
CORBA¿ÍÀÇ
¿¬µ¿ ¹®Á¦¸¦ °í¹ÎÇØ ¿À°í ÀÖ´Ù.
ÀÌ ¹®Á¦¿¡ ´ëÇØ
CORBA´Â
2°³ÀÇ
ºÎºÐÀ¸·Î ³ª´µ¾î ÇöÀçÀÇ COM/OLE¿¡
CORBA¸¦
°áÇÕÇÏ´Â ¹®Á¦¿Í ¾ÕÀ¸·Î ´ëµÎµÉ ºÐ»ê COM/OLE¿Í
ÀÇ
ÅëÇÕ¿¡ ´ëÇÑ ¹®Á¦¸¦ Áغñ Áß¿¡ ÀÖ´Ù.
±âÁ¸ÀÇ COM/OLE¿ÍÀÇ
ÅëÇÕ ¹®Á¦´Â Á¤¸®°¡ µÇ¾î »ó´ç¼öÀÇ CORBAÁ¦Ç°
µéÀÌ
OLE¿Í
¿¬µ¿ °¡´ÉÇÑ Á¦Ç°À» °ø±ÞÇϰí ÀÖÀ¸¸ç ºÐ»êCOM/OLE¿Í
ÀÇ
ÅëÇÕ ¹®Á¦´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ Á¤½Ä ¹öÀüÀÌ ¹ßÇ¥µÇ±â¸¸À» ±â´Ù¸®°í
ÀÖ´Â »óÅÂÀÌ´Ù.
CORBAÀÇ ±â¼úÀû
¼ºÀå °úÁ¤ÇÏ¿¡¼ ¿ì¸®´Â CORBA¿Í
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ °´Ã¼ Ç¥ÁØÀÎ COM/OLE¸¦
ºñ±³ÇØ º¸°í ÀÌÀÇ ÅëÇÕ ¹æ¹ý¿¡ ´ëÇØ Á¤¸®ÇØ º¸µµ·Ï ÇÑ´Ù.
À̸¦ À§ÇØ ¸ÕÀú
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ COM°ú
OLE¿¡
´ëÇØ¼ »ìÆìº¸°í À̸¦ CORBA¿Í
Á¾ÇÕÀûÀ¸·Î ºñ±³ÇØ º»´Ù.
1.1 ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ
¹è°æ ±â¼ú
¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ±â¼úÀÇ ±Ù°£À» ÇѸ¶µð·Î Ç¥ÇöÇÏÀÚ¸é OLE(Object Linking and Embedding)°ú COM(Component Object Model)ÀÌ´Ù. µû¶ó¼ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ±â¼úÀ» ÀÌÇØÇÏ·Á¸é COM/OLEÀÇ ÀÌÇØ°¡ ÇʼöÀûÀÌ´Ù. ÀÌ·¯ÇÑ ±Ù°£ ±â¼úÀ» ±â¹ÝÀ¸·Î ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â À©µµ¿ì3.1°ú À©µµ¿ì95 ±×¸®°í À©µµ¿ì ¿î¿µ üÁ¦ÀÇ Á¾Âø¿ªÀ¸·Î Ç¥ÇöµÇ´Â NT¿¡ À̸£±â±îÁö ´Ù¾çÇÑ ±×¸² ¿î¿µ üÁ¦¸¦ Áö¿øÇϰí ÀÖ´Ù. ÀÌµé ±×¸² ¿î¿µ üÁ¦ ¿ª½Ã Á¾±¹¿¡´Â ºÐ»ê ȯ°æÀ» Áö¿øÇÏ´Â COM/OLE¸¦ ³»ÀåÇÒ ¿¹Á¤ÀÌ´Ù. »Ó¸¸ ¾Æ´Ï¶ó °³¹ß ¾ð¾î¿¡ À־µ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ºñÁÖ¾ó C++°ú º¼·£µåÀÇ C++À» Áß½ÉÀ¸·Î ÇÑ ½Ã½ºÅÛ ÇÁ·Î±×·¥ °³¹ß ȯ°æ°ú ºñÁÖ¾ó º£ÀÌÁ÷À» ÅëÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ß ȯ°æÀ» Á¦°øÇϰí ÀÖ´Ù. ÀÌµé ¿ª½Ã COM/OLE¸¦ ÀÌ¿ëÇϰí ÀÛ¼ºÇÏ´Â µ¥ Áß½ÉÀÌ ¸ÂÃß¾îÁ® ÀÖ´Ù. ¸¶Áö¸·À¸·Î ÃÖ±Ù µé¾î °¡Àå ¸¹Àº ÈÁ¦¿Í °ü½É°Å¸®¸¦ Á¦°øÇÏ´Â ÀÎÅͳݿ¡ À־µ ActiveX¶ó´Â À̸§À¸·Î COM/OLE±â ¼úÀ» ÀÎÅͳݿ¡ Á¢¸ñ½Ã۱â À§ÇÑ ³ë·ÂÀ» °æÁÖÇϰí ÀÖ´Ù. ÇѸ¶µð·Î ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ¸ðµç ±â¼úÀº COM/OLE¶ó °í ¸»ÇÒ ¼ö ÀÖ´Ù.
Á¾±¹ÀûÀ¸·Î ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â
OLE/µ¥ÀÌŸº£À̽º
, OLE/Æ®·»Á§¼Ç
, ³×Æ®¿÷
OLEó·³
COM/OLE¸¦
Áß½ÉÀ¸·Î ±âÁ¸ÀÇ ´Ù¸¥ ±â¼úÀ» Æ÷ÇÔÇÒ °ÍÀ» ¸ñÇ¥·Î Çϰí ÀÖ´Ù.

[±×¸²5-1]
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ
±â¼ú¹è°æ
1.2 OLE¶õ?
´ëºÎºÐ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡
°ü½ÉÀÌ ÀÖ´Â »ç¶÷À̶ó¸é Á¤È®ÇÏ°Ô Á¤ÀÇÇϱä Èûµé¾îµµ OLE¿¡
´ëÇØ¼ ¸·¿¬È÷ ¿öµå ³»¿¡ ¿¢¼¿ ½¬Æ®¸¦ »ðÀÔÇϰųª ÆÄ¿öÆ÷ÀÎÆ® ±×¸²À»
»ðÀÔÇÏ´Â µî ¼·Î ´Ù¸¥ µ¥ÀÌŸ¸¦ ÅëÇÕÇÏ¿© ÇϳªÀÇ ¹®¼¸¦ ¸¸µå´Â ¹æ¹ýÀ¸·Î
ÀÌÇØÇϰí ÀÖÀ» °ÍÀÌ´Ù.
ºñ½ÁÇÏ°Ô ÀϸƻóÅëÇϱâ´Â
ÇÏÁö¸¸ Á» ´õ Á¤È®È÷ Á¤ÀÇÇÏÀÚ¸é Ãʱâ OLE(Object
Linking and Embedding)´Â
»ç¿ëÀÚ¿¡°Ô´Â ¸¶Ä¡ ÇϳªÀÇ µ¥ÀÌŸó·³ º¸ÀÌÁö¸¸ ½ÇÁ¦·Î´Â µÎ°³ ÀÌ»óÀÇ
´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© »ý¼ºµÈ Á¤º¸ÀÎ º¹ÇÕ ¹®¼¸¦ ÀÛ¼ºÇϱâ
À§ÇÑ ±â¼úÀÌ´Ù.
±×·¯³ª Áö±Ý¿¡
¿Í¼ OLE´Â
´Ü¼øÇÑ º¹ÇÕ ¹®¼¸¦ ÀÛ¼ºÇϱâ À§ÇÑ ±â¼úÀÌ ¾Æ´Ï¶ó COM(Component
Object Model)À̶ó´Â
±â¼úÀ» ¹ÙÅÁÀ¸·Î ´Ù¾çÇÑ ÀÀ¿ë ½Ã½ºÅÛÀ» ÀÛ¼ºÇÏ´Â ±â¼ú·Î Àνĵǰí
ÀÖ´Ù. À̶§,
COMÀº º¹ÇÕ ¹®¼
ÀÛ¼ºÀ» À§ÇÑ ÀÀ¿ë ÇÁ·Î±×·¥°£ÀÇ ÅëÇÕ»Ó ¸¸ ¾Æ´Ï¶ó ¸ðµç À©µµ¿ì ÀÀ¿ë
ÇÁ·Î±×·¥µé°£ÀÇ ÅëÇÕÀÌ °¡´ÉÇÑ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ À©µµ¿ì °´Ã¼ ¹ö½º¸¦
¸»ÇÑ´Ù.

[
±×¸²5-2
] º¹ÇÕ ¹®¼ÀÇ
±¸Á¶
1.2.1 OLEÀÇ
°³¹ß¿ª»ç
Ãʱ⠸¶ÀÌÅ©·Î¼ÒÇÁÆ®»çÀÇ (ÆÄ¿ö
Æ÷ÀÎÆ®)¼ÒÇÁÆ®¿þ¾î
°³¹ßÆÀÀº À©µµ¿ì¿¡¼ Áö¿øÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥°£ÀÇ µ¥ÀÌŸ ±³È¯ ¹æ¹ýÀÎ
DDE(Dynamic Data
Exchange)¸¦
È®ÀåÇÑ »õ·Î¿î µ¥ÀÌŸ ±³È¯ ¹æ¹ýÀ» Á¦¾ÈÇÏ¿´´Âµ¥ À̰ÍÀÌ OLE¿´°í,
ÀÌÈÄ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»çÀÇ ¸ðµç
À©µµ¿ì¿ë ÀÀ¿ë ÇÁ·Î±×·¥¿¡ Àû¿ëµÇ¾ú´Ù.
ÀÌÈÄ OLE´Â
°¢°¢ÀÇ ÁÖ¿äÇÑ ±â´É¿¡ µû¶ó ¹öÀüÀÌ Çâ»óµÇ¾î ÇöÀç¿¡ À̸£°í Àִµ¥
°¢°¢ÀÇ Æ¯Â¡Àº ´ÙÀ½°ú °°´Ù.
OLE 1.0˼
[±×
¸²5-2]¿¡¼
ó·³ ¸ÖƼ¹Ìµð¾î, ÅØ½ºÆ®,
À̹ÌÁö ,À½¼º°ú
°°Àº ´Ù¾çÇÑ Á¤º¸¸¦ ÇÑ ¹®¼¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Â º¹ÇÕ ¹®¼(Compound
Document) ±â´ÉÀ» ÇÁ·Î¼¼½º°£ÀÇ
Åë½ÅÀ» ´ã´çÇÏ´Â IPC(Inter-Process
Communication)·Î ±¸ÇöÇÏ¿´´Ù
.
ÀÌ·± ¹è°æ¿¡´Â ÀÌÈÄ À©µµ¿ì ¿î¿µ
üÁ¦¸¦ º¹ÇÕ ¹®¼ Áß½ÉÀÇ ¿î¿µ üÁ¦·Î ÀüȯÇϱâ À§ÇÑ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ
Àü·«ÀÌ ¼û¾îÀÖ¾ú´Ù.
OLE 2.0¿¡¼
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â º¹ÇÕ ¹®¼»ó¿¡¼ ½Ã°¢Àû ÆíÁýÀÌ °¡´ÉÇϵµ·Ï ¿øÇÏ´Â
Á¤º¸ÀÇ Á¶ÀÛ½Ã ÇØ´ç ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ¼öÇàµÇ´Â In-Place
Activation ±â´É°ú °´Ã¼°£ÀÇ ÅëÇÕ¿¡¼
LRPC(Light Remote Procedure
Call)±â´ÉÀ»
Á¦°øÇÏ¿´´Ù.
[ ±×¸²5-3 ] OLE 2.0¿¡¼ÀÇ À©µµ¿ì °´Ã¼
OLE 3.0˼
°´Ã¼°£ÀÇ Åë½ÅÀ» ¿ÏÀüÇÑ RPC(DCE
RPC¸¦ ÀÌ¿ë)·Î
´ëüÇÏ¿© ºÐ»ê À©µµ¿ì °´Ã¼È¯°æÀ» Áö¿øÇÒ ¿¹Á¤ÀÌ´Ù.
ƯÈ÷ 1997³â°æ¿¡
¹ßÇ¥µÉ Â÷¼¼´ë À©µµ¿ì NT ¹öÀü¿¡¼´Â
ÆÄÀÏ ½Ã½ºÅÛÀÌ OLE¸¦
ÀÌ¿ëÇÏ¿© ±¸ÇöµÇ°í ÀÖ¾î À©µµ¿ì NT´Â
°´Ã¼ Áß½ÉÀÇ ¿î¿µ ½Ã½ºÅÛÀÌ µÉ °ÍÀÌ´Ù.

[
±×¸²5-4
] OLE 3.0¿¡¼ÀÇ À©µµ¿ì °´Ã¼
1.2.2 OLEÀÇ
±âº» Åä´ë
ÀϹÝÀûÀÎ ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ´Ù°í
»ý°¢Çغ¸ÀÚ. À̶§
ÀÀ¿ë ÇÁ·Î±×·¥Àº ÇØ´ç ÀÛ¾÷À» À§ÇØ ¿î¿µ üÁ¦ ,
°¢Á¾ ¶óÀ̺귯¸® ¶Ç´Â ´Ù¸¥ ÇÁ·Î¼¼½º¿Í
Á¤º¸¸¦ ±³È¯ÇØ¾ß ÇÑ´Ù. ÀϹÝÀûÀ¸·Î
ÀÌ °æ¿ì ÀÀ¿ë ÇÁ·Î±×·¥ ÀÛ¼ºÀÚ´Â ¿î¿µ üÁ¦¿Í Á¤º¸¸¦ ±³È¯Çϱâ À§ÇØ
½Ã½ºÅÛ È£Ãâ ¹æ¹ýÀ» »ç¿ëÇØ¾ß ÇÏ°í ¶óÀ̺귯¸®¿Í´Â APIÈ£Ãâ
,
´Ù¸¥
ÇÁ·Î¼¼½º¿Í´Â IPCÈ£Ãâ
¹æ¹ýÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ
»óȲÀº OLE¿¡¼µµ
¸¶Âù°¡ÁöÀÌ´Ù. ¾Õ¼
OLE°¡
´Ù¾çÇÑ ÀÀ¿ë ÇÁ·Î±×·¥°úÀÇ »óÈ£ÀÛ¿ëÀ» ÅëÇØ °¢Á¾ ¼ºñ½º¸¦ âÃâÇÔÀ»
¾Ë¾Æº¸¾Ò´Ù. ´ç¿¬È÷
À̸¦ À§ÇØ OLE ÇÁ·Î±×·¥
ÀÛ¼ºÀÚ´Â ¾Õ¼± 3°¡Áö
¹æ¹ýÀ» ¾Ë¾Æ¾ß ¸¸ ÇÑ´Ù.

[
±×¸²5-5
] ¼ºñ½º ¿äûÀ» À§ÇÑ 3°¡Áö
¹æ¹ý
¸¸¾à 3°¡Áö
¹æ¹ýÀ» ¸ðµÎ ¾Ë¾Æ¾ß¸¸ ÇÑ´Ù¸é ÀÀ¿ë ÇÁ·Î±×·¥ ÀÛ¼ºÀÚ´Â Á¤º¸¸¦ ±³È¯ÇϰíÀÚ
ÇÏ´Â ¸ðµç ÀÀ¿ë ÇÁ·Î±×·¥°ú ¿î¿µ üÁ¦ ,
¶óÀ̺귯¸® ¸¶´Ù °¢±â ´Ù¸¥ ¹æ¹ýÀ»
»ç¿ëÇØ¾ß¸¸ ÇÑ´Ù. µµÀúÈ÷
¹«¸ðÇÑ ÀÛ¾÷ÀÓÀÌ »·ÇÏ´Ù. ÀÌ·¯ÇÑ
¹®Á¦Á¡ÀÇ ÇØ°áÃ¥ÀÌ ´ÜÀÏÇÑ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇØÁÖ´Â COMÀÌ´Ù.
µû¶ó¼ OLEÀÇ
±âº» Åä´ë´Â COMÀÌ´Ù.
COMÀº COMÀ» ÀÌ¿ëÇÏ´Â ¸ðµç ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ÜÀÏÇÑ Á¢±ÙÀÌ °¡´ÉÇÏ°Ô ÇØÁØ´Ù. Á»´õ ÀÚ¼¼È÷ »ìÆìº¸¸é COMÀº [ ±×¸²5-6 ]°ú °°Àº ±¸Á¶¸¦ °®´Â´Ù.
ÀÌ ±¸Á¶¸¦ º¸¸é COM °´Ã¼´Â ÇØ´ç °´Ã¼¿¡ ´ëÇÑ Á¢±ÙÀ» À§ÇØ º¹¼ö °³ÀÇ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù. ÀÎÅÍÆäÀ̽º´Â º¹¼ö °³ÀÇ ¸Þ¼Òµå·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. Âü°í·Î µÚ¿¡¼µµ ´Ù½Ã ¾ð±ÞÇϰÚÁö¸¸ ÀÌÁ¡ÀÌ CORBA¿¡¼ Á¦°øÇÏ´Â °´Ã¼¿Í ´Ù¸¥ Á¡ÀÌ´Ù. CORBA¿¡¼ °´Ã¼´Â ´ÜÀÏÇÑ ÀÎÅÍÆäÀ̽º¸¸À» Á¦°øÇÏ´Â µ¥ ¹ÝÇØ COM °´Ã¼´Â º¹¼ö °³ÀÇ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù. ±×·¯³ª CORBA3.0 Ç¥ÁØ¿¡¼´Â º¹¼ö ÀÎÅÍÆäÀ̽º ±â´ÉÀ» Á¦°øÇÒ ¿¹Á¤ÀÌ´Ù. Âü°í·Î COM °´Ã¼¸¦ ¾ð±ÞÇÏ´Â ¸ðµç ¹®¼¿¡¼ ¿øÀº ÀÎÅÍÆäÀ̽º¸¦ ³ª¸ÓÁö »ç°¢ÇüÀº °´Ã¼¸¦ ÀǹÌÇÑ´Ù.

[ ±×¸²5-6 ] COMÀÇ °´Ã¼ ±¸Á¶
¸¸ÀÏ ÀÌ·¯ÇÑ COM
°´Ã¼¸¦ ÀÌ¿ëÇÏ¿© °¢Á¾ÀÇ ¶óÀ̺귯¸®³ª
ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇϰųª ¿î¿µ üÁ¦¿¡¼ COM
ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù¸é ´ÜÀÏÇÑ
COM ÀÎÅÍÆäÀ̽º¸¦
ÅëÇØ ¸ðµç ¼ºñ½º¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
ÀÏ´Ü COM
°´Ã¼¸¦ ÀÌ¿ëÇÏ·Á¸é ¸ÕÀú ÀÎÅÍÆäÀ̽º¿¡
´ëÇÑ Æ÷ÀÎÅ͸¦ ¾ò¾î ÈÄ ÀÌ Æ÷ÀÎÅ͸¦ ÅëÇØ ¿øÇÏ´Â ¸Þ¼Òµå¸¦ ¼öÇàÇϸé
µÈ´Ù.
[ ±×¸²5-7 ] COM °´Ã¼¸¦ ÀÌ¿ëÇÑ ¼ºñ½º ¿äû
1.2.3 OLEÀÇ
±âº» ¼ºñ½º
°¡Àå ÇÏÀ§¿¡ À©µµ¿ì °´Ã¼ ¹ö½ºÀÎ COMÀ»
±â¹ÝÀ¸·Î ÇÏ¿© OLE±â´ÉÀ»
ÀÌ¿ëÇÏ´Â µ¥ À¯¿ëÇÑ ±âº» ¼ºñ½ºµéÀÌ Á¦°øµÈ´Ù.
ÀÌ ±âº» ¼ºñ½ºµéÀº ¼ö¸¹Àº OLE
ÀÀ¿ë ±â¼ú¿¡ ÀÇÇØ¼ »ç¿ëµÇ¾îÁö´Â
±â¼úÀÌ´Ù.
COMÀ»
±â¹ÝÀ¸·Î ÇÑ ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î¼ ¿©·¯ ÆÄÀϵéÀ» COMÀ»
±â¹ÝÀ¸·Î ÇÏ¿© ³í¸®ÀûÀ¸·Î ±¸¼ºÇØÁØ´Ù.
ƯÁ¤ °´Ã¼ÀÇ ÀνºÅϽº¸¦ ÃʱâÈÇÏ°í »ý¼ºÇØÁÖ¸ç
°´Ã¼ À̸§ µîÀÇ Á¤º¸¸¦ Á¦°øÇÑ´Ù.
¹Ù·Î ÀÌ ±â´ÉÀ» ÀÌ¿ëÇÏ¿© COM
°´Ã¼¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù.
ÀÀ¿ë ÇÁ·Î±×·¥ »çÀÌÀÇ ÀÚ·á ±³È¯À» À§ÇÑ
ÀϹÝÀûÀÎ ¹æ¹ýÀÌ´Ù.
´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥À¸·Î ÇÏ¿©±Ý ÇØ´ç
ÇÁ·Î±×·¥ÀÇ ¸Þ¼Òµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â ¼ºñ½º¸¦ ¸»ÇÑ´Ù.
À̿ܿ¡µµ °¢Á¾ ÄÄÆ÷³ÍÆ® ±â¼úÀ» OLE¿¡¼
»ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â OCX(OLE
Control Extension)·Î ¾Ë·Á´Â
OLE Á¶Á¤
±â´ÉÀÌ ÀÖÀ¸¸ç OLE/µ¥ÀÌŸº£À̽º
, OLE/Æ®·»Á§¼Ç
,
³×Æ®¿÷
OLE µîÀÌ
ÃßÈÄ Á¦°øµÉ ¿¹Á¤ÀÌ´Ù.
1.3 OLEÀÇ
À©µµ¿ì °´Ã¼ ¹ö½º COM(COMPONENT
OBJECT MODEL)
COM˼
CORBA¿Í
¸¶Âù°¡Áö·Î À©µµ¿ì ¼¼»ó¿¡¼ ¹ö½º ¿ªÇÒÀ» ´ã´çÇÏ´Â À©µµ¿ì °´Ã¼ ¹ö½ºÀÌ´Ù.
´Ù½Ã ¸»ÇØ COMÀº
Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥°ú °´Ã¼¼¹ö ÇÁ·Î±×·¥°£ÀÇ »óÈ£ Åë½Å ¹æ½ÄÀ» Á¤ÀÇÇÑ
¸ðµ¨·Î¼ °´Ã¼°£ÀÇ ÅëÇÕÀ» Áö¿øÇÑ´Ù.
COM˼
[±×
¸²5-8]¿¡¼
ó·³ ¿©·¯ °³ÀÇ ÀÀ¿ë ÇÁ·Î±×·¥¾È¿¡¼ º¹ÇÕ °´Ã¼ »çÀÌÀÇ ÀÎÅÍÆäÀ̽º¸¦
Á¤ÀÇÇϵµ·Ï ÇØÁÖ¸ç ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ ÀÀ¿ë ÇÁ·Î±×·¥µéÀÌ º¹ÇÕ
¹®¼ µî ´Ù¾çÇÑ ±â´ÉÀ» ÀÌ¿ëÇÑ´Ù.
ÀÌ·¯ÇÑ COMÀ»
±â¹ÝÀ¸·Î ÇÏ¿© º¹ÇÕ ¹®¼¸¦ ±¸¼ºÇÏ´Â µ¥ ÇÊ¿äÇÑ ´Ù¾çÇÑ ¼ºñ½º¸¦ Áö¿øÇϱâ
À§ÇØ ±¸¼ºµÈ ±â´ÉÀÌ º¹ÇÕ ¹®¼°ü¸® ,
º¹ÇÕ ÆÄÀÏ ,
ÀϰüµÈ ÀÚ·á ±³È¯ ,
OLE ÀÚµ¿È µîÀÌ´Ù.
ÀÌ·¯ÇÑ ±â´ÉµéÀ» ÀϹÝÀûÀ¸·Î
OLE2.0À̶ó
ÇÑ´Ù.( ½ÇÁ¦
ÀÌ ±â´É ¿Ü¿¡µµ OCX , ¸ð´ÏÄ¿
,
ŸÀÔ
¶óÀ̺귯¸® µî ´Ù¾çÇÑ ±â´ÉÀÌ ÀÖ´Ù.)
°á±¹ OLE¶õ
COMÀ»
±â¹ÝÀ¸·Î ÇÏ¿© »ý¼ºµÈ °´Ã¼¸¦ ÀǹÌÇÑ´Ù.
½ÇÁ¦ ÀÌ·¯ÇÑ COM±¸Á¶¸¦
CORBA¿Í
ºñ±³ÇÏ¿© »ý°¢Çغ¸¸é ´ÜÀÏ ¸Ó½®»ó¿¡¼ ¼öÇàµÇ´Â CORBAÀÇ
±â´É°ú °°´Ù. ´Ù½Ã
¸»ÇØ COMÀÇ
ÀÎÅÍÆäÀ̽º¸¸ ÀÌ¿ëÇϸé ÇØ´ç ¸Ó½®»ó¿¡¼ ´Ù¸¥ À©µµ¿ì °´Ã¼ÀÇ ¼ºñ½º¸¦
ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ
Á¦¾àÀ» ±Øº¹ÇÏ°í ³×Æ®¿÷»óÀÇ º¹¼ö ¸Ó½®»çÀÌÀÇ ¼ºñ½º¸¦ À§ÇØ °³¹ßÁßÀÎ
°ÍÀÌ ºÐ»êCOM(DCOM, Distributed
COM)ÀÌ´Ù.

[ ±×¸²5-8
] COM ±¸¼ºµµ
1.3.1 COMÀÇ
°´Ã¼ ¸ðµ¨
»ç½Ç COMÀÇ °´Ã¼ ¸ðµ¨¿¡ ´ëÇØ¼´Â ³í¶õÀÌ ¸¹Áö¸¸ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ¸»À» ÀüÀûÀ¸·Î ºô¸®ÀÚ¸é COM °´Ã¼´Â µ¥ÀÌŸ¿Í ¸Þ¼Òµå·Î ±¸¼ºµÇ¾î ÀÖ´Ù. COM °´Ã¼´Â °³¹ßµÇ´Â ¾ð¾î¿¡ µ¶¸³ÀûÀ¸·Î °³¹ßµÇ¾î Áú ¼ö ÀÖ´Ù. ¿Ö³ÄÇÏ¸é ´ÜÁö ÀÎÅÍÆäÀ̽º¸¸À» ¾Ë°í À̸¦ ÅëÇÏ¸é ¿øÇÏ´Â ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ½ÇÁ¦ ÀÌ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¾ð±ÞÀ» Çϱâ Àü¿¡ °ú¿¬ COM °´Ã¼°¡ ¿Ö ÄÄÆ÷³ÍÆ® °´Ã¼¸¦ ±¸¼ºÇϴµ¥ À¯¸®ÇÑÁö »ý°¢Çغ¸ÀÚ. ÀϹÝÀûÀ¸·Î C³ª C++Àº ÀÏ¹Ý ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â µ¥ Æí¸®ÇÏ´Ù. ±×·¯³ª °³¹ßµÇ¾î ÀÖ´Â ÄÄÆ÷³ÍÆ®¸¦ Àç»ç¿ëÇÏ´Â °ÍÀº Èûµé´Ù. ¿Ö³ÄÇÏ¸é ¹ÙÀ̳ʸ®¿¡ ´ëÇÑ Ç¥ÁØ ÀÎÅÍÆäÀ̽º°¡ ¾ø±â ¶§¹®ÀÌ´Ù. ÀÌ·± Á¡¿¡ ´ëÇÑ ´ëÀÀÃ¥À¸·Î COMÀº ÀÎÅÍÆäÀ̽º¸¦ ÅëÇÑ ¹ÙÀ̳ʸ® Ç¥ÁØÀ» Á¦°øÇÑ´Ù. ÀÌ Ç¥ÁØÀ» ÀÌ¿ëÇϸé C++°´Ã¼µç ´Ù¸¥ ¹ÙÀ̳ʸ® °´Ã¼µç »ó°üÇÒ °Í ¾øÀÌ ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ºñÁÖ¾ó º£ÀÌÁ÷°°Àº ÅøÀ» ÀÌ¿ëÇÏ¿© ´Ù¾çÇÑ ¹ÙÀ̳ʸ®¿Í °´Ã¼¸¦ Á¶ÀÛÇÏ´Â ÇÁ·Î±×·¥À» ÀÚÁÖ º¼ ¼ö ÀÖ´Ù.

[ ±×¸²5-9
] COM °´Ã¼
1.3.2 COM ÀÎÅÍÆäÀ̽º
½ÇÁ¦ COM
°´Ã¼¸¦ ÀÚ¼¼È÷ »ìÆìº¸¸é [±×¸²
5-10]¿¡¼
ó·³ °´Ã¼ÀÇ ¸Þ¼ÒµåµéÀÇ ÁýÇÕÀÎ ÀÎÅÍÆäÀ̽º°¡ ´Ù¼ö Á¸ÀçÇϰí ÀÖÀ½À»
¾Ë ¼ö ÀÖ´Ù.( ¸Þ¼ÒµåµéÀ»
µÑ·¯½Î°í ÀÖ´Â 4°¢Çü)
ÀÌ ÀÎÅÍÆäÀ̽º´Â º¹¼ö °³ Á¸ÀçÇÒ
¼ö ÀÖÀ¸¸ç °¢±â ´Ù¸¥ ¸Þ¼Òµå¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù.
ÀÌ·¯ÇÑ ¹æ¹ýÀÇ ÀåÁ¡Àº ´Ù¾çÇÑ
ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ¿© Á¢±ÙÀ» Á¦¾îÇÒ ¼ö ÀÖ´Ù´Â Á¡À» µé ¼ö ÀÖÁö¸¸
ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱⰡ ¹ø°Å·Î¿ì¸ç °´Ã¼ÀÇ Ãß»óÈ¿Í °¸½¶ÈÀÇ °µµ¸¦
¾àȽÃŲ´Ù´Â Á¡À» µé ¼ö ÀÖ´Ù.

[ ±×¸²5-10
] ÀÎÅÍÆäÀ̽º¸¦ Æ÷ÇÔÇÑ COM
°´Ã¼
¶ÇÇÑ COMÀº ÀÌ·¯ÇÑ ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇϱâ À§ÇÑ ±â¹Ý µµ±¸·Î¼ IDLÀ» Á¦°øÇÑ´Ù. COM IDLÀº CORBA IDL°ú ¸¶Âù°¡ÁöÀÇ ¿ªÇÒÀ» ÇÑ´Ù. ±×·¯³ª COM IDLÀº DCE IDLÀ» ä¿ëÇÏ¿© »ç¿ëÇϱ⠶§¹®¿¡ ´Ù¾çÇÑ ¾ð¾î·ÎÀÇ ¸ÅÇÎÀÌ ºÒ°¡´ÉÇÏ´Ù. ¿Ö³ÄÇϸé DCE IDLÀº C¾ð¾î·ÎÀÇ ¸ÅÇÎÀ» ÀüÁ¦·Î Çϱ⠶§¹®ÀÌ´Ù.
±×·¸´Ù¸é Ŭ¶óÀÌ¾ðÆ®°¡ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ COM °´Ã¼ÀÇ ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ´Â °úÁ¤À» ¾Ë¾Æº¸ÀÚ. ¸ÕÀú [±×¸²5-11]¿¡¼ ó·³ Ŭ¶óÀÌ¾ðÆ®´Â ÇØ´ç ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ¾ò¾î¾ß ÇÑ´Ù. ( ½ÇÁ¦ ÀÌ Æ÷ÀÎÅÍ´Â COM¿¡¼ Á¦°øµÈ´Ù. ) ÀÌ Æ÷ÀÎÅ͸¦ µû¶ó°¡¸é °¢ ¸Þ¼Òµå¸¦ °¡¸®Å°°í ÀÖ´Â ÇÔ¼ö Å×À̺íÀÌ ÀÖ´Ù. µû¶ó¼ ÀÌ ÇÔ¼ö Å×ÀÌºí¿¡¼ ¿øÇÏ´Â ¸Þ¼Òµå¸¦ È£ÃâÇÏ¸é µÈ´Ù.

[ ±×¸²5-11
] ÀÎÅÍÆäÀ̽ºÀÇ ±¸Çö
1.3.3 COM IDL
¾Õ¼ Àá½Ã »ìÆìº» °Íó·³ COMÀº
CORBAÀÇ
IDL°ú
¸¶Âù°¡Áö·Î ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇϱâ À§ÇÑ IDLÀ»
Á¦°øÇÑ´Ù. ´ÙÀ½Àº
COM IDLÀÇ
¿¹ÀÌ´Ù.
[ object ,
uuid(a01d0280-2d88-11c0-9fd4-08002cled9e2)
]
interface Iaccount : IUnknown {
typedef [string] char name[25];
HRESULT GetBalance( [out] float *balance);
HRESULT GetOwner( [out] name owner);
HRESULT SetOwner( [in] name owner);
HRESUTL Credit( [in] float amount);
HRESULT Debit( [in] float amount);
}
[ ¿¹5-1
] COM IDL ÀÛ¼º ¿¹
ÀÌ ¿¹¸¦ º¸¸é COM IDLÀº object¶ó´Â Ű¿öµå·Î ½ÃÀÛÇÑ´Ù. À̰ÍÀº DCE IDLÀÇ È®ÀåÀ» »ç¿ëÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. objectŰ¿öµå¿¡ ÀÌ¾î¼ ³ª¿À´Â °ÍÀº ÇØ´ç ÀÎÅÍÆäÀ̽º¸¦ ½Äº°Çϱâ À§ÇÑ 16 ¹ÙÀÌÆ® Å©±âÀÇ UUID(Universal Unique Identifier)ÀÌ´Ù. UUID´Â GUID(Global Unique Identifier)¶ó°íµµ ºÒ¸®´Â µ¥ ÀÎÅÍÆäÀ̽º¸¦ °íÀ¯ÇÏ°Ô ½Äº°ÇØÁØ´Ù. ÇØ´ç ÀÎÅÍÆäÀ̽ºÀÇ UUID´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ Á¦°øÇÏ´Â À¯Æ¿¸®Æ¼¸¦ ÀÌ¿ëÇϰųª Á÷Á¢ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡ ¿äÃ»ÇØ¼ ¾òÀ» ¼ö ÀÖ´Ù. Âü°í·Î COMÀÇ ¸ðµç ÀÎÅÍÆäÀ̽º´Â UUID¸¦, Ŭ·¡½º´Â CLSID(Class ID)¸¦ °¡Áö°í ÀÖ´Ù.
´ÙÀ½¿¡ µû¶ó¿À´Â °ÍÀº ÀÎÅÍÆäÀ̽ºÀÇ Á¤ÀǺκÐÀ¸·Î¼ ¿øÇÏ´Â ÀÎÅÍÆäÀ̽º¸¦ ¼±¾ðÇÒ ¼ö ÀÖ´Ù. HRESULT´Â Ưº°ÇÑ ¿¡·¯ Çڵ鸵À» À§ÇØ »ç¿ëµÇ´Â 21ºñÆ® long integer ÇüÀÇ º¯¼öÀÌ´Ù.
ÀÎÅÍÆäÀ̽º´Â ´Ù¸¥ ÀÎÅÍÆäÀ̽º¸¦ »ó¼Ó
¹ÞÀ» ¼ö ÀÖ°Ô ÇØÁØ´Ù. ±×·¯³ª
ÁÖÀÇÇÒ Á¡Àº ´ÙÁß »ó¼ÓÀº Áö¿øÇÏÁö ¾Ê´Â´Ù´Â Á¡ÀÌ´Ù.
¶ÇÇÑ ±¸Çö ºÎºÐÀÌ »ó¼ÓµÇ´Â °ÍÀÌ
¾Æ´Ï¶ó ÀÎÅÍÆäÀ̽º Á¤ÀÇ ºÎºÐ¸¸ÀÌ »ó¼ÓµÈ´Ù´Â °ÍÀÌ´Ù.
1.3.4 COMÀÇ
±âº» ÀÎÅÍÆäÀ̽ºµé
COM˼
¸ðµç ÀÎÅÍÆäÀ̽ºµéÀÌ °øÅëÀûÀ¸·Î °¡Á®¾ß ÇÒ ÀÎÅÍÆäÀ̽º·Î¼ IUnknownÀ̶ó´Â
ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù. IUnknown
ÀÎÅÍÆäÀ̽ºÀÇ ¸Þ¼Òµå´Â ÀÎÅÍÆäÀ̽º¿¡
´ëÇÑ Æ÷ÀÎÅ͸¦ ¹ÝÈ¯ÇØÁÖ°í °´Ã¼ÀÇ ÂüÁ¶ Ä«¿îÅ͸¦ °í·ÁÇÏ¿© »ý¸íÁֱ⸦
°üÀåÇÑ´Ù. ÀÌ·¯ÇÑ
±â´ÉÀ» À§ÇØ IUnknownÀº
´ÙÀ½ÀÇ ¸Þ¼Òµå¸¦ Á¦°øÇÑ´Ù. Âü°í·Î
ÂüÁ¶ Ä«¿îÅͶõ °´Ã¼¸¦ ÂüÁ¶Çϰí ÀÖ´Â ¼ö¸¦ ±â·ÏÇØµÎ´Â ¹æ¹ýÀÌ´Ù.
µû¶ó¼ ÂüÁ¶ Ä«¿îÅͰ¡ 0
À̶õ ¸»Àº ÇØ´ç °´Ã¼¸¦ »ç¿ëÇÏ´Â
´Ù¸¥ °´Ã¼°¡ ¾ø´Ù´Â ¸»À̱⠶§¹®¿¡ »èÁ¦ÇÒ ¼ö ÀÖ´Ù.
ÇØ´ç °´Ã¼¸¦ Á¦°øÇÏ´Â ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ
Æ÷ÀÎÆ®¸¦ ¾òÀ» ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇØÁØ´Ù.
½ÇÁ¦·Î [±×¸²5-12]¿¡¼
ó·³ ÇØ´ç Ŭ¶óÀÌ¾ðÆ®°¡ COM
°´Ã¼ÀÇ
¸Þ¼Òµå¸¦ ÀÌ¿ëÇϱâ À§Çؼ´Â ¸ÕÀú ÀÎÅÍÆäÀ̽º Æ÷ÀÎÅ͸¦ °¡Á®¾ß ÇÑ´Ù.
À̸¦ À§Çؼ´Â ¸ÕÀú ÇØ´ç ÀÎÅÍÆäÀ̽ºÀÇ
ID
¿Í
ÇÔ²² IUnknownÀÎÅÍÆäÀ̽ºÀÇ
QueryInterface¸¦
È£ÃâÇØ¾ß ÇÑ´Ù. ÀÏ´Ü
ÇØ´ç ¸Þ¼Òµå°¡ È£ÃâµÇ¸é ÇØ´ç ÀÎÅÍÆäÀ̽ºÀÇ Á¸Àç¿©ºÎ¸¦ °Ë»çÇÑ ÈÄ
ÇØ´ç ÀÎÅÍÆäÀ̽º°¡ Á¸ÀçÇϸé ÀÎÅÍÆäÀ̽º Æ÷ÀÎÅÍ(X)¸¦
¹ÝȯÇÑ´Ù.
Ŭ¶óÀÌ¾ðÆ®´Â ÇØ´ç ÀÎÅÍÆäÀ̽º Æ÷ÀÎÅÍ(X)¸¦
ÀÌ¿ëÇÏ¿© ÇØ´ç °´Ã¼(A)ÀÇ
¸Þ¼Òµå¸¦ È£ÃâÇÏ¸é µÈ´Ù. ÀÌ
¹æ¹ýÀÇ ÀåÁ¡Àº »ç¿ëÇϰíÀÚ ÇÏ´Â ÄÄÆ÷³ÍÆ®ÀÇ ¹öÀüÀÌ º¯ÇÏ´õ¶óµµ Ŭ¶óÀÌ¾ðÆ®´Â
¹«°üÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù.
[ ±×¸²5-12
] ÁúÀÇ ÀÎÅÍÆäÀ̽ºÀÇ »ç¿ë
°´Ã¼ÀÇ ÂüÁ¶ Ä«¿îÅ͸¦ Áõ°¡½ÃŲ´Ù.
°´Ã¼ÀÇ ÂüÁ¶ Ä«¿îÆ®¸¦ °¨¼Ò½ÃŲ´Ù.
¸ðµç °´Ã¼´Â ÀÚµ¿ÀûÀ¸·Î »ý¼ºµÇ±âµµ Çϸç
¼Ò¸êµÇ±âµµ ÇÑ´Ù. À̶§
º¹¼ö °³ÀÇ Å¬¶óÀÌ¾ðÆ®µéÀÌ ÇϳªÀÇ °´Ã¼¸¦ ÂüÁ¶ÇÒ ¼ö µµ ÀÖ´Ù.
ÀÌ ¶§ ÇØ´ç °´Ã¼´Â ÀÚ½ÅÀÌ ÂüÁ¶µÇ°í
ÀÖ´Â Á¤º¸¸¦ À¯ÁöÇØ¾ß ÇÑ´Ù. ¿Ö³ÄÇϸé
¸¸¾à Ŭ¶óÀÌ¾ðÆ® ÂüÁ¶°¡ °è¼ÓµÇ´Â ¼ø°£ ÇØ´ç °´Ã¼°¡ ¼Ò¸êµÈ´Ù¸é ¹®Á¦°¡
¹ß»ýÇÑ´Ù. µû¶ó¼
ÂüÁ¶ ½Ã ¹ß»ýÇÏ´Â Àϰü¼ºÀ» À¯ÁöÇϱâ À§ÇØ ÂüÁ¶ Ä«¿îÅ͸¦ »ç¿ëÇÑ´Ù.
ÀÏ´Ü ÂüÁ¶¸¦ ¿øÇÒ °æ¿ì Addref¸¦
»ç¿ëÇÏ¿© ÂüÁ¶ Ä«¿îÆ®¸¦ Çϳª Áõ°¡½Ã۸ç ÂüÁ¶¸¦ ¿øÇÏÁö ¾ÊÀ» °æ¿ì(»ç¿ëÀ»
´ÙÇÑ °æ¿ì) Release¸¦
»ç¿ëÇÏ¿© ÂüÁ¶ Ä«¿îÆ®¸¦ °¨¼Ò½ÃŰ´Ù.
°á±¹ ÂüÁ¶ Ä«¿îÆ®°¡ 0ÀÏ
°æ¿ì ÇØ´ç °´Ã¼¿¡ ´ëÇÑ ÂüÁ¶°¡ ¾ø´Â °ÍÀ̱⠶§¹®¿¡ ÇØ´ç °´Ã¼°¡ ¼Ò¸êÇØµµ
¹®Á¦°¡ ¹ß»ýÇÏÁö ¾Ê´Â´Ù.
1.3.5 COM °´Ã¼ÀÇ
±¸Çö ¹æ¹ý
¸ðµç COM
°´Ã¼´Â COM
¼¹ö ³»¿¡ ±¸ÇöµÇ¾î Ŭ¶óÀÌ¾ðÆ®¿¡°Ô
ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù. ÀÌ
¼¹ö´Â ´ÙÀ½ÀÇ 3°¡Áö
¹æ¹ý Áß Çϳª¿¡ ÀÇÇØ¼ ±¸ÇöµÉ ¼ö ÀÖ´Ù.
¸ðµç °´Ã¼´Â DLL³»¿¡
±¸ÇöµÈ´Ù.
°´Ã¼´Â °°Àº ¸Ó½® »óÀÇ ºÐ¸®µÈ ÇÁ·Î¼¼½º³»¿¡¼
±¸ÇöµÈ´Ù.
°´Ã¼´Â ´Ù¸¥ ¸Ó½® »ó¿¡ ±¸ÇöµÈ´Ù.
À§ÀÇ ¹æ¹ý Áß Remote ¹æ¹ýÀº ÇöÀç Áö¿øµÇÁö ¾Ê´Â´Ù . µû¶ó¼ COM¼¹ö´Â ´ÜÀÏ ¸Ó½® »ó¿¡¼¸¸
ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
±×·¯³ª ÇöÀç ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â
OSF DCEÀÇ
RPC¸¦
ÀÌ¿ëÇÏ¿© À̸¦ ±¸Çö Áß¿¡ ÀÖ´Ù.
1.3.6 COM Ä¿³Î
COM °´Ã¼ÀÇ Å¬¶óÀÌ¾ðÆ®¿Í ¼¹ö´Â ¸ðµÎ COMÄ¿³ÎÀ» ÀÌ¿ëÇÑ´Ù. µû¶ó¼ COMÄ¿³ÎÀº À©µµ¿ì DLL·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç(COMOBJ.DLL) ÇÔ¼öÈ£ÃâÀ» ÅëÇØ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¸´Ù¸é COM °´Ã¼ÀÇ Å¬¶óÀÌ¾ðÆ®¿Í ¼¹ö°¡ COM Ä¿³Î°ú À¯±âÀûÀ¸·Î ÀÛµ¿ÇÏ´Â °úÁ¤À» »ìÆìº¸ÀÚ.
[±×¸²
5-13]¿¡¼
ó·³ ¸ÕÀú Ŭ¶óÀÌ¾ðÆ®´Â CoCreateInstance
¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© COMÄ¿³Î¿¡
¼ºñ½º¸¦ ¿äûÇÑ´Ù. À̶§
ÇØ´ç °´Ã¼ÀÇ Å¬·¡½º ID¿Í
ÀÎÅÍÆäÀ̽º ID¸¦
ÇÔ²² Àü´ÞÇÑ´Ù. ÇØ´ç
¼ºñ½º ¿äûÀ» ¹ÞÀº COMÄ¿³ÎÀº
À©µµ¿ì ¿î¿µ üÁ¦ÀÇ ½Ã½ºÅÛ µ¥ÀÌŸº£À̽ºÀÎ ·¹Áö½ºÆ®¸®¿¡ µî·ÏµÈ Á¤º¸¸¦
ÀÌ¿ëÇÏ¿© ÇØ´ç ¼¹öÀÇ À§Ä¡¸¦ ã°í ±¸µ¿½ÃŲ ÈÄ ÇØ´ç ¼¹öÀÇ ÀÎÅÍÆäÀ̽º
Æ÷ÀÎÅÍ(A)¸¦
Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¹ÝȯÇÑ´Ù. ÇØ´ç
Ŭ¶óÀÌ¾ðÆ®´Â Àü´Þ¹ÞÀº ÀÎÅÍÆäÀ̽º Æ÷ÀÎÅ͸¦ ÀÌ¿ëÇÏ¿© ¿øÇÏ´Â ¸Þ¼Òµå¸¦
¼öÇàÇÑ´Ù.

[ ±×¸²5-13
] °´Ã¼ÀÇ ÃʱâÈ
1.3.7 COM¿¡¼ÀÇ
Àç»ç¿ë ±â¹ý
COM¿¡¼´Â
±âÁ¸ÀÇ Á¸ÀçÇÏ´Â ÄÄÆ÷³ÍÆ®ÀÇ Äڵ带 Àç»ç¿ëÇϱâ À§ÇØ ´ÙÀ½ÀÇ 2°¡Áö
¹æ¹ýÀ» »ç¿ëÇÑ´Ù.
¸ÕÀú ÄÁÅ×ÀÎ¸ÕÆ®´Â µÎ°³ÀÇ °´Ã¼Áß ´Ù¸¥
°´Ã¼¸¦ Æ÷ÇÔÇÏ´Â ¿ÜºÎ °´Ã¼ÀÇ Å¬¶óÀÌ¾ðÆ®¿¡°Ô Æ÷ÇÔµÈ ³»ºÎ °´Ã¼¸¦
Á÷Á¢ »ç¿ëÇÏÁö ¸øÇÏ°Ô ÇÏ´Â °ÍÀε¥ ¹ÝÇØ ¿¡±×¸®°ÔÀ̼ÇÀº Æ÷ÇÔµÈ ³»ºÎ
°´Ã¼ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ¿ÜºÎ °´Ã¼ÀÇ Å¬¶óÀÌ¾ðÆ®¿¡°Ô Á¦°øÇÏ´Â °ÍÀÌ´Ù.
±¸Çö»óÀ¸·Î º¸¸é ÄÁÅ×ÀÎ¸ÕÆ®´Â
´Ü¼øÇÏ¸ç °¡Àå ÀϹÝÀûÀÎ ¹æ¹ýÀε¥ ¹ÝÇØ ¿¡±×¸®°ÔÀ̼ÇÀº º¹ÀâÇÏ°í ±¸ÇöÇϱâ
¾î·Æ´Ù.
1.4 ±âŸ
OLEÀÇ
¼ºñ½ºµé
1.4.1 ¸®
¸ðÆ®
¿ÀÅä¸ÞÀ̼Ç(Remote Automation)
¸®¸ðÆ® ¿ÀÅä¸ÞÀ̼ÇÀº ³×Æ®¿÷ OLE¿¡
´ëÇÑ ´ëü °³³äÀÌ´Ù. ÀÌ
°³³äÀº OLE ¿ÀÅä¸ÞÀ̼ÇÀÇ
ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ Ŭ¶óÀÌ¾ðÆ® /
¼¹ö ÀÀ¿ë ÇÁ·Î±×·¥µéÀ» °³¹ßÇÒ
¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÒ »Ó¸¸ ¾Æ´Ï¶ó ´Ù´Ü°è Ŭ¶óÀÌ¾ðÆ® /
¼¹ö ½Ã½ºÅÛÀ» ±¸ÇöÇÏ´Â µ¥ ÇÊ¿äÇÑ
ÄÄÆ÷³ÍÆ®µéÀÇ ¹èÄ¡ ±â´ÉÀ» Á¦°øÇÑ´Ù.
¶ÇÇÑ Å¬¶óÀÌ¾ðÆ® ÀÀ¿ë ÇÁ·Î±×·¥µéÀÌ
À©µµ¿ì 95 ³ª
À©µµ¿ì NT»ó¿¡¼
¿î¿ëµÇ¾îÁö´Â OLE ¼¹ö
ÀÀ¿ë ÇÁ·Î±×·¥µé°ú ´ëÈÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù.
¿ÀÅä¸ÞÀÌ¼Ç ÇÁ·Ï½Ã(Automation Proxy)
Ŭ¶óÀÌ¾ðÆ® ¸Ó½®»ó¿¡ À§Ä¡Çϸç ÇÑ ¿ÀÅä¸ÞÀ̼Ç
Ŭ¶óÀÌ¾ðÆ®°¡ ´ÜÀÏ ¸Ó½®»ó¿¡¼ »ç¿ëÇÏ´Â ÀϹÝÀûÀÎ OLE
ÇÁ·Ï½Ã ±â´ÉÀ» ´ã´çÇÑ´Ù.
¿ÀÅä¸ÞÀÌ¼Ç °ü¸®ÀÚ(Automation Manager)
¼¹ö ¸Ó½®»ó¿¡ À§Ä¡Çϸç Ŭ¶óÀ̾ðÆ®
¸Ó½®ÀÇ ¿ÀÅä¸ÞÀÌ¼Ç ÇÁ·Ï½Ã·Î ºÎÅÍÀÇ ¿ä±¸µéÀ» ¼¹ö ¸Ó½®ÀÇ ÀûÀýÇÑ
¿ÀÅä¸ÞÀÌ¼Ç ½ºÅͺê¿Í ¿ÀÅä¸ÞÀÌ¼Ç ¼¹ö·Î Àü´ÞÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù.

[
±×¸²5-14
] ¸®¸ðÆ® ¿ÀÅä¸ÞÀÌ¼Ç ±¸¼ºµµ
¸®¸ðÆ® ¿ÀÅä¸ÞÀ̼ÇÀÌ Á¦°øÇÏ´Â ÀåÁ¡Àº ´ÙÀ½°ú °°´Ù.
¸ÕÀú °¢°¢ÀÇ Å¬¶óÀÌ¾ðÆ® ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ
Äڵ带 ÇϳªÀÇ Áß¾Ó ¼¹ö(centralized
server)·Î ¿Å±èÀ¸·Î½á,
ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ À¯Áö ¹× º¸¼ö°¡
´Ü¼øÈ µÇ¾î °ü¸® ºñ¿ëÀ» ÁÙÀÏ ¼ö ÀÖÀ¸¸ç ¸®¸ðÆ® OLE
¿ÀÅä¸ÞÀÌ¼Ç ¼¹ö¸¦ Ŭ¶óÀÌ¾ðÆ®¿Í
¼¹ö »çÀÌ¿¡ À§Ä¡½ÃÅ´À¸·Î½á, °³¹ßÀÚµéÀº
ºñÁÖ¾ó º£ÀÌÁ÷À» »ç¿ëÇÏ¿© ÀÀ¿ë ÇÁ·Î±×·¥À» °³¹ßÇÒ ¼ö ÀÖ´Ù.
¶ÇÇÑ Å©°í,
½Ã°£ Áý¾àÀûÀÎ ÀÛ¾÷µéÀ» ¿ø°ÝÁöÀÇ
¼¹ö ¸Ó½®¿¡ À§Å¹ÇÒ ¼ö ÀÖ´Ù. ¸¶Áö¸·À¸·Î
¿ø°Ý ¿ÀÅä¸ÞÀÌ¼Ç ±â¼úÀ» »ç¿ëÇÏ¿© ¹èÄ¡µÈ ¼¹öµéÀº OLE
Ŭ¶óÀÌ¾ðÆ® ¾îÇø®ÄÉÀ̼ǵ鿡
ÀÇÇØ ½±°Ô »ç¿ëµÇ¾î Áú ¼ö ÀÖÀ¸¸ç °¢Á¾ ³×Æ®¿÷À» °æÀ¯ÇÏ¿© ½±°Ô Á¢±ÙÇÒ
¼ö ÀÖ´Ù.
1.4.2 OCX
OCX(OLE Control Extension)´Â
OLE ÀÎÅÍÆäÀ̽º¸¦
Á¦°øÇÏ´Â ¿ÀÅä¸ÞÀÌ¼Ç ¼¹ö ÇÁ·Î±×·¥À¸·Î¼ ÆûÀ» ÀÛ¼ºÇϴ Ŭ¶óÀ̾ðÆ®
Åø ÇÁ·Î±×·¥³»¿¡¼ »ç¿ëµÇ´Â »ç¿ëÀÚ Á¤ÀÇ ÄÁÆ®·ÑÀÌ´Ù.
OCX´Â OLEÀÎÅÍÆäÀ̽º¸¦
Á¦°øÇÏ´Â ¸ðµç Ŭ¶óÀÌ¾ðÆ® Åø¿¡¼ »ç¿ëÇÒ ¼ö Àִµ¥ ÇöÀç »ç¿ëÇÒ ¼ö
ÀÖ´Â Á¦Ç°À¸·Î´Â ¾×¼¼½º 2.0, ºñÁÖ¾ó
º£ÀÌÁ÷ 4.0, µ¨ÆÄÀÌ
µîÀÌ ÀÖ´Ù. OCX ÄÁÆ®·ÑÀº
PC ¼ÒÇÁÆ®¿þ¾î
ȯ°æ¿¡¼ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»ç°¡ Á¦¾ÈÇÑ COM(Component
Object Model) ¸ðµ¨À» µû¸£°í
ÀÖ´Ù.
1.4.2.1 Ä¿
½ºÅÒ
ÄÁÆ®·ÑÀÇ Á¤ÀÇ
¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì¿¡¼ÀÇ ÄÁÆ®·ÑÀ̶õ
À©µµ¿ì¿¡ »ðÀԵǾî ÀÚ½ÅÀÌ °¡Áö°í Àִ ƯÁ¤ÇÑ ±â´ÉÀ» »ðÀԵǴ ºÎ¸ð
À©µµ¿ì¿¡ Á¦°øÇÏ´Â ÇϳªÀÇ ÀÚ½Ä À©µµ¿ì¸¦ ¸»ÇÑ´Ù.
ÇÑ ¿¹·Î ÇÑ À©µµ¿ì°¡ »ç¿ëÀÚ·Î
ºÎÅÍ ¹®ÀÚ¿À» ÀÔ·Â¹Þ°í ½ÍÀ¸¸é ¹®ÀÚ¿ ÀÔ·ÂÀÇ ±â´ÉÀ» °¡Áö°í ÀÖ´Â
¿¡µðÅÍ ÄÁÆ®·ÑÀ» »ðÀÔÇÑ ÈÄ ±× ÄÁÆ®·Ñ·Î ºÎÅÍ ¹®ÀÚ¿À» ÀԷ¹ÞÀ» ¼ö
ÀÖ´Ù. ¶ÇÇÑ
¹öư ÄÁÆ®·ÑÀ» »ðÀÔÇÏ¿© »ç¿ëÀÚºÎÅÍ ¾î¶°ÇÑ ¸í·ÉÀ» ¹ÞÀ» ¼öµµ ÀÖ´Ù.
ÀÌó·³ À©µµ¿ì¿Í »ç¿ëÀÚ°£ÀÇ ÀÎÅÍÆäÀ̽º
¿ªÇÒÀ» ´ã´çÇÏ´Â °ÍÀÌ ÄÁÆ®·ÑÀÇ °¡Àå Å« ¸ñÀûÀÌ´Ù.
»ç¿ëÀÚ´Â ÀÌ ÄÁÆ®·ÑÀ» ÅëÇØ À©µµ¿ì¿¡°Ô
¾î¶°ÇÑ ÀÏÀ» Áö½ÃÇϰí, À©µµ¿ì´Â
ÀÌ ÄÁÆ®·ÑÀ» ÅëÇØ ó¸®ÇÑ °á°ú¸¦ º¸¿©ÁÙ ¼ö ÀÖ´Ù.
°ÅÀÇ ¸ðµç À©µµ¿ì°¡ ÀÌ ÄÁÆ®·ÑÀ»
ÀÌ¿ëÇÏ¿© ÀÛ¼ºµÈ °ÍÀ̶ó ÇØµµ °ú¾ðÀÌ ¾Æ´Ï´Ù.
¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì´Â ±âº»ÀûÀ¸·Î
À§¿¡¼ ¿¹¸¦ µç ¿¡µðÅÍ, ¹öư
¿Ü¿¡µµ ¸®½ºÆ® ¹Ú½º, Æ®¸®
ºä, ÇÁ·Î±×·¥
¹Ù, Åø
¹Ù µî 20°³
ÀÌ»óÀÇ ÄÁÆ®·ÑÀ» ³»ÀåÇϰí ÀÖ´Ù.
À̸¦ À©µµ¿ì ÄÁÆ®·ÑÀ̶ó ºÎ¸¥´Ù
.
»ç½Ç À©µµ¿ì°¡ ±âº»ÀûÀ¸·Î Á¦°øÇÏ´Â ÄÁÆ®·Ñ¸¸À»
»ç¿ëÇØ¼ À©µµ¿ì¸¦ ÀÛ¼ºÇÑ´Ù¸é »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º´Â ±ØÈ÷ Á¦ÇÑÀûÀÌ
µÉ °ÍÀÌ´Ù. µû¶ó¼
À©µµ¿ì°¡ Á¦°øÇÏ´Â ±âº» ÄÁÆ®·Ñ ¿Ü¿¡ »ç¿ëÀÚ°¡ Á÷Á¢ »ç¿ëÀÚ ÄÁÆ®·ÑÀ»
¸¸µé°í, ÀÛ¼ºÇÑ
ÄÁÆ®·ÑÀ» À©µµ¿ì¿¡ »ðÀÔÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÇÊ¿äÇÏ°Ô µÇ¾ú´Ù.
ÀÌ¿¡ ´ëÇÑ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ Ã¹¹øÂ°
ÇØ°áÃ¥ÀÌ VBX(Visual Basic
Extension)À̾ú´Ù.
±×·¯³ª VBX¸¦
»ðÀÔÇØ¼ »ç¿ëÇÒ ¼ö ÀÖ´Â À©µµ¿ìÀÇ Á¾·ù°¡ ºñÁÖ¾ó º£ÀÌÁ÷ µî ¸î °³
¹Û¿¡ µÇÁö ¾Ê¾Ò°í ±× ¼öÇà ¼Óµµµµ ±×¸® ºü¸£Áö ¸øÇÏ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ¾ú´Ù.
±×·³¿¡µµ ºÒ±¸Çϰí Àü¼¼°è¿¡ °ÉÃÄ
¼ö¹é °³ÀÇ ÄÁÆ®·ÑÀÌ °³¹ßµÇ°í ÆÇ¸ÅµÇ¾î ÇϳªÀÇ ¼ÒÇÁÆ®¿þ¾î ½ÃÀåÀ»
Çü¼ºÇÏ°Ô µÇ¾ú´Ù.
VBX½ÃÀåÀÌ
¹«¸£ÀÍÀ» ¹«·Æ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»ç¿¡¼ »õ·Î °¡Áö°í ³ª¿Â »ç¿ëÀÚ ÄÁÆ®·Ñ
¸í¼¼°¡ OCXÀÌ´Ù.
À̰ÍÀº OLE2.0¿¡¼
À©µµ¿ì¿¡ °³Ã¼¸¦ »ðÀÔÇÏ´Â ¹æ¹ýÀ» ±×´ë·Î ÀÌ¿ëÇÏ¿© »ç¿ëÀÚ ÄÁÆ®·ÑÀ»
¸¸µéÀÚ´Â °ÍÀÌ´Ù. »ç¿ëÀÚ
ÄÁÆ®·Ñµµ OLE°´Ã¼·Î
¸¸µéÀÚ´Â °ÍÀº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ ÁöÇâÇÏ´Â ºÐ»ê °´Ã¼ÁöÇ⠿ üÁ¦ÀÇ
ÀÏȯÀÏ °ÍÀ¸·Î »ý°¢µÈ´Ù. Áï
OCX´Â
OLE°´Ã¼·Î¼ÀÇ
»ç¿ëÀÚ ÄÁÆ®·ÑÀ̶ó°í ¸»ÇÒ ¼ö ÀÖ´Ù.
OCX´Â ±× ¾ÆÅ°ÅØÃÄ¿¡ À־Â
VBX¿Í
ÀüÇô ´Ù¸£Áö¸¸ ÀÏ¹Ý »ç¿ëÀÚ°¡ »ç¿ëÇÏ´Â ¹æ¹ýÀº °ÅÀÇ µ¿ÀÏÇÏ´Ù.
1.4.2.2 VBXÄÁÆ®·Ñ°ú
OCXÄÁÆ®·Ñ°úÀÇ
°¡Àå Å« Â÷ÀÌÁ¡
VBX ÄÁ
Æ®·Ñ
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»ç¿¡¼ ÄÄÆ÷³ÍÆ®¿þ¾î¶ó´Â
»õ·Î¿î ¼ÒÇÁÆ®¿þ¾î °³³äÀ» Á¦½ÃÇÑ ÈÄ ±× °³³äÀ» µµÀÔÇÑ Ã¹¹øÂ° Á¦Ç°ÀÌ
ºñÁÖ¾ó º£ÀÌÁ÷ÀÌ¿´´Ù. ºñÁÖ¾ó
º£ÀÌÁ÷ÀÌ ÄÄÆ÷³ÍÆ®¿þ¾îÀÇ °³³äÀ» Áö´Ò ¼ö ÀÖ¾ú´ø °ÍÀº VBX(Visual
Basic Extension) ÄÁÆ®·Ñ ¶§¹®ÀÌ¿´´Ù
.
À©µµ¿ì ½Ã½ºÅÛÀº ¸î °¡Áö ±âº»ÀûÀÎ
ÄÁÆ®·ÑÀ» Á¦°øÇϰí ÀÖ¾úÀ¸³ª Á¾·ù´Â ´Ù¾çÇÏÁö ¾Ê¾Ò°í,
ÇÊ¿äÇÑ °æ¿ì »ç¿ëÀÚ°¡ ÇÊ¿äÇÑ
ÄÁÆ®·ÑÀ» ¸¸µé ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇϰí ÀÖ¾ú´Ù.
VBX ÄÁÆ®·Ñ
˼
ÀÏÁ¾ÀÇ »ç¿ëÀÚ Á¤ÀÇ ÄÁÆ®·ÑÀ̶ó ÇÒ ¼ö Àִµ¥ ÀÌ´Â ºñÁÖ¾ó º£ÀÌÁ÷°ú
°¡Àå Àß ¾î¿ï¸®µµ·Ï ¼³°èµÇ°í ±¸ÇöµÇ¾ú´Ù.
VBX ÄÁÆ®·Ñ°ú ºñÁÖ¾ó º£ÀÌÁ÷ »çÀÌÀÇ
»óÈ£ Åë½ÅÀº À©µµ¿ìÀÇ ¸Þ¼¼Áö Å¥¸¦ »ç¿ëÇÏ¿© ±¸ÇöµÇ¾ú´Ù.
¸Þ¼¼Áö Å¥ÀÇ ¸Þ¼¼Áö´Â À©µµ¿ì¿¡
ÀÇÇÏ¿© Â÷·Ê·Î ¼öÇàµÇ¾ú±â¿¡ ¶§·Î´Â ´ë±â ½Ã°£ÀÌ ±æ¾îÁú ¼ö ÀÖ¾ú°í
»ç¿ëÀÚ¿¡°Ô´Â ´Ù¼Ò ´À¸° ´À³¦À» ÁÖ¾ú´Ù.
Åë½ÅÀ» À§ÇÏ¿© »õ·Î¿î ¸¹Àº ¸Þ¼¼Áö°¡
ºñÁÖ¾ó º£ÀÌÁ÷°ú VBX ÄÁÆ®·Ñ
»çÀÌ¿¡¼ Á¤ÀǵǾú±â ¶§¹®¿¡ °á°úÀûÀ¸·Î VBX
ÄÁÆ®·ÑÀº ºñÁÖ¾ó º£ÀÌÁ÷¿¡¼ °¡Àå
Àß ¿î¿ëµÉ ¼ö ÀÖ¾ú´Ù. Áï
ºñÁÖ¾ó º£ÀÌÁ÷¿ÜÀÇ VBX ÄÁÆ®·ÑÀ»
ÀÌ¿ëÇÒ ¼ö ÀÖ´Â »õ·Î¿î Ŭ¶óÀÌ¾ðÆ® ÅøÀ» °³¹ßÇϴµ¥ ¿©·¯°¡Áö ¹®Á¦Á¡ÀÌ
¸¹¾Ò°í VBX ÄÁÆ®·ÑÀ»
°³¹ßÇϴµ¥µµ ¸¹Àº ¾î·Á¿òÀÌ ÀÖ¾ú´Ù.
VBX ÄÁÆ®·ÑÀº ´ÙÁß Ç÷§Æû¿¡¼
»ç¿ëµÇ±â¿¡´Â ¸í¼¼»ó ¹®Á¦°¡ ¸¹¾Ò°í À̸¦ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»ç¿¡¼µµ
ÀÎÁ¤Ç߱⿡ OCX ÄÁÆ®·Ñ·Î
º¯°æÇÏ°Ô µÇ¾ú´Ù.
OCXÄÁÆ®
·Ñ
OCX ÄÁÆ®·Ñ
˼
Ç¥ÁØ ÀÎÅÍÆäÀ̽º·Î¼ OLE ÀÎÅÍÆäÀ̽º¸¦
Á¦°øÇÏ¿© ´ÙÁß ¿î¿µ üÁ¦¿Í ´ÙÁß Ç÷§Æû¿¡¼ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ
ÄÁÆ®·ÑÀÌ´Ù. OLE ÀÎÅÍÆäÀ̽º´Â
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»ç¿¡¼ ºÐ»ê °´Ã¼ ¸ðµ¨·Î Á¦½ÃÇÑ COM
¸ðµ¨À» ÀϺΠ±¸ÇöÇÑ °ÍÀ̰í À̸¦
À©µµ¿ì NT¿Í
À©µµ¿ì 95 ¿î¿µ
üÁ¦¿¡¼ Áö¿øÇϰí Àֱ⠶§¹®ÀÌ´Ù.
À©µµ¿ì NTÀÇ
ÇâÈÄ ¹öÀü¿¡¼´Â ¿ÏÀüÇÑ ³×Æ®¿÷ OLE°¡
±¸ÇöµÉ °ÍÀ¸·Î ¿¹»óµÈ´Ù. OCX
ÄÁÆ®·ÑÀº
Ŭ¶óÀÌ¾ðÆ® Åø°úÀÇ »óÈ£ Åë½ÅÀ» OCXÄÁÆ®·ÑÀÇ
¸Þ¼Òµå¸¦ Á÷Á¢ È£ÃâÇÏ´Â ¹æ¹ýÀ¸·Î ó¸®ÇÑ´Ù.
Áï Åë½Å ±â´É¿¡ °´Ã¼°³³äÀ» Ãß°¡ÇÏ¿´´Ù
.
- OCXÀÇ
±¸¼º ¿ä¼Ò
°¢ Ŭ¶óÀÌ¾ðÆ® ÅøÀº OLE
ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇØ OCX
°´Ã¼¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.
Áï,
OLEÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ´Â ¸ðµç
Ŭ¶óÀÌ¾ðÆ® ÅøÀº ¸ðµç OCXÄÁÆ®·ÑµéÀ»
»ç¿ëÇÒ ¼ö ÀÖ´Ù.
Ŭ¶óÀÌ¾ðÆ® ÅøÀº OCXÀÇ
°¢ ¸Þ¼ÒµåµéÀ» È£ÃâÇÔÀ¸·Î½á OCX
ÄÁÆ®·Ñ·Î ÇÏ¿©±Ý ƯÁ¤ ÀÛ¾÷À»
¼öÇàÇϵµ·Ï Áö½ÃÇÒ ¼ö ÀÖ´Ù.
OCX ÄÁÆ®·Ñ
˼
¼³Á¤µÈ ȯ°æÀ» º¯°æÇÒ ¼ö ÀÖ´Â ÇÁ·ÎÆÛƼ¸¦ Á¦°øÇÑ´Ù.
OCX ÄÁÆ®·Ñ
¿¡
ƯÁ¤ À̺¥Æ®°¡ ¹ß»ýÇÒ ¶§¸¶´Ù ÇØ´ç ÄÁÆ®·ÑÀÇ Å¬¶óÀÌ¾ðÆ®¿¡°Ô Á¦¾î±ÇÀ»
³Ñ°ÜÁÜÀ¸·Î½á Ŭ¶óÀÌ¾ðÆ® Åø·Î ÇÏ¿©±Ý ƯÁ¤ ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ°Ô
ÇÑ´Ù.
1.5 CORBA ´ë
COM
¾Õ¼ ¹ÌÈíÇϳª¸¶ CORBA¿Í CORBA¼ºñ½º ±×¸®°í COM°ú COMÀ» ±â¹ÝÀ¸·Î ÇÏ´Â OLE¿¡ ´ëÇØ¼ »ìÆìº¸¾Ò´Ù. ÀÌÁ¦ ¸¶Áö¸·À¸·Î ÀÌ µÎ °´Ã¼±â¼úÀ» ºñ±³ÇØ º¸µµ·Ï ÇϰڴÙ. »çÁ·ÀÌÁö¸¸ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ¿ËÈ£·ÐÀÚµéÀº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ °¡Áö°í ÀÖ´Â Àý´ëÀûÀÎ Áö¹è·ÂÀ» ¹è°æÀ¸·Î ÇÏ¿© COM/OLE°¡ ¸¶Áö¸· ½Â¸®ÀÚ°¡ µÉ °ÍÀ̶ó°í ¸»Çϰí ÀÖ´Ù. ±×·¯³ª ¼ö¹é °³ÀÇ ±â¾÷ÀÌ °¡ÀÔÇÏ¿© °´Ã¼Ç¥ÁØ ±â¼úÀ» Á¤ÀÇÇϰí ÀÌ Ç¥ÁØÀ» ÁؼöÇÏ´Â Á¦Ç° °³¹ßÀ» ±ÇÀåÇϰí ÀÖ´Â OMG´Â COM/OLEÀÇ ½ÇÁ¦¸¦ ÀÎÁ¤ÇÏ°í °øÁ¸ÀÇ ±æÀ» ¸ð»öÇϰí ÀÖ´Ù. °ú¿¬ ¾ÕÀ¸·Î ÀÌ ÀüÀïÀÌ ¾î¶»°Ô ÆîÃÄÁúÁö´Â ¾Æ¹«µµ ¸ð¸£Áö¸¸ ÀÎÅͳÝÀ» Ç÷§ÆûÀ¸·Î ÇÑ »õ·Î¿î ȯ°æ¿¡¼ ´õ ÀÌ»ó ºô°ÔÀÌÃ÷ÀÇ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ ¸ðµç ÁÖµµ±ÇÀ» Çà»çÇÏÁö´Â ¸øÇϰí ÀÖ´Ù. ¿Ö³ÄÇÏ¸é ¸ðµç ÄÄÇ»ÆÃ ȯ°æÀÌ ºô°ÔÀÌÃ÷ÀÇ À©µµ¿ì´Â ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. °á±¹ ÀÌ µÎ ¼¼°è´Â °øÁ¸ÇÏ°Ô µÉ °ÍÀÌ´Ù.
¸ÕÀú ÀÌ µÎ °´Ã¼ ±â¼úÀÇ ºñ±³¸¦ À§ÇØ
Å©°Ô ¸î°¡Áö ±âÁØÀ» ¼³Á¤ÇØ º¸µµ·Ï ÇÑ´Ù.
¸ÕÀú µÎ °´Ã¼±â¼úÀÇ ¹ÙÅÁÀÎ °´Ã¼ÀÇ
¸ðµ¨À» ±âÁØÀ¸·Î ºñ±³ÇÏ°í °´Ã¼ ¹ö½º·Î¼ÀÇ ±â´É ,
IDL¿¡ ÀÇÇÑ ¾ð¾î ¸ÅÇÎ ±â´É
,
Á¦°øµÇ´Â ½Ã½ºÅÛ ¼ºñ½º¸¦ ±âÁØÀ¸·Î
»ìÆìº¸µµ·Ï ÇÑ´Ù.
1.5.1 °´
ü
¸ðµ¨À» ÅëÇÑ ºñ±³
CORBA¿¡¼
Áö¿øÇÏ´Â °´Ã¼ ¸ðµ¨Àº °´Ã¼ ÁöÇâ ±â¼ú¿¡¼ ¸»ÇÏ´Â ÀüÅëÀûÀÎ °´Ã¼ÀÌ´Ù.
µû¶ó¼ ÀÌ °´Ã¼´Â ³»ºÎ¿¡ µ¥ÀÌŸ¿Í
¸Þ¼Òµå·Î °¸½¶ÈµÇ¾î ÀÖÀ¸¸ç ´ÜÀÏÇÑ ÀÎÅÍÆäÀ̽ºÀÎ Çã°¡µÈ public¸Þ¼Òµå¿¡
ÀÇÇØ¼¸¸ ³»ºÎ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.
¶ÇÇÑ °´Ã¼µéÀÇ ±âº» ƲÀΠŬ·¡½ºµé
»çÀÌÀÇ »ó¼Ó ±â´É°ú ´ÙÇü¼º µî ´Ù¾çÇÑ °´Ã¼ÁöÇâ ±â´ÉÀ» Á¦°øÇÑ´Ù.
¶ÇÇÑ ¸ðµç °´Ã¼´Â À¯ÀÏÇÑ ½Äº°ÀÚ¸¦
°®À¸¸ç °´Ã¼¿¡ Á¢±Ù½Ã À̸§À» ÀÌ¿ëÇÑ´Ù.
ÀÌ¿¡ ¹ÝÇØ COM
°´Ã¼´Â ÀüÅëÀûÀÎ °´Ã¼°¡ ¾Æ´Ï´Ù
.
¸ÕÀú »ó¼ÓÀ» ÅëÇØ ±âÁ¸ÀÇ Å¬·¡½º¸¦
È®ÀåÇÒ ¼ö ¾ø´Ù. µû¶ó¼
OLE ÄÄÆ÷³ÍÆ®ÀÇ
Àç»ç¿ëÀº °¡´ÉÇϳª ÀÌÀÇ È®ÀåÀº ºÒ°¡´ÉÇÏ´Ù.
¶ÇÇÑ º¹¼ö °³ÀÇ ÀÎÅÍÆäÀ̽º¸¦
Á¦°øÇÔÀ¸·Î¼ ĸ½¶ÈÀÇ °µµ°¡ ¸¹ÀÌ ¾àȵǾú´Ù.
´ÙÀ½ [Ç¥5-1]Àº
CORBA¿Í
COMÀÇ
°´Ã¼ ¸ðµ¨À» ºñ±³ ¼³¸íÇÑ ³»¿ëÀÌ´Ù.
| ±â ´É | CORBA | COM/OLE |
| »ó¼ÓÀ» ÅëÇÑ È® Àå | °¡´É | ºÒ°¡´É |
| º¹¼öÀÇ ÀÎÅÍÆäÀ̽º | °¡´É(»ó¼Ó±â´É) | °¡´É |
| ¿ÜºÎ¿ÍÀÇ ÀÎÅÍÆäÀ̽º | °¡´É(Event¼ºñ½º) | °¡´É(Aggregation±â´É ) |
| GUID | Áö¿ø | Áö¿ø |
| ½Ç½Ã°£½Ã À¯ÀÏÇÑ °´ üID | Áö¿ø | Áö¿ø ¾ÈÇÔ |
| Àç»ç¿ë | Áö¿ø(»ó¼Ó) | Áö¿ø(Containment,
Aggregation) |
| Áö¿ø Ç÷§Æû | À©µµ¿ì , ¸ÆÅ²Åä½Ã , OS/2 , À¯´Ð½º , VMS | À©µµ¿ì |
[ ǥ
5-1
] CORBA¿Í COM/OLEÀÇ
°´Ã¼ ¸ðµ¨ ºñ±³
1.5.2 °´
ü
¹ö½º·Î¼ÀÇ ±â´É ºñ±³
°´Ã¼ ¹ö½º·Î¼ CORBA¿Í
COM/OLEÀ»
ºñ±³ÇÏ´Â µ¥ ÀÖ¾î °¡Àå ÁÖ¿äÇÑ Á¡Àº ¿ø°ÝÁö°£ÀÇ °´Ã¼ ¼ºñ½º Áö¿ø°ú
´Ù¾çÇÑ Ç÷§ÆûÀ» Áö¿øÇϴ°¡ ÇÏ´Â Á¡ÀÌ´Ù.
¿Ö³ÄÇϸé ÀÌ Á¡¿¡ µû¶ó ¸¹Àº ±â´ÉÀÌ
Á¿ìµÇ±â ¶§¹®ÀÌ´Ù. ¿¹¸¦
µé¾î , ¿ø°ÝÁö°£ÀÇ
°´Ã¼ ¼ºñ½º¸¦ Áö¿øÇÑ´Ù¸é ÀÌ ¼ºñ½º¸¦ À§ÇØ ¿ø°ÝÁö°£ÀÇ À̸§ ¼ºñ½º,
°´Ã¼IDº¯È¯
¼ºñ½º µîÀ» ¼ö¹ÝÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù.
´ÙÀ½Àº ÀÌ¿¡ ´ëÇÑ ±â´ÉµéÀ» ºñ±³ÇÑ
°ÍÀÌ´Ù. Âü°í·Î
COM˼
ÀÎÅÍÆäÀ̽º Á¤Àǽà ODL(Object
Definition Language)¶ó´Â ¸ÞŸ
µ¥ÀÌŸ¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Â ¾ð¾î¸¦ Á¦°øÇÑ´Ù.
ÀÌ ¾ð¾î¸¦ ÀÎÅÍÆäÀ̽ºÀÇ Å¸ÀÔ
Á¤º¸ µî ´Ù¾çÇÑ ¸ÞŸ Á¤º¸¸¦ ÀúÀåÇØ ÁØ´Ù.
| ±â ´É | CORBA | COM/OLE |
| ¿ø°ÝÁö°£ °´Ã¼ ¼ ºñ½º | Áö¿ø | Áö¿ø ¾ÈÇÔ |
| Á¤Àû ¸Þ¼Òµå È£Ãâ | Áö¿ø | Áö¿ø |
| µ¿Àû ¸Þ¼Òµå È£Ãâ | Áö¿ø | Áö¿ø |
| ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò | Áö¿ø | Áö¿ø |
| ÄÄÆ÷³ÍÆ®°£ Àڷắȯ | Áö¿ø(Stub-Skeleton) | Áö¿ø |
| IDL | Áö¿ø(IDL¸¸) | Áö¿ø(ODL°ú MDL) |
| ±¸Çö ÀúÀå¼Ò | Áö¿ø(±¸Çö ÀúÀå¼Ò) | Áö¿ø(·¹Áö½ºÆ®¸®) |
[ ǥ
5-2
] CORBA¿Í COM/OLEÀÇ
°´Ã¼ ¹ö½º ºñ±³
1.5.3 ¾ð
¾î
¸ÅÇÎ ±â´É ºñ±³
CORBA¿Í
COM/OLE¸ðµÎ
ÀÀ¿ë ÇÁ·Î±×·¥°£ÀÇ È£È¯À» ±âº»À¸·Î ÇÑ´Ù.
±×·¯³ª À̸¦ À§ÇØ µÎ ¸ðµ¨ÀÌ Áö¿øÇÏ´Â
¹æ¹ý¿¡´Â »ó´çÇÑ Â÷À̰¡ ÀÖ´Ù.
¸ÕÀú COM/OLEÀÇ
°æ¿ì´Â ÇѸ¶µð·Î ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ C++À»
ÅëÇÑ À©µµ¿ì °´Ã¼»çÀÌÀÇ ¹ÙÀ̳ʸ® ȣȯÀ» Áö¿øÇÑ´Ù¶ó°í ¸»ÇÒ ¼ö ÀÖ´Ù.
¿Ö³ÄÇϸé COM/OLEÀº
³»ºÎ ÀÎÅÍÆäÀ̽º Á¢±Ù½Ã ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® C++ÄÄÆÄÀÏ·¯¿¡¼
»ç¿ëÇÏ´Â vtableÀÇ
±¸Á¶¸¦ »ç¿ëÇϱ⠶§¹®¿¡ À̸¦ ÅëÇÑ ¾ð¾î ¸ÅÇÎÀº ÇÁ·Î±×·¡¸Ó³ª ´Ù¸¥
ÄÄÆÄÀÏ·¯ °³¹ßÀÚÀÇ Ã¥ÀÓÀÌ µÈ´Ù.
¶ÇÇÑ COM/OLE¿¡¼
Á¦°øÇÏ´Â MIDLÀº
DCE IDLÀ»
±â¹ÝÀ¸·Î Çϱ⠶§¹®¿¡ ±âº»ÀûÀ¸·Î C¸¸À»
Áö¿øÇÑ´Ù.
ÀÌ¿¡ ¹ÝÇØ CORBAÀÇ
°æ¿ì °³¹ß¾ð¾î µ¶¸³ÀûÀÎ ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ßÀ» À§ÇØ IDL
¾ð¾î¸¦ ÅëÇØ ´Ù¸¥ ¾ð¾î·ÎÀÇ º¯È¯À»
Áö¿øÇÑ´Ù. ÇöÀç
C , C++, ½º¸ôÅåÀ»
Áö¿øÁßÀ̸ç ÀÌÈÄ ÄÚº¼, ¿¡ÀÌ´Ù(Ada),
ÀÚ¹Ù·ÎÀÇ º¯È¯À» ÃßÁøÁßÀÌ´Ù.
| ±â´É | CORBA | COM/OLE |
| ¹ÙÀ̳ʸ® ȣȯ | Áö¿ø | Áö¿ø |
| C ¹ÙÀεù | Áö¿ø | Áö¿ø |
| C++ ¹ÙÀεù | Áö¿ø | Áö¿ø ¾ÈÇÔ |
| ½º¸ôÅå ¹ÙÀεù | Áö¿ø | Áö¿ø ¾ÈÇÔ |
| ±âŸ Ada , COBOL, Java,.. | Áö¿ø¿¹Á¤ | °í·Á ¾øÀ½ |
[ ǥ
5-3
] CORBA¿Í COM/OLEÀÇ
¾ð¾î ¸ÅÇÎ ±â´É ºñ±³
1.5.4 ½Ã
½ºÅÛ
¼ºñ½º ºñ±³
CORBA¿Í
COM/OLE´Â
°´Ã¼ ¹ö½º·Î¼ÀÇ ¿ªÇÒÀ» À§ÇØ ´Ù¾çÇÑ ¼ºñ½º¸¦ Á¦°øÇϰí ÀÖ´Ù.
±×·¯³ª ÀÌ µÎ ¸ðµ¨Àº ¼ºñ½º¿¡¼
¸¹Àº Â÷À̸¦ º¸À̰í ÀÖ´Ù. ƯÈ÷
CORBAÀÇ
°æ¿ì ºÐ»êȯ°æÀ» ±âº»À¸·Î Çϱ⠶§¹®¿¡ ´Ù¾çÇÑ ³×Æ®¿÷ °ü·Ã ¼ºñ½º°¡
Æ÷ÇԵǾî ÀÖÀ¸¸ç ¹öÀüÀ̳ª °´Ã¼ Ư¼º µî ¼ø¼öÇÑ °´Ã¼ ÁöÇâ °³³äÀ»
Áö¿øÇϱâ À§ÇÑ ¿©·¯ ¼ºñ½ºµéÀÌ Á¦°øµÈ´Ù.
ÀÌ¿¡ ¹ÝÇØ COM/OLEÀº
À©µµ¿ì °´Ã¼ ¸ðµ¨À» ±â¹ÝÀ¸·Î Çϱ⠶§¹®¿¡ Á¦°øµÇ´Â ¼ºñ½ºµµ ÀÌ¿¡
ÀÇÁ¸Çϰí ÀÖ´Ù. ´ÙÀ½
[Ç¥
5-4]´Â
ÀÌ·¯ÇÑ ¼ºñ½ºµé¿¡ ´ëÇÑ ºñ±³Ç¥ÀÌ´Ù.
| ±â´É | CORBA | COM/OLE |
| À̺¥Æ® | Áö¿ø | Áö¿ø |
| »ý¸íÁÖ±â | Áö¿ø | Áö¿ø |
| À̸§ | Áö¿ø | Áö¿ø |
| Áö¼Ó¼º | Áö¿ø | Áö¿ø(¸ð´ÏÄ¿ ÀÌ¿ë ) |
| ODBMSÅëÇÕ | Áö¿ø | Áö¿ø ¾ÈÇÔ |
| RDBMSÅëÇÕ | Áö¿ø | Áö¿ø¿¹Á¤(OLE DB) |
| ¿ÜÇüÈ(Externalization) | Áö¿ø | Áö¿ø |
| Æ®·»Á§¼Ç | Áö¿ø | Áö¿ø¿¹Á¤(OLEÆ®·»Á§¼Ç ) |
| µ¿½Ã¼º Á¦¾î | Áö¿ø | Áö¿ø ¾ÈÇÔ |
| °´Ã¼°£ °ü°è | Áö¿ø | Áö¿ø ¾ÈÇÔ |
| ÁúÀÇ | Áö¿ø | Áö¿ø¿¹Á¤(OLE DB) |
| ¶óÀ̼¾½Ì | Áö¿ø | Áö¿ø |
| °´Ã¼ Ư¼º | Áö¿ø | Áö¿ø |
| ¹öÀü | Áö¿ø(º¯È°ü¸®±â´É ) | Áö¿ø ¾ÈÇÔ |
| º¸¾È | Áö¿ø | Áö¿ø ¾ÈÇÔ |
| °´Ã¼ ÀÚµ¿ Á¦°Å | Áö¿ø(ÂüÁ¶ Ä« ¿îÆ®) | Áö¿ø(ÂüÁ¶ Ä« ¿îÆ®) |
[ ǥ
5-4
] CORBA¿Í COM/OLEÀÇ
¼ºñ½º ºñ±³
1.6 CORBA¿Í
COM/OLEÀÇ
Çö »óÅÂ
ÇöÀç ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ CORBA
Ç¥ÁØÀ» Áö¿øÇÒ °ÍÀ̶ó´Â ¡Á¶´Â
±× ¾îµð¿¡µµ º¸ÀÌÁö ¾Ê´ÂÀÖ´Ù.
±×·¯³ª CORBA
Ç¥ÁØ¿¡¼´Â COM
°´Ã¼¿ÍÀÇ Ç¥ÁØÀ» À§ÇØ ¸¹Àº ÇÒ¾Ö¸¦
Çϰí ÀÖ´Ù. »ó½ÄÀûÀ¸·Î
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ À©µµ¿ì °´Ã¼°¡ Â÷ÁöÇϰí ÀÖ´Â ºÎºÐÀ» ¹«½ÃÇÒ ¼ö´Â
¾ø±â ¶§¹®ÀÏ °ÍÀÌ´Ù. À̸¦
À§ÇØ OMG´Â
Å©°Ô 2°¡Áö
ºÎºÐÀ¸·Î ³ª´©¾î COM°ú
°áÇÕÀ» ÁغñÇϰí ÀÖ´Ù. ù¹øÂ°
ºÎºÐÀº ÇöÀç COM°úÀÇ
ÅëÇÕÀ» À§ÇÑ ±â¼úÀû Ç¥ÁØÀ» Á¦Á¤Çϰí ÀÖ´Â »óÅÂÀÌ¸ç µÎ¹øÂ° ºÎºÐÀº
¾ÕÀ¸·Î ¿¹°ßµÇ´Â ºÐ»êCOM°úÀÇ
ȣȯÀ» À§ÇÑ Ç¥ÁØÀ» Áغñ Áß¿¡ ÀÖ´Ù.
±×·¸´Ù¸é Á» ´õ ±¸Ã¼ÀûÀ¸·Î OMG¿¡ ÀÇÇØ¼ ÁøÇàµÇ°í ÀÖ´Â ÀϵéÀ» »ìÆìº¸¸é¼ CORBA-COM°áÇÕÀ» À§ÇÑ ±¸Ã¼Àû ¹æ¹ýµé¿¡ ´ëÇØ »ìÆìº¸ÀÚ.
CORBA-COM ȣȯ¿¡
°üÇÑ ¸ðµç »çÇ׿¡ ´ëÇÑ ¹®¼ÆíÁý ÀÛ¾÷Àº »çÀ̺£À̽º»ç¿¡¼ ÁÖ°üÇϰí
ÀÖÀ¸¸ç CORBA2.0°ú
COM(OLE lib version 2.03)°úÀÇ
ÀÎÅÍ³×Æ®¿öÅ·À» ¿¢½ºÆÛ¼ÒÇÁÆ®»ç¿¡¼ ,
CORBA-COM¸ÅÇÎÀ» DEC¿Í
ºñÁÖ¾ó¿§Áö»ç¿¡¼ ,
CORBA-OLE¿ÀÅä¸ÞÀ̼ÇÀ»
¾ÆÀÌ¿À³ª¿¡¼ ÁøÇàÇϰí ÀÖ´Ù.
ÀÌ·¯ÇÑ ¸ðµç ÀÛ¾÷ÀÇ °øµ¿ÀÇ ¸ñÇ¥´Â
¾î¶² °´Ã¼ ¸ðµ¨À̳ª Ç¥ÁØ¿¡ ÀÎÀ§ÀûÀÎ º¯È¸¦ °¡ÇÏÁö ¾Ê°í Åõ¸íÇÑ ¹æ¹ýÀ¸·Î
CORBA°´Ã¼¿Í
ȣȯ½ÃŰÀÚ´Â °ÍÀÌ´Ù. CORBA-COM
ȣȯÀº ÇÁ·Î±×·¡¸Ó¿¡°Ô ¸¹Àº ±â´É°ú
°¡´É¼ºÀ» ÁÖ°í ÀÖ´Ù. ¿¹¸¦
µé¸é, ÇöÀç
»ó¿ëÈµÈ CORBA-OLE ¿ÀÅä¸ÞÀ̼Ç
±â´ÉÀ» ÀÌ¿ëÇϰí ÀÖ´Â ÇÁ·Î±×·¡¸Ó´Â ºÐ»êOLE±â´ÉÀ»
½ÇÁ¦ ±¸ÇöÇÒ ¼ö ÀÖÀ¸¸ç À©µµ¿ì µ¥½ºÅ©Å¾¿¡¼ À¯´Ð½º¸¦ Æ÷ÇÔÇÑ ÀÌÁ¾ÀÇ
½Ã½ºÅÛ¿¡¼ ¾òÀº µ¥ÀÌŸ¸¦ °¡°øÇÏ¿© Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
1.7 CORBA-COM ÅëÇÕ
¹æ¹ý
1.7.1 ¾î
¶²
ÅëÇÕ ¹æ¹ýÀ¸·Î Ãâ¹ßÇÒ °ÍÀΰ¡?
½ÇÁ¦ CORBA´Â
¿÷½ºÅ×À̼ÇÀ̳ª ±âŸ ÁßÇü ¼¹ö±Þ ȯ°æ¿¡¼ °¼¼¸¦ º¸À̰í ÀÖ´Ù.
±×·¯³ª À©µµ¿ì¶ó´Â ±×¸² ¿î¿µ
üÁ¦·Î Ŭ¶óÀÌ¾ðÆ® ½ÃÀå¿¡ ±º¸²Çϰí ÀÖ´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®·Î ÀÎÇØ Ŭ¶óÀ̾ðÆ®
½ÃÀå¿¡¼´Â ¾ÆÁ÷ È®½ÇÇÑ ÀÚ¸®¸¦ ÀâÁö ¸øÇϰí ÀÖ´Â ½ÇÁ¤ÀÌ´Ù.
´Ù½Ã ¸»ÇØ COM/OLE´Â
À©µµ¿ì °´Ã¼µéÀÇ ´ëÇ¥À̰í CORBA´Â
±âŸ ´Ù¸¥ °´Ã¼µéÀÇ ´ëÇ¥ÀÎ »óȲÀÌ´Ù.±×·¯³ª
¾ÆÁ÷ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ °æ¿ì ±×µé ±â¼úÀÇ ÇÙ½ÉÀÎ COM/OLE°¡
¾ÆÁ÷ ³×Æ®¿÷ ȯ°æÀ» Áö¿øÇÏÁö ¸øÇϱ⠶§¹®¿¡ ¸¹Àº CORBAÁ¦Ç°µéÀÌ
À©µµ¿ì¸¦ ÁÖ¿ä °ø·« ´ë»óÀ¸·Î »ï°í ÀÖ´Ù.
ÀÌ·¯ÇÑ »óȲÀ¸·Î ÆÇ´ÜÇϰǵ¥ ºÐ»ê
°´Ã¼ ±â¼ú Ãø¸é¿¡¼ CORBA°¡
COM/OLEº¸´Ù
¼ö ³âÀº ¾Õ¼ ÀÖ´Â °ÍÀÌ ºÐ¸íÇÏ´Ù.
ÀÌ·¯ÇÑ ¹è°æÇÏ¿¡¼ ÅëÇÕ ½Ã½ºÅÛÀ»
±¸ÃàÇÏ·Á´Â ±â¾÷ ÀÔÀå¿¡¼ º¸¸é ¾î¶² ±â¼úÀ» ÁÖ¿ä ±â¹Ý ±â¼ú·Î »ïÀ»
°ÍÀÎÁö °áÁ¤ÇØ¾ß ÇÑ´Ù. ¸¸¾à
¾ÕÀ¸·Î ³ª¿Ã ³×Æ®¿÷ COM/OLE¸¦
ÀÌ¿ëÇÏ·Á¸é ¸ðµç ȯ°æÀ» À©µµ¿ì·Î ÅëÀÏÇϰųª ¿©·¯ ´Ù¸¥ ½Ã½ºÅÛ°ú
³×Æ®¿÷ COM/OLEÀÀ¿ë
½Ã½ºÅÛÀ» ¿¬µ¿½Ã۱â À§ÇÑ ¹æ¹ýÀ» ã¾Æ¾ß ÇÒ °ÍÀÌ´Ù.
±×·¯³ª ÇöÀç CORBA±â¼úÀ»
ÀÌ¿ëÇÑ´Ù¸é ÇöÀçÀÇ COM/OLE±â¼ú°úÀÇ
¿¬µ¿°ú ¾ÕÀ¸·Î ³ª¿Ã ³×Æ®¿÷ COM/OLE±â¼ú°úÀÇ
¿¬µ¿¿¡ ´ëÇÑ ¹æ¹ýÀ» ã¾Æ¾ß ÇÑ´Ù.
´ÙÇàÈ÷µµ CORBAÇ¥ÁØÀ»
ÁÖµµÇϰí ÀÖ´Â OMG¿¡¼
CORBA¸¦
±Ù°£À¸·Î Çϰí COM/OLE±â¼úÀ»
ÅëÇÕÇϱâ À§ÇÑ ³ë·ÂµéÀ» °æÁÖÇϰí ÀÖÀ¸¸ç ±× °á°ú COM/OLE¿Í
CORBAÀÇ
¿¬µ¿ ±â¼úÀÌ ¿©·¯ °³¹ß ¾÷ü¿¡ ÀÇÇØ¼ °³¹ßµÇ¾úÀ¸¸ç ¾ÕÀ¸·Î ³ª¿Ã ³×Æ®¿÷
COM/OLE¿Í
CORBA¿ÍÀÇ
¿¬µ¿À» À§ÇØ Áغñ Áß¿¡ ÀÖ´Ù. ƯÈ÷
ÀÌ·¯ÇÑ Á¢±Ù ¹æ¹ýÀº ´ë±Ô¸ðÀÇ ÄÄÇ»ÆÃ ȯ°æ°ú ´Ù¾çÇÑ ¿î¿µ üÁ¦ ¹×
ÀÀ¿ë ÇÁ·Î±×·¥À» »ç¿ëÇϰí Àִ ȯ°æ¿¡ °¡Àå ÀûÇÕÇÏ´Ù°í ¸»ÇÒ ¼ö ÀÖ´Ù.
¶Ç Çϳª CORBA¿Í
COM/OLE¸¦
ÅëÇÕÇÔÀ¸·Î¼ ÇöÀçÀÇ COM/OLE¿¡
³×Æ®¿÷ ±â¼úÀ» ºÒ¾î ³ÖÀ» ¼ö ÀÖÀ¸¸ç COM/OLE¸¦
ÅëÇØ À¯´Ð½º µî ´Ù¾çÇÑ È¯°æÇÏ¿¡¼ À©µµ¿ì °´Ã¼¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù´Â
È¿°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
1.7.2 COM/OLE¿Í
¿¬µ¿Çϱâ À§ÇÑ OMGÀÇ
³ë·Âµé
COM/OLE¿Í
CORBA¸¦
ÅëÇÕÇϱâ À§ÇÑ ³ë·ÂÀº OMG¿¡
ÀÇÇØ¼ ÁÖµµµÇ°í ÀÖ´Ù. ½ÇÁ¦
OMG´Â
ºñ¿µ¸® ȸ»ç·Î¼ ºÐ»ê °´Ã¼ Ç¥ÁØÀÎ CORBAÀÇ
Ç¥ÁØÀ» ÁÖµµÇϰí ÀÖÀ¸¸ç ¼ö ¹é °³ÀÇ À¯¼öÇÑ ±â¾÷µéÀÌ ¿©±â¿¡ °¡ÀÔÇÏ¿©
Ȱµ¿Çϰí ÀÖ´Ù. ÀÌ
Ȱµ¿ Áß °ø½ÄÀûÀÎ COM/OLE¿Í
CORBA¸¦
ÅëÇÕÇϱâ À§ÇÑ È°µ¿ ¸íĪÀº COM-CORBA
Interworking ÀÌ´Ù.
ÀÌ È°µ¿Àº 1995³â
4¿ù
½ÃÀ۵Ǿú´Âµ¥ Å©°Ô Part A¿Í
Part B·Î
±¸ºÐµÇ¾î Ȱµ¿Çϰí ÀÖ´Ù. ÀÌ
Ȱµ¿ÀÇ ±âº»ÀûÀÎ ¸ñÀûÀº COM/OLE¿Í
CORBAÀÇ
°´Ã¼ ¸ðµ¨¿¡ º¯È¸¦ °¡ÇÏÁö ¾Ê°í »óÈ£ ¿¬µ¿ÇÏ°Ô ¸¸µå´Â °ÍÀÌ´Ù.
°¢ ºÎºÐ¿¡¼ ÇÏ´Â ÀÏÀ» »ìÆìº¸¸é ¸ÕÀú
Part A¿¡¼´Â
±âÁ¸ÀÇ COM°ú
CORBA»çÀÌÀÇ
»óÈ£ ¿¬µ¿À» À§ÇÑ ¹æ¹ýÀ» À§ÇØ È°µ¿Çϰí ÀÖÀ¸¸ç ÇöÀç ´ëºÎºÐÀÇ ¿¬µ¿
¹æ¹ýÀÌ Á¦¾ÈµÇ¾ú°í ¸¹Àº ȸ»ç¿¡¼ ÀÌ ¹æ¹ýÀ» Áö¿øÇϰí ÀÖ´Ù.
ÇöÀç ¸ñÇ¥´Â CORBA2.0
°ú OLE
¶óÀ̺귯¸® ¹öÀü 2.03»çÀÌÀÇ
¿¬µ¿ ¹æ¾È°ú ¾ç¹æÇâ Åë½ÅÀ» ¸ñÇ¥·Î Çϰí ÀÖ´Ù.
´ÙÀ½Àº Part A¿¡ Âü¿©Çϰí Àִ ȸ»çµé°ú À̵éÀÇ ¿ªÇÒµéÀÌ´Ù.
Âü¿©È¸»ç : Digital Equipment Corporation -> COM-CORBA ¸ÅÇÎ ±â¼ú
Expersoft Corporation -> »óÈ£ ¿¬µ¿ ±¸Á¶
FUJITSU LIMITED
Hewlett-Packard Company
Genesis Development Corporation -> OLE Automation°ú CORBA¿¬µ¿
International Business Machine Corporation
IONA Technologies,Ltd -> OLE Automation°ú CORBA¿¬µ¿
Simens Nixdorf Information System AG
SunSoft, Inc
Sybase, Inc -> Àü¹ÝÀû ÀÎ ¹®¼ÀÛ¾÷
Visual
Edge Software, Ltd -> COM-CORBA ¸ÅÇÎ
񃬣
Part B¿¡¼´Â
COMÀÇ
³×Æ®¿÷ ¹öÀü°ú CORBA»çÀÌÀÇ
»óÈ£ ¿¬µ¿À» À§ÇÑ ¹æ¹ý¿¡ ´ëÇØ ¿¬±¸Çϰí ÀÖ´Ù.
ÇöÀç Part
BÀÇ È°µ¿¿¡ Âü¿©Çϰí ÀÖ´Â ±â¾÷À¸·Î´Â
¾Æ·¡¿Í °°´Ù.
ÅõÇ¥ °¡´ÉÇÑ Âü¿© ±â¾÷µé:
APM, AT&T, BNR, Bull, CI Labs, Data Access, Defense Information
Systems Agency, Digital, Expersoft, Fujitsu, GPT Ltd., Genesis,
Gensym , Hewlett-Packard, HyperDesk, ICL, IONA, Informix, International
Business Machines, MITRE, Micro Focus, Microsoft , NEC, NIIIP,
NSA, Nokia, Novell, OGIS, OSF, Objective Interface Systems, Objectivity,
Odyssey, Olivetti, Oracle, POSC, Protocol Systems , Raytheon,
Rogue Wave Software, SNI, Santz Cruz Operations, SunSoft, Sybase,
Taligent, Tandem, Tivoli, Unisys, Univ. Michigan, Visual Edge
1.7.3 COM/OLE¿ÍÀÇ
¿¬µ¿ ¹æ¹ý
1.7.3.1 COM/OLE - CORBA¿¬µ¿
½Ã Áö¿øÇØ¾ß ÇÏ´Â Çʼö ±â´Éµé
¹Ù·Î º»·Ð¿¡ µé¾î°¡±â¿¡ ¾Õ¼ COM/OLE¿Í CORBA¸¦ ÅëÇÕÇÏ´Â µ¥ ÀÖ¾î Áö¿øÇØ¾ß ÇÏ´Â ±âº»ÀûÀÎ ±â´ÉµéÀ» Á¤¸®ÇØ º¸ÀÚ.
COM °´Ã¼¿Í CORBA°´Ã¼´Â °íÀ¯ÇÑ ¸Þ¼Òµå È£Ãâ ¹æ½ÄÀ» °¡Áö°í ÀÖ´Ù. ±×·¯³ª COM/OLE-CORBA¿¬µ¿½Ã¿¡´Â COM/OLE°´Ã¼°¡ CORBAÀÇ ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¼ö ÀÖ¾î¾ß ÇÏ¸ç ¹Ý´ë·Î CORBA°´Ã¼°¡ COM/OLEÀÇ ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ±â´ÉÀ» Áö¿øÇϱâ À§ÇÑ ¸ðµ¨·Î´Â °¢°¢ÀÇ °´Ã¼¿¡ ¸Þ¼Òµå È£ÃâÀ» ¼öÇàÇÏ´Â ´ë¸® °´Ã¼·Î¼ ÇÁ·Ï½Ã °´Ã¼¸¦ ¸¸µé ¼ö ÀÖ´Ù. ¿¹¸¦ µé¸é, CORBA ÇÁ·Ï½Ã °´Ã¼ÀÇ °æ¿ì OLEÀÇ IUnknown ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇϸç COM/OLEÇÁ·Ï½ÃÀÇ °æ¿ì CORBAÀÇ µ¿Àû È£ÃâÀ̳ª Á¤Àû È£Ã⠱׸®°í ±¸Çö ÀúÀå¼Ò µîÀ» ÀÌ¿ëÇÒ ÁÙ ¾Ë¸é »ó´ë¹æÀÇ ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¼ö ÀÖ´Â Á¤º¸¸¦ ÁغñÇÑ ¼ÀÀÌ´Ù.
COM/OLE¿¡
¼
»ç¿ëÇÏ´Â µ¥ÀÌŸ ŸÀÔ°ú CORBA¿¡¼ÀÇ
µ¥ÀÌŸ ŸÀÔÀº ¼·Î °£¿¡ ¸ÅÇεǾßÇÑ´Ù.
½ÇÁ¦ ÀÌ °æ¿ì ¼ýÀÚ°°Àº ±âº»ÀûÀÎ
ŸÀÔÀº º°¹®Á¦¸¦ ÀÏÀ¸Å°Áö ¾ÊÁö¸¸ CORBAÀÇ
any
ŸÀÔ°ú
OLEÀÇ
VariantŸÀÔ»çÀÌÀÇ
º¯È¯Àº ¸¹Àº ±â¼úÀ» ¿ä±¸ÇÑ´Ù.
CORBAÀÇ
ÀÀ¿ë ÇÁ·Î±×·¥ ÀÛ¼º ¾ð¾î´Â IDLÀÌ´Ù.
¸¶Âù°¡Áö·Î COMÀº
MIDL(Microsoft IDL), OLEÀÇ
°æ¿ì ODLÀ»
»ç¿ëÇÏ¿© ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇÑ´Ù.
µû¶ó¼ À̵é IDL¾ð¾îµé
»çÀÌÀÇ ¸ÅÇÎÀº ÇʼöÀûÀÌ´Ù. ƯÈ÷
CORBA IDL°æ¿ì
º¹¼ö »ó¼ÓÀ» Áö¿øÇϱ⠶§¹®¿¡ º¹¼ö »ó¼Ó °³³äÀÌ ¾ø´Â MIDL°ú
ODL¿¡¼
ÀÌµé °ü°è¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Â ¹æ¹ýµéÀÌ °í¾ÈµÇ¾ß ÇÑ´Ù.
CORBA¿¡¼
ÀÇ
¿¹¿Ü »óȲ ó¸®¿Í COM/OLE´Â
¿¹¿Ü »óȲ 󸮽à ±× ¹æ¹ýÀÌ ´Ù¸£´Ù.
µû¶ó¼ °¢ÀÚ ¹ß»ýÇÑ ¿¹¿Ü »óȲÀ»
´Ù¸¥ ÂÊÀ¸·Î Àü´ÞÇÏ¿© ÀûÀýÇÏ°Ô ´ëóÇÏ°Ô ÇÏ´Â ¹æ¹ýÀÌ ÇÊ¿äÇÏ´Ù.
CORBAÀÇ
°æ¿ì °´Ã¼ÀÇ »ý¼º°ú ¼Ò¸êÀÌ »ç¿ëÀÚ³ª ¼¹ö ÇÁ·Î±×·¥¿¡ ÀÇÇØ¼ ÀÚÀ¯·Ó°Ô
ÀÌ·ç¾îÁø´Ù. ±×·¯³ª
COM/OLEÀÇ
°æ¿ì ÆÑÅ丮(Factory)¶ó´Â
Ŭ·¡½º¸¦ ÅëÇØ °´Ã¼¸¦ »ý¼ºÇÏ¸ç °´Ã¼¿¡ ´ëÇÑ ÂüÁ¶ º¯¼ö¿¡ ÀÇÇØ¼ °´Ã¼¸¦
¼Ò¸êÇÑ´Ù. µû¶ó¼
¼·Î °£ÀÇ °´Ã¼¸¦ »ý¼º½ÃŰ°í ¼Ò¸ê½Ãų ¼ö ÀÖ´Â ÀϰüÀûÀÎ ¹æ¹ýÀÌ Áö¿øµÅ¾ß
ÇÑ´Ù.
COM/OLE°´ üÀÇ ¸ðµç Á¤º¸´Â ·¹Áö½ºÆ®¸®¶ó´Â À©µµ¿ì Á¤º¸ ÀúÀå¼Ò¿¡ ÀúÀåµÈ´Ù. ÀÌ¿¡ ¹ÝÇØ CORBA°´Ã¼ÀÇ °æ¿ì ±¸Çö ÀúÀå¼Ò¿Í ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò¿¡ ¸ðµç Á¤º¸°¡ ÀúÀåµÈ´Ù. µû¶ó¼ CORBA¿Í COM/OLEÀÇ »óÈ£ ¿¬µ¿½Ã ¼·Î °£ÀÇ °´Ã¼¸¦ ·¹Áö½ºÆ®¸®¿Í ±¸Çö ÀúÀå¼Ò, ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò¿¡ ÀúÀåÇϱâ À§ÇÑ ¹æ¹ýÀÌ ÇÊ¿äÇÏ´Ù.
1.7.3.2 COM/OLE-CORBA »óÈ£
¿¬µ¿ ¿øÄ¢°ú ±¸Á¶
¾Õ¼µµ ¾ð±ÞÇßÁö¸¸ COM/OLE¿Í
CORBA»çÀÌÀÇ
¿¬µ¿½Ã ´ÙÀ½ÀÇ »ç¾ÈÀ» ±¸Á¶»óÀÇ ¸ñÇ¥·Î Çϰí ÀÖ´Ù.
ÀÌ·¯ÇÑ ¸ñÇ¥¸¦ Áö¿øÇϱâ À§ÇØ ÇöÀç »ç¿ëµÇ°í
ÀÖ´Â ¹æ¹ýÀº ¾ç¹æÇâ º¯È¯ÀÌ °¡´ÉÇÑ °ÔÀÌÆ®¿þÀ̸¦ ÀÛ¼ºÇÏ´Â °ÍÀÌ´Ù.(
ȤÀÚ´Â À̸¦ ºê¸®Áö¶ó°íµµ ÇÑ´Ù
.)
¸ÕÀú °ÔÀÌÆ®¿þÀ̸¦ ÅëÇØ COM/OLE°´Ã¼°¡
CORBA±¸Çö
°´Ã¼¸¦ È£ÃâÇÏ´Â °úÁ¤À» Á¤¸®Çغ¸ÀÚ.
ÀÌ °úÁ¤Àº ¿¬ÀÌ¾î ¼³¸íµÇ´Â ¸¹Àº
ÅëÇÕ ±â´ÉÀ» ÀÌÇØÇϴµ¥ ÇÊ¿äÇÑ ¹Ø°Å¸§ÀÌ µÉ °ÍÀÌ´Ù.
ÃÖÃÊ OLE°´Ã¼´Â
CORBA±¸Çö
°´Ã¼¸¦ È£ÃâÇϱâ À§ÇØ ÇÁ·Ï½Ã °´Ã¼ÀÇ IUnknown°ú
IDispatch¸¦
ÅëÇØ CORBA±¸Çö
°´Ã¼¸¦ È£ÃâÇÑ´Ù. À̶§
°ÔÀÌÆ®¿þÀÌ´Â ÀÌ È£ÃâÀ» CORBA¿¡¼
È£Ãâ°¡´ÉÇϵµ·Ï º¯È¯ÇØÁØ´Ù. º¯È¯µÈ
È£ÃâÀº CORBAÀÇ
µ¿Àû È£Ãâ ¹æ¹ýÀ» »ç¿ëÇÏ¿© ÇØ´ç CORBA
¼¹ö°´Ã¼¿¡°Ô Àü´ÞµÈ´Ù.
ÀÌ °úÁ¤¿¡¼ ÇÊ¿äÇÑ ÇÁ·Ï½Ã °´Ã¼¿Í
º¯È¯ ±â´ÉÀº °ÔÀÌÆ®¿þÀÌ¿¡¼ Á¦°øÇØ¾ß ÇÑ´Ù.

[ ±×¸²
5-15
] OLEŬ¶óÀÌ¾ðÆ®¿¡¼ CORBA
±¸Çö °´Ã¼·ÎÀÇ È£Ãâ
¾Õ¼± °æ¿ì¿Í ¹Ý´ë·Î CORBAŬ¶óÀ̾ðÆ®
°´Ã¼¿¡¼ OLE¼¹ö¸¦
È£ÃâÇÏ´Â °úÁ¤À» »ý°¢Çغ¸ÀÚ.
CORBAŬ¶óÀÌ¾ðÆ®´Â COM/OLE¼¹öÀÇ
Á¸Àç¿¡ ¹«°üÇÏ°Ô ÇØ´ç ¼¹ö¿¡ ´ëÇÑ È£ÃâÀ» ¿äûÇÑ´Ù.
ÀÌ ¿äûÀº CORBA2.0¸í¼¼¿¡¼
Á¦¾ÈµÈ µ¿Àû ½ºÄÌ·ÎÅÏ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ ·ÎÄà ¶Ç´Â ¸®¸ðÆ®¿¡ Á¸ÀçÇÏ´Â
COM ±¸Çö
°´Ã¼¿¡°Ô Àü´ÞµÈ´Ù. ÀÌ
°úÁ¤¿¡¼ COM/OLE¼ºñ½º¸¦
ÀÌ¿ëÇϱâ À§ÇØ CORBA¿äûÀº
COM/OLE¿äûÀ¸·Î
º¯È¯µÇ¸ç °á±¹ COMÀ»
ÅëÇØ ÇØ´ç OLE¼¹öÀÇ
IDispatch¸¦
»ç¿ëÇÏ¿© ¿øÇÏ´Â ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌ´Ù.
ÀÌ °úÁ¤¿¡¼ ÇÊ¿äÇÑ ¸ðµç ÀÛ¾÷Àº
°ÔÀÌÆ®¿þÀ̰¡ ´ã´çÇÏ¸ç ¸ðµç º¹ÀâÇÑ ±â´ÉÀº »ç¿ëÀÚ¿¡°Ô °¡·ÁÁø´Ù.
µû¶ó¼ »ç¿ëÀÚ´Â ÇØ´ç ¼¹ö°¡
CORBAÀ̵ç
COM/OLEÀ̵ç
»ó°ü¾øÀÌ ¿øÇÏ´Â ¼ºñ½º¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
[
±×¸²5-16
] CORBAŬ¶óÀÌ¾ðÆ®¿¡¼ OLE¼¹ö·ÎÀÇ
È£Ãâ
1.7.3.3 COM/OLE-CORBA ¿¬µ¿
񃬣
1.7.3.3.1 COM/OLE-CORBA »óÈ£
ȣȯ °´Ã¼ ¸ðµ¨ ÀÌÇØ
CORBA¿Í
COM/OLE´Â
°øÅëÀûÀ¸·Î °´Ã¼ÁöÇâ ±â¼úÀ» Áö¿øÇÏ´Ù´Â Ãø¸é¿¡¼ ÀÏÁ¤ Á¤µµ °øÅëÁ¡À»
°®°í ÀÖ´Ù. ±×·¯³ª
CORBA°¡
¼ø¼ö °´Ã¼ÁöÇâ ±â¼úÀ» Áö¿øÇÑ´Ù¸é COM/OLE´Â
¼ø¼ö °´Ã¼ÁöÇâ ±â¼ú Áß ÀÏÁ¤ ºÎºÐ¸¸À» Áö¿øÇϰí ÀÖ´Ù.
°¡·É,
CORBAÀÇ °æ¿ì ´ÜÀÏ »ó¼Ó°ú ´ÙÁß
»ó¼Ó ¸ðµÎ¸¦ Áö¿øÇÏ´Â µ¥ ¹ÝÇØ COM/OLEÀÇ
°æ¿ì »ó¼Óº¸´Ù´Â ¿¡±×¸®°ÔÀ̼Ç(Aggregation)À̶ó´Â
°³³ä¸¸À» Áö¿øÇϰí ÀÖ´Ù. ´ÙÀ½Àº
ÀÌ µÎ ¸ðµ¨µé¿¡¼ Á¦°øÇÏ´Â ±â´Éµé¿¡ ´ëÇÑ ºñ±³ÀÌ´Ù.(
CORBA¿Í COMÀÇ
ÀÚ¼¼ÇÑ ºñ±³´Â ¾Õ ÀåÀ» ÂüÁ¶Çϱ⠹ٶõ´Ù.
)
| CORBA | COM | OLE ¿ÀÅä¸ÞÀÌ¼Ç | |
| ÀÎÅÍÆäÀ̽º | IDL·Î ÀÛ¼ºµÇ¸ç ±× Á¤º¸°¡ ÀÎÅÍÆäÀ̽º ÀúÀå¼Ò¿¡ ÀúÀåµÈ´Ù . ´ÙÁß »ó¼Óµî °¢Á¾ °´Ã¼ÁöÇâ ±â´ÉÀ» Áö¿øÇÑ´Ù. | MIDL·Î ÀÛ¼ºµÇ¸ç ¿¡±×¸®°ÔÀ̼ÇÀ» Áö¿øÇÑ´Ù. | ODL·Î ÀÛ¼ºµÇ¸ç TypeLib¶ó´Â °÷¿¡ Á¤º¸°¡ Àú ÀåµÈ´Ù. |
| ¸Å°³º¯¼ö | ±âº» µ¥ÀÌŸ Ÿ ÀÔ, °´Ã¼ ÂüÁ¶ÀÚ, »ç¿ëÀÚ Á¤ÀÇ Å¸ÀÔ | ±âº» µ¥ÀÌŸ Ÿ ÀÔ, °´Ã¼ ÂüÁ¶ÀÚ, »ç¿ëÀÚ Á¤ÀÇ Å¸ÀÔ | ±âº» µ¥ÀÌŸ Ÿ ÀÔ, °´Ã¼ ÂüÁ¶ÀÚ, ¹è¿ |
| °´Ã¼ ÂüÁ¶ÀÚ | ƯÁ¤ ¹æ½ÄÀ¸·Î ¼± ¾ðµÊ | C++ÀÇ vtblÀ̶ó´Â ÇÔ¼ö Å×ÀÌºí¿¡ ´ëÇÑ Æ÷ ÀÎÅÍ | C++ÀÇ vtblÀ̶ó´Â ÇÔ¼ö Å×ÀÌºí¿¡ ´ëÇÑ Æ÷ ÀÎÅÍ |
| ¼¹ö È£Ãâ ¹æ¹ý | Á¤Àû,µ¿Àû ¸ð µÎ °¡´ÉÇϸç ORB¿¡ ÀÇÇØ¼ °üÀåµÈ´Ù. | vtblÀ» ÅëÇØ È£ÃâµÇ¸ç ÇÁ·Ï½Ã¿Í ½ºÅͺê·Î ÀÌ·ç¾îÁ® ÀÖ ´Ù. | ½Ç½Ã°£ ÀÎÅÍÇÁ¸®Å͸¦ Åë ÇØ È£ÃâÇÑ´Ù. |
[
Ç¥5-5
] COM/OLE/CORBA °´Ã¼ ¸ðµ¨ ºñ±³
¾Õ¼ »ìÆìº» °Íó·³ COM/OLE¿Í
CORBAÀÇ
°´Ã¼ ¸ðµ¨ÀÌ ´Ù¸£´Ù ÇÏ´õ¶óµµ À̵éÀÇ »óÈ£ ¿¬µ¿À» À§ÇÑ °ÔÀÌÆ®¿þÀÌ´Â
À̵éÀÇ Â÷ÀÌÁ¡¿¡ ¹«°üÇÏ°Ô ÀÌ¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù.
µû¶ó¼ µÎ °´Ã¼ ¸ðµ¨Àº ´ÙÀ½Ã³·³
»óÈ£ ¿¬µ¿µÅ¾ß ÇÑ´Ù.
¸ÕÀú ÇÑ °´Ã¼A°¡ ´Ù¸¥ °´Ã¼B¸¦ È£ÃâÇϱâ À§Çؼ´Â ÇØ´ç °´Ã¼¿¡ ´ëÇÑ °´Ã¼ ÂüÁ¶ÀÚ¸¦ ¾ò¾î¾ß ÇÑ´Ù. À̸¦ À§ÇØ °´Ã¼A´Â °´Ã¼BÀ» ÀϹÝÀûÀΠȣÃâ ¹æ¹ýÀ» »ç¿ëÇÏ¿© ÂüÁ¶ÇÑ´Ù. À̶§ ÀÌ ÂüÁ¶´Â °ÔÀÌÆ®¿þÀ̸¦ ÅëÇØ ÇØ´ç °´Ã¼B¿¡°Ô Àü´ÞµÇ°í °ÔÀÌÆ®¿þÀÌ´Â °´Ã¼BÀÇ °´Ã¼ ÂüÁ¶ÀÚ¸¦ °´Ã¼A¿¡°Ô Á¦°øÇØÁØ´Ù. °´Ã¼A´Â °´Ã¼BÀÇ ¸ðµ¨¿¡ »ó°ü¾øÀÌ »óÈ£ ¿¬µ¿ÇÒ ¼ö ÀÖ´Ù.
[
±×¸²5-17
] COM/OLE-CORBA °´Ã¼°£ »óÈ£
¿¬µ¿ ¸ðµ¨
1.7.3.3.2 COM/OLE-CORBA »óÈ£
¿¬µ¿ ±¸Á¶
¾Õ¼± °´Ã¼ ¸ðµ¨¿¡ ±Ù°ÅÇÏ¿© COM/OLE¿Í
CORBA»çÀÌ¿¡¼´Â
[±×
¸²5-18]¿Í
[±×
¸²5-19]ó·³
»óÈ£ ¿¬µ¿ÀÌ °¡´ÉÇÏ´Ù. [±×¸²5-18]ÀÇ
°æ¿ì ·ÎÄà ÄÄÇ»Åͻ󿡼 ³×Æ®¿÷À» °æÀ¯ÇÏÁö ¾Ê°í »óÈ£ ¿¬µ¿½Ã ¹ß»ýÇÏ´Â
°úÁ¤À» ¹¦»çÇÑ °ÍÀÌ´Ù. ÀÌ¿¡
¹ÝÇØ [±×¸²5-19]ÀÇ
°æ¿ì´Â TCP/IP³×Æ®¿÷»ó¿¡¼
IIOP¸¦
ÅëÇÑ »óÈ£¿¬µ¿ °úÁ¤À» ÀǹÌÇÑ´Ù.
[
±×¸²5-18
] ·ÎÄà ÄÄÇ»ÅÍ¿¡¼ COM/OLE
- CORBA °´Ã¼ »óÈ£¿¬µ¿ ±¸Á¶
[
±×¸²5-19
] ³×Æ®¿÷»ó¿¡¼ COM/OLE
- CORBA °´Ã¼ »óÈ£¿¬µ¿ ±¸Á¶
½ÇÁ¦ COM°ú
OLE, CORBA¸ðµÎ
´Ù¸¥ ÀÎÅÍÆäÀ̽º¸¦ °¡Áö°í ÀÖ´Ù.
¸ÕÀú OLE´Â
¸Þ¼ÒµéÀÇ ÁýÇÕÀ¸·Î¼ ÀÌ ÁýÇÕÀÇ ´ëÇ¥ Æ÷ÀÎÅ͸¦ ÅëÇØ ¿øÇÏ´Â ¸Þ¼Òµå¸¦
ÀÌ¿ëÇÑ´Ù. ¶ÇÇÑ
COM˼
»ó¼Óº¸´Ù´Â ¿¡±×¸®°ÔÀ̼ÇÀ» Áö¿øÇÑ´Ù.
¸¶Áö¸·À¸·Î CORBAÀÇ
°æ¿ì ´ÙÁß »ó¼ÓÀ» ¹ÙÅÁÀ¸·Î ÀÎÅÍÆäÀ̽ºÀÇ »ó¼Ó ±â´ÉÀ» Áß½ÃÇϴ Ư¡À»
°¡Áö°í ÀÖ´Ù. ÀÌ·¯ÇÑ
»óȲ¿¡¼ À̵é ÀÎÅÍÆäÀ̽º »çÀÌÀÇ ¸ÅÇÎÀº Áö¿øµÅ¾ß ÇÑ´Ù.
CORBA IDL
ÀÇ
»ó¼Ó ±â´ÉÀº COM MIDL·Î
1:1 ¸ÅÇεȴÙ.
ÀÌ ¶§ ¸Þ¼Òµå ½ÇÇà½Ã ÇÊ¿äÇÑ ¼ø¼µîÀº
¸í½ÃµÅ¾ß ÇÑ´Ù. ÀÌ¿¡
¹ÝÇØCOM MIDLÀÎÅÍÆäÀ̽ºµéÀ»
CORBA IDL»óÀÇ
ÀÎÅÍÆäÀ̽ºµéµµ ´ÜÀÏÇÏ°Ô º¯È¯ÇÒ ¼ö ¾ø´Ù.
µû¶ó¼ CORBA
IDL»óÀÇ º¹ÇÕ°´Ã¼ °³³ä(´Ù¸¥
ÀÎÅÍÆäÀ̽º¸¦ ÇÑ ÀÎÅÍÆäÀ̽ºÀÇ Å¸ÀÔÀ¸·Î »ç¿ë)À»
ÀÌ¿ëÇÏ¿© º¯È¯ÇÑ´Ù.
OLE »ó¿¡
¸Þ¼ÒµåµéÀº ¼ø¼¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù.
µû¶ó¼ CORBA
¸Þ¼ÒµåµéÀº ÇϳªÀÇ OLE
¿ÀÅä¸ÞÀÌ¼Ç ÀÎÅÍÆäÀ̽º·Î º¯È¯ÇÒ
¼ö ÀÖ´Ù. ÀÌ
¶§ ¿ÀÅä¸ÞÀÌ¼Ç ÀÎÅÍÆäÀ̽º´Â µÎ°¡Áö Ãø¸é¿¡¼ CORBA
IDLÀ» ¸ÅÇÎÇÑ´Ù.
Çϳª´Â ¸ðµç ¸Þ¼ÒµåµéÀ» ´ÜÀÏÇÑ
vtbl·Î
¸ÅÇνÃŰ´Â °ÍÀÌ°í ´Ù¸¥ Çϳª´Â ¸Þ¼ÒµåµéÀÇ ¼ø¼³ª ÀÎÅÍÆäÀ̽ºµéÀÇ
¼ø¼¸¦ ¹Ì¸® °áÁ¤ÇØ ³õ´Â °ÍÀÌ´Ù.
[ ±×¸²
5-20 ] CORBA IDL¿¡¼
COM/OLE·ÎÀÇ
º¯È¯
°´Ã¼ÀÇ »ý¼º¿¡¼ ¼Ò¸ê·Î À̾îÁö´Â °úÁ¤
¿ª½Ã COM/OLE¿Í
CORBA´Â
°¢±â ´Ù¸£´Ù. COM/OLEÀÇ
°æ¿ì º»·¡ °´Ã¼ÀÇ »ý¼ºÀº FactoriesŬ·¡½º¿¡
ÀÇÇØ¼ »ý¼ºµÇ¸ç ÀϽÃÀûÀ¸·Î »ç¿ëµÇ¾î Áö´Â Ư¡À» °¡Áö°í ÀÖ´Ù.
¶ÇÇÑ COM/OLEÀÇ
°´Ã¼ ÂüÁ¶ Ä«¿îÆÃ ¹æ¹ýÀº ºÐ»ê ȯ°æÀÇ ±Ô¸ð°¡ Ä¿Áú¼ö·Ï ¸¹Àº ¹®Á¦Á¡À»
¾ß±â½ÃŲ´Ù. ÀÌ¿¡
¹ÝÇØ CORBA´Â
C
³ª
C++µî¿¡¼
»ç¿ëÇÏ´ø ÀüÅëÀûÀÎ °´Ã¼ »ý¼º ¹æ¹ýÀ» »ç¿ëÇϸç FactoriesŬ·¡½º¸¦
ÅëÇÑ °´Ã¼ »ý¼ºÀº factory±â´ÉÀ»
Á¦°øÇϴ Ŭ·¡½º¿¡ ¿øÇÏ´Â °´Ã¼¸¦ µî·ÏÇÑ ÈÄ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
ÀÌ·¯ÇÑ Â÷À̸¦ ±Øº¹Çϱâ À§ÇÑ Á¦¾ÈµÈ
¹æ¹ýÀ¸·Î´Â COM/OLEÃø¿¡
CosLifeCycle :: LifeCycleObject
¶ó´Â ÀÎÅÍÆäÀ̽º¸¦ µÎ°í ÀÌ ÀÎÅÍÆäÀ̽º¿¡
CORBA°´Ã¼
ÂüÁ¶ÀÚ¸¦ Ãß°¡ÇÏ°í »èÁ¦ÇÏ´Â ±â´ÉÀ» Á¦°øÇÏ¿© CORBA°´Ã¼ÀÇ
¶óÀÌÇÁ»çÀÌŬÀ» °ü¸®ÇÏ´Â ¹æ¹ý µîÀ» µé ¼ö ÀÖ´Ù.
CORBAÀÇ °´Ã¼ ÂüÁ¶ÀÚ¸¦ ÀúÀåÇϰí COMÃø¸é¿¡¼ Á¶ÀÛÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â IMonikerProvider ÀÎÅÍÆäÀ̽º¿Í COMŬ¶óÀÌ¾ðÆ®°¡ CORBA°´Ã¼¸¦ »ý¼ºÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â ICORBAFactory ÀÎÅÍÆäÀ̽º µî °¢Á¾ ÀÎÅÍÆäÀ̽ºµéÀÌ COM/OLE¿Í CORBA»çÀÌÀÇ »óÈ£ ¿¬µ¿À» À§ÇØ Á¦¾ÈµÇ°í ÀÖ´Ù.
1.8 COM/OLE-CORBA¿¬µ¿
Á¦Ç°µé
1.8.1 ÀÌ
¿ë
°¡´ÉÇÑ Á¦Ç°µé
ÇöÀç CORBAÁ¦Ç°À»
Á¦°øÇϰí ÀÖ´Â ¸¹Àº ȸ»çµéÀÌ COM/OLE-CORBA¿¬µ¿
±â´ÉÀ» Á¦°øÇϰí ÀÖÀ¸¸ç Á¦°øÇÒ ¿¹Á¤¿¡ ÀÖ´Ù.
ÇöÀç ¾ç ¹æÇâ °ÔÀÌÆ®¿þÀ̸¦ Á¦°øÇϰí
ÀÖ´Â Á¦Ç°µé·Î´Â µðÁöÅ»ÀÇ ObjectBroker¿Í
IBMÀÇ
SOMobjects for Windows, ¿¢½ºÆÛ¼ÒÇÁÆ®ÀÇ
COM/CORBA/OLE , ¾ÆÀÌ¿À³ªÀÇ
Orbix-OLEµîÀÌ
ÀÖ´Ù. ¶ÇÇÑ
CORBAÁ¦Ç°
¿Ü¿¡ ºñÁÖ¾ó ¿¡Áö(Visual
Edge)»ç¿Í
ĵµé»ç¿¡¼ Á¦°øÇÏ´Â COM/CORBAŸŶÀ»
ÀÌ¿ëÇÒ ¼öµµ ÀÖ´Ù. ´ÙÀ½Àº
À̵é Á¦Ç°µé°ú ŸŶ¿¡ ´ëÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Â WWW
URLÀÌ´Ù.
À̵é Á¦Ç°¿Ü¿¡ ¿©·¯ Á¦Ç°µéÀÌ
COM/OLE ¿¬µ¿À»
Áö¿øÇϰí ÀÖ´Ù. º¸´Ù
ÀÚ¼¼ÇÑ Á¤º¸´Â 6¸·À»
ÂüÁ¶Çϱ⠹ٶõ´Ù.
http://www2.service.digital.com/ddi/html/ObjectBroker-V2.5.html
http://www.digital.com/info/objectbroker/obb.htm
http://www.software.ibm.com
http://www.expersoft.com
http://www.iona.com
http://www.visual-edge.com/
http://www.candle.com
1.8.2 Orbix-OLE¸¦
ÅëÇÑ CORBA-OLE
¿¬µ¿
¹æ¹ý °íÂû
¾Õ¼ ¼Ò°³ÇÑ Á¦Ç°Áß Orbix-OLE¸¦
ÅëÇØ CORBA¿Í
OLEÀÇ
¿¬µ¿ ¹æ¹ý¿¡ ´ëÇØ »ìÆìº»´Ù.Orbix-OLE´Â
¾ÆÀÌ¿À³ª¿¡¼ °³¹ßÇÑ CORBAÁ¦Ç°ÀÎ
OrbixÀÇ
OLE ¿¬µ¿¹öÀüÀÌ´Ù.
µû¶ó¼ Orbix-OLE´Â
Orbix Ŭ¶óÀ̾ðÆ®ÀÌÀÚ
OLE¼¹ö
¿ªÇÒÀ» ÇÏ´Â ÀÀ¿ë¼¹ö¸¦ °³¹ßÇØÁØ´Ù.
µû¶ó¼ À©µµ¿ì ÀÀ¿ë ÇÁ·Î±×·¥Àº
¼Õ½±°Ô OLE¿ÀÅä¸ÞÀ̼Ç
¼¹ö¸¦ ÅëÇØ CORBA¼¹öÀÇ
¸Þ¼Òµå¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.
- Orbix-OLE ÇÁ·Î±×·¥
ÀÛ¼º °úÁ¤ ÀÌÇØ
Orbix-OLE´Â ´ÙÀ½ [±×¸²5-21]°ú °°Àº °úÁ¤À» ÅëÇØ Orbix-OLE ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ°Ô ÇØÁØ´Ù. ¸ÕÀú »ç¿ëÀÚ´Â CORBA IDLÀ» »ç¿ëÇÏ¿© ¿øÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ´Ù.
ÀÏ´Ü ÀÛ¼ºµÈ ÇÁ·Î±×·¥Àº Orbix-OLE
IDLÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ¼ CORBA¼¹ö¿ë
ÇÁ·Î±×·¥°ú OLE ¿ÀÅä¸ÞÀ̼Ç
¼¹ö °â Orbix Ŭ¶óÀ̾ðÆ®
Äڵ带 »ý¼ºÇØ ÁØ´Ù. »ý¼ºµÈ
Äڵ忡´Â OLE¼¹ö¸¦
ÅëÇØ Á¦ÃâµÈ ¸Þ¼Òµå È£ÃâÀ» CORBA¼¹ö¿¡°Ô
Àü´ÞÇØÁÖ°í ¼¹ö¿¡¼ ¼öÇàµÈ ¸Þ¼ÒµåÀÇ °á°ú¸¦ ´Ù½Ã OLE¼¹ö¿¡°Ô
ÀüÇØÁÖ´Â µî °¢Á¾ OLE-CORBA
°ÔÀÌÆ®¿þÀÌ
¿ªÇÒÀ» ¼öÇàÇÑ´Ù. ¶ÇÇϳª
Áß¿äÇÑ Á¡Àº Orbix-OLE IDLÄÄÆÄÀÏ
°úÁ¤¿¡¼ OLE¸¦
À§ÇÑ Å¸ÀÔÁ¤º¸°¡ OLEŸÀÔ
¶óÀ̺귯¸®¿¡ ÀúÀåµÈ´Ù´Â Á¡ÀÌ´Ù.
°á±¹ »ç¿ëÀÚ´Â ³ª¸ÓÁö ºÎºÐ¿¡ ´ëÇÑ ·ÎÁ÷À»
±¸ÇöÇϰí À̸¦ OLE¼¹ö·Î
»ý¼ºÇÑ ÈÄ ºñÁÖ¾ó º£ÀÌÁ÷µé ±âŸ OLEÀÀ¿ë
ÇÁ·Î±×·¥ ÀÛ¼º ÅøÀ» »ç¿ëÇÏ¿© À©µµ¿ì»ó¿¡¼ ¼Õ½±°Ô ¿øÇÏ´Â CORBA¼¹ö¸¦
ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
[
±×¸²5-21
] Orbix-OLE °³¹ßȯ°æ
- Orbix-OLE °ÔÀÌÆ®¿þÀÌÀÇ
°æ·Î ÀÌÇØ
¾Õ¼ °è¼Ó »ìÆìº» °Íó·³ À©µµ¿ì ÀÀ¿ë
ÇÁ·Î±×·¥°ú CORBA ¼¹ö
»çÀÌÀÇ »óÈ£ ¿¬µ¿À» À§Çؼ´Â °ÔÀÌÆ®¿þÀÌ ¿ªÇÒÀ» ÇÏ´Â ºÎºÐÀÌ ÇÊ¿äÇÏ´Ù.
¹Ù·Î ÀÌ ºÎºÐÀÌ OLE¿ÀÅä¸ÞÀ̼Ç
¼¹öÀÌÀÚ Orbix Ŭ¶óÀ̾ðÆ®ÀÌ´Ù.
½ÇÁ¦ ÀÌ ºÎºÐÀº °ÔÀÌÆ®¿þÀ̷μ
¸¹Àº ¿ªÇÒÀ» ÇϰÚÁö¸¸ »ç¿ëÀÚÀÇ ÀÔÀå¿¡¼ º¸¸é °ÆÁ¤ÇÒ Çʿ䰡 ¾ø´Ù.
¿Ö³ÄÇϸé Orbix-OLE
IDLÄÄÆÄÀÏ·¯°¡ ÀÚµ¿ÀûÀ¸·Î ÀÌ
ºÎºÐ¿¡ ÇÊ¿äÇÑ Äڵ带 Á¦°øÇϱ⠶§¹®ÀÌ´Ù.
´ÙÀ½ [±×¸²5-22]´Â
°ÔÀÌÆ®¿þÀ̸¦ °æÀ¯ÇÏ¿© OLEŬ¶óÀÌ¾ðÆ®¿¡¼
CORBA±¸Çö
°´Ã¼±îÁöÀÇ °æ·Î¸¦ ³ªÅ¸³ °ÍÀÌ´Ù.
¸ÕÀú ºñÁÖ¾ó º£ÀÌÁ÷°°Àº ÀÀ¿ë
ÇÁ·Î±×·¥ ÀÛ¼º µµ±¸¸¦ ÀÌ¿ëÇÏ¿© ÀÛ¼ºµÈ OLEŬ¶óÀ̾ðÆ®
ÇÁ·Î±×·¥Àº °ÔÀÌÆ®¿þÀÌÀÇ ÀϺÎÀÎ OLE
¿ÀÅä¸ÞÀÌ¼Ç ¼¹ö¸¦ ÀÌ¿ëÇÏ¿© ¿øÇÏ´Â
¸Þ¼ÒµåµéÀ» È£ÃâÇÏ¿© ÀÛ¾÷À» ¼öÇàÇÑ´Ù.
ÀÌ ¶§ È£ÃâµÈ ¸Þ¼Òµå´Â °ÔÀÌÆ®¿þÀÌÀÇ
¶Ç ´Ù¸¥ Ãø¸éÀÎ Orbix Ŭ¶óÀÌ¾ðÆ®·Î¼
ÇØ´çCORBA¼¹ö¿¡°Ô
Àü´ÞµÈ´Ù. Àü´ÞµÈ
¸Þ¼Òµå´Â CORBA¼¹ö»ó¿¡¼
¼öÇàµÇ°í ÀÌ °á°ú´Â ´Ù½Ã ¿ª¼øÀ¸·Î OLEŬ¶óÀ̾ðÆ®
ÇÁ·Î±×·¥¿¡°Ô Àü´ÞµÈ´Ù.
[
±×¸²5-22
] OLEŬ¶óÀÌ¾ðÆ®¿¡¼ CORBA¼¹ö±îÁöÀÇ
Á¢±Ù °æ·Î
Á» ´õ ÀÚ¼¼È÷ ÀÌ °úÁ¤À» »ìÆìº¸¸é OLE
Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥¿¡¼ È£ÃâµÈ
¸Þ¼Òµå´Â °ÔÀÌÆ®¿þÀÌ ºÎºÐ¿¡¼ OLE
ÇÁ·Ï½Ã °´Ã¼¸¦ ÅëÇØ CORBA°´Ã¼¿¡°Ô
Àü´ÞµÈ´Ù. ¹Ù²Ù¾î
¸»Çϸé ÀÏ´Ü »ç¿ëÀÚ´Â ¿øÇÏ´Â ¸Þ¼Òµå¸¦ È£ÃâÇϱâ À§ÇØ ÇØ´ç CORBA
°´Ã¼¿¡ ´ëÇÑ ÂüÁ¶ÀÚ¸¦ ¾ò¾î¾ß
ÇÑ´Ù. À̶§
CORBA°´Ã¼´Â
·ÎÄà ÄÄÇ»ÅÍ¿¡ ÀÖÀ» ¼öµµ ÀÖ°í ³×Æ®¿÷»óÀÇ ´Ù¸¥ ÄÄÇ»ÅÍ¿¡ À§Ä¡ÇÒ ¼öµµ
ÀÖ´Ù. ÀÌ
°´Ã¼¿¡ ´ëÇÑ ÂüÁ¶ÀÚ¸¦ ¾ò±â À§ÇØ »ç¿ëÀÚ´Â ·ÎÄà ÄÄÇ»ÅÍ»ó¿¡ OLE
ÇÁ·Ï½Ã °´Ã¼¸¦ »ý¼ºÇØ¾ß ÇÑ´Ù
.
ÀÌ ÇÁ·Ï½Ã ¼¹ö´Â ½ÇÁ¦ CORBA°´Ã¼¸¦
´ëÇ¥ÇÏ´Â °´Ã¼·Î¼ °¢Á¾ »óÈ£ ¿¬µ¿ ±â´ÉÀ» Á¦°øÇÑ´Ù.
[
±×¸²5-23
] ³×Æ®¿÷»ó¿¡¼ OLE
¸Þ¼Òµå È£Ãâ °úÁ¤
- °£´ÜÇÑ
Orbix-OLE ÇÁ·Î±×·¥
ÀÛ¼º ¿¹
´ÙÀ½Àº °£´ÜÇÑ Orbix-OLE
ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â °úÁ¤À»
ÅëÇØ Áö±Ý±îÁö »ìÆìº» ³»¿ëÀ» Á¤¸®ÇØ º¸µµ·Ï ÇÑ´Ù.
´Ü°è1) IDLÆÄÀÏ ÀÛ¼º
¸ÕÀú ¿øÇÏ´Â ÇÁ·Î±×·¥À» IDLÀ»
ÅëÇØ ÀÛ¼ºÇÑ´Ù. ´ÙÀ½Àº
ÀüÇüÀûÀÎ bank ÀÀ¿ë
ÇÁ·Î±×·¥ÀÇ IDL ÀÌ´Ù.
// bankSrv.idl
interface bank {
exception reject { string reason; };
account newAccount{ in string owner} raises(reject);
void deleteAccount(in account a);
}
´Ü°è2) ÄÄÆÄÀÏ
ÀÏ´Ü ÀÛ¼ºµÈ bankSrv.idlÀ» ÄÄÆÄÀÏÇÑ´Ù.
C:> idl -wem bankSrv.idl
-wem˼
OLE2¿¡
¹ÙÀεùÇϱâ À§ÇÑ ÄÚµå¿Í °¢Á¾ ¸ÞÀÌÅ© ÆÄÀÏ(Makefile)°ú
ÄÚµåµéÀ» »ý¼ºÇس»´Â ¿É¼ÇÀÌ´Ù.
ÀÌ °úÁ¤¿¡¼ Áß¿äÇÑ °ÍÀº IDLÄڵ尡
OLE¿Í
CORBA¸¦
¿¬µ¿½Ã۱â À§ÇÑ Äڵ带 »ý¼ºÇÏ´Â °úÁ¤¿¡¼ ÇÊ¿äÇÑ Á¤º¸¸¦ Á¦°øÇÏ´Â
°ÍÀÌ´Ù. °¡·É,
OLE¿¡¼ »ç¿ëÇÏ´Â UUIDµîÀÌ
±×°ÍÀÌ´Ù. ´ÙÀ½Àº
¾Õ¼± ¿¹¿¡¼ »ç¿ëÇϱâ À§ÇÑ Á¶Á¤ ÆÄÀÏÀÌ´Ù.
Á¶Á¤ ÆÄÀÏÀº .ole¶ó´Â
È®ÀåÀÚ·Î ³¡³ª¸ç ÆÄÀÏ À̸§Àº IDLÆÄÀÏ¿¡¼
¼±¾ðµÈ º£À̽º ÀÎÅÍÆäÀ̽º¿Í µ¿ÀÏÇØ¾ß ÇÑ´Ù.
¿¹¸¦ µé¾î,
¾Õ¼± ¿¹ÀÇ Á¶Á¤ ÆÄÀÏÀº bank.oleÀÌ´Ù
.
# OLE configuration
# bank.old
ServerName = BankSrv
BaseUUID =
E5ABFA40-8C94-101C-AD9B-0020AF51E7E2
´Ü°è3) Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ ÀÛ¼º
´Ü°è2)¿¡¼
IDLÄÄÆÄÀÏ·¯´Â
bankSrv.mak¶ó´Â
¸ÞÀÌÅ© ÆÄÀÏÀ» ºñ·ÔÇÏ¿© °¢Á¾ Äڵ带 Á¦°øÇØÁØ´Ù.
À̶§ »ç¿ëÀÚ´Â ¼¹ö ÆÄÀÏ¿¡ ¿øÇÏ´Â
Äڵ带 ÀÛ¼ºÇØ¾ß ÇÑ´Ù. ÀÏ´Ü
¼¹ö ÆÄÀÏ¿¡ account newAccount{
in string owner} raises(reject)¿Í
void deleteAccount(in account
a)¸¦ ±¸ÇöÇß´Ù°í °¡Á¤ÇÏÀÚ.
¼¹öÃøÀÇ ÀÛ¼ºÀÌ ³¡³ ÈÄ ÀÌÁ¨
OLEŬ¶óÀÌ¾ðÆ®¸¦
ÀÛ¼ºÇØ¾ß ÇÑ´Ù.
ÀÏ´Ü OLEŬ¶óÀ̾ðÆ®
ÇÁ·Î±×·¥Àº ºñÁÖ¾ó º£ÀÌÁ÷°°ÀÌ ¼Õ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀ» ÀÌ¿ëÇÏ´Â
°ÍÀÌ Æí¸®ÇÏ´Ù. ¿øÇÏ´Â
Ŭ¶óÀ̾ðÆ®ÀÇ È¸éÀ» ºñÁÖ¾ó º£ÀÌÁ÷À¸·Î ´ÙÀ½°ú °°ÀÌ µðÀÚÀÎÇÑ´Ù°í
ÇÏÀÚ.
»ç¿ëÀÚ´Â µðÀÚÀÎÇÑ È¸é¿¡ ¸Â°Ô ¼¹ö¿¡
¿¬°á ¶Ç´Â ¿¬°áÇØÁ¦, ±×¸®°í
°èÁ¤ »ý¼º ¹× »èÁ¦, ¿¹±Ý,
ÀÎÃâ µîÀÇ ÄÁÆ®·ÑÀ» ÀÛ¼ºÇؾß
ÇÑ´Ù. ¸ðµç
ºñÁÖ¾ó º£ÀÌÁ÷ ÄÁÆ®·ÑÀ» ´Ù ÀÛ¼ºÇÏ´Â °úÁ¤À» ¼Ò°³Çϱâ´Â ¾î·ÆÁö¸¸
Á» ´õ ±íÀº ÀÌÇØ¸¦ À§ÇØ ¼¹ö¿¡ ¿¬°áÇÏ´Â °úÁ¤¿¡ ÇÊ¿äÇÑ Äڵ带 ¼Ò°³ÇÑ´Ù.
connect_button_Click()˼
¼¹ö¿¬°á ¹öư Ŭ¸¯½Ã ¼¹ö·ÎÀÇ ¿¬°áÀ» ½ÃµµÇÑ´Ù.
´Ù½Ã ¸»ÇØ ³×Æ®¿÷À» °æÀ¯ÇÏ¿©
À©µµ¿ì °´Ã¼°¡ CORBA¼¹ö·ÎÀÇ
Á¢±ÙÀ» ½ÃµµÇÏ´Â °ÍÀÌ´Ù. ÀÌ
°úÁ¤¿¡¼ »ç¿ëÀÚ´Â Orbix ÇÁ·Ï½Ã°¡
Á¦°øÇÏ´Â CreateObjects()ÇÔ¼ö¸¦
ÀÌ¿ëÇÏ¿© ¿øÇÏ´Â ¼¹ö·ÎÀÇ Á¢±ÙÀ» ½ÃµµÇÑ´Ù.
ÀÏ´Ü CreateObjects()¸¦
ÅëÇØ ¿øÇÏ´Â Orbix ¼¹ö¿¡
´ëÇÑ ÇÁ·Ï½Ã¸¦ »ý¼ºÇϰí ÀÌ ÇÁ·Ï½ÃÀÇ IT_Bind()
¶Ç´Â IT_BindHost()¸¦
ÅëÇØ ¿øÇÏ´Â ÇÏ´Â ¼¹ö¿¡ ¿¬°áÇÑ´Ù.
Sub connect_button_Click()
Set b = CreateObject("BankSrv.bank")
If host_name.Text = "" Then
b.IT_Bind
Else
b.IT_BindHost(host_name.Text)
End If
disconnect_button.Enables = True
connect_button.Enabled = False
new_acc_button.Enabled = True
End Sub
´Ü°è4) ÇÁ·Î±×·¥ ½ÇÇà
¸ðµç ÇÁ·Î±×·¥ÀÇ ÀÛ¼ºÀÌ ³¡³ª¸é ÇØ´ç
¼¹öÀÇ ÄÄÇ»Åͻ󿡼 Orbix µ¥¸ó°ú
¼¹ö ÇÁ·Î±×·¥À» ¼öÇà½ÃÄÑ ³õÀº ÈÄ ÀÛ¼ºÇÑ Å¬¶óÀÌ¾ðÆ®¸¦ ¼öÇàÇϸé
¿øÇÏ´Â ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ´Ù.
Áö±Ý±îÁö COM/OLE¿Í
CORBA¸¦
¿¬µ¿ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ »ìÆìº¸¾Ò´Ù.
ÇöÀç ÀÌ ±â¼úÀº ½Ã½ºÅÛ ÅëÇÕ½Ã
°¡Àå ÇÊ¿äÇÑ ±â¼úÁß Çϳª·Î ¼Õ²ÅÈ÷°í ÀÖ´Ù.
ºÐ¸í ±× ÀÌÀ¯´Â COM/OLE°´Ã¼¿¡
CORBA¶ó´Â
Àß µðÀÚÀÎµÈ ¼ÒÇÁÆ®¿þ¾î ¹ö½º¸¦ »ç¿ëÇÔÀ¸·Î¼ ±× °£ ¸¹Àº ÀÀ¿ë ºÐ¾ß¿¡¼
ÇÊ¿ä·Î ÇÏ´Â ºÐ»êOLE°¡
°¡´ÉÇϱ⠶§¹®À̶ó°í »ý°¢ÇÑ´Ù.
±×·¯³ª ³²Àº ¼÷Á¦´Â ºÐ»êCOM/³×Æ®¿÷
OLEÀÇ
½ÇÁ¦ ¸ð½ÀÀÌ´Ù. ¾ÆÁ÷±îÁö
Á¤È®ÇÑ Á¦Ç°ÀÌ Á¦°øµÇÁö ¾Ê¾Æ ´ÜÁ¤Çϱä ÈûµéÁö¸¸ ±âÁ¸ÀÇ COM/OLEÀÇ
ÇѰ踦 ±Øº¹Çϱâ À§ÇÑ ¸¹Àº ³ë·ÂÀÌ ±¸Ã¼ÈµÉ °ÍÀÓÀÌ ºÐ¸íÇÏ´Ù.
±×·¯³ª Àç¹Ì³ »ç½ÇÇϳª´Â À̹Ì
OS/2 , ¸ÅŲÅä½Ã
µî¿¡¼ ÄÄÆ÷³ÍÆ® °´Ã¼Ç¥ÁØÀ¸·Î »ç¿ëµÇ°í ÀÖ´Â OpenDocÀÌ´Ù
.
»ç½Ç OLEÀÇ
°¡Àå Å« Àû¼ö´Â CORBAº¸´Ù´Â
OpenDocÀÌ´Ù.
¿Ö³ÄÇϸé OpenDocÀºCORBA±â¹ÝÀÇ
ÄÄÆ÷³ÍÆ® °´Ã¼¸¦ À§ÇÑ À©µµ¿ì ±â¼úÀ̱⠶§¹®ÀÌ´Ù.
µû¶ó¼ ¾ö¹ÐÇÑ µî½ÄÀ¸·Î´Â COM/OLE
´ë CORBA/OpenDocÀÇ
±â¼ú ÀüÀïÀ̶ó°í ¸»ÇØ¾ß ¿Ç´Ù.
¿Ö³ÄÇϸé OLE°¡
COMÀ»
±× ÇϺα¸Á¶·Î »ï´Âµ¥ ¹ÝÇØ OpenDocÀº
CORBA¸¦
ÇϺα¸Á¶·Î »ç¿ëÇϱ⠶§¹®ÀÌ´Ù.
°ú¿¬ ÀÌ ÀüÀïÀÇ ½Â¸®ÀÚ°¡ ´©±¸ÀÎÁö¿¡
´ëÇØ¼´Â ´Ü¾ðÇϱâ ÈûµéÁö¸¸ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ COM/OLE°¡
¿¹ÀüÀÇ ´Ù¸¥ ºÐ¾ß¿¡¼ ó·³ ¿øÇÏ´Â ´ë·Î ¿Ï½ÂÀ» °ÅµÎÁö´Â ¸øÇϸ®¶ó
»ý°¢ÇÑ´Ù. ¿Ö³ÄÇϸé
CORBAÀÇ
ºÐ»ê±â¼úÀÌ COM/OLEÀÇ
±â¼úº¸´Ù »ó´çÈ÷ ¾Õ¼ÀÖ´Ù°í Æò°¡µÇ±â ¶§¹®ÀÌ´Ù.
2Àå
ÀÎÅÍ³Ý ¸Å´Ï¾îÀÇ Èñ¸Á,
WWW
ÇöÀç ÄÄÇ»Å͸¦ »ç¿ëÇÏ´Â ´ë´Ù¼öÀÇ »ç¶÷µé¿¡°Ô
°¡Àå Áß¿äÇÏ°í ¾ÕÀ¸·Î ¿ì¸®ÀÇ »ýȰ¿¡ °¡Àå ¸¹Àº ¿µÇâÀ» ¹ÌÄ¥ ÄÄÇ»ÅÍÀÇ
ºÐ¾ß¸¦ ãÀ¸¶ó°í ¹¯´Â´Ù¸é ½ÊÁßÆÈ±¸,
ÀÎÅͳÝÀ̶ó°í ¸»ÇÒ °ÍÀÌ´Ù.
¾Æ¸¶µµ ±×·¸°Ô ´ë´äÇÏ´Â ÀÌÀ¯´Â
ÀÎÅͳÝÀÌ ÁÖ´Â ¼ö¸¹Àº Á¤º¸¿Í °¡´É¼º¿¡ ÀÖ´Ù°í ¸»ÇÒ ¼ö ÀÖ´Ù.
¼ö¸¹Àº ÀÏ¹Ý »ç¿ëÀÚµéÀº ÀÎÅͳÝÀÌ
Á¦°øÇÏ´Â ¹«±Ã¹«ÁøÇÑ ¹ÝÂë »ì¾Æ ÀÖ´Â Á¤º¸¸¦ ¾ò±â À§ÇØ µ¿ºÐ¼ÁÖÇϰí
ÀÖÀ¸¸ç ¼ö¸¹Àº ÇÁ·Î±×·¡¸ÓµéÀº ÀÚ½ÅÀÌ °¡Áö°í ÀÖ´ø ±â¼ú°ú ¾ÆÀ̵ð¾î¸¦
ÀÎÅÍ³Ý»ó¿¡ ÆîÃÄ º¸±â À§ÇØ ³ë·ÂÇϰí ÀÖ´Ù.
±×·¯³ª ½ÇÁ¦ ÀÎÅͳÝÀ» °¡Àå Àû±ØÀûÀ¸·Î
Ȱ¿ëÇÏ°í °³¹ßÇϰí ÀÖ´Â ºÎ¹®Àº ÀÏ¹Ý »ç¿ëÀڵ鿡¼ ±â¾÷À̳ª ´Üü
»ç¿ëÀÚµéÂÊÀ¸·Î ¿Å°Ü °¡°í ÀÖ´Ù°í ¸»ÇÒ ¼ö ÀÖ´Ù.
¿Ö³ÄÇÏ¸é ´õ ÀÌ»ó ÀÎÅͳÝÀº ºÒƯÁ¤
´Ù¼ö¸¦ ÁöÇâÇÏ´Â °ø°ø ¼ºñ½º°¡ ¾Æ´Ï¶ó ƯÁ¤ ´Üü³ª ±â°üµî¿¡¼ ÀڽŵéÀÇ
Á¤º¸ ½Ã½ºÅÛÀ» º¸´Ù Áøº¸ÀûÀ¸·Î Ȱ¿ëÇϱâ À§ÇÑ ¸¶´çÀ¸·Î ÀÚ¸® ÀâÇô°¡°í
Àֱ⠶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ
¿òÁ÷ÀÓÀ» ÈçÈ÷µé "ÀÎÆ®¶ó³Ý"À̶ó°í ºÎ¸¥´Ù.
ÀÌ·¯ÇÑ "ÀÎÆ®¶ó³Ý"»óȲ¿¡¼
°¡Àå Áß¿äÇÑ ¿ä¼Ò Áß Çϳª°¡ ÀÌÁ¾ÀÇ È¯°æÀ» ÇϳªÀÇ ¾îÇ׾ȿ¡ ¸ô¾Æ³Ö´Â
°ÍÀÌ´Ù. ¼·Î
´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥µé°ú µ¥ÀÌŸº£À̽º,
±âŸ ¿©·¯ Á¤º¸ ÀÚ¿øÀ» ÇϳªÀÇ
¾îÇ׾ȿ¡ ³Ö°í ¼·Îµé ÀÎÅͳÝ(
Á» ´õ Á¤È®È÷ ¸»ÇÏÀÚ¸é ÀÎÅͳÝ
ÇÁ·ÎÅäÄÝ , TCP/IP )À»
ÅëÇØ ¿øÈ°È÷ Á¤º¸¸¦ °øÀ¯ÇÏ´Â °ÍÀÌ´Ù.
ÀÌ ¶§ ÀÎÅͳÝÀº Á¤º¸ÀÇ ±³È¯À»
À§ÇÑ ÇÁ·ÎÅäÄݷμ , CORBA´Â
¼·Î ´Ù¸¥ ÇüÅÂÀÇ Á¤º¸ ÀÚ¿øÀ» ´ã¾Æ³»´Â ¾îÇ×À¸·Î¼ ÈûÀ» ¹ßÇÑ´Ù°í
¸»ÇÒ ¼ö ÀÖ´Ù. À̹ø
Àå¿¡´Â ÀÌ µÎ ±â¼úÀÌ ÇÕÃÄÁö´Â °úÁ¤°ú ±× ¹æ¹ý,
±×¸®°í °¢Á¾ À̵濡 ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï
ÇÑ´Ù.
2.I ¹è°æ
ÀÌÇØ
2.1.1»õ·Î
¿î
½Ã´ëÀÇ »õ·Î¿î ¿ä±¸ »çÇ×µé
ÇöÀç ±â¾÷À̳ª ±âŸ Á¶Á÷ÀÌ ´ç¸éÇÑ ¿©·¯
ÄÄÇ»ÆÃ »óȲ Áß °¡Àå µÎµå·¯Áø ºÎºÐÀº ÀÌÁ¾ÀÇ ½Ã½ºÅÛÀ» ÅëÇÕ.ÀçÁ¶Á¤Çϱâ
À§ÇÑ ±â¼ú°ú ÀÎÅͳÝÀ» ÇʵηΠÇÑ ³×Æ®¿÷ ȯ°æÀÌ´Ù.
¶Ç Çϳª Ãß°¡ÇÒ ¼ö ÀÖ´Â ºÎºÐÀº
¸ÖƼ¹Ìµð¾î ÄÁÅÏÆ® Á¤º¸¶ó°í ¸»ÇÒ ¼ö ÀÖ´Ù.
ÀÌ·¯ÇÑ È¯°æ¿¡¼ ±âÁ¸ÀÇ Á¤º¸°ü¸®
½Ã½ºÅÛÀº ±× ¸ñÇ¥¸¦ »õ·Ó°Ô ¼öÁ¤Çؾ߸¸ ÇÑ´Ù.
´ÙÀ½Àº ÀÌ·¯ÇÑ È¯°æ¿¡¼ Á¤º¸°ü¸®
½Ã½ºÅÛÀÌ °¡Á®¾ß ÇÒ ¸ñÇ¥ÀÌ´Ù.
"Á¤º¸°ü¸® ½Ã½ºÅÛÀº Á¶Á÷À̳ª ±â°üÀÇ
Á¤º¸Ã³¸® °úÁ¤°ú °æ¿µ öÇÐÀ» Áö¿øÇÔ¿¡ ÀÖ¾î Áö¸®ÀûÀ¸·Î ºÐ»êµÇ°í
ÀÌÁ¾ÀÎ Á¤º¸ ÀÚ¿øÀ» º¸´Ù ½±°í ,
¾ÈÁ¤µÇ°í,
ÀϰüµÈ ¹æ¹ýÀ¸·Î °ü¸®ÇØ¾ß ÇÑ´Ù
."
À§ÀÇ ¸ñÇ¥´Â ÇöÀç,
±×¸®°í ¾ÕÀ¸·Î ±¸ÃàÇØ¾ß ÇÒ ½Ã½ºÅÛµéÀÌ
ÁöÇâÇØ¾ß ÇÒ Çʼö ¸ñÇ¥¶ó ¸»ÇÒ ¼ö ÀÖ´Ù.
½ÇÁ¦ ÀÌ·¯ÇÑ ¸ñÇ¥¸¦ ÁöÇâÇÏ´Â
½Ã½ºÅÛµéÀÌ °®Ãß¾î¾ß ÇÒ ¿ä±¸ »çÇ×µéÀº ´ÙÀ½°ú °°´Ù.
2.1.2
ÇöÀçÀÇ
»óȲÀº ?
ÀÚ!
¿ì¸®°¡ ±¸ÃàÇØ¾ß ÇÒ ½Ã½ºÅÛÀÇ
¸ñÇ¥¿Í ¿ä±¸ »çÇ×µéÀ» »ìÆìº¸¾Ò´Ù¸é ÀÌÁ¦ ÇÒ ÀÏÀº ÇöÀç ¿ì¸®ÀÇ ½Ã½ºÅÛÀ»
³ÃÁ¤È÷ »ìÆìº¸´Â °ÍÀÌ´Ù. ´ÙÀ½Àº
ÇöÀç ¿ì¸®°¡ ´ç¸éÇÑ Çö½Ç »óȲµéÀÌ´Ù.
2.1.3.
ÇØ°áÃ¥Àº?
ÇöÀç ¿ì¸®ÀÇ ½Ã½ºÅÛÀÌ ´ç¸éÇÑ »óȲ°ú
¾ÕÀ¸·Î ¿ì¸®°¡ ÁöÇâÇØ¾ß ÇÒ ½Ã½ºÅÛÀÇ ¸ñÇ¥¸¦ »ìÆìº¸¾Ò´Ù.
±×·¸´Ù¸é °ú¿¬ ¾î¶² ¹æ¹ýÀ» »ç¿ëÇÏ¿©
´Ù¸éÇÑ »óȲÀ» µ¹ÆÄÇÏ°í ¿ì¸®°¡ ¿øÇÏ´Â ¸ñÇ¥ ½Ã½ºÅÛÀ» ±¸ÃàÇÒ ¼ö ÀÖÀ»
Áö »ìÆìº¸ÀÚ.
Ãʱ⠴ëºÎºÐÀÇ ½Ã½ºÅÛ ±¸Ãà°¡µéÀº Áß¾Ó¿¡
¿øÇÏ´Â ÀÛ¾÷À» ¼öÇàÇÏ´Â ¼¹ö¸¦ Áß½ÉÀ¸·Î Çϰí ÀÌ¿¡ °¢Á¾ ´õ¹Ì Å͹̳¯À»
Ãß°¡ÇÏ¿© ½Ã½ºÅÛÀ» ±¸ÃàÇÏ¿´´Ù.
ÀÌ·¯ÇÑ ¹æ¹ýÀº ¼¹ö¿¡ ÁýÁߵǴÂ
ÀÏÀÇ ºÎÇÏ¿Í °¡°Ý °æÀï·Â, Ÿ
½Ã½ºÅÛ°úÀÇ ¿¬µ¿ µî ¸¹Àº ¹®Á¦Á¡µéÀ» ³»Æ÷Çϰí ÀÖ´Ù.
ÇöÀç ±¸ÃàµÇ´Â ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼ »ç¿ëÇÏ´Â
¹æ¹ýÀ¸·Î ½Ã½ºÅÛ°£ÀÇ °³º°ÀûÀÎ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ ¿øÇÏ´Â ½Ã½ºÅÛµéÀ»
¹¾î³»´Â ±â¼úÀ» ¸»ÇÑ´Ù. ¶ÇÇÑ
°³º°ÀûÀÎ ÀÎÅÍÆäÀ̽º¸¦ ¸¸µå´Â µ¥¼ ¹ß»ýÇÏ´Â ¹®Á¦Á¡µéÀ» ÇÇÇϰíÀÚ
³ª¿Â ±â¼úÀÌ ¹Ù·Î ¹Ìµé¿þ¾î¶ó´Â ¼ÒÇÁÆ®¿þ¾î ¿¬µ¿ ±â¼úÀÌ´Ù.
ÀÎÅÍ³Ý °Ë»ö¿£ÁøÀ̳ª ºñ¼ ÇÁ·Î±×·¥Ã³·³
ƯÁ¤ µµ¸ÞÀÎ ºÐ¾ß¿¡¼ »ç¿ëÀÚ¿¡°Ô ÀÚµ¿À¸·Î ¿øÇÏ´Â Á¤º¸¿Í ¼ºñ½º¸¦
Á¦°øÇÏ´Â ¸ðµ¨·Î Áö´É ¿¡ÀÌÁ¯Æ® ½Ã½ºÅÛÀÌ ÀÖ´Ù.
ÇâÈÄ °³¹ßµÇ´Â ½Ã½ºÅÛÀº Áö¿ªÀ̳ª
Á¤º¸ÀÇ Á¾·ù¿¡ ¹«°üÇÏ°Ô ¿øÇÏ´Â ¼ºñ½º ¿¡ÀÌÁ¯Æ®¸¦ ¼öÇàÇÔÀ¸·Î¼
¿¡ÀÌÁ¯Æ®°¡ Ȱµ¿ÇÒ ¼ö ÀÖ´Â ¿µ¿ª³»ÀÇ ¸ðµç Á¤º¸¸¦ °¡°øÇØ ¾òÀ» ¼ö
ÀÖ´Ù.
À§¿¡ Á¦½ÃÇÑ ±¸Çö ¹æ¹ýÁß ÇöÀç »ç¿ë°¡´ÉÇÑ
¹æ¹ýÀ» Á» ´õ ÀÚ¼¼È÷ »ìÆìº¸ÀÚ.
´ÙÀ½Àº ¿¬¹æ ¸ðµ¨À» ÅëÇØ ½Ã½ºÅÛÀ»
±¸ÃàÇÒ ¶§ ÇÊ¿ä·Î ÇÑ ±â¼úµéÀÌ´Ù.
ÀÌ·¯ÇÑ °³º°ÀûÀÎ ±â¼úµéÀº °¢±â ³ª¸§´ë·ÎÀÇ
°íÀ¯ÇÑ ¿µ¿ªÀ» °¡Áö°í ÀÖ´Â °ÍµéÀÌ´Ù.
°¡·É,
Á¤º¸ °ü¸® ±â¼úÀº ÁÖ·Î µ¥ÀÌŸ¸¦
°¡°øÇÏ°í µ¥ÀÌŸÀÇ ¹«°á¼º°ú ¾ÈÀü¼ºÀ» º¸ÀåÇÏ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù.
¶ÇÇÑ ÀÎÅÍ³Ý ±â¼úÀº TCP/IP¶õ
Åë½Å ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© ÀÎÅͳݻóÀÇ Á¤º¸¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Á¦°øÇÏ´Â
¼ºñ½º¸¦ Á¦°øÇÑ´Ù. À̵é
µÎ ¼ºñ½ºµéÀº Çö½ÇÀûÀÎ ¿ä±¸ »çÇ׵鿡 ÀÇÇØ Á¢¸ñµÇ°í ÀÖ´Ù.
ÀÌ·¯ÇÑ ¿ä±¸ »çÇ׿¡´Â Áõ±Çȸ»çÀÇ
Áõ±Ç ½Ã¼¼¶óµçÁö ½Å¹®»çÀÇ µ¥ÀÌŸº£À̽º °Ë»ö µîÀ» ¿¹·Î µé ¼ö ÀÖ´Ù.
±×·¯³ª ÀÌ µÎ ¼ºñ½º¸¦ Á¢¸ñÇÏ´Â
°úÁ¤¿¡´Â ¸¹Àº ¹®Á¦Á¡ÀÌ ÀÖ´Ù.
¸ÕÀú ÇöÀç »ç¿ëµÇ´Â ¹æ¹ýÀ¸·Î´Â CGI(Common
Gateway Interface)°¡ ÀÖ´Ù.
ÀÌ ¹æ¹ýÀº WWW°¡
½Ã½ºÅÛÀÇ È¯°æ º¯¼ö¸¦ ÅëÇØ ¿ÜºÎÀÇ ÇÁ·Î±×·¥°ú ¿¬µ¿ÇÏ´Â ¹æ¹ýÀÌ´Ù.
ÀÌ ¶§ ¹ß»ýÇÏ´Â ¹®Á¦·Î´Â ÇÁ·Î±×·¡¸ÓÀÇ
°æ¿ì ÀÏÀÏÀÌ ¸ðµç CGIÀÎÅÍÆäÀ̽º¸¦
ÀÛ¼ºÇϱâ À§ÇØ WWW±â¼ú°ú
µ¥ÀÌŸº£À̽º ±â¼úÀ» Àß ¾Ë¾Æ¾ß ÇÏ°í ¿©·¯ °³ÀÇ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀ»
»ç¿ëÇÒ °æ¿ì ÀÏÀÏÀÌ ¸ðµç ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇؾ߸¸ ÇÑ´Ù.
¶ÇÇÑ µÎ ½Ã½ºÅÛÀÌ »óÈ£¿¬µ¿µÇ¾î
ÀÛµ¿ÇÒ ¶§ ¸¹Àº ½Ã½ºÅÛ ÀÚ¿øÀ» »ç¿ëÇϹǷΠ±â´ëÇß´ø ¼º´ÉÀ» º¸Àå¹Þ±â
Èûµé´Ù. ÀÌ
¹æ¹ý ¿Ü¿¡µµ ÀÚ¹Ù ¾ð¾î¿¡¼ Á¦°øÇÏ´Â JDBC(Java
DataBase Connectivity)¶ó´Â µ¥ÀÌŸº£À̽º
¿¬µ¿ ±â¼úÀ̳ª OLE¸¦
ÅëÇØ µ¥ÀÌŸº£À̽º¿¡ Á¢±ÙÇÑ ÈÄ ÀÌ ±â¼úÀ» WWW¿¡
ÅëÇÕÇÒ ¼ö ÀÖ´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ActiveX
µîÀÇ ±â¼úÀÌ ÀÖ´Ù.
±×·¯³ª ÇÑ °¡Áö Áß¿äÇÑ Á¡Àº ¾ÕÀ¸·Î
¿ä±¸µÇ´Â Á¤º¸ ½Ã½ºÅÛÀÇ °æ¿ì ´Ü¼øÈ÷ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ»Ó ¸¸ ¾Æ´Ï¶ó
±âŸ ¼ö¸¹Àº Á¤º¸ ½Ã½ºÅÛ°úÀÇ ¿¬µ¿ÀÌ ºÒ°¡ÇÇ ÇÏ´Ù´Â °ÍÀÌ´Ù.
ÀÌ·±ÇÑ »óȲ¿¡¼ ÇÁ·Î±×·¡¸Ó´Â
º¸´Ù ¸¹Àº ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇؾ߸¸ ÇÑ´Ù.
¾Õ¼± ¹®Á¦Á¡µéÀ» ±Øº¹ÇÏ°í ¿¬¹æ ½Ã½ºÅÛÀ»
±¸ÃàÇϱâ À§ÇÑ ¹æ¹ýÀ¸·Î´Â CORBA
½Ã½ºÅÛ ¿¬µ¿±â¼ú°ú ÀÎÅÍ³Ý ±â¼úÀÇ
°áÇÕÀ» µé ¼ö ÀÖ´Ù. Âü°í·Î
ÇöÀç COMÀÇ
°æ¿ì À©µµ¿ì ÀÀ¿ë ÇÁ·Î±×·¥°£ÀÇ ¿¬µ¿¸¸À» Á¦°øÇϹǷΠ¸ñÇ¥·Î ÇÏ´Â
½Ã½ºÅÛ ±¸¼º¿¡´Â ÀûÇÕÇÏÁö ¾Ê´Ù.
ÀÌ·¯ÇÑ ±â¼úÀû °áÇÕÀ» ÅëÇØ ¾òÀ»
¼ö ÀÖ´Â ÀåÁ¡Àº ´ÙÀ½°ú °°´Ù.
Áö±Ý±îÁö »õ·Î¿î ȯ°æ¿¡ ÀûÇÕÇÑ ½Ã½ºÅÛÀ»
±¸¼ºÇϱâ À§ÇØ ÇÊ¿äÇÑ ¿©·¯ »çÇ×µéÀ» Á¾ÇÕÇØº¸¾Ò´Ù.
°á·ÐÀûÀ¸·Î ÇâÈÄ ÀÎÅͳÝÀ» ±â¹ÝÀ¸·Î
ÇÑ Á¤º¸ ½Ã½ºÅÛÀ» ±¸ÃàÇϱâ À§ÇØ °¡Àå ÇÊ¿äÇÑ ±â¼úµé·Î´Â WWW·Î
´ëº°µÇ´Â ÀÎÅÍ³Ý ±â¼ú°ú CORBA·Î
´ëº°µÇ´Â ½Ã½ºÅÛ ÅëÇÕ ±â¼úÀÇ Á¢¸ñÀÌ¶ó ¸»ÇÒ ¼ö ÀÖ´Ù.
ƯÈ÷ ÀÌ µÎ ±â¼ú ¸ðµÎ °¢°¢ÀÇ
ºÐ¾ß¿¡¼ Ç¥ÁØÀ¸·Î ÀÚ¸®Àâ°í ÀÖ´Â °ÍÀ» °¨¾ÈÇØ º¸¸é ´ç¿¬ÇÑ °á°ú¶ó°í
¸»ÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ µÎ ±â¼úÀÇ °áÇÕÀ» ÅëÇØ °¡Àå ¾ÈÁ¤ÀûÀ̰í À¯¿¬ÇÑ
½Ã½ºÅÛÀ» ±¸ÃàÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
´ÙÀ½ Àý¿¡¼ ÀÌ·¯ÇÑ µÎ ±â¼úÀÇ
°áÇÕÀ» À§ÇÑ ¹è°æ ±â¼ú°ú °áÇÕ ¹æ¹ý¿¡ ´ëÇØ »ìÆìº¸µµ·Ï ÇÑ´Ù.
2.2 ÀÎÅÍ
³Ý
±â¼ú µ¿Çâ
2.2.1 ÀÎ
ÅͳÝ
ȯ°æ ÀÌÇØ
ÀÎÅͳÝÀº ÀÚ¿¬¹ß»ýÀûÀ¸·Î °Ç¼³µÈ °¡»óÀÇ
»çȸ¶ó ¸»ÇÒ ¼ö ÀÖ´Ù. ¼ö¸¹Àº
ÄÄÇ»ÅÍ ½Ã½ºÅÛµé°ú »ç¶÷µéÀÌ ÀüÀÚ ½ÅÈ£¿¡ ¿øÇÏ´Â Á¤º¸¿Í ¸Þ¼¼Áö¸¦
½Ç¾î ±³È¯Çϰí ÀÖ´Ù. ÀÌ
¶§ °¡Àå Áß¿äÇÑ Àü¼Û ¸Å°³Ã¼·Î TCP/IP
ÇÁ·ÎÅäÄÝÀÌ ÀÖ´Ù.
TCP/IP ÇÁ·ÎÅäÄÝÀº ÀÎÅÍ³Ý È¯°æ¿¡
¼ÓÇØ ÀÖ´Â ¸ðµç ½Ã½ºÅÛµéÀÌ ´Ù¸¥ ½Ã½ºÅÛ°ú Á¤º¸¸¦ ±³È¯ÇÏ°í »õ·Î¿î
½Ã½ºÅÛ°ú ³×Æ®¿÷À» ÀÎÅͳÝÀÇ ÀϺηΠȮÀåÇϴ ǥÁØ ¹æ¹ýÀ» Á¦°øÇϰí
ÀÖ´Ù. ÀÌ·±
ȯ°æ¿¡¼ ÀÎÅͳÝÀº 6õ¸¸
¸íÀÌ ³Ñ´Â »ç¶÷µéÀÌ ÀÌ¿ëÇÏ´Â ±×¾ß¸»·Î Àü ¼¼°è¸¦ ¹«´ë·Î ÇÑ ¸í½Ç»óºÎÇÑ
¼¼°èÃÖ´ëÀÇ ³×Æ®¿÷À¸·Î ÀÚ¸®Àâ°Ô µÇ¾ú´Ù.
±×·¸´Ù¸é ¾î¶² ¿¬À¯¿¡¼ ÀÎÅͳÝÀÌ
ÇöÀçó·³ ¼ºÀåÇÏ°Ô µÇ¾ú´ÂÁö ÀÎÅͳݿ¡¼ Á¦°øÇÏ´Â Á¤º¸ ½Ã½ºÅÛÀÇ Á¾·ù¿Í
±× ¹ßÀü ¹æÇâÀ» Áß½ÉÀ¸·Î »ý°¢Çغ¸ÀÚ.
¸ÕÀú ÀÎÅÍ³Ý Á¤º¸ ½Ã½ºÅÛÀ̶õ ÀÎÅͳÝÀ»
±â¹ÝÀ¸·Î ÇÏ¿© °¢Á¾ Á¤º¸ ¼ºñ½º¸¦ Á¦°øÇÏ´Â ½Ã½ºÅÛÀ» ¸»ÇÑ´Ù.
¿¹¸¦ µé¸é,
ÀÎÅͳݻóÀÇ ÀüÀÚ¿ìÆí ½Ã½ºÅÛÀ̳ª
¿øÇÏ´Â ¹®¼¸¦ °Ë»öÇϱâ À§ÇÑ ½Ã½ºÅÛÀÌ ÀÖ´Ù.
½ÇÁ¦ ÀÌ·¯ÇÑ ÀÎÅÍ³Ý Á¤º¸ ½Ã½ºÅÛÀº
´ÙÀ½ÀÇ ¸î °¡Áö ÁÖ¿äÇÑ ¹æÇâÀ» °¡Áö°í ¹ßÀüµÇ¾î ¿Ô´Ù.
ÀÌ·¯ÇÑ ¹æÇâÀº ±âÁ¸ÀÇ ÀÎÅÍ³Ý Á¤º¸ ½Ã½ºÅÛÀÌ
»õ·Î¿î ȯ°æ¿¡ ÀûÇÕÇÑ ¹æÇâÀ¸·Î º¯ÈÇϰí ÀÖ´Ù°í ¿ä¾àÇÒ ¼ö ÀÖ´Ù.
´ÙÀ½ [±×¸²5-24]Àº
ÇöÀç ÀÌ¿ë °¡´ÉÇÑ ÀÎÅÍ³Ý Á¤º¸ ½Ã½ºÅÛÀ» ºÐ·ùÇÑ °ÍÀÌ´Ù.
[ ±×¸²5-24 ] ÀÎÅͳÝ
Á¤
º¸
½Ã½ºÅÛÀÇ ºÐ·ù
Ãʱâ
ÀÎÅͳÝÀ» ÀÌ¿ëÇÏ´Â »ç¶÷µé¿¡°Ô
ÀÖ
¾î
°¡Àå À¯¿ëÇÏ°í ¾Ö¿ëµÇ´Â ¼ºñ½º°¡ ¹Ù·Î
ÀüÀÚ¿ìÆí°ú ÀüÀÚ´º½º(USENET News) °°
˼
Åë½Å ¼ºñ½º¿´´Ù. ±¹°æÀ» ÃÊ¿ùÇÏ¿©
¿øÇÏ´Â »ç¶÷¿¡°Ô ÆíÁö¸¦
ÁÖ
°í¹Þ´Â ÀüÀÚ¿ìÆí°ú °øÅëÀÇ °ü½É°Å¸®¸¦
°®°í ÀÖ´Â »ç¶÷µéÀÌ
±×
·ìÀ» ¸¸µé°í ÀÚ½ÅÀÇ °ßÇØ¿Í ÀǰßÀ»
ÁÖ°í¹Þ´Â ÀüÀÚ´º½º´Â ¸¹Àº
ȍ
¿ëÀڵ鿡 ÀÇÇØ¼ »ç¿ëµÇ°í ÀÖ´Ù.
Âü°í·Î SMTP(Simple Mail Transfer Protocol)´Â ÀüÀÚ¿ìÆíÀ» Àü´ÞÇÒ ¶§ ÀÌ¿ëÇÏ´Â
ÇÁ·ÎÅäÄÝÀ̰í NNTP(Network News Transfer Protocol)´Â ÀüÀÚ´º½º¸¦ Àü´ÞÇÒ
¶§
»ç¿ëÇÏ´Â ÇÁ·ÎÅäÄÝÀÌ´Ù
.
µÚ¸¦ À̾î Űº¸µå ÀÔ·ÂÀ» ÅëÇØ ¿øÇÏ´Â
»ç¶÷°ú ÀÏ ´ë ÀÏ·Î ´ëȸ¦
³ª
´©´Â Talk¿Í ´Ù ´ë ´Ù ´ëȸ¦ ³ª´©´Â IRC(Internet Relay
Chat)°¡ ÀÎÅÍ³Ý Åë½Å
¼
ºñ½º·Î µîÀåÇßÀ¸¸ç ÃÖ±Ù µé¾î
ÀÎÅÍ³Ý ÀüÈ¿Í È»ó
Åë
È , »ç¼³ °Ô½ÃÆÇ (BBS , Bulletin Board system)
µî
ÀÌ
°¢±¤À» ¹Þ°í ÀÖ´Ù
.
|
¼ºñ½º ÇüÅ |
´ëÈÇü Åë ½Å ¼ºñ½º |
¹èÄ¡Çü Åë ½Å ¼ºñ½º | ||
|
¼ºñ½º ¸í |
¼ºñ½º ¿¹ |
¼ºñ½º ¸í |
¼ºñ½º ¿¹ | |
|
ÀÏ ´ë ÀÏ |
´ëÈ |
Talk , Phone |
ÀüÀÚ ¿ìÆí |
SMTP |
|
´Ù ´ë ´Ù |
Åä·Ð |
IRC |
ÀüÀÚ ´º½º |
NNTP |
ÀÎÅͳÝÀÌ
ÀÌó·³ ¼ºÀåÇÏ°Ô µÈ °áÁ¤ÀûÀÎ
¹è
°æ¿¡´Â Å©°Ô ¸î °¡Áö°¡ ÀÖÀ» ¼ö ÀÖ´Ù.
¸ÕÀú °¡Àå °¡±õ°Ô´Â
WWW(World Wide Web)ÀÇ Æø¹ßÀû
¼ºÀåÀ» µé ¼ö ÀÖ°Ú°í ¸Ö°Ô´Â
TCP/IP ÇÁ·ÎÅäÄÝÀ» µé ¼ö ÀÖ´Ù. ƯÈ÷
ÀÌ
ÇÁ·ÎÅäÄÝÀÌ À¯´Ð½º ¿î¿µ
ü
Á¦ÀÇ ÀϺημ ÀÚ¸®ÀâÀ¸¸é¼ ÀÎÅͳÝÀÌ
ŵ¿µÇ±â ½ÃÀÛÇß´Ù°í ¸»ÇÒ
¼ö
ÀÖ
´Ù. ÀÌ·¸°Ô µÈ µ¥¿¡´Â TCP/IP°¡ Á¦°øÇÏ´Â ´Ù¾çÇÑ
Á¤º¸ °øÀ¯ ¼ºñ½º°¡
¸¹
˼
»ç¿ëÀÚ¿¡°Ô Å« À¯¿ë¼ºÀ» Á¦°øÇÑ µ¥ ±âÀÎÇÑ´Ù.
¸ÕÀú ÀÎÅÍ³Ý »ç¿ëÀÚ´Â
TELNETÀ̳ª RloginÀ» ÀÌ¿ëÇÏ¿© ¿ø°ÝÁö¿¡
ÀÖ´Â ÄÄÇ»ÅÍ¿¡ ·Î±×ÀÎ
ÇÒ
¼ö
ÀÖ
À¸¸ç rsh(remote shell)°°Àº
À¯´Ð½º ¸í·É¾î¸¦ ÅëÇØ
¿ø
°ÝÁö ÄÄÇ»ÅÍ¿¡ ¸í·ÉÀ» Áö½ÃÇÒ ¼öµµ
ÀÖ´Ù.
¶ÇÇÑ ÆÄÀÏ ¼Û.¼ö½ÅÀ»
ˤ
ÇØ FTP(File Transfer
Protocol)³ª À¯´Ð½ºÀÇ rcp(remote copy)°°Àº
¸í
·É¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ¼± ¸¶ÀÌÅ©·Î½Ã½ºÅÛÀÇ
NFS(Network File System)³ª
Ä«
³×±â ¸á·Ð ´ëÇп¡¼ °³¹ßÇÑ AFS(Andrew File
System)¸¦ ÀÌ¿ëÇÏ¿© ¿ø°ÝÁö
ÄÄ
Ç»ÅÍÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» °øÀ¯ÇÒ ¼öµµ
ÀÖ´Ù.
|
¼ºñ½º Çü Å |
´ëÈÇü Á¤ º¸ °øÀ¯ ¼ºñ½º |
¹èÄ¡Çü Á¤º¸ °øÀ¯ ¼ºñ½º |
|
¿ø°ÝÁö ·Î±×ÀÎ |
TELNET , Rlogin | |
|
¿ø°ÝÁö ¸í·É ¼öÇà |
rsh |
UUCP |
|
ÆÄÀÏ Àü¼Û |
FTP , rcp | |
|
ÆÄÀÏ °øÀ¯ ¼ºñ½º |
NFS , AFS |
ÀÎÅͳÝ
Á¤º¸ °Ë»ö ½Ã½ºÅÛÀº
Çö
Àç
°¡Àå °¢±¤¹Þ°í ÀÖ´Â ÀÎÅÍ³Ý ¼ºñ½º
ºÐ¾ßÀÌ´Ù. ÀÎÅͳÝÀÌ Á¡Á¡
´õ
È®
»êµÉ ¼ö·Ï °Ë»ö ¼ºñ½º¿¡ ´ëÇÑ ¿ä±¸´Â
Áõ°¡Çϱ⠶§¹®¿¡ º¸´Ù
½±
°í
ºü¸£°Ô ¿øÇÏ´Â Á¤º¸¸¦ ãÀ» ¼ö ÀÖ´Â
°Ë»ö ¼ºñ½º´Â Áß¿äÇÏ´Ù°í
¸»
ÇÒ
¼ö
ÀÖ´Ù. ¿©±â¼ Çϳª ÁÖÀÇÇØ¾ß ÇÒ Á¡Àº ¹«¾ùÀ»
°Ë»öÇÒ °ÍÀΰ¡ ÇÏ´Â
¹®
Á¦ÀÌ´Ù. °¡·É , ¿ì¸®´Â ÀÎÅͳݻ󿡼
ƯÁ¤ÇÑ »ç¶÷À» ãÀ»
¼ö
µµ
ÀÖÀ¸¸ç ƯÁ¤ ÄÄÇ»Å͸¦ ãÀ» ¼öµµ
ÀÖ´Ù. ¶ÇÇÑ Æ¯Á¤
ÆÄ
ÀÏÀ̳ª ¹®¼¸¦ ãÀ» ¼öµµ ÀÖ´Ù.
ÀÌ·¯ÇÑ °ÍÀ» °³º°ÀûÀÎ
¸ñ
ÀûÀ¸·Î ÇÏ¿© ¸¹Àº ÀÎÅÍ³Ý ¼ºñ½ºµéÀÌ °³¹ßµÇ¾î
¿Ô´Ù. ´ÙÇེ·´°Ôµµ
ÀÌ
·¯ÇÑ °³º°ÀûÀÎ °Ë»ö ¼ºñ½ºµéÀÌ
WWW¸¦ Áß½ÉÀ¸·Î Çϳª·Î
Åë
ÇյǴ Ãß¼¼À̱⠶§¹®¿¡ ÀÌ ¸ðµç
°Ë»ö ¼ºñ½º¸¦ ÀÍÈú
ÇÊ
¿ä´Â ¾øÀ» °ÍÀÌ´Ù. ±×·¯³ª ¾î¶²
¼ºñ½ºµéÀÌ ÀÖ´Â Áö¿¡
´ë
ÇØ¼´Â ¼÷ÁöÇØ¾ß ÇÒ °ÍÀÌ´Ù.
¿¹¸¦ µé¾î [Ç¥5-8]¿¡¼
ó
·³
ÄÄÇ»ÅÍ¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇØÁÖ´Â ¼ºñ½º·Î
X.500¿Í ¾Õ¼ »ìÆìº»
DNS , NIS°¡ ÀÖ´Ù. ƯÈ÷ X.500Àº µð·ºÅ丮¿Í
À̸§ ¼ºñ½º¸¦ Á¦°øÇØÁÖ±â
ˤ
ÇÑ ISO-OSI Ç¥ÁØÀÌ´Ù. ¶ÇÇÑ
ÀÎÅÍ³Ý »ç¿ëÀÚÀÇ À̸§°ú
Àü
ȹøÈ£°°Àº Á¤º¸¸¦ Á¦°øÇØÁÖ´Â ¼ºñ½º·Î
Áß¾Ó¿¡ »ç¿ëÀÚ¿¡ ´ëÇÑ
µ¥
ÀÌŸº£À̽º¸¦ °ü¸®Çϰí À̸¦
ÅëÇØ ¼ºñ½º¸¦ Á¦°øÇÏ´Â
WHOIS ¼ºñ½º¿Í °³º°ÀûÀΠȣ½ºÆ®ÀÇ
»ç¿ëÀÚ Á¤º¸¸¦ Á¦°øÇÏ´Â
ÇÎ
°Å(Finger) ¼ºñ½º , °¢Á¾ ÀÎÅͳÝ
ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇÏ¿© ÀÎÅͳÝ
ȍ
¿ëÀÚÀÇ Á¤º¸¸¦ Á¦°øÇÏ´Â ³ÝÆÄÀεå(Netfind)°¡ ÀÖ´Ù
.
¿øÇÏ´Â ÆÄÀÏÀ» ã¾ÆÁÖ´Â
¼
ºñ½º·Î´Â ÀÎÅͳݻóÀÇ Anonymous
FTP¼¹öµéÀÇ Á¤º¸¸¦ ¸ðÀº
ÈÄ
ÀÌ
¸¦
ÀÌ¿ëÇÏ¿© ¿øÇÏ´Â ÆÄÀÏÀ» °Ë»öÇØÁÖ´Â
¾ÆÅ°(Archie)¿Í Anonymous FTP¼¹ö
ÀÇ
ÆÄÀϵéÀ» ¸¶Ä¡ ·ÎÄà ÄÄÇ»ÅÍÀÇ ÆÄÀÏó·³
Á¦°øÇÏ¿© °Ë»öÇØÁÖ´Â ÇÁ·Î½ºÆä·Î
(Prospero) , ³×Æ®¿÷ ÆÄÀÏ
½Ã½ºÅÛÀ» ÀÌ¿ëÇÏ¿© Anonymous FTP»óÀÇ
ÆÄ
ÀÏÀ» °¡»ó ÆÄÀÏ ½Ã½ºÅÛ¿¡ À§Ä¡½ÃÄÑÁÖ´Â
¾Ë·º½º(Alex)µî ÀÌ ÀÖ´Ù
.
¸¶Áö¸·À¸·Î °¢Á¾ Ű¿öµå¸¦ »ç¿ëÇÏ¿©
¿øÇÏ´Â ¹®¼¸¦ ã¾ÆÁÖ´Â
WAIS³ª °íÆÛ(Gopher)°°Àº ¼ºñ½º¿Í
ÇÏÀÌÆÛ ÅØ½ºÆ® ¹æ½ÄÀ¸·Î
¿ø
ÇÏ´Â ¹®¼³ª ÆÄÀÏÀ» ã±â À§ÇØ
ÀÎÅͳÝÀ» Ç×ÇØÇÏ´Â WWW°¡
ÀÖ
´Ù.
|
|
|
|
|
|
|
Á¤º¸ °Ë»ö |
X.500 DNS NIS |
X.500 WHOIS ÇΰŠ³ÝÆÄÀεå |
X.500 ¾ÆÅ° ÇÁ·Î½ºÆä·Î ¾Ë·º½º °íÆÛ WWW |
X.500 ¿þÀÌÁî °íÆÛ WWW |
|
Á¤º¸ ¼±Åà |
FTP NFS AFS ÇÁ·Î½ºÆä·Î |
¿þÀÌÁî °íÆÛ WWW | ||
|
Á¤º¸ ÃßÃâ |
¿þÀÌÁî °íÆÛ WWW |
ÀÎÅͳÝ
À̸§ Á¤º¸ ½Ã½ºÅÛÀº
ÇÑ
¸¶µð·Î ÀÎÅÍ³Ý »ç¿ëÀÚµéÀÌ ÁÖ·Î »ç¿ëÇÏ´Â
µµ¸ÞÀÎ À̸§(¶Ç´Â
È£
½ºÆ® À̸§)À» ÄÄÇ»Å͵éÀÌ ÀνÄÇÒ ¼ö ÀÖ´Â
IPÁÖ¼Ò(Internet Protocol Address)·Î
º¯
È¯ÇØÁÖ´Â ½Ã½ºÅÛÀ» ¸»ÇÑ´Ù. ´Ù½Ã
¸»ÇØ ÄÄÇ»ÅÍÀÇ °æ¿ì
¹®
ÀÚ¸¦ ÀνÄÇÏÁö ¸øÇÑ´Ù. µû¶ó¼ ÀÎÅͳݻóÀÇ
ÄÄÇ»Å͵éÀº ¼·Î°£¿¡ ±¸º°Çϱâ
ˤ
ÇÑ
¹æ¹ýÀ¸·Î IPÁÖ¼Ò¶ó´Â °ÍÀ» »ç¿ëÇÑ´Ù.(
¿¹
, 202.30.143.10 ) ±×·±µ¥ ¹®Á¦´Â
ÀÌ
·¯ÇÑ ÁÖ¼Ò´Â »ç¶÷µéÀÌ »ç¿ëÇϱ⿡´Â
ºÒÆíÇϱ⠶§¹®¿¡ ´ëºÎºÐÀÇ
ȍ
¿ëÀÚ´Â µµ¸ÞÀÎ À̸§À̶ó´Â ¹æ½ÄÀ» »ç¿ëÇÏ¿©
ÄÄÇ»Å͸¦ ±¸º°ÇÑ´Ù. (¿¹ , www.postech.ac.kr ) À̶§ IPÁÖ¼Ò¿Í µµ¸ÞÀÎ À̸§»çÀÌÀÇ
º¯È¯Àº Ç×»ó Àϰü¼ºÀÌ
À¯
ÁöµÅ¾ß ÇÑ´Ù. ¿Ö³ÄÇϸé ÀÎÅͳݻ󿡼
¿øÇÏ´Â ÄÄÇ»Å͸¦ Á¤È®È÷
Á¢
¼ÓÇϱâ À§ÇؼÀÌ´Ù. µû¶ó¼ »ç¿ëÀÚÀÇ
µµ¸ÞÀÎ À̸§À» IPÁÖ¼Ò·Î
¹Ù
²ãÁÖ´Â ¼ºñ½º°¡ ÀÎÅÍ³Ý À̸§
Á¤º¸ ½Ã½ºÅÛÀÌ´Ù.
2.2.2 ÀÎ
ÅͳÝ
ÅëÇÕ Á¤º¸ ½Ã½ºÅÛ, WWW
ÀÌÇØ
¾Õ¼ »ìÆìº» °Íó·³ ÀÎÅͳݿ¡´Â ¸¹Àº
Á¤º¸ ½Ã½ºÅÛÀÌ Á¸ÀçÇÑ´Ù. ±×·¯³ª
ÀÌ·¯ÇÑ ½Ã½ºÅÛµéÀº WWW¼ºñ½º·Î
ÅëÇյǰí ÀÖ´Â ½ÇÁ¤ÀÌ´Ù. ±×
ÀÌÀ¯·Î´Â ¿©·¯ °¡Áö°¡ ÀÖÁö¸¸ °¡Àå Áß¿äÇÑ dlÀÌÀ¯µé·Î´Â
¼Õ½¬¿î »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º , Æø³Ð°í
´Ù¾çÇÑ Á¤º¸ ¼ºñ½º , ±âŸ
Á¤º¸ ½Ã½ºÅÛÀÇ ÅëÇÕ ±â´É µîÀ» µé ¼ö ÀÖ´Ù.
2.2.2.1 WWWÀÇ Åµ¿°ú
ÁÖ¿ä Æ¯Â¡
WWW´Â
World-Wide-Web ¶Ç´Â
W3
¶ó
ºÒ¸°´Ù. WWW´Â
½ºÀ§½º, Á¦³×¹Ù¿¡
À§Ä¡ÇÑ CERN ( the European Laboratory
for Particle Physics )¿¡ ÀÇÇØ¼
ÁÖµµµÈ ÇÁ·ÎÁ§Æ®ÀÇ ¼Ò»ê¹°·Î½á ÄÄÇ»ÅÍ ³×Æ®¿÷¿¡ ¿¬°áµÇ¾î ÀÖ´Â »ç¿ëÀÚµéÀÌ
¸ÖƼ¹Ìµð¾î¸¦ Æ÷ÇÔÇÑ ´Ù¾çÇÑ Á¤º¸¸¦ ÇÏÀÌÆÛ¹Ìµð¾î ÀÎÅÍÆäÀ̽º¸¦ ÅëÇÏ¿©
°Ë»öÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.
WWW´Â
CERNÀÇ
ÆÀ ¹ö³Ê½º ¸®(Tim Berners Lee
)¿¡ ÀÇÇØ¼ ÃÖÃÊ·Î Á¦¾ÈµÈ ÈÄ
±×ÀÇ ÁÖµµÇÏ¿¡ °³¹ßµÇ¾ú´Ù. º»·¡
WWW °³¹ß
½Ã ±âº» ¾ÆÀ̵ð¾î´Â ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÏ´Â ¿¬±¸¿øµéÀÇ °³ÀÎ Á¤º¸¸¦
°øÀ¯Çϱâ À§ÇØ »ç¿ëÇÏ´ø ¼Ò±Ô¸ðÀÇ °³Àοë ÇÏÀÌÆÛÅØ½ºÆ® ½Ã½ºÅÛ¿¡¼
Ãâ¹ßÇÏ¿´´Ù. WWWÀº
µÎ°³ ÀÌ»óÀÇ ÇÁ·ÎÁ§Æ® »çÀÌ¿¡¼ ¼·Î °ü°è¸¦ ¸Î°í ÀÖ´ø ÇÑ ÇÁ·ÎÁ§Æ®ÀÇ
Á¤º¸°¡ º¯ÇÏ´õ¶óµµ ÀÌ º¯È°¡ ´Ù¸¥ ÇÁ·ÎÁ§Æ®¿¡ ÀÚ¿¬½º·´°Ô À¶ÈµÇµµ·Ï
°í¾ÈµÇ¾ú´Ù.
ÇöÀç WWW´Â
ÇöÀç ÀÎÅÍ³Ý ¼ºñ½º Áß¿¡¼ °¡Àå ÁÖ¸ñ ¹Þ´Â ¼ºñ½º·Î ºÎ»óÇß°í ½ÇÁ¦
NSFNETÀÇ
°æ¿ì WWWÀÇ
Áõ°¡ ¼Óµµ°¡ ÀÎÅÍ³Ý Áõ°¡ÀÇ 2¹è
ÀÌ»ó µÈ´Ù°í ÇÑ´Ù. ÀÌ·¸µí
WWW°¡
±Þ¼ÓÇÑ È®»êÀ» ÇÏ´Â µ¥´Â WWW°¡
°®°í ÀÖ´Â ´ÙÀ½ÀÇ Æ¯Â¡¿¡ ±âÀÎÇÑ´Ù.
WWW˼
TCP/IP»ó¿¡¼
HTTP(Hypertext Transfer
Protocol)¶ó´Â
ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇϴ Ŭ¶óÀ̾ðÆ®/¼¹ö
±¸Á¶ÀÌ´Ù. ³Ý½ºÄÉÀÌÇÁ³ª
ÀͽºÇ÷ξÀº WWWŬ¶óÀÌ¾ðÆ®´Â
HTTP¸¦
ÅëÇØ ÇØ´ç WWW¼¹ö¿¡
¼ºñ½º¸¦ ¿äûÇϰí ÀÌ¿¡ ´ëÇÑ °á°ú¸¦ ÁÖ°í¹Þ´Â´Ù.
WWW¼¹ö´Â WWWŬ¶óÀÌ¾ðÆ®¿¡´Â
°íÆÛ³ª FTPó·³
¸ðµç ŸÀÔÀÇ ¼¹öµé¿¡ ´ëÇØ ÇϳªÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇÑ Á¢±ÙÀ» °¡´ÉÇϰÔ
ÇØÁØ´Ù. µû¶ó¼
»õ·Î¿î ÇÁ·ÎÅäÄÝÀ» ±â¹ÝÀ¸·Î ÇÏ´Â ÀÎÅÍ³Ý ¼ºñ½º°¡ ÃâÇöÇÑ´Ù°í ÇÏ´õ¶óµµ
ÀÌ ÇÁ·ÎÅäÄÝÀ» WWW¿¡
Ãß°¡ÇÔÀ¸·Î¼ ¿Ïº®ÇÑ ÇÁ·ÎÅäÄÝ È®À强À» º¸ÀåÇÒ ¼ö ÀÖ´Ù.
ÇÏÀÌÆÛÅØ½ºÆ®´Â ÇѰ¡Áö Â÷ÀÌÁ¡¸¸À» Á¦¿ÜÇϰí´Â ÀϹÝÀûÀÎ ¹®¼¿Í µ¿ÀÏÇÏ´Ù. ÇѰ¡Áö Â÷ÀÌÁ¡Àº ÇÏÀÌÆÛÅØ½ºÆ® ¹®¼´Â ¹®¼ ³»ºÎ¿¡ ´Ù¸¥ ¹®¼¿¡ ´ëÇÑ ¿¬°áÁ¡(hyperlink)À» °®À» ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ÀÌ ¿¬°áÁ¡À» ÅëÇØ ÇÑ ÇÏÀÌÆÛÅØ½ºÆ® ¹®¼¿¡¼ ´Ù¸¥ ÇÏÀÌÆÛÅØ½ºÆ® ¹®¼·ÎÀÇ À̵¿ÀÌ °¡´ÉÇÏ´Ù. µû¶ó¼ »ç¿ëÀÚ´Â ÃÖÃÊÀÇ ÇÏÀÌÆÛÅØ½ºÆ® ¹®¼ ³»ºÎÀÇ ¿¬°áÁ¡Áß ¿øÇÏ´Â Á¤º¸¸¦ ¼±ÅÃÇÔÀ¸·Î¼ Á¤º¸¸¦ °Ë»öÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ÇÏÀÌÆÛÅØ½ºÆ®ÀÇ È®ÀåµÈ °³³äÀÌ ÇÏÀÌÆÛ¹Ìµð¾îÀÌ´Ù. ÇÏÀÌÆÛ¹Ìµð¾î´Â ´Ü¼øÈ÷ ¹®¼ÀÇ ÇüÅ»Ӹ¸ ¾Æ´Ï¶ó À½¼ºÀ̳ª Á¤Áö È»ó, µ¿È»ó µîÀÇ ¸ÖƼ¹Ìµð¾î µ¥ÀÌŸ¿¡ ´ëÇÑ ¿¬°áÁ¡À» ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù. µû¶ó¼ »ç¿ëÀÚ´Â ¸ÖƼ¹Ìµð¾î¸¦ Æ÷ÇÔÇÑ ¹®¼ Á¤º¸¸¦ °Ë»öÇÒ ¼ö ÀÖ´Ù. WWWÀÌ Àü¼¼°è¿¡ ±Þ¼ÓÈ÷ È®»êµÈ °ÍÀº ÇÏÀÌÆÛÅØ½ºÆ®¸¦ ÅëÇØ ¼ö¸¹Àº Á¤º¸µé »çÀÌÀÇ °ü°è¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Â ´É·Â¿¡ ±âÀÎÇÏ´Â °ÍÀÌ´Ù. Àüü WWWÀÔÀå¿¡¼ º¸¸é WWW È£½ºÆ®ÀÇ Áõ°¡³ª WWW È£½ºÆ®»óÀÇ Á¤º¸ º¯È´Â Àüü WWWÀÇ ±¸¼º°ú Á¤º¸¿¡ ÀÚ¿¬½º·´°Ô À¶ÈµÇ¸ç È®ÀåµÈ´Ù. WWWÀ» ÀÌ¿ëÇÏ´Â »ç¶÷Àº ÀüÇô ÀÌ·¯ÇÑ º¯È¿¡ ´ëÇØ °ÆÁ¤ÇÒ Çʿ䰡 ¾ø´Ù.
WWW ¼ºñ
½º´Â
³Ý½ºÄÉÀÌÇÁ°°Àº WWWŬ¶óÀÌ¾ðÆ®¿Í
WWW¼¹ö»çÀÌ¿¡¼
¿øÇÏ´Â ¼ºñ½º ¿äû°ú ÀÌ¿¡ ´ëÇÑ °á°ú¸¦ ÁÖ°í ¹ÞÀ½À¸·Î¼ ÀÌ·ç¾î Áø´Ù.
µû¶ó¼ ÀÌ »çÀÌ¿¡¼ ÇÊ¿äÇÑ ¾ç½Ä°ú
±â´ÉÀÌ ½ÇÁ¦ WWWÀ»
¿î¿µÇÏ´Â µ¥ ÇÊ¿äÇÑ ±¸¼º¿ä¼ÒµéÀÌ´Ù.
[ ±×¸²5-25
]´Â ÀÌ ±¸¼º¿ä¼ÒµéÀ» ÅëÇØ WWW°¡
¾î¶»°Ô ÀÛµ¿µÇ°í ÀÖ´ÂÁö º¸¿©ÁÖ°í ÀÖ´Ù.
¸ÕÀú WWWŬ¶óÀÌ¾ðÆ®´Â
WWW¼¹ö¿¡°Ô
URL(Uniform Resource
Locator)¶ó´Â
¾ç½ÄÀ¸·Î ¿øÇÏ´Â ¼ºñ½º¸¦ ¿äûÇÑ´Ù.
URLÀº ÇØ´ç WWW¼¹öÀÇ
À̸§°ú ¿øÇÏ´Â Á¤º¸¸¦ Ç¥ÇöÇϰí ÀÖ´Ù.
[±×¸²5-25]¿¡¼
http://home.netscape.com/real-index.html
ÀÌ ¹Ù·Î URLÀÌ´Ù.
µû¶ó¼ WWW¿¡¼
¿øÇÏ´Â Á¤º¸¸¦ ¾ò±â À§Çؼ´Â ÇØ´ç URLÀ»
¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù. ¹°·Ð
WWW¼¹ö¿¡¼
Á¦°øÇÏ´Â ¹®¼ÀÇ ÇÏÀÌÆÛ¸µÅ©¸¦ ÀÌ¿ëÇÒ ¼öµµ ÀÖÁö¸¸ ÇÏÀÌÆÛ¸µÅ©¾øÀÌ
¿øÇÏ´Â WWW¼¹ö·Î
À̵¿Çϱâ À§Çؼ´Â URLÀ»
»ç¿ëÇØ¾ß ÇÑ´Ù.
ÀÏ´Ü URLÀ»
ÅëÇØ ¼ºñ½º ¿äûÀ» ¹ÞÀº WWW¼¹ö´Â
ÇØ´ç ¼ºñ½ºÀÇ ¿äû¿¡ µû¸¥ Á¤º¸¸¦ ÁغñÇÑ ÈÄ ´Ù½Ã WWWŬ¶óÀÌ¾ðÆ®¿¡°Ô
º¸³½´Ù. ÀÌ
¶§ ¼ºñ½º °á°ú´Â HTMLÀ̶ó´Â
¹®¼ÀÌ´Ù. ÀÌ
¹®¼´Â ¸ÖƼ¹Ìµð¾î¸¦ Æ÷ÇÔÇÑ ÇÏÀÌÆÛÅØ½ºÆ® ¾ç½ÄÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
µû¶ó¼ ÀÌ Æ¯Á¤ÇÑ ¹®¼¸¦ º¸³»±â
À§ÇØ WWW´Â
HTTP¶ó´Â
ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ´Ù.
ÀÏ´Ü ¿øÇÏ´Â ¹®¼¸¦ Àü´Þ¹ÞÀº WWWŬ¶óÀÌ¾ðÆ®´Â
ÇØ´ç HTML¹®¼¸¦
ÀÐÀº ÈÄ ÀÌ ¹®¼¸¦ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁØ´Ù.
½ÇÁ¦ ÀÌ °úÁ¤Àº ³Ý½ºÄÉÀÌÇÁ°°Àº
WWW Ŭ¶óÀÌ¾ðÆ®°¡
´ã´çÇϱ⠶§¹®¿¡ °ÆÁ¤ÇÒ Çʿ䰡 ¾ø´Ù.
±×·¯³ª »ç¿ëÀÚ´Â WWW»ó¿¡¼
¿øÇÏ´Â Á¤º¸°¡ HTMLÀ̶ó´Â
¾ç½ÄÀ¸·Î Ç¥ÇöµÇ°í ÀÌ ¹®¼°¡ HTTP¶ó´Â
¹æ½ÄÀ¸·Î Àü´ÞµÇ°í ÀÖÀ½À» ÀÌÇØÇØ¾ß ÇÑ´Ù.
µû¶ó¼ »ç¿ëÀÚ´Â WWW»ó¿¡¼
¿øÇÏ´Â Á¤º¸¸¦ ¾Ë¸®±â À§ÇØ HTML¾ç½Ä¿¡
¸Â°Ô Á¤º¸¸¦ ±¸¼ºÇØ¾ß ÇÑ´Ù. ¸¶Áö¸·À¸·Î
WWW¼¹ö´Â
µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀ̳ª ±âŸ ¿ÜºÎÀÇ ÇÁ·Î±×·¥°ú ¿¬µ¿Çϱâ À§ÇØ CGI(Common
Gateway Interface)¶ó´Â ±â´ÉÀ»
Á¦°øÇÑ´Ù. ÀÌ
±â´ÉÀ» ÀÌ¿ëÇÏ¿© »ç¿ëÀÚ´Â ¿øÇÏ´Â Á¤º¸¸¦ °Ë»öÇϰųª °»½ÅÇÏ´Â µî
´Ù¾çÇÑ ¿ÜºÎÀÇ ÇÁ·Î±×·¥À» WWW¿¡¼
ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
[
±×¸²5-25
] WWWÀÇ ÀÛµ¿ ¿ø¸®
2.2.2.3 WWW ±¸¼º
¿ä¼ÒµéÀÇ ÀÌÇØ
¾Õ¼ WWW°¡
ÀÛµ¿µÇ´Â ¿ø¸®¿Í ±¸¼º¿ä¼Ò¿¡ ´ëÇØ ÀÚ¼¼È÷ »ìÆìº¸¾Ò´Ù.
¿©±â¼´Â ÇØ´ç ±¸¼º ¿ä¼ÒµéÀÇ
±â´É¿¡ ´ëÇØ Á» ´õ ÀÚ¼¼È÷ »ìÆìº»´Ù.
WWW Ŭ¶ó ÀÌ¾ðÆ®´Â WWW¼¹ö¿¡°Ô URLÀ̶ó´Â ¾ç½ÄÀ» ÀÌ¿ëÇÏ¿© ¼ºñ½º¸¦ ¿äûÇϰí ÀÌ¿¡ ´ëÇÑ °á°ú·Î Àü´Þ¹ÞÀº HTML¹®¼¸¦ ÇØ¼®ÇÑ ÈÄ »ç¿ëÀÚ¿¡°Ô Ç¥ÇöÇØÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù. ´Ù¾çÇÑ ¸ÖƼ¹Ìµð¾î¸¦ Ç¥ÇöÇϱâ À§ÇØ ¿ÜºÎÀÇ ÇÁ·Î±×·¥À» »ç¿ëÇϱ⵵ ÇÑ´Ù. ±×·¯³ª ÃÖ±Ù¿¡´Â ¿ÜºÎÀÇ ÇÁ·Î±×·¥À» ÅëÇØ ¸ÖƼ¹Ìµð¾î¸¦ º°µµÀÇ À©µµ¿ì¿¡ Ç¥ÇöÇϱ⠺¸´Ù´Â WWWŬ¶óÀÌ¾ðÆ®³»¿¡ Á÷Á¢ ³»Àå(Plug-in)ÇÏ¿© ¸ÖƼ¹Ìµð¾î¸¦ Ç¥ÇöÇÑ´Ù. WWWŬ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À¸·Î´Â ³Ý½ºÄÉÀÌÇÁ»çÀÇ ³Ý½ºÄÉÀÌÇÁ , ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»çÀÇ ÀÎÅÍ³Ý ÀͽºÇ÷ξî , Cello , WinWWW , Nynx , Emacs WWW-modeµî ´Ù¾çÇÏ´Ù.
WWW¼¹ö´Â
ÇØ´ç WWW ¼ºñ½º
¿äû¿¡ ´ëÇÑ °á°úÀÎ HTML ¹®¼¸¦
Á¦°øÇÑ´Ù. ƯÈ÷
WWW¼¹ö´Â
°íÆÛ , ¿þÀÌÁî
, FTP , ¾ÆÅ°
,
´º½º
,
¸ÞÀÏ
µî ´Ù¾çÇÑ ÇÁ·ÎÅäÄÝÀ» Áö¿øÇϱ⠶§¹®¿¡ º°µµÀÇ ÇÁ·Î±×·¥¾øÀÌ WWW»ó¿¡¼
ÀÌ·¯ÇÑ ¼ºñ½º¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
¶ÇÇÑ CGI¶ó´Â
¹æ¹ýÀ» »ç¿ëÇÏ¿© ¿ÜºÎÀÇ ÇÁ·Î±×·¥À» ¿¬µ¿ÇÏ¿© »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
À̿밡´ÉÇÑ WWW¼¹ö·Î´Â
NCSA
httpd , Apache , CERN , BESTWWWD , Machttp , WWWstar , HTTPS ,
NetscapeµîÀÌ ÀÖ´Ù.
º»·¡ WWW¿¡¼
»ç¿ëµÇ´ø ÁÖ¼Ò ÁöÁ¤¹æ½ÄÀº URIs(Universal
Resource Identifiers)¶ó ºÒ¸®´Â
ÁÖ¼Ò ½Ã½ºÅÛÀ¸·Î¼ WWW³»ÀÇ
¹®¼³ª ¸ÖƼ¹Ìµð¾î Á¤º¸ µîÀ» ±¸º°Çϱâ À§Çؼ »ç¿ëµÈ´Ù.
±×·¯³ª ÀÎÅÍ³Ý Ç¥ÁØ ÇÁ·ÎÅäÄÝÀÇ
°³¹ß°ú ±â¼ú °ËÁõÀ» ´ã´çÇϰí ÀÖ´Â IETF(Internet
Engineering Task Force Team)¿¡¼´Â
ÀÌ¿Í À¯»çÇÑ °³³äÀ¸·Î URL (Uniform
Resource Locators )À» Á¤ÀÇÇß´Ù
.
URIs¿Í URLÀº
±× ¿ëµµ¿Í °³³ä ÀÚü°¡ °ÅÀÇ °°´Ù°í ¸»ÇÒ ¼ö ÀÖ´Ù.
±×·¯³ª ½ÇÁ¦ÀÇ °æ¿ì URIs°¡
URLÀ»
Æ÷ÇÔÇÏ´Â °³³äÀÌ´Ù. ±×·¯³ª
ÀϹÝÀûÀ¸·Î IETFÀÇ
URLÀ»
WWWÀÇ
ÁÖ¼Ò ½Ã½ºÅÛÀ¸·Î »ç¿ëÇÑ´Ù.
URL˼
WWW¿¡¼
»ç¿ëµÇ´Â ¸¸±¹ °øÅë¾îÀÌ´Ù. µû¶ó¼
»ç¿ëÀÚ´Â ¿øÇÏ´Â ¹®¼³ª Á¤º¸¸¦ ¸í½ÃÇÒ ¶§ URLÀÇ
Çü½Ä¿¡ ¸ÂÃç ±â¼úÇÑ ÈÄ ¿øÇÏ´Â WWW¼¹ö¿¡
¼ºñ½º¸¦ ¿äûÇϱ⸸ ÇÏ¸é µÈ´Ù.
URL˼
[
±×¸²5-26
] ó·³ ÇÁ·ÎÅäÄÝ ,
È£½ºÆ® ÁÖ¼Ò ,
ÇØ´ç ÆÄÀÏÁ¤º¸ µî 3°³ÀÇ
ÁÖ¿äÇÑ ºÎºÐÀ¸·Î ±¸¼ºµÈ´Ù.
[
±×¸² 5-26
] WWWÀÇ URL
ÁּҽýºÅÛ
[ ±×¸² 5-26 ]ÀÇ ¿¹¿¡¼ »ç¿ëµÈ URLÀ» »ìÆìº¸ÀÚ. ( http://home.netscape.com/index.html ) ¾Õ¼± ¿¹´Â ´ÙÀ½°ú °°ÀÌ ÇØ¼®µÈ´Ù .
ÇÁ·ÎÅäÄÝ http
È£½ºÆ® ½Äº°ÀÚ ://
È£½ºÆ® À̸§ home.netscape.com
°æ·Î¸í /
ÆÄÀÏÀ̸§ index.html
URL¿¡¼
ÇÁ·ÎÅäÄÝÀº »ç¿ëÇϰíÀÚ ÇÏ´Â ÇØ´ç ÀÎÅÍ³Ý ¼ºñ½ºÀÇ ÇÁ·ÎÅäÄÝÀ» ¸í½ÃÇÑ´Ù.
¾Õ¼± ¿¹¿¡¼ http´Â
WWW ¼ºñ½ºÀÇ
»ç¿ëÀ» ÀǹÌÇÑ´Ù. ¶ÇÇÑ
ftp
³ª
gopher , wais , nntp ,telnet°°ÀÌ
´Ù¸¥ ÀÎÅÍ³Ý ÀÀ¿ë ÇÁ·Î±×·¥ µîÀ» ¸í½ÃÇÒ ¼ö ÀÖ´Ù.
URL¿¡¼
ÇÁ·ÎÅäÄÝÀ» ¸í½ÃÇÑ ÀÌÈÄ¿¡´Â È£½ºÆ® ½Äº°ÀÚ·Î ://°¡
³ª¿À´Â µ¥ :´Â
ÇÁ·ÎÅäÄÝÀÌ ³¡³µÀ½À» ÀǹÌÇÑ´Ù.
: ´ÙÀ½¿¡ ¼ö¹ÝµÇ´Â //´Â
È£½ºÆ® À̸§ÀÌ ½ÃÀÛµÊÀ» ÀǹÌÇÑ´Ù.
URL¿¡¼ È£½ºÆ® ½Äº°ÀÚ ´ÙÀ½¿¡´Â
È£½ºÆ® À̸§ÀÌ ¸í½ÃµÈ´Ù. ¾Õ¼±
¿¹¿¡¼´Â home.netscape.comÀÌ
È£½ºÆ® À̸§ÀÌ´Ù. º¸ÅëÀÇ
°æ¿ì WWW´Â
±âº»ÀûÀ¸·Î 80¹ø
Æ÷Æ®¸¦ »ç¿ëÇÏ¿© ¼ºñ½º¸¦ Á¦°øÇÑ´Ù.
±×·¯³ª ¸¸¾à ½Ã½ºÅÛÀÇ »çÁ¤¿¡
ÀÇÇØ¼ ±âÁ¸ 80¹ø
Æ÷Æ®¸¦ ÀÌ¿ëÇÏÁö ¸øÇÏ´Â °æ¿ì¿¡´Â È£½ºÆ®À̸§:Æ÷Æ®
¹øÈ£¿Í °°Àº Çü½ÄÀ¸·Î ¸í½ÃÇØ¾ß ÇÑ´Ù.
Âü°í·Î 8080À̳ª
8888°°Àº
Æ÷Æ®´Â ÇØ´ç WWW¼¹ö°¡
½ÃÇè ¿î¿µÁßÀÓÀ» ÀǹÌÇÑ´Ù.
URL¿¡¼
È£½ºÆ® À̸§ ´ÙÀ½¿¡´Â ¿øÇÏ´Â ÆÄÀÏÀÌ À§Ä¡ÇÑ °æ·Î¸íÀÌ Ç¥±âµÈ´Ù.
À̶§ µð·ºÅ丮°£ÀÇ ±¸ºÐÀº /(½½·¡½¬
)¸¦
ÀÌ¿ëÇÑ´Ù. À©µµ¿ì³ª
µµ½º»ó¿¡¼ ¿ª½½·¡½¬´Â »ç¿ëÇÏÁö ¾Ê´Â´Ù´Â Á¡À» ÁÖÀÇÇϱ⠹ٶõ´Ù.
URL¿¡¼ °¡Àå ¸¶Áö¸·¿¡ ¸í½ÃµÇ´Â
Á¤º¸´Â ÆÄÀÏÀÇ À̸§ÀÌ´Ù. ¾Õ¼±
¿¹¿¡¼´Â index.htmlÀÌ´Ù.
¿©±â¼ Áß¿äÇÑ °ÍÀº html
ÇüÅÂÀÇ ÆÄÀÏÀÌ´Ù.
WWW¿¡¼ »ç¿ëÇÏ´Â ±âº» ÆÄÀÏ Çü½ÄÀº
HTML(Hypertext Markup
Language)ÀÌ´Ù.
µû¶ó¼ WWW¿¡¼
Á¦°øÇÏ´Â ¸ðµç ÇÏÀÌÆÛ¹Ìµð¾î ¹®¼ÀÇ È®Àå¸íÀº .htmlÀÌ´Ù.
URLÀº ¸¶Ä¡ ÇÑ µð·ºÅ丮³»¿¡¼
°°Àº À̸§ÀÇ ÆÄÀÏÀÌ µ¿½Ã¿¡ Á¸ÀçÇÒ ¼ö ¾øµíÀÌ URLÀº
ÀÎÅÍ³Ý»ó¿¡ ¿¬°áµÇ¾î ÀÖ´Â ¸ðµç ÆÄÀÏÀ» À¯ÀÏÇÏ°Ô ÀνÄÇÒ ¼ö ÀÖ´Â ±â´ÉÀ»
Á¦°øÇÑ´Ù. ¾Æ¿ï·¯
URL˼
¿øÇÏ´Â ÀÎÅÍ³Ý ¼ºñ½ºÀÇ ÇÁ·ÎÅäÄÝÀ» ¸í½ÃÇÏ°Ô ÇÔÀ¸·Î¼ ÀÌÈÄ Ãß°¡µÇ´Â
ÀÎÅÍ³Ý ¼ºñ½º¸¦ È®ÀåÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù.
ÀÎÅͳݻ󿡴 ¼ö¸¹Àº WWW¼¹ö¿Í
Ŭ¶óÀÌ¾ðÆ®°¡ À§Ä¡Çϰí ÀÖÀ¸¸ç À̵éÀº °¢±â ÇÊ¿äÇÑ Á¤º¸¸¦ ¿äûÇϰí
ÀÌ ¿äû¿¡ ºÎÈïÇÏ´Â Á¤º¸¸¦ ÁÖ°í¹ÞÀ½À¸·Î½á WWW¼ºñ½º°¡
ÀÌ·ç¾îÁø´Ù. À̶§
WWWŬ¶óÀÌ¾ðÆ®¿Í
WWW¼¹ö
»çÀÌ¿¡´Â ÀÏÁ¤ÇÑ ¾à¼ÓÀÌ ÀÖ´Â µ¥ À̸¦ HTTP(Hypertext
Transfer Protocol) ¶ó ÇÑ´Ù.
´Ù½Ã ¸»ÇØ HTTP´Â
WWWŬ¶óÀÌ¾ðÆ®¿Í
WWW¼¹ö
»çÀÌ¿¡ »ç¿ëµÇ´Â Åë½Å ±Ô¾àÀÌ´Ù.
ÀÌ ±Ô¾à¿¡´Â WWWŬ¶óÀÌ¾ðÆ®°¡
¿øÇÏ´Â WWW ¹®¼¸¦
¿äûÇÒ ¼ö ÀÖ´Â ¹æ¹ý°ú À̸¦ ã°í ÀÌ¿¡ ´ëÇÑ °á°ú³ª »óŸ¦ Àü´ÞÇÏ´Â
¹æ¹ýµé·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
HTTP¿¡
´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ÀÎÅͳݿ¡¼ Á¦°øÇÏ´Â °¢Á¾ Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© ÀÌÇØÇϱæ
¹Ù¶õ´Ù. ´ÜÁö
¿©±â¼´Â HTTPÀÇ
Áß¿äÇÑ Æ¯Â¡¿¡ ´ëÇØ¼¸¸ »ìÆìº»´Ù.
-> HTTP
´Â
WWWŬ¶óÀ̾ðÆ®ÀÇ
¿äû¿¡ ´ëÇÑ WWW¼¹öÀÇ
ÀÀ´äÀ¸·Î ÀÌ·ç¾îÁö´Â Åë½Å ±Ô¾àÀÌ´Ù.
WWW»ç¿ëÀÚ´Â WWWŬ¶óÀÌ¾ðÆ®¸¦
ÀÌ¿ëÇÏ¿© ÇÏÀÌÆÛ ¿¬°áÁ¡(Hyperlink)À»
¼±ÅÃÇÔÀ¸·Î¼ ÀÌ ÇÏÀÌÆÛ ¿¬°áÁ¡¿¡ ÇØ´çÇÏ´Â Á¤º¸¸¦ ¿äûÇϰí WWW¼¹ö´Â
ÀÌ ¿äû¿¡ ÇØ´çÇÏ´Â Á¤º¸¸¦ Á¦°øÇÑ´Ù.
ÀÌ·¯ÇÑ °úÁ¤ÀÇ ¿¬¼Ó ÀÛ¾÷À¸·Î½á
»ç¿ëÀÚ´Â ¿øÇÏ´Â ÇÏÀÌÆÛ ¿¬°áÁ¡À» ÅëÇØ ÀÎÅͳÝÀÇ ¸ðµç Á¤º¸¸¦ Ȱ¿ëÇÒ
¼ö ÀÖ´Ù. À̶§
Á¤º¸¶õ ´Ü¼øÈ÷ ÇÏÀÌÆÛÅØ½ºÆ®¸¸À» ÀǹÌÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ÀÏ¹Ý ¹®¼³ª
±×¸², ¼Ò¸®,
µ¿È»ó µîÀÇ °¡´ÉÇÑ ¸ðµç Á¤º¸¸¦
ÀǹÌÇÑ´Ù.
- HTTP´Â
´Ü¼øÈ÷ WWW¿¡¼
»ç¿ëÇÏ´Â ¹®¼ÀÎ HTML¸¸À»
Àü¼ÛÇÏ´Â Åë½Å ±Ô¾àÀÌ ¾Æ´Ï´Ù.
½ÇÁ¦ WWWŬ¶óÀÌ¾ðÆ®¿¡¼´Â
HTML¹®¼»Ó¸¸
¾Æ´Ï¶ó ´Ù¸¥ ÇüÅÂÀÇ ¹®¼µµ ó¸® °¡´ÉÇÏ´Ù.
ÀÌ ¸»Àº ½ÇÁ¦ HTTP°¡
¹®¼¸¦ ó¸®ÇÒ °æ¿ì ƯÁ¤ÇÑ ÇüÅÂÀÇ ¹®¼¿¡ ÀÇÁ¸ÇÏÁö ¾Ê´Â´Ù´Â ¸»ÀÌ´Ù.
µû¶ó¼ WWWŬ¶óÀÌ¾ðÆ®´Â
ó¸® °¡´ÉÇÑ ¹®¼ÀÇ Á¾·ù¿¡ ´ëÇÑ Á¤º¸¸¦ WWW¼¹ö¿¡°Ô
º¸³»°í WWW¼¹ö´Â
»ý¼º °¡´ÉÇÑ ¹®¼¸¦ º¸³¿À¸·Î¼ HTTP´Â
ƯÁ¤ÇÑ ¹®¼¿¡ ÀÇÁ¸ÇÏÁö ¾Ê´Â´Ù.
ÀÌ·¯ÇÑ Ã³¸® ¹æ¹ýÀº °¢Á¾ ¾ÐÃàÆÄÀÏÀ̳ª
Çѱ¹¾î³ª ¿µ¾î, ÀϾÀº
¾ð¾îµé»çÀÌ¿¡¼µµ Àû¿ëµÈ´Ù.
- HTTP¿¡¼
Ŭ¶óÀÌ¾ðÆ®´Â ¼¹ö¿¡°Ô ¿øÇÏ´Â Á¤º¸¿¡ ´ëÇÑ URL°ú
ÇÔ²² GET , PUT, POST°°Àº
¸Þ¼Òµå¸¦ ÇÔ²² WWW¼¹ö¿¡°Ô
º¸³½´Ù. WWW¼¹ö´Â
¿äûµÈ URL¿¡
ÇØ´çÇÏ´Â Á¤º¸¸¦ ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© º¸³½´Ù.
¿¹¸¦ µé¾î GET¸Þ¼Òµå´Â
´ÜÁö ¿äûÇÑ ¹®¼¸¸À» Àü¼ÛÇÏ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù.
- HTTP´Â
Àü¼Û½Ã ÆÐŶÀÇ Çì´õºÎºÐ¿¡ Àü¼ÛµÉ °´Ã¼¿¡ ´ëÇÑ Á¤º¸¸¦ ´ã°í ÀÖ´Ù.
À̶§ HTTP
Çì´õ´Â MIME(Multipurpose
Internet Mail Protocol)Çü½ÄÀ¸·Î
±¸¼ºµÇ¾î ÀÖ´Ù. µû¶ó¼
´Ù¸¥ ÇüÅÂÀÇ Á¤º¸¸¦ ó¸®ÇÒ ¼ö ÀÖ´Ù.
°¡·É,
ÇÏÀÌÆÛ¹Ìµð¾î ÀüÀÚ¿ìÆíÀ̳ª Ç¥ÁØÈµÇÁö
¾ÊÀº ¹®¼ µîÀ» ó¸®ÇÒ ¼ö ÀÖ´Ù.
HTML˼
´Ü¼øÇÏÁö¸¸ ¸ÖƼ¹Ìµð¾î¸¦ Æ÷ÇÔÇÑ °·ÂÇÑ ºñÁÖ¾ó È¿°ú¸¦ Á¦°øÇÏ´Â ¹®¼ÀÌ´Ù
.
HTMLÀº µÎ °¡Áö Ãø¸é¿¡¼ Áß¿äÇÑ
¿ø¸®¸¦ °®´Â´Ù. ù¹øÂ°·Î´Â
WWW ¹®¼¸¦
À§ÇÑ ¸¶Å©¾÷ ¾ð¾î·Î¼ ¸¶Å©¾÷ Ç¥Áؾð¾îÀÎ SGML(Standard
General Markup Language)ÀÇ ÀϺÎ
±â´ÉÀ» Á¦°øÇÑ´Ù. Áï,
¹®¼ÀÇ Çü½ÄÀ» Á¤ÀÇÇÒ ¼ö ÀÖ´Ù
.
¶ÇÇÑ HTMLÀº
ÇÑ ¹®¼¿¡¼ ´Ù¸¥ ¹®¼·ÎÀÇ À̵¿À» °¡´ÉÇÏ°Ô ÇÏ°í °¢Á¾ ¸ÖƼ¹Ìµð¾î
¹®¼ ±â´ÉÀ» Áö¿øÇÏ´Â ÇÏÀÌÆÛ¹Ìµð¾î ±â´ÉÀ» Á¦°øÇÑ´Ù.
¸¶Å©¾÷ ¾ð¾î¶õ ¿øÇÏ´Â ¹®¼ÀÇ
ÇüÅ¿¡ ÀûÇÕÇÑ ¸¶Å©¸¦ ¼±¾ðÇÔÀ¸·Î¼ ÀÌ ¸¶Å©¸¦ ÇØ¼®ÇÏ´Â ÄÄÆÄÀÏ·¯¿¡
ÀÇÇØ¼ ÀÚµ¿ÀûÀ¸·Î ¹®¼¸¦ ¸¸µé¾î ³»´Â ¾ð¾î¸¦ ¸»ÇÑ´Ù.
ÀÌ·¯ÇÑ Æ¯Â¡¶§¹®¿¡ HTML¹®¼´Â
Lynx°°ÀÌ
¹®ÀÚ¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â WWWŬ¶óÀÌ¾ðÆ®¿¡¼´Â
¹®ÀÚÀÇ Å©±â³ª ŸÀÔ, °¢Á¾
¸ÖƼ¹Ìµð¾î Á¤º¸¸¦ Ç¥ÇöÇÒ ¼ö ¾ø´Ù.
±×·¯³ª ³Ý½ºÄÉÀÌÇÁ³ª ÀͽºÇ÷ξÀº
±×·¡ÇÈ ºê¶ó¿ìÀú µµ±¸¿¡¼´Â ¸¶Å©¿¡¼ Á¦°øÇÏ´Â ´Ù¾çÇÑ ±â´ÉÀ» ÀÌ¿ëÇÒ
¼ö ÀÖ´Ù.
°¡Àå ÀϹÝÀûÀÎ HTML
¹®¼ ÀÛ¼º ¹æ½ÄÀº À¯´Ð½ºÀÇ vi³ª
emacs°°Àº
ÀϹÝÀûÀÎ ¹®¼ÆíÁý±â³ª À©µµ¿ìÀÇ edit,
hwp°°Àº ¹®¼ÆíÁý±â¸¦ ÀÌ¿ëÇÏ¿©
¹®¼¸¦ ÀÛ¼ºÇϰųª HTML¹®¼
ÆíÁýÀ» µµ¿ÍÁÖ´Â °¢Á¾ HTMLÆíÁý±â¸¦
ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù. »ç½Ç
HTML¹®¼
ÀÛ¼º¿¡ ÀÖ¾î °¡Àå ÈǸ¢ÇÑ µµ±¸´Â MS
ÀͽºÇ÷ξîÀ̳ª ³Ý½ºÄÉÀÌÇÁ°°Àº
WWWŬ¶óÀ̾ðÆ®
±× ÀÚüÀÌ´Ù. ¿Ö³ÄÇϸé
À̵éÀº ·ÎÄà ½Ã½ºÅÛ¿¡¼ ÀÛ¼ºµÈ HTML¹®¼¸¦
ȸ鿡 º¸¿©ÁÖ´Â ±â´ÉÀ» Á¦°øÇÒ »Ó¸¸ ¾Æ´Ï¶ó ȸé»óÀ¸·Î Ç¥ÇöµÇ´Â
HTML¹®¼
±× ÀÚü ³»¿ëµµ È®ÀÎÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
ÀÌ ±â´ÉÀ» ÀÌ¿ëÇÏ¿© ¿ì¸®´Â ¿øÇÏ´Â
¹®¼¸¦ ½±°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
WWW´Â
URLÀ»
ÅëÇØ HTML¹®¼°¡
Àü´ÞµÇ´Â Á¤ÀûÀÎ Á¤º¸ Àü´Þ ¹æ½ÄÀÇ ½Ã½ºÅÛÀÌ´Ù.
ÀÌ·¯ÇÑ ¹®Á¦Á¡À» ¾à°£À̳ª¸¶
ÇØ°áÇϰíÀÚ ³ª¿Â ¹æ¹ýÀÌ CGIÀÌ´Ù.
WWWŬ¶óÀÌ¾ðÆ®´Â HTML¹®¼³»¿¡¼
NAME="jhpark"
, CreditID="1234"ó·³
¿øÇÏ´Â ¸Å°³º¯¼ö¸¦ ÁöÁ¤ÇÏ¿© º¸³½´Ù.
¼¹ö´Â ÀÌ ¸Å°³º¯¼ö¸¦ »ç¿ëÇÏ¿©
ÇØ´ç È£½ºÆ®ÀÇ È¯°æ º¯¼ö¸¦ ÁöÁ¤ÇÏ°í ¿ÜºÎÀÇ ÇÁ·Î±×·¥¿¡ ÀÌ È¯°æ º¯¼ö¸¦
Àü´ÞÇÏ¿© ¿øÇÏ´Â ÀÛ¾÷À» ¼öÇà½ÃŲ´Ù.
CGI¿¡¼ »ç¿ëÇϴ ȯ°æ º¯¼öµéÀº
´ëºÎºÐÀÇ ¿î¿µ üÁ¦¿¡¼ Áö¿øÇÑ´Ù´Â ÀåÁ¡ÀÌ ÀÖÁö¸¸ °¢ ÇÁ·Î±×·¥µéÀÌ
¹Ì¸® Á¤ÀÇµÈ È¯°æ º¯¼öµéÀ» ÀÌ¿ëÇϵµ·Ï ÀÛ¼ºµÅ¾ß Çϰí WWWŬ¶óÀÌ¾ðÆ®µµ
»çÀü¿¡ ¾î¶² ȯ°æ º¯¼öµéÀÌ ÀÖ´ÂÁö ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù.
CGI¹æ¹ý¸»°í ¿ÜºÎÀÇ ÇÁ·Î±×·¥À»
È£ÃâÇÏ´Â ¹æ¹ýÀ¸·Î´Â BGI(Binary
Gateway Interface)¶ó´Â °ÍÀÌ
Àִµ¥ BGI´Â
ȯ°æ º¯¼ö¸¦ ¼±¾ðÇÏ´Â ´ë½Å¿¡ WWW¼¹ö»ó¿¡¼
¿ÜºÎÀÇ ÇÁ·Î±×·¥À̳ª DLLÀ»
¼öÇà½ÃŲ´Ù. ÀÌ
°æ¿ì, ȯ°æ
º¯¼ö ´ë½Å¿¡ ¹Ì¸® Á¤ÀÇµÈ API¸¦
»ç¿ëÇÑ´Ù.
2.3.1 ÀÎ
ÅͳÝ
±â¼ú°ú CORBA ±â¼úÀÇ
ÁøÁ¤ÇÑ ÀǹÌ
ÃÖ±Ù µé¾î ÀÎÅÍ³Ý ±â¼úºÐ¾ß¿¡¼ ±Þ¼Óµµ·Î È®»êµÇ°í ÀÖ´Â ºÐ¾ß°¡ ÀÎÆ®¶ó³ÝÀ̶õ ºÐ¾ßÀÌ´Ù. ÈçÈ÷µé ÀÎÆ®¶ó³ÝÀ» "ÀÛÀº ÀÎÅͳÝ' Á¤µµ·Î ÀνĵǴ °æÇâµµ ÀÖÁö¸¸ Á¤º¸ °ü¸® Â÷¿ø¿¡¼ ÀÎÆ®¶ó³ÝÀº º¸´Ù Å« ÀÇ¹Ì¿Í °¡´É¼ºÀ» Á¦°øÇÑ´Ù. ¿Ö³ÄÇϸé ÀÎÆ®¶ó³ÝÀº ±â°üÀ̳ª ´Üü¿¡°Ô ÀÛÀº Á¤º¸ °í¼Óµµ·Î¸¦ Á¦°øÇϱ⠶§¹®ÀÌ´Ù. ƯÈ÷ ÀÌ °í¼Óµµ·Î´Â ¿ÜºÎ¿ÍÀÇ ¿¬°á¿¡µµ °¡Àå ¾ÈÀüÇÑ ¿¬°á¹æ¹ýÀ» Á¦°øÇÏ¸ç ±âÁ¸ÀÇ ÀÎÅͳݿ¡¼ °³¹ßµÈ Á¤º¸ ½Ã½ºÅÛÀ» ±×´ë·Î ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ¿¹¸¦ µé¾î, ƯÁ¤ ±â°ü¿¡¼ TCP/IP¸¦ ÀÀ¿ëÇÑ ÀÎÆ®¶ó³ÝÀ» ±¸¼ºÇÑ´Ù¸é ´çÀå ±âÁ¸¿¡ ÀÎÅͳݿ¡¼ »ç¿ëÇß´ø ÀüÀÚ¿ìÆíÀ̳ª ´º½º, WWW±â¼ú µîÀ» Àç»ç¿ëÇÒ ¼ö ÀÖ´Ù. À̸¦ ÅëÇØ °¡Àå Àú·ÅÇϰí È¿À²ÀûÀÎ Á¤º¸ ³×Æ®¿÷À» ±¸¼ºÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ÀÌ ¶§ ÇØ´ç ÀÎÆ®¶ó³Ý¿¡´Â ±âÁ¸ÀÇ Á¶Á÷À̳ª ±â°ü¿¡¼ »ç¿ëÇß´ø ÀÀ¿ë ÇÁ·Î±×·¥À̳ª ½Ã½ºÅÛÀ» ÅëÇÕÇØ¾ß ¸¸ ÇÑ´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ ¹æ¹ýÀ¸·Î °¡Àå ÀûÇÕÇÑ °ÍÀÌ ¹Ù·Î CORBA¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù. ´ÙÀ½ [±× ¸²5-27]Àº CORBA¸¦ ÀÎÅͳݿ¡ ÀÌ»óÀûÀ¸·Î Àû¿ëÇϴ ȯ°æ Áß ÇϳªÀÌ´Ù. ÀÎÆ®¶ó³Ý ¶Ç´Â ÀÎÅͳÝÀ» ÀÌ¿ëÇÏ´Â »ç¶÷µéÀº ±âÁ¸¿¡ ÀÌ¿ëÇÏ´ø WWWŬ¶óÀÌ¾ðÆ®¸¦ ÅëÇØ ½±°Ô ±â¾÷¿¡¼ Á¦°øÇÏ´Â WWW¼¹ö¿¡ Á¢±ÙÇÑ´Ù. ÀÌ ¶§, WWW¼¹ö´Â CORBA¸¦ ÅëÇØ ±âÁ¸ÀÇ »ç¿ëÇÏ´ø ¸ðµç ÀÀ¿ë ½Ã½ºÅÛÀ» ÅëÇØ º¸´Ù Àû±ØÀûÀ¸·Î Á¤º¸¸¦ Á¦°øÇÒ ¼ö ÀÖ´Ù. °¡·É, °´Ã¼ ÁöÇâ µ¥ÀÌŸº£À̽º¿¡ ÀúÀåµÇ¾î ÀÖ´Â µ¥ÀÌŸ³ª °ü°èÇü µ¥ÀÌŸº£À̽º¿¡ ÀúÀåµÇ¾î ÀÖ´Â µ¥ÀÌŸ, ÆÄÀÏ¿¡ ÀúÀåµÇ¾î ÀÖ´Â µ¥ÀÌŸ µî °¢Á¾ Á¤º¸ ½Ã½ºÅÛÀ» ÃѸÁ¶óÇÑ Á¤º¸ ½Ã½ºÅÛÀ» ±¸¼ºÇÒ ¼ö ÀÖ´Ù. ÀÌ ¶§ ½Ã½ºÅÛ ±¸ÃàÀÚ´Â ´ÜÁö CORBA ÀÎÅÍÆäÀ̽º¸¸ ¾Ë°í ÀÖÀ¸¸é µÈ´Ù .
[ ±×¸²
5-27
] ÀÎÆ®¶ó³Ý°ú CORBA
2.3.2 CORBA-WWW¸¦
¿¬µ¿Çϱâ À§ÇÑ ¿©·¯°¡Áö ¹æ¹ý
WWW¿Í
CORBA¸¦
ÅëÇÕÇϱâ À§ÇÑ ¹æ¹ýÀº Å©°Ô ´ÙÀ½ÀÇ 2°¡Áö·Î
´ëº°ÇÒ ¼ö ÀÖ´Ù. ¸ÕÀú
ÀÌ µÎ ½Ã½ºÅÛ¿¡ º¯°æÀ» °¡ÇÏÁö ¾Ê°í WWWÀÇ
CGIó·³
±âÁ¸ÀÇ ¹æ¹ýÀ» ÀÌ¿ëÇÏ¿© ÅëÇÕÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù.
´Ù¸¥ ¹æ¹ýÀº ÀÌ µÎ ½Ã½ºÅÛÀ» È®ÀåÇϰųª
º¯Çü½ÃÄÑ ÅëÇÕÇÏ´Â ¹æ¹ýÀ» µé ¼ö ÀÖ´Ù.
°¡Àå ±âÃÊÀûÀÎ WWW¿Í CORBAÀÇ ¿¬µ¿¹æ¹ýÀº WWW¼¹öÀÇ ¿ÜºÎ ÇÁ·Î±×·¥ ¿¬µ¿¹æ¹ýÀÎ CGI(Common Gateway Interace)¸¦ ÀÌ¿ëÇÏ¿© CORBA°ÔÀÌÆ®¿þÀÌ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â °ÍÀÌ´Ù. À̶§ CGI°ÔÀÌÆ®¿þÀÌ´Â WWWÀÇ ¿äûÀ» CORBA¿¡°Ô Àü´ÞÇϰí CORBA°¡ À̸¦ ¹ÞÀº ÈÄ ¼öÇàÇÑ °á°ú¸¦ HTML¹®¼ ¾ç½ÄÀ¸·Î ÀÛ¼ºÇÑ ÈÄ µ¹·ÁÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù. CGI´Â ȯ°æ º¯¼ö¸¦ ÅëÇØ ¿ÜºÎÀÇ ÇÁ·Î±×·¥À» »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù. ½ÇÁ¦ ÀÌ ¹æ¹ýÀÇ °æ¿ì WWW¼¹ö°¡ CGIÇÁ·Î±×·¥ÀÇ ¿äû¿¡ ´ëÇØ CGI¸¦ ¼öÇàÇÏ´Â º°µµÀÇ WWW¼¹ö(½ÇÁ¦ CGIÇÁ·Î±×·¥)¸¦ »ý¼ºÇϱ⠶§¹®¿¡ ´Ù¼öÀÇ ¼ºñ½º°¡ ¿äûµÉ °æ¿ì ½Ã½ºÅÛ¿¡ ¸¹Àº ºÎÇϰ¡ °É¸°´Ù. ¶ÇÇÑ ÇÁ·Î±×·¥ °³¹ß ½Ã CGI ÇÁ·Î±×·¥ ¹æ¹ý°ú CORBA ÀÀ¿ë ÇÁ·Î±×·¥ ÀÛ¼º¹æ¹ýÀ» ¸ðµÎ¸¦ ¾Ë¾Æ¾ß ¸¸ ÇÑ´Ù.
[ ±×¸²
5-28 ] ÀüÇüÀûÀÎ
CGI¹æ¹ýÀ»
ÅëÇÑ WWW-CORBA ÅëÇÕ
CGI¹æ¹ý
¿Ü¿¡ ½Ã½ºÅÛ¿¡ ¾î¶² °Á¦ÀûÀÎ º¯ÇüÀ» ÁÖÁö¾Ê´Â ¹æ¹ýÀ¸·Î ÀÚ¹Ù ¾ð¾î·Î
ÀÛ¼ºµÈ CORBAÀÀ¿ë
ÇÁ·Î±×·¥À» µé ¼ö ÀÖ´Ù. ÀÚ¹Ù
¾ð¾î´Â ¾ÖÇø´À̶ó°í ÇÏ´Â ÀÎÅÍ³Ý ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÀÛ¼ºÀ» °¡´ÉÇϰÔ
ÇØÁØ´Ù. ´Ù½Ã
¸»ÇØ ÀÚ¹Ù·Î ÀÛ¼ºÇÑ ¾ÖÇø´Àº ³Ý½ºÄÉÀÌÇÁ³ª ÀͽºÇ÷ξÀº À¥ºÎ¶ó¿ìÁ®³»¿¡¼
ÀÛµ¿µÇ´Â ÇÁ·Î±×·¥ÀÌ´Ù. µû¶ó¼
CORBA IDL·Î
ÀÛ¼ºÇÑ ÇÁ·Î±×·¥À» ÀÚ¹Ù·Î º¯È¯ÇÏ¿© »ç¿ëÇÏ¸é ½Ã½ºÅÛ»óÀÇ ¾î¶°ÇÑ º¯Çü¾øÀÌ
ÀÎÅͳݻ󿡼 CORBAÀÇ
ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ°Ô µÈ´Ù.
ÀÌ ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº
´ÙÀ½ Àå¿¡¼ ÁßÁ¡ÀûÀ¸·Î ´Ù·ç±â·Î ÇÑ´Ù.
¿Ö³ÄÇϸé CORBA
IDL-ÀÚ¹Ù ¸ÅÇÎÀº ÀÎÅÍ³Ý È¯°æ¿¡¼
ÁøÁ¤ÇÑ ÅëÇÕ ¼Ö·ç¼ÇÀ» ±¸ÃàÇϱâ À§ÇÑ ´Ü¼¸¦ Á¦°øÇϱ⠶§¹®ÀÌ´Ù.
ÀÚ¹Ù ¾ð¾î¿Ü¿¡µµ ÀÌ¿Í À¯»çÇÑ
¸ñÀûÀ¸·Î »ç¿ëµÇ¾îÁö´Â ¾ð¾î·Î TCL(Tool
Command Language)¿Í Telescript°¡
ÀÖ´Ù.
2.3.2.2 ½Ã
½ºÅÛÀÇ
º¯ÇüÀ» ÅëÇÑ ÅëÇÕ
´ÙÀ½ÀÇ ¹æ¹ýµéÀº CORBA½Ã½ºÅÛÀ»
Ȱ¿ëÇϱâ À§ÇØ WWW½Ã½ºÅÛ¿¡
º¯ÇüÀ» °¡ÇÏ´Â ¹æ¹ýµéÀÌ´Ù.
ÀÌ ¹æ¹ýÀº CORBAÀÀ¿ë
ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â µ¥ ÀÖ¾î ±âº»ÀÌ µÇ´Â IDL¾ð¾î¸¦
WWW»ó¿¡¼
À̿밡´ÉÇÑ ÇüÅÂÀÇ Å¬¶óÀÌ¾ðÆ®¸¦ À§ÇÑ ½ºÅͺê ÄÚµå,
HTML Æû ȸé,
CGI·Î Á¸ÀçÇÏ´Â ¼¹ö¸¦ À§ÇÑ
½ºÄÌ·ÎÅÏ Äڵ带 ÀÛ¼ºÇØÁÖ´Â °ÍÀÌ´Ù.
ÀÌ ¶§ Ŭ¶óÀÌ¾ðÆ® ½ºÅͺê ÄÚµå´Â
WWW ¶óÀ̺귯¸®(ÀϹÝÀûÀ¸·Î
libwww)¿¡¼
Á¦°øÇÏ´Â ±â´ÉÀ» ÀÌ¿ëÇÏ¿© CGI·Î
Á¸ÀçÇÏ´Â ¼¹ö ÇÁ·Î±×·¥À» È£ÃâÇÏ°Ô µÈ´Ù.
ÀÌ ¹æ¹ýÀº CORBA¼
Á¦°øÇÏ´Â ÇÁ·Î±×·¥ ÀÛ¼º¹æ¹ýÀ» ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡Àº ÀÖÁö¸¸
±Ô¸ð°¡ Å« ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â °æ¿ì ¸¹Àº ¹®Á¦¸¦ ¹ß»ý½ÃŲ´Ù.
¿¹¸¦ µé¸é,
¼ö ¹é °³ÀÇ ÀÎÅÍÆäÀ̽º·Î Á¤ÀǵÈ
IDLÆÄÀÏÀ»
¾î¶² ½ÄÀ¸·Î HTMLÆû°ú
Ŭ¶óÀÌ¾ðÆ® ÄÚµå·Î ±¸ºÐÇÒ °ÍÀΰ¡ ÇÏ´Â ¹®Á¦ÀÌ´Ù.
[
±×¸²5-29
] CORBA IDLÀÇ È®Àå
ÀÌ ¹æ¹ýÀº Å©°Ô HTTPÇÁ·ÎÅäÄÝÀ»
CORBAÀÇ
±âº» Åë½Å ¸ÞÄ¿´ÏÁòÀ¸·Î »ç¿ëÇÏ´Â ¹æ¹ý°ú HTTPÀÚü¿¡
CORBA¼ºñ½ºÀÇ
»ç¿ëÀ» À§ÇØ Ãß°¡ ¸ðµâÀ» ¼³Ä¡ÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù.
ÀüÀÚÀÇ °æ¿ì CORBAÀÇ
Åë½Å ¹æ¹ýÀ¸·Î HTTP¸¦
»ç¿ëÇÔÀ¸·Î¼ CORBAÀÀ¿ë
ÇÁ·Î±×·¥¿¡¼ WWWÀÇ
±â´ÉÀ» Ȱ¿ëÇÒ ¼ö ÀÖ´Â Åä´ë¸¦ Á¦°øÇÒ ¼ö ÀÖ´Ù.
ÈÄÀÚÀÇ °æ¿ì HTTP¸¦
ÅëÇØ CORBA¼ºñ½ºÀÇ
È£ÃâÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù. À̸¦
À§ÇØ WWW¼¹ö¿¡
CORBA¼ºñ½º
È£Ã⠽à °¢Á¾ ŸÀÔ Á¤º¸ µîÀ» °ü¸®Çϱâ À§ÇÑ ¸ðµâ°ú »ý¼ºµÈ CORBA¼ºñ½º¸¦
¾Ë·ÁÁÖ´Â ¸ðµâ µî »õ·Î¿î ¸ðµâÀ» Ãß°¡ÇØ¾ß ÇÑ´Ù.
ÀÌ·¯ÇÑ ¹æ¹ý¿¡ ´ëÇÑ ÀÚ·á´Â
http://www.scu.edu.au/ausweb95¿¡¼
ãÀ» ¼ö ÀÖ´Ù.
2.4 Çö
»óȲ°ú ¹Ì·¡
2.4.1 Çö
Àç
ÀÌ¿ë °¡´ÉÇÑ ¼ÒÇÁÆ®¿þ¾îµé
ÇöÀç WWW¿¡´Â
ºÐ»ê °´Ã¼±â¼úÀ» µµÀÔÇÏ¿© °´Ã¼ÁöÇâ ±â¼úÀ» WWW¿¡
¿¬µ¿ÇÏ·Á´Â ³ë·ÂµéÀÌ ¿©·¯ ½Ã½ºÅÛ¿¡¼ °æÁֵǰí ÀÖ´Ù.
ÀÌ·¯ÇÑ ³ë·ÂµéÀº Å©°Ô ¼ø¼öÇÑ
°´Ã¼ÁöÇâ ±â¼úÀ» ¿¬µ¿ÇÏ·Á´Â ³ë·Âµé°ú ºÐ»ê°´Ã¼ Ç¥ÁØÀÎ CORBA¸¦
¿¬µ¿ÇÏ·Á´Â ³ë·ÂÀ¸·Î ºÐ·ùÇÒ ¼ö ÀÖ´Ù.
2.4.1.1 WWW¿Í
¼ø¼öÇÑ ºÐ»ê°´Ã¼ ±â¼úÀÇ ¿¬µ¿ ½Ã½ºÅÛ
URL :
http://www.research.digital.com/SRC/Obliq/Obliq.html
Obliq´Â
¸ðµâ¶ó3¾ð¾î¿¡
±â¹ÝÇÑ µ¥ÀÌŸ ŸÀÔÀÌ ¾ø´Â ÀÎÅÍÇÁ¸®ÅÍ ¾ð¾îÀÌ´Ù.
ƯÈ÷ ÀÌ ¾ð¾î´Â ºÐ»ê°´Ã¼¸¦ ´Ù·ç±â
À§ÇÑ ±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÌ
±â´É¿Ü¿¡µµ ¾²·¹µå, ´ÙÁß
³×Æ®¿÷ µî ´Ù¾çÇÑ ±â´ÉÀ» Á¦°øÇϰí ÀÖ´Ù.
ÀÌ ¾ð¾î¸¦ ¹ÙÅÁÀ¸·Î WWW»ó¿¡¼
»ç¿ëÀÚµéÀÌ Obliq¿¡¼
Á¦°øÇÏ´Â ÀÛ¾÷(Session)À»
°øÀ¯Çϵµ·Ï °³¹ßµÈ °ÍÀÌ Visual
ObliqÀÌ´Ù.
³Ý½ºÄÉÀÌÇÁ³ª ÀͽºÇ÷ξÀº
WWWŬ¶óÀÌ¾ðÆ®¿¡
Visual ObliqÀÇ
ÀÎÅÍÇÁ¸®Å͸¦ ¿ÜºÎ ÇÁ·Î±×·¥À¸·Î µî·ÏÇÔÀ¸·Î¼ ObliqÀÇ
ÀÛ¾÷À» °øÀ¯ÇÒ ¼ö ÀÖ´Ù.
URL :
http://www.apocalypse.org/pub/u/antony/phantom/phantom.html
Phantom˼
Obliq¿¡
ºÐ»ê ȯ°æ¿¡ º¸´Ù ÀûÇÕÇÑ ±â´ÉµéÀ» Ãß°¡ÇÑ ¾ð¾îÀÌ´Ù.
ƯÈ÷ °´Ã¼°³³ä°ú ¸ðµâ,
ÀÎÅÍÆäÀ̽º,
¿¹¿Ü»çȲ,
°¡º£Áö Ä÷º¼Ç µîÀÌ Ãß°¡µÇ¾î
º¸´Ù ¾ÈÁ¤ÀûÀÎ ºÐ»ê ÇÁ·Î±×·¥ÀÌ °¡´ÉÇÏ´Ù.
URL : http://www.python.org/
Python˼
±× ÀÚü·Î´Â ºÐ»ê ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ¾Æ´Ï´Ù.
±×·¯³ª PythonÀº
ÀÎÅÍÇÁ¸®ÅÍ ¹æ½ÄÀÇ °´Ã¼ÁöÇâ ¾ð¾îÀÌ¸ç »óÈ£ÀÛµ¿½Ä ÇÁ·Î±×·¥ÀÌ °¡´ÉÇÏ´Ù.
À̸¦ À§ÇØ ¸ðµâ,
Ŭ·¡½º,
¿¹¿Ü »óȲ,
µ¿Àû Å×ÀÌŸ ŸÀÔ,
´Ù¾çÇÑ À©µµ¿ì ½Ã½ºÅÛ(XÀ©µµ¿ì
,
MFC, ¸Æ..)µîÀ»
Áö¿øÇϰí ÀÖ´Ù.
URL : http://monty.cnri.reston.vaus/grail-0.2/
Grail˼
¸¶Ä¡ ÀÚ¹Ù ÀÎÅÍÇÁ¸®Å͸¦ ³»ÀåÇÑ ³Ý½ºÄÉÀÌÇÁó·³ PythonÀ¸·Î
ÀÛ¼ºµÈ Äڵ带 ¼öÇà°¡´ÉÇÏ°Ô Python
ÀÎÅÍÇÁ¸®Å͸¦ ³»ÀåÇÑ WWWºÎ¶ó¿ìÁ®ÀÌ´Ù
.
Âü°í·Î Python/Grail
Àº ÀÚ¹Ù/ÇÖÀÚ¹Ù¿Í
À¯»çÇÑ ÇÁ·ÎÁ§Æ®ÀÇ ¼Ò»ê¹°ÀÌ´Ù.
URL : http://www-swiss.ai.mit.edu/~jar/s48.html
Schema48Àº °¡»ó ¸Ó½® ȯ°æ¿¡¼ ¹ÙÀÌÆ® Äڵ带 ¼öÇàÇϴ ȯ°æÀÌ´Ù.
URL : http://arjuna.ncl.ac.uk/arjuna/summary.html
Arjuna´Â
ÆúÆ®Å緱Ʈ(Fault-tolerant)ÇÑ
ºÐ»ê ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â µ¥ ÇÊ¿äÇÑ ÀÏ·ÃÀÇ µµ±¸¸¦ Áö¿øÇÏ´Â
°´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛÀ¸·Î¼ ºÐ»ê °´Ã¼»ó¿¡¼ ÁßøµÈ Æ®·»Á§¼ÇÀ»
Áö¿øÇϸç RPC¸¦
»ç¿ëÇÏ¿© °´Ã¼°£ÀÇ »óÈ£ÀÛµ¿ÀÌ °¡´ÉÇÏ´Ù.
W3Objects´Â Arjuna¸¦
±â¹ÝÀ¸·Î ÇÏ¿© WWW»ó¿¡¼
°´Ã¼ÁöÇ⠽ýºÅÛÀ» ÅëÇØ È®Àå°¡´ÉÇÑ WWWÇϺÎ
Åä´ë¸¦ ±¸ÃàÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ½Ã½ºÅÛÀÌ´Ù.
W3Objects¿¡¼ Áö¿øÇÏ´Â ±â´ÉÀ¸·Î
°´Ã¼ Áߺ¹, µ¿½Ã¼º
Á¦¾î, ij½³,
ÆúÆ®Å緱Ʈ µîÀÌ ÀÖÀ¸¸ç °´Ã¼ÁöÇâ
°³³äÀ» Áö¿øÇÑ´Ù.
CORBADesktop ˼
¸ðµç CORBA ¸Þ¼Òµå¸¦
WWWÀÇ
ÆûÇüÅ·Πº¯Çü½ÃÄÑ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â ½Ã½ºÅÛÀÌ´Ù.
URL : http://webstar.cerc.wvu.edu/www4/www4.html
Web*´Â WWW¿¡¼ ½ÇÇà°¡´ÉÇÑ CGI½ºÅ©¸³Æ®·Î¼ TCL(Tool Commnad Language)¶ó´Â ½ºÅ©¸³Æ® ¾ð¾î¸¦ ±â¹ÝÀ¸·Î ÇÑ´Ù. ÀÌ ½Ã½ºÅÛÀº CORBA ¼ºñ½º¿ÍÀÇ ¿¬µ¿À» À§ÇØ TCL¿¡ CORBAÀÇ DII(Dynamic Invocation Interface) È£Ãâ ±â´ÉÀ» Ãß°¡ÇÏ¿´´Ù. À̸¦ TCLDii¶ó°í ÇÑ´Ù. ÇöÀç ¾ÆÀÌ¿À³ªÀÇ OrbixÁ¦Ç°°ú ¿¬µ¿µÇ¾î ÀÖ´Ù.
2.4.2 Çâ
ÈÄ
Àü¸Á
ÇöÀç WWWÀÇ
±â¼úÀ» ÁÖµµÇϰí ÀÖ´Â W3C¿Í
CORBA±â¼úÀ»
ÁÖµµÇϰí ÀÖ´Â OMG´Â
ÀÌ µÎ ±â¼úÀ» Á¢¸ñÇϱâ À§ÇÑ È°µ¿À» Çϰí ÀÖ´Ù ÇöÀç ÁøÇàµÇ´Â ¹æÇâÀ¸·Î´Â
WWW¼¹ö
µ¥¸ó ÇÁ·Î±×·¥ÀÎ HTTPD¿¡
°´Ã¼ÁöÇâ ±â¼úÀ» °áÇÕÇÑ »õ·Î¿î µ¥¸óÀÎ HTTPD/NG¸¦
°³¹ß Áß¿¡ ÀÖ´Ù. ¿©±â¼
NG
´Â
Next GenerationÀ»
ÀǹÌÇÑ´Ù.
Áö±Ý±îÁö ¹ÌÈíÇϳª¸¶ CORBA±â¼úÀ» ÀÎÅͳÝ, ƯÈ÷ WWW±â¼ú¿¡ Á¢¸ñÇϱâ À§ÇÑ ¹æ¹ýµé¿¡ ´ëÇØ »ìÆìº¸¾Ò´Ù. ½ÇÁ¦ ÀÌ ¸ðµç ¹æ¹ýµéÀº ÇöÀç ¿¬±¸ÁßÀ̰ųª Å×½ºÆ®º£µå ÇüÅ·Π¼Ò°³µÇ°í ÀÖ´Ù. ±×·¯³ª ÃßÈÄ ÀÎÆ®¶ó³Ý ȯ°æÀÌ °¡¼Óȵɼö·Ï ÀÌÁ¾ÀÇ Á¤º¸ÀÚ¿øÀ» ÅëÇÕÇϱâ À§ÇÑ ¹æ¹ýÀ¸·Î CORBA±â¼úÀÇ Á߿伺ÀÌ ´õ¿í °¡ÁßµÉ °ÍÀÌ´Ù. ƯÈ÷ CORBA IDL-ÀÚ¹Ù ¸ÅÇÎÀÌ Ç¥ÁØÀ» È®Á¤µÇ¸é CORBA¸¦ WWW¿¡ ÅëÇÕÇϱâ À§ÇÑ ±â¼úÈ®»êÀº ´õ¿í °¡¼Óµµ°¡ ºÙÀ¸¸®¶ó »ý°¢ÇÑ´Ù.
3Àå
¼±¼ÒÇÁÆ®ÀÇ Èñ¸Á, JAVA
ÀÌ Àå¿¡´Â CORBA
±â¼úÀ» WWW¿¡
Àû¿ë½ÃŰ´Â ¹æ¹ý Áß °¡Àå À¯¿¬Çϰí ÀÌ»óÀûÀÎ ¹æ¹ýÀÎ CORBA-ÀÚ¹Ù
ÅëÇÕ¿¡ °üÇØ »ìÆìº¸°Ú´Ù.
3.1 ÀÎÅÍ
³Ý
±â¼úÀÇ Åµ¿°ú »õ·Î¿î ¿ä±¸ »çÇ×ÀÇ ÃâÇö
¸ÕÀú ÇöÀç ¼ÒÇÁÆ®¿þ¾î °³¹ß ȯ°æ¿¡¼
°øÅëÀûÀ¸·Î Á¸ÀçÇÏ´Â ¹®Á¦ÁßÀÇ Çϳª°¡ ÀÌÁ¾ÀÇ ºÐ»ê ȯ°æ¿¡¼ ¸ðµÎ
ȣȯ °¡´ÉÇÑ ÇÁ·Î±×·¥À» ¾î¶»°Ô ÀÛ¼ºÇÒ °ÍÀΰ¡?
¶ó´Â °ÍÀÌ´Ù.
¿Ö³ÄÇϸé ÇöÀç ´ëºÎºÐÀÇ ÀÀ¿ë
ÇÁ·Î±×·¥Àº ¿î¿µ üÁ¦¿¡ Á¾¼ÓÀûÀ̱⠶§¹®¿¡ °³¹ß ½Ã ¸¹Àº ½Ã°£°ú ºñ¿ëÀÌ
µé¸ç °³¹ßµÈ ÇÁ·Î±×·¥ÀÇ À̽ļºµµ º¸Àå¹ÞÁö ¸øÇÑ´Ù.
¿¹¸¦ µé¸é,
À©µµ¿ì¿¡¼ °³¹ßµÈ ÀÀ¿ë ÇÁ·Î±×·¥À»
À¯´Ð½º¿¡¼ »ç¿ëÇÒ ¼ö ¾øÀ¸¸ç ±× ¹Ý´ëµµ ºÒ°¡´ÉÇÏ´Ù.
ÀÌ·¯ÇÑ È¯°æ¿¡¼ WWWÀº
µ¥ÀÌŸ¸¦ Á¶ÀÛÇÏ´Â µ¥ ÀÖ¾î Ç¥Áعæ½ÄÀ» Á¦°øÇÑ´Ù.
°¡·É,
WWW ºÎ¶ó¿ìÁ®¸¦ »ç¿ëÇϸé
WWW¼¹ö¸¦
ÅëÇØ ¿ÜºÎÀÇ ¾î¶² ÇÁ·Î±×·¥µµ ½±°Ô Á¢±ÙÇÒ ¼ö ÀÖ´Ù.
±×·¯³ª WWW
°¡ °®°í ÀÖ´Â ±âº»ÀûÀÎ ÇѰè´Â
Á¤ÀûÀÎ Á¤º¸¸¸À» Á¦°øÇÑ´Ù´Â °ÍÀÌ´Ù.
´Ù½Ã ¸»ÇØ WWW¿¡¼
°ü½ÉÀÖ°Ô Ã³¸®µÇ´Â °ÍÀº ÇÁ·Î±×·¥ÀÌ ¾Æ´Ï¶ó µ¥ÀÌŸÀÌ´Ù.
µû¶ó¼ ÀÌ µ¥ÀÌŸ´Â Á¤ÀûÀÌ´Ù
.
¿¹¸¦ µé¸é,
WWW¸¦ ÅëÇØ¼ ¾òÀ» ¼ö ÀÖ´Â Á¤º¸´Â
±â²¯ÇØ¾ß HTMLÀ̶ó´Â
Á¤ÀûÀÎ ¹®¼ µ¥ÀÌŸÀÌ´Ù.
ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ¸·Î¼
µ¿ÀûÀÌ°í ´ëÈÇüÀÎ ÀÚ¹Ù°¡ °¢±¤¹Þ±â ½ÃÀÛÇß´Ù.
ÀÚ¹Ù´Â ÀÎÅÍÇÁ¸®Æ® ¾ð¾î¶ó´Â Ư¡À¸·Î
ÀÎÇØ Áß°£ÄÚµå ÇüÅ·Π»ý¼ºµÈ Äڵ带 WWW¸¦
ÅëÇØ Ŭ¶óÀÌ¾ðÆ®¿¡¼ ´Ù¿î·Îµå¹Þ¾Æ ¼öÇàÇϹǷΠµ¿ÀûÀÎ Á¤º¸¸¦ ó¸®ÇÒ
¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ
°Á¡À¸·Î ÀÎÇØ ÀÚ¹Ù´Â ÀÎÅÍ³Ý È¯°æ¿¡ ±Þ¼ÓÇÏ°Ô È®»êµÇ¾ú´Ù.
3.2 ÀÚ¹Ù
¾ð¾îÀÇ Åº»ý°ú »õ·Î¿î ±âȸÀÇ Åº»ý
3.2.1 ÀÚ
¹Ù
¾ð¾îÀÇ Åº»ý
ÀÚ¹Ù´Â ¼± ¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî¿¡¼ °³¹ßÇÑ
ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÌ´Ù. ÀÚ¹Ù°¡
ź»ýÇϱ⠱îÁö ¿ª»çÀû °úÁ¤À» Àá½Ã Á¤¸®Çغ¸¸é ´ÙÀ½°ú °°´Ù.
¼±¼ÒÇÁÆ®»çÀÇ ¿£Áö´Ï¾îÁß Á¦ÀÓ½º °í½½¸µÀÌ
À̲ô´Â ÇÑ ±×·ìÀº ÄÉÀ̺íTVó·³
ÀÏ·ÃÀÇ Çϵå¿þ¾î¸¦ ÅëÇÕ.Á¦¾îÇϱâ
À§ÇÑ ¾ð¾î¸¦ ÇÊ¿ä·Î Çß´Ù. ÀÌ
¾ð¾î´Â ÀÌÁúÀûÀÎ Çϵå¿þ¾îµéÀ» ÅëÇÕÇϱâ À§ÇØ º¸´Ù ÀÛ°í °·ÂÇÑ ±â´ÉÀ»
ÇÊ¿ä·Î Çß´Ù. ÀÌ
ÇÁ·ÎÁ§Æ®ÀÇ ÄÚµåÀ̸§ÀÌ ¹Ù·Î "±×¸°"ÀÌ´Ù.
"±×¸°" ÇÁ·ÎÁ§Æ®¿¡¼ ¿ä±¸ÇÏ´Â º¸´Ù ÀÛ°í °·ÂÇÑ ¾ð¾î ¸¸µé±â À§ÇØ Ãʱâ PCµé¿¡ »ç¿ëÇß´ø UCSD ÆÄ½ºÄ®À̶ó ºÒ¸®´Â ¾ð¾î¸¦ ºÎȰ½ÃÄ×°í À̽ļºÀÌ ³ôÀº ¾ð¾î¸¦ ¸¸µé±â À§ÇØ ÀÛÀº Å©±âÀÇ Áß°£ ÄÚµå(Intermediate Code)¸¦ »ý¼ºÇÏ´Â ¾ð¾î¸¦ µðÀÚÀÎÇß´Ù . ½ÇÁ¦ ÀÌ Áß°£ ÄÚµå´Â ¾î¶² ÄÄÇ»ÅÍ¿¡¼µç Á¤È®ÇÑ ÇØ¼®±â(Interpreter)¸¸ ÀÖÀ¸¸é ½ÇÇàµÈ´Ù´Â ÀåÁ¡À» °¡Áö°í ÀÖ´Ù.
±×·¯³ª ¼±¼ÒÇÁÆ®»çÀÇ ¿£Áö´Ï¾î·Î¼ ±×µéÀº
ÆÄ½ºÄ®º¸´Ù C++¾ð¾î¿¡
±â¹ÝÀ» µÎ±â ½ÃÀÛÇß´Ù. µû¶ó¼
»õ·Î µðÀÚÀεǴ ¾ð¾î´Â ±âÁ¸ÀÇ ÀýÂ÷ÀûÀÎ ¹æ¹ýÀÌ ¾Æ´Ï¶ó °´Ã¼ÁöÇâ
¹æ¹ýÀ» Áö¿øÇÏ°Ô µÇ¾ú´Ù. Á¦ÀÓ½º
°í½½¸µÀº ÀÌ ¾ð¾î¸¦ "¿ÀÅ©(Oak)"¶ó
¸í¸íÇÏ¿´´Ù. ÀÌ
ÈÄ ¿ÀÅ©´Â ÀÚ¹Ù¶ó´Â À̸§À¸·Î Àç¸í¸íµÇ¾ú´Ù.
¿Ö³ÄÇÏ¸é ¿ÀÅ©¶õ À̸§ÀÇ ¾ð¾î°¡
À¯´Ð½º»ó¿¡ ÀÌ¹Ì Á¸ÀçÇϰí ÀÖ¾ú±â ¶§¹®ÀÌ´Ù.
1992³â
±×¸° ÇÁ·ÎÁ§Æ®ÀÇ °á°ú·Î¼ °íµµÀÇ Áö´ÉÀûÀÎ ¿ø°ÝÁ¦¾î¸¦ Á¦°øÇÏ´Â "*7"¶ó
ºÒ¸®´Â Á¦Ç°À» Ãâ½ÃÇß´Ù. °á°úÀûÀ¸·Î´Â
¾î´À ´©±¸µµ "*7"
¿¡ ´ëÇØ °ü½ÉÀ» µÎÁö ¾Ê¾Ò´Ù. ÀÌÈÄ
±×¸° ÇÁ·ÎÁ§Æ®ÆÀÀº ±×µéÀÇ °ü½É»ç¸¦ µ¹·Á ´ëÈÇü TV¿¡
Àû¿ëÇÏ·Á ÇÏ¿´´Ù. ±×·¯³ª
ÀÌ°Í ¿ª½Ã ¾î´À ´©±¸ÀÇ °ü½Éµµ ²øÁö ¸øÇß´Ù.
ÀÌÈÄ ±×¸° ÇÁ·ÎÁ§Æ®ÆÀÀº ±×µéÀÌ °³¹ßÇÑ
±â¼úÀ» ÆÈ±âÀ§ÇØ 2³âÀ̶õ
¼¼¿ùÀ» ÇãºñÇØ¾ß Çß´Ù.
ÀÎÅÍ³Ý Æ¯È÷ WWWÀÇ
È®»ê¿¡ ¹ß¸ÂÃß¾î Á¦ÀÓ½º °í½½¸µÀº ±×µéÀÇ ±â¼úÀ» WWWºÎ¶ó¿ìÁ®¿¡
Àû¿ëÇÑ ÇÖÀÚ¹Ù¶õ ºÎ¶ó¿ìÁ®¸¦ 1995³â
5¿ù
23
ÀÏ
¼±¿ùµå95¿¡¼
¼±º¸¿´´Ù.
ÀÌÈÄ ÀÚ¹Ù ±â¼úÀº ³Ý½ºÄÉÀÌÇÁ2.0°ú
ÀÎÅÍ³Ý ÀͽºÇ÷ξî3.0¿¡
³»ÀåµÇ¾ú°í IBM, ½Ã¸àƽ,
º¼·£Æ®¸¦ ºñ·ÔÇÑ ¸¹Àº ȸ»ç¿¡
¶óÀ̼¾½ºµÇ¾ú´Ù.
ÇöÀç ÀÚ¹Ù±â¼úÀº ±× Àû¿ë¿µ¿ªÀ» ³ÐÈ÷±â
À§ÇØ ´Ù¸¥ ½Ã½ºÅÛ°úÀÇ ¿¬µ¿¿¡ Áß½ÉÀ» µÎ°íÀÖ´Ù.
µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ°úÀÇ ¿¬µ¿À»
À§ÇÑ JDBC(ÀÚ¹Ù
DataBase Connectivity ) , ºÐ»ê°´Ã¼
½Ã½ºÅÛÀÇ Ç¥ÁØÀÎ CORBA¿ÍÀÇ
¿¬µ¿, ÀÚ¹ÙRPCÀÎ
RMI(Remote Method Invocation),
ÀÚ¹Ù OLEÀÎ
Beans µî
´Ù¾çÇÑ ±â´ÉµéÀÌ Ãß°¡µÇ°í ÀÖ´Ù.
3.2.2 ÀÚ
¹Ù
¾ð¾îÀÇ Æ¯Â¡
ÀÚ¹Ù °³¹ßÀÚµéÀÇ ¸»À» ºô·Á Á¤ÀÇÇØ º¸¸é
ÀÚ¹Ù´Â ´ÙÀ½°ú °°Àº Ư¡À» °®°í ÀÖ´Ù.
ÀÚ¹Ù´Â
- ´Ü¼øÇϸç
- °´Ã¼ÁöÇâ ¹æ¹ýÀ» »ç¿ëÇϰí
- ºÐ»êµÇ¾î ÀÖÀ¸¸ç
- ÀÎÅÍÇÁ¸®Æ®µÇ¸ç
- °°ÇÇϰí
- ¾ÈÀüÇϸç
- ¾ÆÅ°ÅØÅÍ Á߸³ÀûÀ̰í
- ºü¸¥ ¼º´ÉÀ» Á¦°øÇϸç
- ´ÙÁß ¾²·¹µå ±â´ÉÀ» Á¦°øÇÏ´Â
-
´ÙÀ̳ª¹ÍÇÑ
¾ð¾îÀÌ´Ù.
ÀÌ·¯ÇÑ Æ¯Â¡µéÀ» ÀÚ¼¼È÷ »ìÆìº¸¸é ´ÙÀ½°ú
°°´Ù.
1) ÀÚ¹Ù´Â ´Ü¼øÇÑ ¾ð¾îÀÌ´Ù.
ÀÚ¹Ù ¾ð¾î´Â ¾Õ¼ ¾ð±ÞÇÑ °Íó·³ C++°ú
À¯»çÇÏ°Ô µðÀÚÀÎ µÇ¾î »ç¿ëÇϱ⠽±´Ù.
µû¶ó¼ ±âÁ¸ÀÇ C++»ç¿ëÀÚµéÀº
¸î°¡Áö ÀÚ¹Ù ¾ð¾î°¡ °®°í Àִ Ư¡¸¸ ÀÌÇØÇØµµ ½±°Ô ÇÁ·Î±×·¥À» ÇÒ
¼ö ÀÖ´Ù. ¹°·Ð
º¹ÀâÇÏ°í ¾î·Á¿î ÇÁ·Î±×·¥½Ã ÀÚ¹Ù ¾ð¾îÀÇ °í±Þ ±â´ÉÀ» ¾Ë±â À§ÇØ ¸¹Àº
³ë·ÂÀ» ÅõÀÚÇØ¾ß ÇÑ´Ù. ±¸¹®
Â÷¿ø¿¡¼µµ ÀÚ¹Ù ¾ð¾î°¡ ½±Áö¸¸ ÀÚ¹Ù´Â ±âÁ¸ÀÇ C¿Í
C++ ¾ð¾î¿¡¼
¹ß»ýÇÏ´Â ´ÙÀ½ÀÇ ¹®Á¦µéÀ» ÇØ°áÇÏ¿© º¸´Ù ½±°í ¾ÈÀüÇÏ°Ô ÇÁ·Î±×·¥À»
ÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.
- Æ÷ÀÎÅÍ ¿¬»êÀÇ Á¦°Å
C³ª
C++ ÇÁ·Î±×·¥À»
ÀÛ¼ºÇÒ ¶§ °¡Àå ¾î·Æ°í ½Å°æ¾²ÀÌ´Â ºÎºÐÀÌ ¹Ù·Î Æ÷ÀÎÅ͸¦ Á¶ÀÛÇÏ´Â
°ÍÀÌ´Ù. ÀûÀýÇÑ
°÷¿¡¼ Æ÷ÀÎÅÍ¿¡ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ°í ´Ù½Ã ÇØÁ¦ÇØ¾ß ÇÑ´Ù.
¸¸ÀÏ Á¤È®È÷ Á¦¾îÇÏÁö ¸øÇϸé
ÇÁ·Î±×·¥Àº ¼öÇà Áß ÁߴܵȴÙ.
ÀÚ¹Ù´Â ÀÌ·¯ÇÑ ºÒÆíÀ» ÇØ¼ÒÇØÁÖ¾ú´Ù
.
¿Ö³ÄÇϸé ÀÚ¹Ù¿¡¼´Â Æ÷ÀÎÅͶõ
°ÍÀÌ ¾ø±â ¶§¹®ÀÌ´Ù.
- ¸Þ¸ð¸® ÇØÁ¦ ºÒÇÊ¿ä
¾Õ¼ »ìÆìº» °Íó·³ ¸Þ¼Ò¸® ÇØÁ¦´Â ÇÁ·Î±×·¡¸Ó¿¡°Ô
Àý´ëÀûÀ¸·Î Áß¿äÇÑ ±â¼úÀÌ´Ù. ¿Ö³ÄÇϸé
ÇÑÁ¤µÈ ½Ã½ºÅÛ ÀÚ¿øÇÏ¿¡¼ ¿øÇÏ´Â ÀÛ¾÷À» ¿øÈ°È÷ ¼öÇàÇÏ·Á¸é »ç¿ëÇÑ
¸Þ¸ð¸® µî ½Ã½ºÅÛ ÀÚ¿øÀ» ÀûÀýÈ÷ ÇØÁ¦ÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù.
ÀÚ¹Ù´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇß´Ù
.
ÀÚ¹Ù ÇÁ·Î±×·¡¸Ó´Â ´õ ÀÌ»ó »ç¿ëÇÑ
¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÒ Çʿ䰡 ¾ø´Ù.
¿Ö³ÄÇϸé ÀÚ¹Ù¿¡¼´Â ÀÚµ¿ÀûÀ¸·Î
´õ ÀÌ»ó »ç¿ëÇÏÁö ¾ÊÀº ¸Þ¸ð¸®´Â ÀÚµ¿ÀûÀ¸·Î ÇØÁ¦Çϱ⠶§¹®ÀÌ´Ù.
À̸¦ "ÀÚµ¿ ¾²·¹±â ¼öÁý
(Automatic
Garbage Collection)"À̶ó°í
ÇÑ´Ù.
- ±¸Á¶Ã¼
,¿¬
»êÀÚ
Áߺ¹, ´ÙÁß»ó¼Ó
µî Áߺ¹µÇ°í È¥µ·À» ÀÏÀ¸Å°´Â °³³äÀ» Á¦°ÅÇϰí ÇÁ·Î±×·¡¸Ó¿¡°Ô º¸´Ù
°£´ÜÇÏ°í °·ÂÇÑ ¶óÀ̺귯¸®¸¦ Á¦°øÇÑ´Ù.
¶ÇÇÑ ÀÚ¹Ù´Â ¸ðµç ÀÚ¹Ù ÇÔ¼ö¸¦ 215K
RAM¸¸À» ÀÌ¿ëÇØ¼ ÀÎÅÍÇÁ¸®Æ®ÇÒ
Á¤µµ·Î ÀÛ°í ´Ü¼øÇÏ´Ù.( ½ÇÁ¦
±âº» ÀÎÅÍÇÁ¸®ÅÍ¿Í Å¬·¡½º¸¦ Áö¿øÇÏ´Â µ¥ 40K
°¡ µé°í ¿©±â¿¡ Ç¥ÁØ ¶óÀ̺귯¸®¿Í
¾²·¹µå¸¦ Áö¿øÇÏ´Â µ¥ 175K°¡
¼Ò¿äµÈ´Ù.)
2)ÀÚ¹Ù´Â °´Ã¼ÁöÇâ ¾ð¾îÀÌ´Ù.
ÀÚ¹Ù´Â °´Ã¼ÁöÇâ ÆÐ·¯´ÙÀÓÀ» ±âº»À¸·Î
ÇÑ´Ù. µû¶ó¼
ÀÚ¹Ù´Â °´Ã¼ÁöÇâ °³³ä Áß ´ÙÁß»ó¼ÓÀ̳ª ¿¬»êÀÚ ¿À¹ö·Îµù°°ÀÌ ¹®Á¦¸¦
ÀÏÀ¸Å°´Â ÀϺΠ±â¼úµéÀ» Á¦¿ÜÇÏ°í ²À ÇÊ¿äÇÑ °´Ã¼ÁöÇâ °³³ä¸¸À» Áö¿øÇÑ´Ù.
3) ÀÚ¹Ù ÀÀ¿ë ÇÁ·Î±×·¥Àº ºÐ»êµÉ ¼ö ÀÖ´Ù.
ÀÚ¹Ù´Â Ãʱ⠵ðÀÚÀμ ºÎÅÍ ³×Æ®¿÷ ȯ°æÀ»
°í·ÁÇÏ¿´´Ù. µû¶ó¼
ÀÚ¹Ù´Â TCP, UDPµî
±âº» ³×Æ®¿÷ ¶óÀ̺귯¸®¸¦ ºñ·ÔÇÏ¿© HTTP³ª
FTP°°ÀÌ
´ëºÎºÐÀÇ ÀÎÅÍ³Ý ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÑ´Ù.
µû¶ó¼ »ç¿ëÀÚ´Â ¾ÆÁÖ ¼Õ½±°Ô
ºÐ»ê ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
½ÇÁ¦·Î ¼ÒÄÏÀ» ÀÌ¿ëÇÏ¿© Ŭ¶óÀÌ¾ðÆ®¿Í
¼¹öÀÇ ¿¬°áºÎºÐÀ» ÀÛ¼ºÇÏ´Â µ¥ 10¿©
ÁÙ·Î ÃæºÐÇÏ´Ù.
ÀÚ¹Ù´Â º¸´Ù °°ÇÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ À§ÇØ ±âÁ¸ÀÇ C++¾ð¾î¿¡¼ ¹ß»ýÇÏ´Â ¹®Á¦¸¦ Á¦°ÅÇÏ°í »õ·Î¿î ±â´ÉÀ» Ãß°¡ÇÏ¿´´Ù. ¸ÕÀú ÀÚ¹Ù´Â ¸Þ¸ð¸®¿¡ ¹®Á¦°¡ »ý±â´Â °ÍÀ» ¸·±â À§ÇØ ÀÚ½ÅÀÇ ¸Þ¸ð¸®¸¦ ¿µ¿ªÀ» °®°í Á÷Á¢ ´Ù·é´Ù. ¶ÇÇÑ ÀÚ¹Ù´Â µ¥ÀÌŸ°¡ Áߺ¹µÇ°Å³ª ºØ±«µÇ´Â °ÍÀ» ¸·±âÀ§ÇØ ÁøÁ¤ÇÑ ¹è¿À» ±¸ÇöÇß´Ù. »Ó¸¸ ¾Æ´Ï¶ó ÀÚ¹Ù´Â Æ÷ÀÎÅ͸¦ Á¦°ÅÇÏ¿© ÇÁ·Î±×·¥ ½ÇÇàÁß¿¡ ¹ß»ýÇÏ´Â ·±Å¸ÀÓ ¿À·ù¸¦ Á¦°ÅÇß´Ù.
±×¸®°í ÀÚ¹Ù´Â °°ÇÇÑ ÇÁ·Î±×·¥À» À§ÇØ ³Î Æ÷ÀÎÅ͸¦ °Ë»çÇÏ°í ¹è¿ÀÇ ¹Ù¿îµå¸¦ °Ë»çÇÏ¸ç ¼öÇàÀü¿¡ ¹ÙÀÌÆ® Äڵ带 °Ë»çÇÑ´Ù. ¶ÇÇÑ ÀÚ¹Ù±¸¹®¿¡ ¿¹¿Ü »óȲ(Exception)À» ó¸®ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Ãß°¡ÇÏ¿´´Ù.
ÀÚ¹Ù´Â Çϵå¿þ¾î¿¡ »ó°ü¾øÀÌ ¼öÇàµÈ´Ù. À̸¦ À§ÇØ ÀÚ¹Ù´Â ´ÙÀ½°ú °°Àº Ư¡À» °®´Â´Ù.
´ÙÀ½ [±×¸²5-30]Àº
ÀÚ¹ÙÀÇ ½ÇÇà ȯ°æ°ú ¼öÇà °úÁ¤À» º¸¿©ÁØ´Ù.
¸ÕÀú ÇÁ·Î±×·¡¸Ó°¡ ÀÛ¼ºÇÑ ÀÚ¹Ù
ÄÚµå´Â ÀÚ¹Ù ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ¼ Áß°£ ½ÇÇà ÇüÅÂÀÎ ¹ÙÀÌÆ® Äڵ带 »ý¼ºÇØ
³½´Ù. ÀÌ
¹ÙÀÌÆ® ÄÚµå´Â ƯÁ¤ Çϵå¿þ¾î³ª ¿î¿µ üÁ¦¿¡ ÀÇÁ¸ÇÏÁö ¾Ê°í ÀÌ Äڵ带
ÇØ¼®ÇÏ¿© ½ÇÇàÇÒ ¼ö ÀÖ´Â ÀÎÅÍÇÁ¸®Å͸¸ ÀÖÀ¸¸é ½ÇÇàÀÌ °¡´ÉÇÏ´Ù.
µû¶ó¼ ÀÌ ¹ÙÀÌÆ® ÄÚµå´Â ·ÎÄÃ
ÄÄÇ»ÅÍ¿¡¼ ÀÚ¹Ù ÀÎÅÍÇÁ¸®Å͸¦ ÅëÇØ ¼öÇàÀÌ °¡´ÉÇÒ »Ó¸¸ ¾Æ´Ï¶ó WWW¸¦
ÀÌ¿ëÇÏ¿© ÀÎÅͳݻóÀÇ ¾î´À °÷¿¡¼µçÁö ÀÚ¹Ù ÀÎÅÍÇÁ¸®ÅͰ¡ ÀÖ´Â °÷¿¡¼
¼öÇàµÈ´Ù. ¿¹¸¦
µé¸é, ³Ý½ºÄÉÀÌÇÁ³ª
ÀÎÅÍ³Ý ÀͽºÇ÷ξ ÅëÇØ ¾î´À °÷¿¡¼µçÁö ÀÚ¹Ù ÇÁ·Î±×·¥À» ¼öÇàÇÒ
¼ö ÀÖ´Ù.
[
±×¸²5-30
] ÀÚ¹ÙÀÇ ½ÇÇà ȯ°æ
6) ÀÚ¹Ù´Â ¾ÈÀüÇÏ´Ù.
ÀÚ¹Ù´Â ¾ð¾îÃø¸é¿¡¼ Æ÷ÀÎÅͳª Çüº¯È¯À» »èÁ¦ÇÏ¿© ÇÁ·Î±×·¥ ¼öÇà Áß¿¡ ¹ß»ýÇÏ´Â ¹®Á¦ÀÇ ¼ÒÁö¸¦ Á¦°ÅÇß´Ù. ¶ÇÇÑ ÀÚ¹Ù ÄÚµå´Â [ ±×¸²5-30 ]¿¡¼ ó·³ ½ÇÁ¦ ½ÇÇàÇϱâ Àü¿¡ ¾ÈÀü¼ºÀ» À§ÇØ ¹ÙÀÌÆ® Äڵ忡 ´ëÇÑ °Ë»ç(Byte Code Verifier)¸¦ ÇÏ¿© ¾ÈÀüÇÑ Äڵ常 ¼öÇàÇÑ´Ù.
µû¶ó¼ ¹ÙÀÌÆ® ÄÚµå °Ë»ç¸¦ Åë°úÇÑ ÄÚµå´Â
- ½ºÅà ¿À¹öÇ÷ο쳪 ½ºÅà ¾ð´õÇ÷οìÀÇ ¿øÀÎÀÌ µÇÁö¾ÊÀ¸¸ç
- ¸Å°³º¯¼öÀÇ Å¸ÀÔÀÌ Á¤È®ÇÏ´Ù. ±×¸®°í
- ºñÇÕ¹ýÀûÀÎ
Çüº¯È¯ÀÌ ¾ø´Ù.
ÀÚ¹Ù ¾ð¾î´Â ³×Æ®¿÷ ȯ°æ¿¡¼ ¼öÇàµÇ±â
¶§¹®¿¡ º¸¾È¿¡ ¸¹Àº ¹®Á¦¸¦ ¾È°í ÀÖ´Ù.
¿¹¸¦ µé¸é,
³×Æ®¿÷»óÀÇ ´Ù¸¥ °÷¿¡¼ Àü¼ÛµÇ¾î
¿Â ÀÚ¹Ù ÇÁ·Î±×·¥Àº ·ÎÄà ÄÄÇ»ÅÍÀÇ ÆÄÀÏÀ» Á¶ÀÛÇϰųª ´Ù¸¥ ÄÄÇ»ÅÍ¿¡
¿¬°áµÇ¾î ·ÎÄà ÄÄÇ»ÅÍ»óÀÇ Á¤º¸¸¦ Àü¼ÛÇÑ´Ù¸é º¸¾È»óÀÇ ¸¹Àº ¹®Á¦¸¦
ÀÏÀ¸Å³ ¼ö ÀÖ´Ù. µû¶ó¼
ÀÚ¹Ù´Â ·ÎÄà ÄÄÇ»ÅÍ¿¡ ´ëÇØ Á¶ÀÛÀ» °¡ÇÒ ¼ö ¾ø´Ù.
7) ÀÚ¹Ù´Â ´ÙÁß ¾²·¹µå¸¦ Á¦°øÇÑ´Ù.
´ÙÁß ¾²·¹µå¶õ ÇÑ ÇÁ·Î±×·¥³»¿¡¼ ¿©·¯
°³ÀÇ ¾²·¹µå°¡ µ¿½Ã¿¡ ÀÛ¾÷À» ¼öÇàÇÏ´Â °ÍÀÌ´Ù.
ÀÚ¹Ù´Â ÀÌ·¯ÇÑ ´ÙÁß ¾²·¹µå¸¦
Á¦°øÇÑ´Ù. µû¶ó¼
ÀÚ¹Ù ´ÙÁß¾²·¹µùÀº ÇϳªÀÇ ÀÚ¹Ù ÇÁ·Î±×·¥¾È¿¡¼ µ¿½Ã¿¡ ¿©·¯ ÀÛ¾÷µéÀ»
¼öÇàÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ÀÌ·¯ÇÑ
ÀÚ¹Ù ´ÙÁß ¾²·¹µå´Â ÀÚ¹Ù¸¦ ´ëÈÇü ÇÁ·Î±×·¥À̳ª ½Ç½Ã°£ 󸮸¦ ¿äÇÏ´Â
ÇÁ·Î±×·¥¿¡ ÀûÇÕÇÏ°Ô ÇØÁØ´Ù.
8) ÀÚ¹Ù´Â µ¿ÀûÀÌ´Ù.
ÀÚ¹Ù´Â ·±Å¸ÀӽñîÁö ¸ðµâµéÀ» ¸µÅ©ÇÏÁö
¾Ê´Â´Ù. µû¶ó¼
¶óÀ̺귯¸®°¡ º¯ÇÏ´õ¶óµµ ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù.
°á±¹ ÀÚ¹Ù´Â ·±Å¸Àӽà ¸ðµâÀ»
¸µÅ©ÇϹǷΠC++¿¡¼
ó·³ »óÀ§ Ŭ·¡½ºÀÌ ¸í¼¼°¡ º¯ÇÒ °æ¿ì ¸ðµç ÇÏÀ§ Ŭ·¡½º¸¦ ´Ù½Ã ÄÄÆÄÀÏÇØ¾ß
¸¸ ÇÏ´Â ¹®Á¦¸¦ ÀÏÀ¸Å°Áö ¾Ê´Â´Ù.
ÀϹÝÀûÀ¸·Î C++¿¡¼ÀÇ
ÀÌ·¯ÇÑ ¹®Á¦¸¦ "½´ÆÛŬ·¡½º ¹®Á¦"¶ó ÇÑ´Ù.
3.2.3 ÀÚ
¹Ù
¾ð¾îÀÇ Á¦¾à°ú »õ·Î¿î ±âȸÀÇ Åº»ý
ÀÚ¹Ù´Â ÀÎÅÍ³Ý È¯°æ¿¡¼ ÇÁ·Î±×·¡¸Óµé¿¡°Ô
º¸´Ù ºü¸£°í ÀûÀº ¿¹»êÀ¸·Î ½Ã½ºÅÛÀ» °³¹ßÇÒ ¼ö ÀÖ´Â ±âȸ¸¦ Á¦°øÇÒ
»Ó¸¸ ¾Æ´Ï¶ó °·ÂÇÑ GUI±â´É°ú
´õºÒ¾î º¸´Ù À¯¿¬Çϰí À̽ļºÀÖ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.
±×·¯³ª ÀÚ¹Ù ¾ð¾î·Î Ŭ¶óÀ̾ðÆ®/¼¹ö
¹æ½ÄÀÇ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â °ÍÀº »ý°¢º¸´Ù ½±Áö¾Ê´Ù.
¿Ö³ÄÇϸé ÀÚ¹Ù ¾ð¾î¿¡¼´Â java.net
¶óÀ̺귯¸®¿¡¼ Á¦°øÇÏ´Â ÀúÂ÷¿øÀÇ
ÇÔ¼öµé¸¸À» Á¦°øÇϱ⠶§¹®ÀÌ´Ù.
°á±¹ ÀÚ¹Ù ¾ð¾î·Î Ŭ¶óÀ̾ðÆ®
/¼
¹ö
½Ã½ºÅÛ Æ¯È÷, ´Ù¾çÇÑ
¼¹ö¸¦ Á¢±ÙÇÏ´Â ´ÙÁß ¼¹ö ±¸Á¶ÀÇ ½Ã½ºÅÛÀ» ±¸¼ºÇÏ·Á ÇÑ´Ù¸é °¢°¢ÀÇ
¼¹ö¸¦ Á¶ÀÛÇϱâ À§ÇÑ Å¬¶óÀÌ¾ðÆ® Äڵ带 ÀÛ¼ºÇؾ߸¸ ÇÑ´Ù.
( ¿ÀÁ÷ ÀúÂ÷¿øÀÇ ³×Æ®¿÷ ÇÔ¼ö¸¦
ÀÌ¿ëÇØ¼ ) °á±¹
ÀÌ·¯ÇÑ ¹æ½ÄÀº Ãʱâ 2´Ü°è
Ŭ¶óÀ̾ðÆ®/¼¹ö¸¦
±¸¼ºÇϴµ¥¼ ¹ß»ýÇÏ´Â ¿©·¯°¡Áö ¹®Á¦µéÀ» ±×´ë·Î ´ä½ÀÇÏ´Â °ÍÀÌ´Ù.
µû¶ó¼ ÀÌ·¯ÇÑ ¹®Á¦µéÀ» ÇØ°áÇϰíÀÚ ÇÏ´Â
³ë·ÂµéÀÌ ¿©·¯ °÷¿¡¼ °æÁֵǰí ÀÖ´Ù.
±× Áß¿¡¼ ÀÚ¹ÙÀÇ °·ÂÇÑ ÇÁ·Î±×·¡¹Ö
±â¼ú¿¡ ÀÀ¿ë ÇÁ·Î±×·¥µé°£ÀÇ »óÈ£ÀÛµ¿À» À§ÇÑ Ç¥ÁØÈµÈ ÇÁ·¹ÀÓ¿÷À¸·Î
CORBA¸¦
°áÇÕÇÏ´Â ¹æ¹ýÀÌ °¡Àå ±¤¹üÀ§ÇÏ°Ô ¿¬±¸µÇ°í ÀÖ´Ù.
ƯÈ÷ ÀÚ¹Ù³ª CORBA¸ðµÎ
°´Ã¼ÁöÇâ °³³äÀ» ±â¹ÝÀ¸·Î Çϱ⠶§¹®¿¡ CORBA
IDL¾ð¾î¸¦ ÀÚ¹Ù¾ð¾î·Î ½±°Ô º¯È¯ÇÒ
¼ö ÀÖ´Ù.
ÇöÀç ¼±¼ÒÇÁÆ®»ç¿¡¼´Â CORBA IDLÀ» ÀÚ¹Ù·Î º¯È¯Çϱâ À§ÇÑ Ç¥ÁØ ¸í¼¼¸¦ ¹ßÇ¥ÇßÀ¸¸ç ÀÌ ¸í¼¼¿¡ ±âÃÊÇÏ¿© JOE¶ó´Â ORB¸¦ °³¹ß.Á¦°øÇϰí ÀÖ´Ù. ¶ÇÇÑ Orbix¸¦ °³¹ßÇÑ ¾ÆÀÌ¿À³ª»ç´Â OrbixWebÀ̶ó´Â ÀÚ¹Ù ¿¬µ¿ Á¦Ç°À» Ãâ½ÃÇßÀ¸¸ç Æ÷½ºÆ® ¸ð´ø»çÀÇ ºí·¢À§µµ¿ì(ÇöÀç ºñÁöºê·ÎÄ¿) µî ¿©·¯ ȸ»ç¿¡¼ CORBA-ÀÚ¹Ù ¿¬µ¿ Á¦Ç°À» °³¹ßÇϰí ÀÖ´Ù.
Ãʱâ WWW¿¡¼
¿ÜºÎ ÇÁ·Î±×·¥°ú ¿¬µ¿ÇÏ´Â ¹æ¹ýÀº [±×¸²5-31]¿¡¼
ó·³ HTTPDÁ¦°øÇÏ´Â
CGI¹æ¹ýÀ»
ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ
¹æ¹ýÀº ÇÁ·Î±×·¡¸Ó¿¡°Ô ¿øÇÏ´Â ½Ã½ºÅÛÀ» ºü¸£°Ô ±¸ÃàÇÒ ¼ö ÀÖ°Ô ÇØÁÖÁö¸¸
¸î°¡Áö ½É°¢ÇÑ ¹®Á¦Á¡À» ¾ß±âÇÑ´Ù.
¸ÕÀú »ç¿ëÀÚ¿ÍÀÇ ´ëÈÇü ÇÁ·Î±×·¥À»
ÀÛ¼ºÇϱⰡ ¾î·Æ´Ù. ½ÇÁ¦
WWW¿¡¼
»ç¿ë°¡´ÉÇÑ ´ëȹæ½ÄÀº HTML¹®¼ÀÇ
formÀ»
ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù. µû¶ó¼
±ØÈ÷ Á¦ÇÑÀûÀÎ ´ëÈÇü ÇÁ·Î±×·¥¸¸ÀÌ À̿밡´ÉÇÏ´Ù.
±×¸®°í [±×¸²5-31]ÀÇ
¹æ½Ä¿¡¼´Â ¿ÜºÎÀÇ ÇÁ·Î±×·¥À» ¼öÇàÇϱâ À§Çؼ fork()³ª
exec()¸¦
»ç¿ëÇÏ¿© WWW¼¹ö¿Í
°°Àº ±Ô¸ðÀÇ ÇÁ·Î¼¼½º¸¦ »ý¼ºÇØ¾ß ¸¸ ÇÑ´Ù.
µû¶ó¼ »ç¿ëÀÚÀÇ ¿ä±¸°¡ ¹ß»ýÇÒ
¶§¸¶´Ù »õ·Î¿î ¿¬°áÀÌ ¸Î¾îÁö°í ÇÁ·Î¼¼½º¸¦ »ý¼ºÇϰųª ¹Ì¸® »ý¼ºµÈ
ÇÁ·Î¼¼½º¸¦ ÅëÇØ ÇØ´ç ÇÁ·Î±×·¥À» ¼öÇà½ÃŲ ÈÄ ±× °á°ú¸¦ ºÎ¶ó¿ìÁ®¿¡°Ô
¹ÝȯÇÑ´Ù. ÀÌ
°úÁ¤¿¡¼ ¸¹Àº Åë½Å»óÀÇ ¿À¹öÇìµå¿Í ¸¹Àº ÀÚ¿øÀ» ¼Ò¸ðÇϰí CPU
°è»ê»óÀÇ ³¶ºñ¸¦ °¡Á®¿À°Ô µÈ´Ù
.
±×¸®°í °¡Àå ½É°¢ÇÑ ¹®Á¦Á¡Àº
ÀÌ¿ëÇÏ·Á´Â ¿ÜºÎÀÇ ½Ã½ºÅÛ¿¡ µû¶ó °¢°¢ °³º°ÀûÀÎ ÇÁ·Î±×·¥À» ÀÛ¼ºÇؾß
ÇÑ´Ù´Â Á¡ÀÌ´Ù.
[
±×¸²5-31
] ÀüÅëÀûÀÎ CGI¹æ½Ä
ÀÌ·¯ÇÑ ¹®Á¦µéÀ» ÇØ°áÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ
¹Ù·Î ÀÚ¹Ù ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù.
[±×¸²5-32]¿¡¼
ó·³ ÀÚ¹Ù·Î ÀÛ¼ºµÈ Ŭ¶óÀ̾ðÆ®/¼¹ö
ÇÁ·Î±×·¥Àº WWW»ó¿¡¼
¸¹Àº ÀåÁ¡À» Á¦°øÇÑ´Ù. ½ÇÁ¦
»ç¿ëÀÚ°¡ Á¦ÃâÇÑ URL¿¡
µû¶ó¼ ÀÚ¹Ù ¾ÖÇø´ ÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚÀÇ ºÎ¶ó¿ìÁ®¸¦ ÅëÇØ ´Ù¿î·ÎµåµÈ´Ù.
ÀÏ´Ü ÀÚ¹Ù ¾ÖÇø´ÀÌ ¼öÇàµÇ¸é
´õ ÀÌ»ó HTTPD¿ÍÀÇ
Á¢ÃËÀº ÇÊ¿ä¾ø´Ù. ¿Ö³ÄÇϸé
ÀÚ¹Ù ¾ÖÇø´ÀÌ Á÷Á¢ ¼¹ö¿Í Åë½ÅÀ» Çϱ⠶§¹®ÀÌ´Ù.
µû¶ó¼ ¾Õ¼± CGI
¹æ¹ý¿¡¼ ¹ß»ýÇÏ´Â ¹®Á¦¸¦ ÇØ°áÇÒ
¼ö ÀÖ´Ù. ±×·¯³ª
ÇѰ¡Áö ³²Àº ¹®Á¦´Â ÀÚ¹Ù¸¦ »ç¿ëÇÏ´õ¶óµµ ÀÌ¿ëÇÏ·Á´Â ¿ÜºÎÀÇ ½Ã½ºÅÛ¿¡
µû¶ó °¢°¢ °³º°ÀûÀÎ ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù.
¿¹¸¦ µé¾î,
¸¸¾à 5°³ÀÇ
¿ÜºÎ ½Ã½ºÅÛÀ» ÀÌ¿ëÇÏ·Á¸é 5°³ÀÇ
ÀÚ¹Ù ÀÎÅÍÆäÀ̽º ÇÁ·Î±×·¥À» ÀÛ¼ºÇؾ߸¸ ÇÑ´Ù.
[
±×¸²5-32
] Àڹ٠Ŭ¶óÀ̾ðÆ®/¼¹ö
¹æ½Ä
¾Õ¼± µÎ ¹æ¹ý¿¡¼ ¹ß»ýÇÏ´Â ¹®Á¦¿¡ ´ëÇÑ
ÇØ°áÃ¥À¸·Î [±×¸²5-33]°ú
°°ÀÌ CORBA¿Í
ÀÚ¹ÙÀÇ ¿¬µ¿ ½Ã½ºÅÛÀ» µé ¼ö ÀÖ´Ù.
ÇÁ·Î±×·¡¸Ó´Â CORBA¸¦
»ç¿ëÇÏ¿© ¿ÜºÎÀÇ ½Ã½ºÅ۵鿡 °øÅëµÈ CORBA
ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù
.
ÀÌ CORBA
ÄÚµå´Â ÀÚ¹Ù ÄÚµå·Î º¯È¯µÇ¾î
WWW¸¦
ÅëÇØ ÀÚÀ¯·Ó°Ô ÀÌ¿ëµÈ´Ù. À̶§
º°µµÀÇ ¿ÜºÎÀÇ ½Ã½ºÅÛÀÌ Ãß°¡µÇ´õ¶óµµ ÇÁ·Î±×·¡¸Ó´Â CORBA
ÀÎÅÍÆäÀ̽º¸¸ ¾Ë°í ÀÖÀ¸¸é ½±°Ô
¿ÜºÎ ½Ã½ºÅÛÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
[
±×¸²5-33
] CORBA-ÀÚ¹Ù ¿¬µ¿½Ã½ºÅÛ
3.3 CORBA-ÀÚ¹Ù
¸ÅÇÎ
CORBA-ÀÚ¹Ù
¸ÅÇÎÀ» ÇѸ¶µð·Î Á¤ÀÇÇÏÀÚ¸é CORBA
IDL¾ð¾î¸¦ ÀÚ¹Ù¾ð¾î·Î ¸ÅÇνÃŰ´Â
°ÍÀÌ´Ù. ¹°·Ð
¸ÅÇÎÀ̿ܿ¡ ORB¿¡¼
Á¦°øÇÏ´Â ±â´ÉÀ» »ç¿ëÇϱâ À§ÇÑ ±âº» Àڹ٠Ŭ·¡½ºµéÀÌ Á¦°øµÅ¾ß ÇÑ´Ù.
µû¶ó¼ CORBA-ÀÚ¹Ù
¸ÅÇÎÀ» ÀÌÇØÇÏ´Â °ÍÀº CORBAÀÇ
IDLÀ»
ÀÚ¹Ù·Î ¸ÅÇÎÇÏ´Â °úÁ¤À» ÀÌÇØÇÏ´Â °ÍÀÌ¶ó ¸»ÇÒ ¼ö ÀÖ´Ù.
ÇöÀç CORBA-ÀÚ¹Ù
¸ÅÇο¡ ´ëÇÑ ¾ÈÀ» ¹ßÇ¥ÇÑ °÷Àº JEO¶ó´Â
Á¦Ç°À» ¼±º¸ÀÎ ¼±¼ÒÇÁÆ®»ç¿Í OrbixWebÀ»
¹ßÇ¥ÇÑ ¾ÆÀÌ¿À³ª»ç°¡ ÀÖ´Ù. ¹°·Ð
ÇöÀç CORBAÇ¥ÁؾÈÀ»
Á¦Á¤Çϰí ÀÖ´Â OMG¿¡¼µµ
CORBA-ÀÚ¹Ù
¸ÅÇΠǥÁؾÈÀ» Á¦Á¤Áß¿¡ ÀÖ´Ù.
ƯÈ÷ ¼±¼ÒÇÁÆ®ÀÇ °æ¿ì CORBA-ÀÚ¹Ù
¸ÅÇο¡ ´ëÇÑ °ø°³ ¼ÒÇÁÆ®¿þ¾î·Î JIDLÀ»
Á¦°øÇϰí ÀÖ´Ù. JIDLÀº
IDL·Î
ÀÛ¼ºµÈ ÇÁ·Î±×·¥À» ÀÚ¹Ù ÄÚµå·Î º¯È¯ÇØÁÖ´Â ÄÄÆÄÀÏ·¯·Î½á idlgenÀ»
Á¦°øÇØÁØ´Ù.
idlgen˼
ÇöÀç ¼Ö¶ó¸®½º2.x¿Í
À©µµ¿ìNT/95¿¡¼
¼öÇàµÈ´Ù. idlgenÀ»
ÅëÇØ ¿©·¯ºÐÀº Àڹ٠Ŭ¶óÀÌ¾ðÆ® ½ºÅͺê Äڵ带 ¾òÀ» ¼ö ÀÖ´Ù.
ÀÌ ¶§ »ý¼ºµÈ ½ºÅͺê ÄÚµå´Â
º¹ ¼ö °³ÀÇ ORBÇÁ·ÎÅäÄÝÀ»
Áö¿øÇϱâ À§ÇØ °³¹ßµÈ Æ÷Åͺí ORB
ÄÚ¾Æ(Portable
ORB Core) ½Ã½ºÅÛ»ó¿¡¼ ¼öÇàµÈ´Ù
.
[
±×¸²5-34
] ¼±¼ÒÇÁÆ®ÀÇ JIDLȯ°æ
3.3.1 CORBA-ÀÚ¹Ù
¸ÅÇÎ
´ÙÀ½Àº OrbixWeb¿¡¼ÀÇ
¸ÅÇÎ ¹æ¹ýÀ» ±âº»À¸·Î ÇÏ¿© CORBA
IDLÀ» ÀÚ¹Ù¾ð¾î·Î ¸ÅÇÎ ¹æ¹ýÀ»
¿ä¾à.Á¤¸®ÇÑ
°ÍÀÌ´Ù.
CORBA IDL ÀÚ¹Ù
float float
double double
long int
short short
unsigned long int
unsigned short short
char char
boolean boolean
octet byte
string class String
enum int
structure class
discriminated union class( ½Äº°ÀÚ¿Í ÇØ´ç °ªÀ¸·Î ±¸¼ºµÊ)
enumeration class(°¢°¢ÀÇ
¿ø¼Ò¸¦ Á¤Àû º¯¼ö·Î ó¸®)
Array Array
Sequence
class(¹öÆÛ¿Í ±æÀÌ º¯¼ö¸¦ Æ÷ÇÔÇϰí
ÀÖÀ½)
Any CORBA.Any Ŭ·¡½º(ŸÀÔ°ú °ªÀ» Æ÷ÇÔÇϰí ÀÖÀ½)
module package
constant class(»ó¼ö¸¦
Á¤Àûº¯¼ö·Î ¼±¾ðÇÑ Æ¯º°ÇÑ Å¬·¡½º)
interface interfece( ÀÚ¹Ù´Â ´ÙÁß»ó¼ÓÀ» Áö¿øÇÏÁö ¾Ê´Â´ë½Å
ÀÎÅÍÆäÀ̽º ¸¦ Áö¿ø)
inheritance extends
object reference Ref interface
CORBA IDL
¸Þ¼Òµå´Â
in, out, inout ¸Å°³º¯¼ö¸¦
°®´Â´Ù. À̶§
inout,outÀ»
ó¸®Çϱâ À§ÇØ Æ¯º°ÇÑ ¹æ¹ýÀ» ÇÊ¿ä·Î ÇÑ´Ù.
¿Ö³ÄÇϸé ÀÚ¹Ù´Â ÂüÁ¶¿¡ ÀÇÇÑ
Àü´Þ¹æ¹ýÀ» Áö¿øÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù.
µû¶ó¼ °¢ µ¥ÀÌŸ ŸÀÔÀ» Àü´ÞÇϱâ
À§ÇØ Holder¶ó´Â
Ưº°ÇÑ Å¬·¡½º¸¦ »ý¼ºÇÏ¿© ¸Å°³º¯¼ö¸¦ Àü´ÞÇÑ´Ù.
ÀÌ Å¬·¡½º¿¡´Â ÇØ´ç ¸Å°³º¯¼öÀÇ
ŸÀÔ°ú °ªÀÌ µé¾îÀÖ´Ù. ¿¹¸¦
µé¸é, intÀÇ
°æ¿ì intHolder°¡
longÀÇ
°æ¿ì longHolder°¡
inout°ú
out
¸Å°³º¯¼ö·Î
´ëüµÈ´Ù.
attribute attribute(), attribute(
value) ( 2°³ÀÇ ¸Þ¼Òµå·Î ¸ÅÇÎ
)
ÀÚ¹Ù´Â C++ÀÇ
typedef°°ÀÌ
¾ð¾î¸¦ Ãß°¡ÇÏ´Â ±â´ÉÀÌ ¾ø´Ù.
µû¶ó¼ ÀÚ¹Ù´Â À̸¦ »ó¼Ó°ü°è¸¦
ÅëÇØ ó¸®ÇÑ´Ù. ´Ü
int, char°°Àº
´Ü¼øÇÑ µ¥ÀÌŸ ŸÀÔÀº ó¸®ÇÒ ¼ö ¾ø´Ù.
typedef extends
raises throws
3.3.2 CORBA-ÀÚ¹Ù
Á¦Ç°µé
ÇöÀç CORBA-ÀÚ¹Ù
¿¬µ¿ Á¦Ç°µéÀº ¾ÆÁÖ ±¤¹üÀ§ÇÏ°Ô °³¹ßµÇ°í ÀÖ´Ù.
À̵鿡 ´ëÇÑ ¼Ò°³´Â ´ÙÀ½ Àå¿¡¼
ÇÏ°í ¿©±â¼´Â »ó¿ë Á¦Ç°¸¸À» °£·«È÷ ¼Ò°³Çϵµ·Ï ÇÑ´Ù.
3.3.2.1 ¼±
¼ÒÇÁÆ®ÀÇ
NEO , JOE
¼±¼ÒÇÁÆ®»ç´Â OMGÀÇ
Ãʱ⠸â¹ö·Î¼ CORBAÇ¥ÁØÀ»
¸¸µå´Â µ¥ ÀÖ¾î ¸¹Àº ±â¿©¸¦ ÇÑ È¸»çÀÌ´Ù.
½ÇÁ¦ CORBAÀÇ
IDL˼
¼±¼ÒÇÁÆ®¿¡ ÀÇÇØ¼ ÁÖµµÀûÀ¸·Î ÀÛ¼ºµÈ ¾ð¾îÀÌ´Ù.
ÀÌ·¸µí ºÐ»ê°´Ã¼ ½Ã½ºÅÛ°ú À̸¦
±â¹ÝÀ¸·Î ÇÑ È¯°æ¿¡ ¸¹Àº °ü½ÉÀ» °¡Á®¿Ô´Ù.
±× ±¸Ã¼ÀûÀÎ ½ÇÇà ¹æ¾ÈÀ¸·Î DOE(Distributed
Object Environment)¶ó´Â ÇÁ·ÎÁ§Æ®¸¦
ÃßÁøÇÏ¿´´Ù. ÀÌ
ÇÁ·ÎÁ§Æ®´Â CORBA¸¦
±Ù°£À¸·Î ÇÑ ½Ã½ºÅÛÀ» ±¸ÃàÇÏ´Â µ¥ ÁÖ¾ÈÁ¡ÀÌ ÀÖ¾ú´Ù.
ÀÌÈÄ ÀÌ ÇÁ·ÎÁ§Æ®´Â NEO¶ó´Â
ÇÁ·ÎÁ§Æ®·Î ¹Ù²î°Ô µÇ¾ú´Ù.
NEO´Â
ÇѸ¶µð·Î »ç¿ëÀÚ(±â¾÷
¶Ç´Â ´Üü,...)°¡
±Þ¼ÓÇÏ°Ô º¯ÇÏ´Â Àü»êȯ°æÀ̳ª ±âŸ ¿ä±¸»çÇ׿¡ ´Éµ¿ÀûÀ¸·Î ´ëóÇÏ¿©
°æÀï·ÂÀ» °®Ãâ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â ÀÏ·ÃÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ÀǹÌÇÑ´Ù.
ÀÌ·¯ÇÑ ¸ñÀûÀ» ´Þ¼ºÇϱâ À§ÇØ
NEO´Â
³×Æ®¿÷ ±â´ÉÀ» °¡Áø °´Ã¼¸¦ ±â¹ÝÀ¸·Î ÇÏ¿© ±â¾÷¿¡¼ »ç¿ëÇÏ´Â ÅøÀÇ
Á¾·ù¿¡ ¹«°üÇÏ°Ô °¢Á¾ ¼ºñ½º¸¦ °øÀ¯ÇÏ°Ô ÇØÁØ´Ù.
À̸¦ ¼±¼ÒÇÁÆ®´Â "°øÀ¯ ¼ºñ½º
(Shared
Service)"¶ó°í ¸»ÇÑ´Ù.
ÀÌ·¯ÇÑ ±â´ÉÀ» Á¦°øÇϱâ À§ÇØ
NEO´Â
´ÙÀ½ÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù.
¼Ö¶ó¸®½ºNEO´Â
CORBA¿¡
±Ù°ÅÇÑ °´Ã¼ ³×Æ®¿÷ ÀÎÇÁ¶ó ±¸Á¶¸¦ Á¦°øÇÏ¸ç ³×Æ®¿÷ °´Ã¼ °ü¸®µµ±¸·Î¼
¼Ö½ºÆ½½º(Solstice NEO) NEO¸¦
¹øµé·Î Æ÷ÇÔÇϰí ÀÖ´Ù.
¿÷¼¥Àº ±âÁ¸ÀÇ Á¦Ç°À» NEO¿¡
ÀûÇÕÇÏ°Ô È®ÀåÇÑ Á¦Ç°À¸·Î C,C++
ÄÄÆÄÀÏÀ» À§ÇÑ ½ºÆÅ ÄÄÆÄÀÏ·¯¿Í
°³¹ß µµ±¸ ¸ðÀ½ÀÎ ½ºÆÅ¿÷½º, ³×Æ®¿÷
°´Ã¼°³¹ßÀ» À§ÇØ IDLÄÄÆÄÀÏ·¯¿Í
³×Æ®¿÷ °´Ã¼ µð¹ö°Å¸¦ Æ÷ÇÔÇϰí ÀÖ´Â NEO¿÷½º·Î
±¸¼ºµÇ¾î ÀÖ´Ù.
JOE(Java Object Environment)´Â
CORBA¿Í
ÀÚ¹Ù¸¦ ¿¬µ¿ÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÏ´Â ¼±¼ÒÇÁÆ®ÀÇ ¿¼èÀÌ´Ù.
´Ù½Ã ¸»ÇØ JOE´Â
IDLÀÚ¹Ù
ÄÄÆÄÀÏ·¯¿Í ORB, ±×¸®°í
NEO¿¡
´ëÇÑ API·Î
±¸¼ºµÇ¾î ÀÖ´Ù. µû¶ó¼
JOE·Î
°³¹ßµÈ ÀÚ¹Ù ¾ÖÇø´Àº ¿ø°ÝÁöÀÇ NEO°´Ã¼¿¡
¿¬°áµÇ¾î ´Ù¾çÇÑ ¼ºñ½º¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
°£·«ÇÏ°Ô JOE¿¡¼
Á¦°øÇÏ´Â ±â´Éµé¿¡ ´ëÇØ »ìÆìº¸µµ·Ï ÇÑ´Ù.
¸¶Áö¸·À¸·Î ÇöÀç NEO³ª
JOE¸¦
ÀÌ¿ëÇÏ·Á¸é ¼Ö¶óÀ̽º2.4 ÀÌ»ó
¹öÀüÀ» ÀÌ¿ëÇØ¾ß ÇÑ´Ù. µû¶ó¼
À©µµ¿ì °´Ã¼¿¡ ´ëÇÑ Á¢±ÙÀ̳ª ÀÌ¿ë ±â¼úÀº ÇöÀç ¾ÆÀÌ¿À³ª»çÀÇ OrbixOLE¸¦
ÀÌ¿ëÇÏ±æ ±ÇÀåÇϰí ÀÖ´Ù. ¾Æ¸¶
ÀÌ·¯ÇÑ ¹æ¹ýÀº ¼Ö¶ó¸®½º ±Ù°£ ±â¼úÀº ¼±¼ÒÇÁÆ®»ç¿¡¼ ÀÌ¿Ü Ç÷¿Æû°úÀÇ
¿¬°áÀº OrbixÀ»
ÅëÇØ¼¶ó´Â ¼±¼ÒÇÁÆ®»çÀÇ Àü·«¿¡¼ ±âÀÎÇÏ´Â °Í °°´Ù.
3.3.2.2 ¾Æ
ÀÌ¿À³ª»çÀÇ
OrbixWeb 2.2
¾ÆÀÌ¿À³ª»çÀÇ OrbixWebÀº
±âÁ¸ÀÇ Orbix Á¦Ç°ÀÇ
ÀÚ¹Ù ¸ÅÇÎ ¹öÀüÀÌ´Ù. µû¶ó¼
Orbix¿¡¼
Á¦°øÇÏ´Â ¸ðµç ±â´ÉÀ» ÀÚ¹Ù·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
ÇöÀç OrbixWeb¿¡¼
»ç¿ëÇÏ´Â IDLÀÚ¹Ù
¸ÅÇιæ¹ýÀº ¼±¿¡¼ Á¦°øÇÏ´Â ¹æ½ÄÀÌ ¾Æ´Ï¶ó °íÀ¯ÇÑ ¸ÅÇÎ ¹æ¹ýÀ» »ç¿ëÇϰí
ÀÖ´Ù. ±×·¯³ª
¼±ÀÇ ÀÚ¹Ù ¸ÅÇξȰú »ó´çÈ÷ À¯»çÇÏ¸ç ¾ÕÀ¸·Î OMGÀÇ
IDLÀÚ¹Ù
¸ÅÇξÈÀ» µû¸¦ °ÍÀÌ´Ù.
OrbixWeb¿¡
¼
Á¦°øÇÏ´Â ±â´ÉÀ» °£·«È÷ Á¤¸®ÇØ º¸¸é ´ÙÀ½°ú °°´Ù.
À§ÀÇ ±â´É Áß ÇÊÅͱâ´ÉÀº °´Ã¼¸¦ È£ÃâÇÏ´Â
°úÁ¤¿¡ ¿øÇÏ´Â ±â´ÉÀ» Ãß°¡ÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù.
°¡·É,
ƯÁ¤ ¼ºñ½º °´Ã¼¿¡ Á¢±ÙÇÒ ¶§¸¶´Ù
°ú±ÝÀ» ¸Å±â´Â ±â´ÉÀÇ ÇÊÅ͸¦ Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
ÀÌ·¯ÇÑ ±â¼úÀ» °¢Á¾ º¸¾È ±â´É
µî¿¡ ÀÀ¿ëÇÒ ¼öµµ ÀÖ´Ù. ÇöÀç
OrbixWeb˼
¼Ö¶ó¸®½º¿Í À©µµ¿ì95/NT¿¡¼
À̿밡´ÉÇϸç ÀÎÅͳݻ󿡼 ¹«·á·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
.
3.3.2.3 ºñ
ÁöÁ¦´Ð»çÀÇ
ºñÁöºê·ÎÄ¿
ºñÁöºê·ÎÄ¿´Â Àü¿¡ ºí·¢À§µµ¿ì¶ó´ÂCORBA-ÀÚ¹Ù
¿¬µ¿ Á¦Ç°À» °¡Àå ¸ÕÀú ¼±º¸ÀÎ Æ÷½ºÆ®¸ð´ø»ç¸¦ ÀμöÇÑ ºñÁöÁ¦´Ð»ç°¡
¹ßÇ¥ÇÑ Á¦Ç°À¸·Î¼ IIOP¸¦
±âº» ÇÁ·ÎÅäÄÝ·Î »ç¿ëÇϸç CORBA
Ç¥ÁØ¿¡¼ ¸í½ÃÇÑ ±â´ÉÀ» Á¦°øÇÒ
»Ó¸¸ ¾Æ´Ï¶ó "°ª¿¡ ÀÇÇÑ Àü´Þ" ¹æ½Ä µî ÀÚ¹Ù ¾ð¾îÀÇ ÀåÁ¡µéÀ»
´Ù¾çÇÏ°Ô Á¦°øÇϰí ÀÖ´Ù. ÇöÀç
ºñÁöºê·ÎÄ¿´Â ¼±ÀÇ IDL-ÀÚ¹Ù
¸ÅÇξÈÀ» µû¸£°í ÀÖ´Ù.
ƯÈ÷,
ºñÁöºê·ÎÄ¿´Â IDLÀ»
ÀÛ¼ºÇÏÁö ¾Ê°íµµ CORBA-ÀÚ¹Ù
ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Â Ä«ÆäÀÎ(Caffeine)À̶ó´Â
ȯ°æÀ» Á¦°øÇÑ´Ù. Ä«ÆäÀÎÀ»
»ç¿ëÇϸé CORBA IDLÀ»
¸ð¸£´õ¶óµµ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
ƯÈ÷,
Ä«ÆäÀÎÀº ³Ý½ºÄÉÀÌÇÁ»çÀÇ °³¹ß
ȯ°æ¿¡ Æ÷ÇÔµÇ¾î ³Î¸® »ç¿ëµÇ°í ÀÖ´Ù.
ºñÁöºê·ÎÄ¿¿¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ
³»¿ëÀº ´ÙÀ½ ÀýÀÇ ³»¿ëÀ» ÂüÁ¶Çϱ⠹ٶõ´Ù.
[ ±×¸²
5-35
] JIDL°ú OrbixÀ»
ÅëÇØ ÀÛ¼ºµÈ CORBA-ÀÚ¹Ù
ÇÁ·Î±×·¥
3.4 CORBA-ÀÚ¹Ù
ÇÁ·Î±×·¥ ÀÛ¼º ¿¹
3.4.1ȯ°æ ±¸Ãà
´ÙÀ½Àº ºñÁöºê·ÎÄ¿ Á¦Ç°ÀÇ È¯°æ ±¸Ãà
°úÁ¤ÀÌ´Ù. ¼³Ä¡
ȯ°æÀº À©µµ¿ì95ÀÌ
°í
Æò°¡ ¹öÀüÀ» ÀÌ¿ëÇÑ´Ù°í °¡Á¤ÇÑ´Ù.
[´Ü°è1]
¸ÕÀú ºñÁöºê·ÎÄ¿ÀÇ ¼³Ä¡ ¼ÒÇÁÆ®¿þ¾î¸¦
ÀÎÅͳݻ󿡼 ´Ù¿î·Îµå ¹Þ°í ¶óÀ̼¾½º¸¦ ½ÅûÇÑ´Ù.
(http://www.visigenic.com)
[´Ü°è2]
ÇØ´ç ÇÁ·Î±×·¥(VisiJava_12_win.ZIP)À»
Ç®°í setup.exe¸¦
¼öÇàÇÑ´Ù. ¼³Ä¡µÈ
µð·ºÅ丮¹Ø¿¡ adm
À̶õ
µð·ºÅ丮¿¡ ¶óÀ̼¾½º(license.dat)ÆÄÀÏÀ»
ÀÛ¼ºÇÑ´Ù. °¡·É
,
c:\orb20À̶õ µð·ºÅ丮¿¡ ¼³Ä¡Çß´Ù¸é
license.dat˼
´ÙÀ½¿¡ À§Ä¡ÇÑ´Ù.
c:\orb20\adm\license.dat.
license.dat¿¡ ±â·ÏÇØ¾ß
ÇÒ Á¤º¸ÀΠüũ¼¶(Checksum)Àº
ÀüÀÚ¿ìÆíÀ» ÅëÇØ Àü´Þ¹Þ´Â´Ù. Àü´Þ¹ÞÀº
üũ¼¶ Á¤º¸´Â ´ÙÀ½°ú °°ÀÌ license.dat ÆÄÀÏ¿¡
Àû´Â´Ù.
Product Name: Orbeline2.0
Host id: 0
Num Units: 0
Expiration Time: 04/18/1997
Checksum: 1251-0101-0610-1112
[´Ü°è3]
´ÙÀ½Àº ºñÁöºê·ÎÄ¿ÀÇ ÀÛµ¿¿¡ ÇÊ¿äÇÑ
ȯ°æÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù. ¸ÕÀú
°æ·Î(PATH)¸¦
¼³Á¤Çϰí ORBLINEÀ̶ó´Â
ȯ°æ º¯¼ö¸¦ ÅëÇØ ¼³Ä¡µÈ µð·ºÅ丮ÇÏÀÇ adm °æ·Î¸¦
¸í½ÃÇØ ÁØ´Ù. ¸¶Áö
¸·À¸·Î´Â
ºñÁöºê·ÎÄ¿¿¡¼ »ç¿ëÇÏ´Â ÀÚ¹Ù ¶óÀ̺귯¸® °æ·Î¸¦ Ãß°¡ÇÑ´Ù(CLASSPATH).
ÃÖÁ¾ÀûÀ¸·Î ¼³Á¤µÇ´Â ȯ°æ º¯¼öµéÀº
´ÙÀ½°ú °°´Ù.
set PATH = C:\ORB20\bin
set ORBLINE = C:\ORB20\ADM
set CLASSPATH=,;C:\ORB20\CLASSES;C:\JAVA\LIB\CLASSES.ZIP
[´Ü°è4]
¸ðµç ¼³Á¤À» ¸¶Ä£ ÈÄ¿¡ ºñÁöºê·ÎÄ¿
µ¥¸óÀ» ¼öÇàÇØ º»´Ù. ºñÁöºê·ÎÄ¿
µ¥¸ó ÇÁ·Î±×·¥Àº osagent.exeÀÌ´Ù.
¹é±×¶ó¿îµå·Î ¼öÇà½ÃŲ´Ù.
osagent´Â Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ»
¹ÞÀº ÈÄ ÇØ´ç ±¸Çö °´Ã¼¿¡ ¿¬°áÇØ ÁÖ´Â ¿ªÇÒÀ» ¼öÇàÇÑ´Ù.
µû¶ó¼ Àû¾îµµ ÇϳªÀÇ osagent°¡
¼öÇàÇϰí ÀÖ¾î¾ß ÇÑ´Ù.
osagent &
[´Ü°è5] µ¥¸ð µð·ºÅ丮¿¡ ÀÖ´Â ÀÓÀÇÀÇ ±¸Çö °´Ã¼¸¦ ¼öÇàÇÑ ÈÄ, ÀÌ»óÀÌ ¾øÀ¸¸é Ŭ¶óÀÌ¾ðÆ®¸¦ ¼öÇàÇØ º»´Ù. ÀÌ ¶§ ¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ ÀÚ¹Ù ¾ÖÇø´À̶ó¸é ¼öÇàÇϱâ Àü¿¡ gatekeeper ¶ó´Â ÇÁ·Î±×·¥À» ¼öÇàÇØ¾ß ÇÑ´Ù . getekeeper´Â HTTP¸¦ ÅëÇØ ºñÁöºê·ÎÄ¿ ¼¹ö¸¦ È£ÃâÇÏ°Ô ÇØÁÖ´Â HTTP-to-IIOP °ÔÀÌÆ®¿þÀÌÀÌ´Ù. gatekeeper°¡ Á¦´ë·Î ¼öÇàµÇÁö ¾ÊÀ¸¸é ¾ÖÇø´ ÇüÅÂÀÇ Å¬¶óÀÌ¾ðÆ®´Â ¼öÇàµÇÁö ¾Ê´Â´Ù. gatekeeper ¼öÇà½Ã °¡Àå ºó¹øÈ÷ ¹ß»ýÇÏ´Â °ÍÀº UnknownHost ExceprionÀÌ´Ù. ÀÌ °æ¿ì, ½ÇÁ¦ ÀÚ¹ÙÀÇ ¶óÀ̺귯¸®(getHostByName)ÀÇ ¿À·ùÀε¥ ·ÎÄà ȣ½ºÆ®ÀÇ µµ¸ÞÀÎ À̸§°ú DNS ¼¹ö»óÀÇ µµ¸ÞÀÎÀ̸§ÀÇ Æ²¸° °æ¿ìÀÌ´Ù. µû¶ó¼ DNS ¼¹ö¿¡¼ Á¦°øÇÏ´Â µµ¸ÞÀÎ À̸§À¸·Î ¼³Á¤À» ¹Ù²Ù¸é Á¦´ë·Î ¼öÇàÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ¹«»çÈ÷ ¼öÇàµÈ´Ù¸é ¼³Ä¡´Â ¼º°ø¸®¿¡ ³¡³ °ÍÀÌ´Ù. ( ÇØ´ç ±¸Çö °´Ã¼¿Í Ŭ¶óÀÌ¾ðÆ®¸¦ ¼öÇàÇÏÁö ¸øÇß´Ù¸é ´ÙÀ½ Àý¿¡¼ ¼³¸íÇÏ´Â °úÁ¤¿¡ µû¶ó ¼öÇàÇÏ¸é µÈ´Ù. )
3.4.2 ÇÁ·Î±×·¥
°³¹ß °úÁ¤ÀÇ ÀÌÇØ
¾Õ¼ ¹«»çÈ÷ ¼³Ä¡¸¦ ¸¶ÃÆ´Ù¸é ´ÙÀ½ÀÇ
°úÁ¤¿¡ µû¶ó ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ º»´Ù. ÆíÀÇ»ó
¿¹Á¦·Î¼ ¼³Ä¡ ÈÄ ¿¹Á¦ µð·ºÅ丮¿¡ º¹»çµÇ´Â bank
¿¹Á¦¸¦ »ç¿ëÇϱâ·Î ÇÑ´Ù.
¹®Á¦ ³»¿ë
Ŭ¶óÀÌ¾ðÆ®´Â ¿øÇÏ´Â °èÁ¤(Account)¿¡ ´ëÇÑ Àܾ×À» Á¶È¸Çϱâ À§ÇØ ±¸Çö °´Ã¼¿¡°Ô
¼ºñ½º¸¦ ¿äûÇÑ´Ù. ¼ºñ½º¸¦ ¿äû¹ÞÀº ±¸Çö °´Ã¼´Â ÇØ´ç °èÁ¤ÀÇ Àܾ×À» ¹ÝȯÇÑ´Ù.
¸¸¾à ÇØ´ç °èÁ¤ÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é Ŭ¶óÀÌ¾ðÆ®°¡ ¿äûÇÑ À̸§ÀÇ °èÁ¤À» »ý¼ºÇϰí
ÀÓÀÇÀÇ Àܾ×À» ¹ß»ý½ÃŲ ÈÄ ¹ÝȯÇÑ´Ù.
[´Ü°è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
ÆÄÀÏÀ» ÄÄÆÄÀÏÇÑ´Ù.
C:/> 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("CORBA 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("CORBA 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 + "'s account is' + balance);
}
catch(CORBA.SystemException e) {
System.err.println(e);
}
}
}
[´Ü°è5]
ÀÛ¼ºµÈ Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö Äڵ带
ÄÄÆÄÀÏÇÑ´Ù.
C:/> javac Client.java -> Client.class »ý¼º
C:/> javac Server.java -> Server.class
»ý¼º
[´Ü°è6]
¸ÕÀú osagent¶ó´Â
ºñÁöºê·ÎÄ¿ µ¥¸óÀ» ¼öÇà½ÃŲ´Ù.
osagent´Â Ŭ¶óÀÌ¾ðÆ®¿Í
±¸Çö °´Ã¼»çÀÌÀÇ À§Ä¡ ¼ºñ½º¸¦ Á¦°øÇÑ´Ù. µû¶ó¼
LANȯ°æ¿¡
Àû¾îµµ ÇϳªÀÇ osagent°¡
¼öÇàµÇ¾î¾ß ÇÑ´Ù.
C:/> start osagent
´ÙÀ½À¸·Î ±¸Çö °´Ã¼¸¦ ¼öÇà½ÃŲ´Ù.
C:/> start java Server
¿¹Á¦¿¡¼´Â osagent¿Í
±¸Çö °´Ã¼¸¦ ¼·Î ´Ù¸¥ ÇÁ·Î¼¼½º»ó¿¡¼ ¼öÇàÇϱâ À§ÇØ start
¸í·É¾î¸¦ »ç¿ëÇÏ¿´´Ù.
[´Ü°è7]
´Ù¸¥ À©µµ¿ì¸¦ »ý¼ºÇÑ ÈÄ,
Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» ¼öÇàÇÑ´Ù
.
C:/> java Client
¸¸¾à º°µµÀÇ Àü´ÞÀÎÀÚ°¡ ¾ø´Ù¸é ´ÙÀ½°ú
°°Àº °á°ú¸¦ »ý¼ºÇØ ³½´Ù.
The balance in jirubak's account is $73.17
¸¸¾à Àü´ÞÀÎÀÚ·Î younghanÀ»
»ç¿ëÇÏ¸é ´ÙÀ½°ú °°Àº °á°ú¸¦ »ý¼ºÇØ ³½´Ù.
The balance in younghan's account is $11.17
¸¶Áö¸·À¸·Î ÁÖÀÇ ÇÒ Á¡Àº ¾Õ¼ ¼³¸íÇÑ
°Íó·³ Ŭ¶óÀÌ¾ðÆ®°¡ ÀÚ¹Ù ¾ÖÇø´ÀÎ °æ¿ì ¹Ýµå½Ã ½ÇÇàÇϱâ Àü¿¡ osagent¿Ígatetkeeper(IIOP
GeteKeeper)¶ó´Â ÇÁ·Î±×·¥À» ¼öÇàÇØ¾ß
ÇÑ´Ù´Â »ç½ÇÀÌ´Ù. gatekeeper´Â
HTTP ÅͳθµÀ»
ÅëÇØ ¹æÈº® ³»¿¡ ÀÖ´Â ±¸Çö °´Ã¼µé°ú Åë½ÅÇÏ°Ô ÇØÁØ´Ù.
´Ù½Ã ¸»ÇØ getekeeper´Â
Ŭ¶óÀÌ¾ðÆ® ¾ÖÇø´ÀÌ ´Ù¿î·ÎµåµÈ È£½ºÆ®¿Ü¿¡ ´Ù¸¥ °÷¿¡ À§Ä¡ÇÑ ±¸Çö
°´Ã¼µé°ú Åë½ÅÇÏ°Ô ÇØÁØ´Ù.
4Àå
°³¹ßÀÚµéÀÇ Èñ¸Á, CORBA
+ WWW + JAVA
4.1 »õ·Î¿î ÆÐ·¯´Ù ÀÓÀÇ ÃâÇöÀΰ¡ ±âÁ¸ ÆÐ·¯´ÙÀÓÀÇ ÁøÈÀΰ¡?
±¸Á¶Àû ¹æ¹ý·Ð°ú °³¹ß·ÐÀ» ±â¹ÝÀ¸·Î °ú°ÅÀÇ
¼ÒÇÁÆ®¿þ¾î ¾÷°è´Â "¼ÒÇÁÆ®¿þ¾îÀÇ
À§±â(Software crisis)"¶ó´Â
¸»Ã³·³ ¼ö¸¹Àº ÀÚ°¡´çÂøÀû ¿À·ù¿¡ ºüÁ®¹ö·È¾ú´Ù.
±â¾÷ÀÇ ½Ã½ºÅÛ ÇÁ·¹ÀÓ¿÷ÀÌ Áß¾ÓÁýÁ߽Ŀ¡¼
Ŭ¶óÀ̾ðÆ®/¼¹ö
±¸Á¶·Î ÀüȯµÇ°í ÀÌÁ¾ÀÇ Çϵå¿þ¾î¿Í ¿î¿µ üÁ¦,
³×Æ®¿÷ ȯ°æ ±×¸®°í ÀÌÁ¾ÀÇ µ¥ÀÌŸº£À̽ºµéÀÌ
»êÀûÇØ ÀÖ´Â »óȲ¿¡¼ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚµéÀº ´Ù¾çÇÑ ¿ä±¸ »çÇ׿¡
Á÷¸éÇß´Ù. ¸ÕÀú
º¸´Ù ³ôÀº »ý»ê¼º°ú ½Å·Ú¼º, È¿À²¼º
±×¸®°í ȯ°æ º¯È¿¡ ÀûÀýÈ÷ ±Ô¸ð Á¶Á¤ÇÒ ¼ö ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇØ¾ß
ÇßÀ¸¸ç °³¹ßµÈ ¼ÒÇÁÆ®¿þ¾î´Â À¯Áö.º¸¼ö°¡
½¬¿ö¾ß Çß°í À̸¦ À§ÇØ °¡´ÉÇÑ ÇÑ ´Ü¼øÇÏ°Ô ¼³°è.±¸ÇöÇØ¾ß¸¸
Çß´Ù.
ÀÌ·¯ÇÑ ¹®Á¦Á¡À» ±Øº¹ÇϰíÀÚ ÃâÇöÇÑ ÇØ°á¹æ¾ÈÀÌ
¹Ù·Î °´Ã¼ÁöÇâ(Object-Oriented)À̶ó´Â
»õ·Î¿î ÆÐ·¯´ÙÀÓÀ̾ú´Ù. ÀÌ
ÆÐ·¯´ÙÀÓÀº ½Ç¼¼°èÀÇ ¸ðµç ¹®Á¦¸¦ ¼Ó¼º°ú ÇÔ¼ö·Î Æ÷ÀåµÇ´Â °´Ã¼·Î
¼±¾ðÇÏ°í »ó¼Ó °ü°è³ª Æ÷ÇÔ °ü°èó·³ ÀÌµé °´Ã¼»çÀÌÀÇ ¿¬°ü °ü°è¸¦
ÁöÁ¤ÇÔÀ¸·Î¼ °¡´ÉÇÑ ÇÑ ¹®Á¦¸¦ Ãß»óȽÃ۰í ÀÌµé ¹®Á¦°£ÀÇ ¹°¸®Àû
¿¬°ü¼ºÀ» ÁÙ¿©ÁÖ¾ú´Ù. µû¶ó¼
±âÁ¸ÀÇ ±¸Á¶Àû ¹æ¹ý·ÐÀÌ ÁÙ ¼ö ¾ø¾ú´ø ¸¹Àº ±â´ÉµéÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ¾ú´Ù.
ÀÌ·¯ÇÑ °´Ã¼ÁöÇâ ÆÐ·¯´ÙÀÓÀÇ
±¸Ã¼Àû ¹æ¹ýµé¿¡´Â OMT °°Àº
°´Ã¼ÁöÇ⠺м®°ú °´Ã¼ÁöÇâ µðÀÚÀÎ, C++³ª
ÀÚ¹Ù°°Àº °´Ã¼ÁöÇâ ¾ð¾î, ObjectStore³ª
O2°°Àº °´Ã¼ÁöÇâ
µ¥ÀÌŸº£À̽º µîÀÌ ÀÖÀ¸¸ç ½ÇÁ¦ ¸¹Àº Á¦Ç°µéÀÌ »ç¿ëÁß¿¡ ÀÖ´Ù.
ÀÌ·¯ÇÑ »óȲÇÏ¿¡¼ ´Ü±â°£¿¡ ±Þ¼ÓÈ÷ ¼ºÀåÇÑ
ÀÎÅͳÝÀº "³×
Æ®¿÷ÀÌ
ÄÄÇ»ÅÍ"¶ó´Â
¸»À» ÄÄÇ»ÅÍ ¾÷°è¸¦ Ç¥ÇöÇÏ´Â ´ë¸í»ç·Î ¸¸µç °Íó·³ ¸¹Àº ºÐ¾ß¿¡ ¿µÇâÀ»
ÁÖ¾ú´Ù. ¹°·Ð
ÀÌÁß¿¡¼ °¡Àå ¸¹Àº ¿µÇâÀ» ¹ÞÀº ºÐ¾ß´Â ¼ÒÇÁÆ®¿þ¾î ºÐ¾ßÀÌ´Ù.
¼ö ¸¹Àº ¼ÒÇÁÆ®¿þ¾î¿Í º¥Ã³ ±â¾÷ÀÌ
Æø¹ßÀûÀ¸·Î µîÀåÇßÀ¸¸ç »ç¶óÁö±âµµ Çß´Ù. ÀÌ
Áß¿¡¼ °¡Àå µÎµå¸®Áø °ÍÀÌ ¹Ù·Î WWWÀÇ
±Þ¼ÓÇÑ È®»êÀÌ´Ù.
ÀÌÁ¦
¸ðµç ÄÄÇ»ÅÍ¿¡´Â WWW Ŭ¶óÀ̾ðÆ®ÀÎ
ºÎ¶ó¿ìÁ®°¡ Àû¾îµµ Çϳª¾¿Àº ¼³Ä¡µÇ¾î ÀÖÀ¸¸ç À̸¦ ÅëÇØ ´Ù¾çÇÑ ºÎ°¡
¼ºñ½º¸¦ ÀÌ¿ëÇϰí ÀÖ´Ù. "ºÎ¶ó¿ìÁ®°¡
¿î¿µ üÁ¦"
¶Ç´Â
"¿î¿µ
üÁ¦°¡ ºÎ¶ó¿ìÁ®"¶ó´Â
¸»Àº °áÄÚ °úÀåµÈ Ç¥ÇöÀº ¾Æ´Ò °ÍÀÌ´Ù.
WWWÀÇ È®»êÀº ¸¶Ä§³»
Á¤º¸ ½Ã½ºÅÛ ºÐ¾ß¿¡ ±îÁö ºÒ¾î¿Í ±âÁ¸ÀÇ Á¤º¸ ½Ã½ºÅÛÀ» WWW»ó¿¡
¿¬µ¿½ÃÄÑ WWW
ºÎ¶ó¿ìÁ®¸¦
ÅëÇØ ÀÎÅͳÝÀÌ ¿¬°áµÇ¾î ÀÖ´Â °÷Àº ¾îµð¼³ª ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù.
¹°·Ð »õ·Ó°Ô °³¹ßµÇ´Â ½Ã½ºÅÛÀº
WWW ±â¹ÝÇÏ¿¡¼
WWWÀÇ ÇÁ·ÎÅäÄÝ
ÀÎ
HTTP(Hyper Text Transfer Protocol)¿Í
WWWÀÇ ¸ÖƼ¹Ìµð
¾î
¹®¼ÀÎ HTML(Hyper Text Markup Language)
±×¸®°í
WWWÀÇ ¿ÜºÎ
¿¬µ¿ ¹æ¹ýÀÎ CGI(Common Gateway Interface),
ÀüÀÚ ¿ìÆíÀ̳ª ÀüÀÚ °Ô½ÃÆÇ ó·³
ÀÌ¹Ì °³¹ßµÇ¾î ÀÖ´Â ÀÎÅÍ³Ý ¼ºñ½ºµéÀ» ±â¹ÝÀ¸·Î ÇÑ´Ù.
ÀÌ·¯ÇÑ È¯°æÀ» ÀÎÆ®¶ó³ÝÀ̶ó°í
ÇÑ´Ù.
±×·¯³ª WWW»óÀÇ Å¬¶óÀÌ¾ðÆ®¿Í ¼¹ö´Â °è¼Ó »óŸ¦ À¯ÁöÇÏ¸é¼ Á¤º¸¸¦ ±³È¯ÇÒ ¼ö ¾øÀ¸¸ç ºÎ¶ó¿ìÁ®´Â ´Ü¼øÈ÷ HTML ¹®¼¸¦ Ç¥ÇöÇØ Áֱ⠶§¹®¿¡ µ¿ÀûÀÎ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿Í Áö¼ÓÀûÀÎ »óÅÂÁ¤º¸¸¦ ¿ä±¸ÇÏ´Â Á¤º¸ ½Ã½ºÅÛÀ» ±¸ÃàÇÒ ¶§ ¸¹Àº ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϰíÀÚ µîÀåÇÑ ±â¼úÀÌ ¹Ù·Î ¼±¸¶ÀÌÅ©·Î½Ã½ºÅÛÁîÀÇ °´Ã¼ÁöÇâ ÀÎÅÍÇÁ¸®Æ® ¾ð¾îÀÎ ÀÚ¹ÙÀÌ´Ù. ÀÚ¹Ù ¾ð¾î´Â °´Ã¼ÁöÇâ °³³äÀ» Áö¿øÇÏ¸ç ¹ÙÀ̳ʸ® Äڵ尡 ¾Æ´Ï¶ó Áß°£ ÄÚµå ÇüÅÂÀÇ ¹ÙÀÌÆ® Äڵ带 »ý¼ºÇس»±â ¶§¹®¿¡ ÇØ´ç ¹ÙÀÌÆ® Äڵ带 ÇØ¼®ÇÏ´Â ÄÄÆÄÀÏ·¯°¡ ÀÖ´Â °÷ÀÌ¸é ¾îµð¼³ª ½ÇÇàµÉ ¼ö ÀÖ´Â ±¸Á¶¸¦ °¡Áö°í ÀÖ´Ù. ÀÌ·¯ÇÑ ±¸Á¶¸¦ Àû±Ø Ȱ¿ëÇÏ¿© ÀÚ¹Ù ÀÎÅÍÇÁ¸®Å͸¦ WWW ºÎ¶ó¿ìÁ®¿¡ »ðÀÔÇϰí ÀÚ¹Ù ÀÀ¿ë ÇÁ·Î±×·¥À» ºÎ¶ó¿ìÁ®¿¡¼ ½ÇÇà½ÃÅ´À¸·Î¼ Á¤ÀûÀÎ WWW¿¡ µ¿ÀûÀÎ ±â´ÉÀ» ºÒ¾î³Ö°í Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö »çÀÌÀÇ »óÅÂÁ¤º¸¸¦ À¯ÁöÇÒ ¼ö ÀÖ°Ô ÇØÁÖ¾ú´Ù.
WWW ¸¦ Áß½ÉÀ¸·Î
ÇÑ ÀÎÅͳݰú ÀÚ¹Ù ¸øÁö¾Ê°Ô ¶Ç ÇϳªÀÇ Áß¿äÇÑ È¯°æ º¯È°¡ ¹Ù·Î ºÐ»ê
ȯ°æÀÌ´Ù. ³×Æ®¿÷
ÀÇ
È®»ê°ú ¾Æ¿ï·¯ ±âÁ¸ÀÇ Å¬¶óÀ̾ðÆ®/¼¹ö
ȯ°æÀ» º¸´Ù Àû±ØÀûÀ¸·Î ¹ßÀü½ÃÄÑ ¿©·¯ ½Ã½ºÅÛÀ» Áö¸®ÀûÀ¸·Î ºÐ»êµÇ¾î
ÀÖ´Â °÷¿¡ ºÐ»ê½ÃÄÑ °¢±â µ¶¸³ÀûÀÎ ±â´ÉÀ» ¼öÇàÇϰųª ÇÊ¿ä½Ã Çù·ÂÇÏ´Â
ºÐ»ê ½Ã½ºÅÛÀÌ º¸ÆíȵDZ⠽ÃÀÛÇß´Ù. ÀÌ·¯ÇÑ
ºÐ»ê ½Ã½ºÅÛÀº Ãʱ⠼ÒÄÏÀ̳ª RPC ( Remote Procedure
Call)°°Àº ÇÏÀ§ ¼öÁØÀÇ ³×Æ®¿÷
±â´ÉÀ» ÀÌ¿ëÇÏ¿© °³¹ßµÇ¾úÀ¸³ª ÀÌÈÄ DCE(Distributed
Computing Environment)°°Àº ÅëÇÕ
ºÐ»ê ȯ°æÀ» ÅëÇØ °³¹ßµÇ¾ú´Ù. ±×·¯³ª
±âÁ¸ÀÇ ÀÌ·¯ÇÑ ¹æ¹ýÀº ºÐ»ê ȯ°æÇÏ¿¡¼ ´Ù¾çÇÑ Çϵå¿þ¾î¿Í ÀÀ¿ë ¼ÒÇÁÆ®¿þ¾î
,
¿î¿µ üÁ¦,
µ¥ÀÌŸº£À̽º µîÀ» ÀϰüµÇ°Ô ¿¬°áÇØÁÖÁö
¸øÇß´Ù. µû¶ó¼
¾Õ¼ ¾ð±ÞÇÑ °Íó·³ »õ·Î¿î ȯ°æ¿¡ ÀûÇÕÇÑ ÇØ°áÃ¥À» Á¦½ÃÇØ ÁÖÁö ¸øÇÑ
°ÍÀ̾ú´Ù. ÀÌ·¯ÇÑ
»óȲÀ» ÇØ°áÇϰíÀÚ ³ª¿Â ¹æ¹ýÀÌ ¹Ù·Î OMG(Object
Management Group)ÀÇ CORBA(Common
Object Request Broker)ÀÌ´Ù.
CORBA´Â ±¸Çö ¾ð¾î³ª °³¹ß ȯ°æÀ̶ó±â
º¸´Ù´Â °´Ã¼ ±â¼ú¿¡ ±Ù°ÅÇÑ ÅëÇÕ ±â¼úÀÌ´Ù. µû¶ó¼
½ÇÁ¦ ±¸ÇöµÈ, ¶Ç´Â
±¸ÇöµÇ´Â ¾ð¾î¿¡ »ó°ü¾øÀÌ °¢ ½Ã½ºÅÛµéÀ» ¿¬°á.ÅëÇÕÇÒ
¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇÑ´Ù.
Áö±Ý±îÁö ¸¹Àº °³¹ßÀÚµéÀº °¢Á¾ ½Ã½ºÅÛ
±¸Ãà½Ã ±âº» ȯ°æÀ¸·Î¼ WWW¸¦,
WWW ȯ°æÇÏ¿¡¼ µ¿ÀûÀÎ ½Ã½ºÅÛÀ»
±¸ÃàÇϱâ À§ÇÑ °³¹ß ¾ð¾î·Î¼ ÀÚ¹Ù¸¦, ÀÌÁ¾ÀÇ
´Ù¾çÇÑ ½Ã½ºÅÛÀ» ÅëÇÕÇϱâ À§ÇÑ Áß°£ ±â¼ú·Î¼ CORBA¸¦
°¢±â µû·Î »ç¿ëÇØ ¿Ô´Ù. ±×·¯³ª
ÇöÀç ¸¹Àº °÷¿¡¼ ÀÚ¹Ù¿Í CORBAÀÇ
±â´ÉÀ» ÅëÇÕÇÏ¿© ½Ã½ºÅÛÀ» ±¸ÃàÇϰí ÀÖÀ¸¸ç ÅëÇÕµÈ ½Ã½ºÅÛ ¶ÇÇÑ »ó´ç¼ö
Á¸ÀçÇÑ´Ù. ±×·¸´Ù
¸é
´ç¿¬È÷ ¿©·¯ºÐÀº ¿Ö ÀÚ¹Ù¿Í WWW, CORBA¸¦
ÅëÇÕÇÏ´Â Áö ±× ÀÌÀ¯¿¡ ´ëÇØ ±Ã±ÝÇØÁú °ÍÀÌ´Ù.
±× ±Ã±ÝÁõÀº ´ÙÀ½ Àý¿¡¼ Ç®¾îº¸µµ·Ï
ÇÑ´Ù. ¿©±â¼´Â
°£´ÜÈ÷ °³³ä¿¡ ´ëÇØ¼¸¸ »ìÆìº¸ÀÚ. Robert
Orfali¿Í
Dan HarkeyÀÇ
Ã¥ÀÎ "Client/Server Programming with
Java and CORBA"¶ó´Â Ã¥¿¡¼
ÀÚ¹Ù¿Í CORBA¿¡
´ëÇØ¼ ´ÙÀ½°ú °°ÀÌ Ç¥ÇöÇß´Ù.
"Java is the first step toword creating an Object Web, but it is
still not enough. Java offers tremendous flexibility for distributed
application development, but it currently does not support a client/
server paradigm. To do this, Java needs to be augmented with a
distributed object infrastructure, which is where OMG's CORBA
comes into the picture. CORBA provides the missing link between
the Java portable application environment and the world of intergalactic
back-end services. The intersection of Java and CORBA object
technologies is the natural next step in the evolution of the
Object Web"
±×µéÀº ÀÚ¹Ù°¡ Á¦°øÇÏ´Â À¯¿¬¼º(flexibility)°ú
À̽ļº(portability), CORBA°¡
Á¦°øÇÏ´Â ºÐ»ê °´Ã¼ ÀÎÇÁ¶ó¸¦ °áÇÕÇÔÀ¸·Î½á ÀÎÅÍ³Ý È¯°æÇÏ¿¡¼ WWW¼¹ö¸¦
Æ÷ÇÔÇÑ ´Ù¾çÇÑ ¼¹öµé°ú ÀÚ¹ÙÀÇ À̽ļºÀÖ´Â Äڵ带 ±â¹ÝÀ¸·Î ÇÑ Å¬¶óÀÌ¾ðÆ®¸¦
±¸ÃàÇÒ ¼ö ÀÖ´Ù°í º¸¾Ò´Ù. ¾Æ¿ï·¯
ÀÚ¹Ù¿Í CORBAÀÇ
ÅëÇÕ È¯°æÀ» Object WebÀ̶õ
¿ë¾î·Î Ç¥ÇöÇß´Ù.
À̵éÀÇ
±â¼úÀû °ßÇØ´Â Á¤È®ÇÑ °ÍÀ̸ç ÇöÀç ¼ö ¸¹Àº °÷¿¡¼ Object
Web ȯ°æÇÏ¿¡¼ ½Ã½ºÅÛÀ» °³¹ßÇϰí
ÀÖ´Ù.
Áö±Ý±îÁö °ú°ÅºÎÅÍ Áö±Ý±îÁöÀÇ ±â¼úÀû
Àüȯ °úÁ¤À» »ìÆìº¸¾Ò´Ù. Áö±Ý±îÁöÀÇ
³»¿ëÀ» Á¤¸®Çϸé [
±×¸²5-36]°ú
°°´Ù. ¿©±â¼
Áß¿äÇÑ °ÍÀº Ãʱ⠱¸Á¶Àû ¹æ¹ý·Ð¿¡¼ °´Ã¼ÁöÇâ ¹æ¹ý·ÐÀ¸·ÎÀÇ ÀüȯÀº
ºÐ¸íÈ÷ °ú°ÅÀÇ ³°Àº ÆÐ·¯´ÙÀÓÀ» ¹ö¸®°í »õ·Î¿î ÆÐ·¯´ÙÀÓÀ¸·Î ÀüȯÇÑ
°ÍÀÌ´Ù. ±×·¯³ª
°´Ã¼ÁöÇâ ÆÐ·¯´ÙÀÓÇÏ¿¡¼ WWWȯ°æ°ú
ÀÚ¹Ù °´Ã¼ÁöÇâ ¾ð¾î, CORBA ºÐ»ê
°´Ã¼ ½Ã½ºÅÛÀº »õ·Î¿î ÆÐ·¯´ÙÀÓÀÌ ¾Æ´Ï¶ó ÇöÀçÀÇ ±â¼úÀ» ±â¹ÝÀ¸·Î
»ó½ÂÈ¿°ú¸¦ ¾òÀÚ´Â µ¥ ÀÖ´Ù. ÇѸ¶µð·Î
ÇöÀç ÆÐ·¯´ÙÀÓÇÏ¿¡¼ÀÇ ÁøÈÀÌ´Ù. ´ÙÀ½
Àý¿¡¼ º¸´Ù ÀÚ¼¼È÷ Object WebÀ¸·ÎÀÇ
ÁøÈ¿¡ ´ëÇØ »ìÆìº¸ÀÚ.
[ ±×¸²5-36
] ÆÐ·¯´ÙÀÓÀÇ ÀüÀÌ
4.2 CORBA + ÀÚ¹Ù
+WWW = Object Web
4.2.1 Object Web
ÀÚ¹Ù´Â ¿ÏÀüÇÑ ¶ÇÇϳªÀÇ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö
¾ð¾îÀÌ´Ù. µû¶ó¼
ÀÚ¹Ù¸¦ ÅëÇØ Ŭ·¡½º³ª »ó¼Ó µî ´Ù¾çÇÑ °´Ã¼ÁöÇâ ÆÐ·¯´ÙÀÓ¿¡ ÁØÇÏ´Â
½Ã½ºÅÛÀ» °³¹ßÇÒ ¼ö ÀÖ´Ù. ÀÚ¹Ù°¡
°®´Â ÇÁ·Î±×·¥ÀûÀÎ ¸í¼¼¿Ü¿¡ ÀÚ¹Ù´Â ÀÎÅÍÇÁ¸®ÅÍ ¾ð¾î·Î¼ ¿î¿µ üÁ¦¿¡
»ó°ü¾øÀÌ ¼öÇàÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡À» Á¦°øÇÑ´Ù.(¹°·Ð
¼Óµµ°¡ ´À¸®´Ù´Â ´ÜÁ¡µµ ¾È°í ÀÖ´Ù.) ÀÏ´Ü
ÀÛ¼ºµÈ ÀÚ¹Ù ÄÚµå´Â ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ¼ ÀÚ¹Ù ¹ÙÀÌÆ® ÄÚµå·Î º¯È¯µÈ´Ù.
ÀÌ ÄÚµå´Â ·ÎÄà ÄÄÇ»Åͳª ³×Æ®¿÷À»
°æÀ¯ÇÏ¿© ´Ù¸¥ ÁöÁ¡¿¡ À§Ä¡ÇÑ ÄÄÇ»ÅÍ»ó¿¡°Ô Àü´ÞµÈ´Ù.
Àü´Þ¹ÞÀº ÀÚ¹Ù ÄÚµå´Â ¸ÕÀú ¹ÙÀÌÆ®
ÄÚµå ·Î´õ¿¡ ÀÇÇØ¼ ·ÎµåµÇ°í ¹ÙÀÌÆ® ÄÚµå °Ë»ç±â¿¡ À§Çؼ °Ë»çµÈ
ÈÄ ÀÎÅÍÇÁ¸®Å͸¦ ÅëÇØ ¼öÇàµÈ´Ù. µû¶ó¼
À©µµ¿ì°Ç À¯´Ð½º°Ç »ó°ü¾øÀÌ ¹ÙÀÌÆ® Äڵ带 ¼öÇàÇϱâ À§ÇÑ È¯°æÀÌ
ÀÖ´Â °÷ÀÌ¸é ¾îµð¼³ª ¼öÇàµÉ ¼ö ÀÖ´Ù. ƯÈ÷,
ÀÚ¹Ù ¼öÇàȯ°æÀ» ³»ÀåÇϰí ÀÖ´Â
WWW ºÎ¶ó¿ìÁ®´Â
ÀÎÅͳݻóÀÇ ¾îµð¼³ª ÀÚ¹Ù Äڵ带 ¼öÇàÇÏ°Ô ÇØ ÁØ´Ù.
¹Ù·Î ÀÌ ±â´ÉÀ¸·Î ÀÎÇØ ÀÚ¹Ù´Â
Á¤ÀûÀÎ WWWȯ°æ
¿¡
µ¿ÀûÀÎ »ý¸í·ÂÀ» ºÒ¾î³Ö¾úÀ¸¸ç ¸¹Àº °³¹ßÀÚµéÀº ¿î¿µ üÁ¦¿¡ »ó°ü¾øÀÌ
°³¹ßµÈ Äڵ带 ¾îµð¼³ª ¼öÇàÇÒ ¼ö ÀÖ´Ù´Â µæÀ» º¼ ¼ö ÀÖ´Ù.
±×·¯³ª ÀÚ¹Ù°¡ Á¦°øÇÏ´Â ¼öÇà ȯ°æ»óÀÇ
ÀåÁ¡¿¡µµ ºÒ±¸Çϰí ÀÚ¹Ù´Â ´ë±Ô¸ðÀÇ ½Ã½ºÅÛÀ» °³¹ßÇÏ´Â µ¥¿¡´Â ¸¹Àº
¹®Á¦Á¡À» ³»Æ÷Çϰí ÀÖ¾ú´Ù. °¡·É,
µ¥ÀÌŸº£À̽º¿¡ ´ëÇÑ ¿¬°á±â´ÉÀ̳ª
±âÁ¸ÀÇ ¸®°Å½Ã ½Ã½ºÅÛ¿¡ ´ëÇÑ ¿¬µ¿±â´É µî...
µû¶ó¼ ¼±¼ÒÇÁÆ®»ç´Â ÀÌ·¯ÇÑ È¯°æÀ»
±¸ÃàÇϰíÀÚ ¸¹Àº ³ë·ÂÀ» ±â¿ï¿´´Ù. ±×
°á°ú ¼±¼ÒÇÁÆ®»ç´Â ÀÚ¹Ù ¿£ÅÍÇÁ¶óÀÌÁî¶ó´Â ÀÚ¹Ù °³¹ß ÇÁ·¹ÀÓ¿÷À» ¹ßÇ¥Çß´Ù
.
´ÙÀ½ÀÇ [±×¸²5-37]Àº
¹ÙÀÌÆ®ÁöÀÇ 97³â
8¿ùÈ£ Ä¿¹ö½ºÅ丮
¸¦
Àå½ÄÇÑ ±ÛÀÎ "Web Component"
¶ó´Â ±Û¿¡¼ ¼Ò°³ÇÑ ÀÚ¹Ù ¿£ÅÍÇÁ¶óÀÌÁî ±¸Á¶ÀÌ´Ù(http://www.byte.com/art/9708/sec5/art1.htm).
ÀÚ¹Ù ¿£ÅÍÇÁ¶óÀÌÁî ±¸Á¶´Â WWWȯ°æÇÏ¿¡¼
¿£ÅÍÇÁ¶óÀÌÁî ±Ô¸ðÀÇ ÀÀ¿ë ½Ã½ºÅÛÀ» °³¹ßÇÒ ¶§ ÇÊ¿äÇÑ ÀÚ¹Ù ±â¼úµéÀÇ
ºôµù ºí·°À» ³ªÅ¸³½´Ù.
[ ±×¸²
5-37 ] ÀÚ¹Ù
¿£ÅÍÇÁ¶óÀÌÁî °³¹ß ÇÁ·¹ÀÓ¿÷
°¢°¢ÀÇ ºôµù ºí·°µéÀ» ¼³¸íÇÏ´Â °ÍÀº
º» ±ÛÀÇ ¸ñÀûÀÌ ¾Æ´Ï±â ¶§¹®¿¡ Âü°í¹®ÇåÀ» ÅëÇØ ÀÌÇØÇϱ⠹ٶõ´Ù.
±×·¯³ª ÇѰ¡Áö ´«¿¡ ¶Ù´Â Á¡Àº
ÀÚ¹Ù ¿£ÅÍÇÁ¶óÀÌÁî °³¹ß ÇÁ·¹ÀÓ¿÷¿¡¼ Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö»çÀÌÀÇ Åë½Å
ÇÁ·ÎÅäÄݷμ IIOP
¸¦
Áö¿øÇÏ´Ù´Â Á¡ÀÌ´Ù. ÀÌ
¸»Àº IIOP¸¦
ÀÌ¿ëÇϸé ÀÚ¹Ù·Î °³¹ßµÈ Ŭ¶óÀÌ¾ðÆ®°¡ ´Ù¸¥ ¾ð¾î·Î ÀÛ¼ºµÈ ¼¹ö¸¦
ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù¶ó´Â Àǹ̸¦ Æ÷ÇÔÇϰí ÀÖ´Ù. ½ÇÁ¦
[±×¸²
5-37]ÀÇ
±¸Á¶´Â ¾ÕÀ¸·Î ¼³¸íÇÏ°Ô µÉ Object Web¿¡
´ëÇÑ ¹Ø±×¸²À» Á¦½ÃÇÑ´Ù°í ¸»ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª
ÀÚ¹Ù°¡ Á¦°øÇÏ´Â ¸¹Àº ÀåÁ¡µé¿¡µµ ºÒ±¸ÇÏ°í ¾ÆÁ÷ ÇØ°áÇØ¾ß ÇÒ ¸¹Àº
¹®Á¦Á¡µéÀÌ ÀÖ´Ù.
¸ÕÀú,
ÀÚ¹Ù°¡ ÁøÁ¤ÇÑ °³¹ß ¾ð¾î°¡ µÇ±â
À§Çؼ´Â ³ôÀº ¼º´É°ú ºü¸¥ ¼öÇà ¼Óµµ¸¦ º¸ÀåÇØ¾ß ÇÑ´Ù.
¶ÇÇÑ ±âÁ¸ÀÇ ¸®°Å½Ã ½Ã½ºÅÛÀ»
¼Õ½±°Ô ¿¬µ¿Çϱâ À§ÇÑ ±â´ÉÀ» Á¦°øÇØ¾ß ÇÑ´Ù.
´ëºÎºÐÀÇ ¿£ÅÍÇÁ¶óÀÌÁî ½Ã½ºÅÛµéÀº
ºü¸¥ ¼º´ÉÀ» ¿ä±¸ÇÏ´Â ÇÑÆí ±âÁ¸ÀÇ °³¹ßµÈ ¸®°Å½Ã ½Ã½ºÅÛµéÀ» Àû±Ø
Ȱ¿ëÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù. Á¤¸®ÇÏÀÚ¸é,
ÀÚ¹Ù´Â °´Ã¼ÁöÇâ °³¹ß ¾ð¾î·Î¼
Ãâ¹ßÇßÀ¸¸é °³¹ß ¾ð¾î ±× ÀÌ»óÀº ¾Æ´Ï´Ù. µû¶ó¼
¿£ÅÍÇÁ¶óÀÌÁî ¼Ö·ç¼ÇÀ» Á¦°øÇϱâ À§Çؼ´Â º¸´Ù °íµµÀÇ ½Ã½ºÅÛ ÅëÇÕ
±â´ÉÀ» Áö¿øÇØ¾ß ÇÑ´Ù. ¹Ù·Î
ÀÌ Á¡ÀÌ ÀÚ¹Ù°¡ CORBA¿ÍÀÇ
ÅëÇÕÀ» ÅëÇØ ¾ò°íÀÚ ÀÖ´Â ±â´ÉÀ̱⵵ ÇÑ´Ù.
¾Õ¼ Á¤¸®ÇÑ °Íó·³ CORBA¿Í
ÀÚ¹Ù´Â °¢±â ½Ã½ºÅÛ ÅëÇÕ ±â¼ú·Î¼, °³¹ß
¾ð¾î·Î¼ Ãâ¹ßÇÏ¿´´Ù. ±×·¯³ª
ÀÎÅͳÝ, ÀÎÆ®¶ó³Ý
ÀÌ
º¸ÆíÈµÈ È¯°æÇÏ¿¡¼ CORBA´Â
ÀÚ¹ÙÀÇ ¸ðºô ÄÚµå ±â´É°ú À¥ ºÎ¶ó¿ìÁ®¿¡ Ç÷¯±×-ÀÎÇÒ
¼ö ÀÖ´Â Àڹ٠Ŭ¶óÀÌ¾ðÆ®¸¦ ¼ö¿ëÇÒ ¼ö ¹Û¿¡ ¾ø¾ú°í ÀÚ¹Ù ¾ð¾î´Â CORBA¸¦
ÅëÇØ Ç¥ÁØ ½Ã½ºÅÛ ÅëÇÕ ±â¼úÀ» È®º¸ÇÒ ¼ö ÀÖ¾ú´Ù.
ÀÌ ±â¼úÀ» Object
Web À̶ó°í Ç¥ÇöÇÑ´Ù.
[ ±×¸²5-38
] Object WebÀÇ ±¸Á¶
Object Web˼
[±×¸²
5-38]¿¡¼
ó·³ ±âÁ¸ÀÇ CORBAÀÇ
IDL¾ð¾î¸¦
ÀÚ¹Ù ¾ð¾î·Î º¯È¯ÇÏ°í ±âÁ¸ÀÇ WWWȯ°æ¿¡¼
Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö »çÀÌÀÇ Åë½ÅÀº IIOP(Internet
Inter ORB Protocol)¸¦ »ç¿ëÇÏ´Â
°ÍÀÌ´Ù. IDLÀº
º»·¡ ±¸Çö ¾ð¾î Á߸³ÀÇ ÀÎÅÍÆäÀ̽º Á¤ÀǾîÀÌ´Ù.
µû¶ó¼ ÇØ´ç ÀÎÅÍÆäÀ̽º¸¦ ÀÚ¹Ù·Î
º¯È¯ÇÏ´Â °úÁ¤ÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ
°úÁ¤Àº CORBA ¿¡
¼
ÀÚµ¿ÀûÀ¸·Î Á¦°øÇÑ´Ù. ¶ÇÇÑ
Object WebÀÇ
Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö´Â WWW»ó¿¡¼
À¥ÀÇ ÇÁ·ÎÅäÄÝÀÎ HTTP(Hyper Text Transfer
Protocol)¸¦ »ç¿ëÇϱ⠾ʰí CORBA°¡
Á¦°øÇÏ´Â °´Ã¼°£ Åë½Å ÇÁ·ÎÅäÄÝÀÎ IIOP¸¦
ÅëÇØ¼ ÀÛµ¿ÇÑ´Ù.
ÇöÀç, Object
WebÀÇ
±¸Ãà ȯ°æÀº ±âÁ¸ÀÇ WWWȯ°æ°ú
µ¿ÀÏÇÏ´Ù. ´ÜÁö
´Ù¸¥ Á¡Àº CORBA IIOP¸¦
Áö¿øÇÏ´Â À¥ ºÎ¶ó¿ìÁ®¿Í CORBA¿Í
¿¬µ¿°¡´ÉÇÑ À¥¼¹ö¿¡ ÀÖ´Ù. ÀÏ´Ü
Object WebÀ»
ÅëÇØ °³¹ßµÈ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥Àº CORBA
IIOP¸¦
Áö¿øÇÏ´Â À¥ ºÎ¶ó¿ìÁ®¿¡ HTTP¸¦
ÅëÇØ ´Ù¿î·ÎµåµÈ´Ù. ´Ù¿î·ÎµåµÈ
ÇÁ·Î±×·¥Àº IIOP¸¦
ÅëÇØ CORBA¿ÍÀÇ
¼ºñ½º¸¦ °³½ÃÇÏ°Ô µÈ´Ù. ÀÌ
¶§ À¯ÀÇÇÒ Á¡Àº ´Ù¿î·ÎµåµÈ ÇÁ·Î±×·¥ ¿ª½Ã ÀÚ¹Ù ¾ÖÇø´À̱⠶§¹®¿¡
ÀÚ¹Ù ¾ÖÇø´ÀÌ °®°í ÀÖ´Â º¸¾È»óÀÇ Á¦¾à, ƯÈ÷
´Ù¿î·Îµå ¹ÞÀº È£½ºÆ®¿¡¸¸ ¿¬°áÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Â Á¦¾à¿¡ Áö¹èµÈ´Ù.
µû¶ó¼ ±âº»ÀûÀ¸·Î ´Ù¿î·ÎµåµÈ
WWW¼¹ö¸¦
ÅëÇØ ¼ºñ½º ¿¬°áÀ» ½ÃµµÇÑ´Ù. °á±¹
WWW¼¹ö´Â
Ŭ¶óÀÌ¾ðÆ®°¡ ¿äûÇÑ ¼ºñ½º¸¦ ³×Æ®¿÷»óÀÇ ´Ù¸¥ °÷¿¡ À§Ä¡ÇÑ CORBA¿¡°Ô
Àü´ÞÇϱâ À§ÇÑ ¹æ¹ýÀ» °®°í ÀÖ¾î¾ß ÇÑ´Ù. Object
Web ȯ°æÀº CORBA
¼ºñ½º ¿Ü¿¡µµ ±âÁ¸ÀÇ À¥¼ºñ½º°¡
Á¦°øÇϰí ÀÖ´Â CGI ÀÎÅÍÆäÀ̽º¿Í
HTML ¹®¼
¼ºñ½º¸¦ ¿©ÀüÈ÷ Á¦°øÇÑ´Ù. ÇöÀç
³Ý½ºÄÉÀÌÇÁ4.0¿¡
³»ÀåµÈ CORBA IIOP ±â´ÉÀ»
ÅëÇØ Object Web
¼ºñ½º¸¦
ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
4.2.2 CORBA,ÀÚ¹Ù
,WWW
ÀÇ ¿¬µ¿ ³ë·Â
4.2.2.1 Object WebÀÇ
°³¹ß ³ë·Âµé
ÇöÀç Object Web
ȯ°æÀ» Áö¿øÇÏ´Â ¸¹Àº CORBA
Á¦Ç°µéÀÌ ¼Ò°³µÇ°í ÀÖ´Ù.
´ÙÀ½Àº ÇØ´ç Á¦Ç°µéÀÌ´Ù.
ÀÌ Áß¿¡¼ ÁÖ¸ñÇÒ ¸¸ÇÑ Á¦Ç°À¸·Î´Â
³Ý½ºÄÉÀÌÇÁ»ç¿Í º¼·£µå µî¿¡¼ CORBA IIOP
±â´ÉÀ»
Áö¿øÇϱâ À§ÇØ ¶óÀ̼¾½ºÇÑ Á¦Ç°À¸·Î ºñÁöÁ¦´Ð»çÀÇ ºñÁöºê·ÎÄ¿¿Í °¡Àå
¸¹Àº Ç÷§Æû°ú ´Ù¾çÇÑ CORBA ¼ºñ½º¸¦
Á¦°øÇÏ´Â Orbix¿Í
¼±¼ÒÇÁÆ®»çÀÇ JOE
°¡
ÀÖ´Ù.
OrbixWeb http://www.iona.com
Visibroker for Java http://www.visigenic.com
JOE http://www.sunsoft.com
CHORUS/COOL http://www.chorus.com/Products/Cool/index.html
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 IDL http://splash.javasoft.com/JavaIDL/pages/index.html
4.1.2.2 Object Web À»
À§ÇÑ Ç¥ÁØÈ ³ë·Â
°ú°Å ÀÚ¹Ù¿Í CORBAÀÇ
ÀåÁ¡À» °áÇÕÇÏ·Á´Â ½Ãµµ´Â ÁÖ·Î Çб³³ª ±â¾÷ÀÇ ¿¬±¸±â°ü¿¡¼ ¸¹ÀÌ
ÁøÇàµÇ¾î ¿Ô¾ú´Ù.
±×·¯³ª
ÇöÀç Object Web
ÀÇ
Áøº¸µÈ ¹æ¹ý·ÐÀÌ ´ëµÎµÇ¸é¼ º»°ÝÀûÀ¸·Î ÀÚ¹Ù¿Í CORBAÀÇ
ÅëÇÕÀÌ ÁøÇàµÇ°í ÀÖ´Ù. ƯÈ÷,
CORBA Ç¥ÁØÀ» ¸¸µé°í ÀÖ´Â
OMG¿Í
ÀÚ¹Ù¸¦ Çâ»ó½Ã۰í ÀÖ´Â ¼±¼ÒÇÁÆ®»çÀÇ ³ë·ÂÀº Á¡Á¡ °¡¼Óȵǰí ÀÖ´Ù.
1997³â 7¿ù¿¡
¿¸° Object World West 97¿¡¼´Â
ÇâÈÄ 1³â³»Áö
2³â¾È¿¡
ÀÚ¹Ù¿Í CORBAÀÇ
°æ°è´Â ¾ø¾îÁú °ÍÀ̶ó°í ¹ßÇ¥Çß´Ù, À̸¦
µÞ¹ÙħÀÌ¶óµµ Çϵí OMG¿¡¼´Â
CORBA3.0 Ç¥ÁؾÈ
¿¡
Àڹٺ󽺸¦ ±â¹ÝÀ¸·Î ÇÑ ÄÄÆ÷³ÍÆ® ¸ðµ¨°ú °ª¿¡ ÀÇÇÑ °´Ã¼ Àü´Þ,
ÀÚ¹Ù ½ºÅ©¸³ÆÃ ±â¼ú µîÀ» Áö¿øÇÒ
°ÍÀ̶ó°í ¹ßÇ¥ÇßÀ¸¸ç ¼±¼ÒÇÁÆ®»çÀÇ °æ¿ì CORBAÀÇ
À̸§ ¼ºñ½º, µð·º
Å丮
¼ºñ½º, Æ®·»Á§¼Ç
¼ºñ½º µî ´Ù¾çÇÑ CORBA ±â´ÉÀ»
ÀÚ¹Ù ¿£ÅÍÇÁ¶óÀÌÁî ¼Ö·ç¼Ç¿¡ ÷ºÎÇÒ °ÍÀÌ°í ±âÁ¸ÀÇ CORBA¿Í
ÀÚ¹Ù RMI¿ÍÀÇ
»óÃæµÇ´Â ¹®Á¦¸¦ Ç®±âÀ§ÇØ RMIÀÇ
ÇÏÀ§ ÇÁ·ÎÅäÄÝ·Î CORBAÀÇ
IIOP¸¦ »ç¿ëÇÒ
°ÍÀ̶ó°í ¹ßÇ¥Çß´Ù. ´ÙÀ½Àº
ÀÌ·¯ÇÑ ³ë·ÂµéÀ» Á¤¸®ÇÑ °ÍÀÌ´Ù.
- ÀÚ¹Ù¸¦ ¼ö¿ëÇÏ·Á´Â OMGÀÇ È°µ¿
* ÀÚ¹Ù ÀÎÅÍÆäÀ̽º·Î ºÎÅÍ Á÷Á¢ IDLÀ» »ý¼ºÇس»±â À§ÇÑ ¸í¼¼¸¦ °³¹ß Áß¿¡ ÀÖ´Ù.
* ÀÚ¹Ù RMI¿Í À¯»çÇÏ°Ô °ª¿¡ ÀÇÇÑ °´Ã¼ Àü´ÞÀ» Áö¿øÇÒ °ÍÀÌ´Ù.
* ÀÚ¹Ù ºó½º¿¡ ±â¹ÝÇÑ ÄÄÆ÷³ÍÆ® ¸ðµ¨À» äÅÃÇÒ °ÍÀÌ´Ù.
* ÀÚ¹Ù ½ºÅ©¸³ÆÃ
±â¼úÀ» ÇâÈÄ CORBA3.0¸í¼¼¿¡
Æ÷ÇÔÇÒ °ÍÀÌ´Ù.
- CORBA¸¦ ¼ö¿ëÇÏ·Á´Â ¼±ÀÇ ³ë·Â
* CORBA IIOP¸¦ ä¿ëÇÔÀ¸·Î¼ ±âÁ¸ÀÇ CORBA°´Ã¼¿ÍÀÇ ¿¬µ¿°ú °³¹æÇü ±¸Á¶¸¦ È®º¸ Áß¿¡
ÀÖ´Ù.
* ÀÚ¹ÙÀÇ Åõ¸í¼º°ú È¿À²¼ºÀ» ÀÒÁö ¾Ê°í RMI¸¦ »ç¿ëÇϱâ À§ÇØ IIOP±â¹ÝÀÇ RMI Á¦¾ÈÁßÀÌ´Ù .
* JTS(Java Transaction Service API)ÀÇ ±â¹Ý ±â¼ú·Î CORBAÀÇ OTS(Object Transaction Service)¸¦ äÅÃÇß´Ù.
* CORBA ¸í¸í ¼ºñ½º
,
µð·ºÅ丮 ¼ºñ½º µî ±âŸ ¼ºñ½º¸¦
ÀÚ¹Ù ¿£ÅÍÇÁ¶óÀÌÁî ÇÁ·¹ÀÓ¿÷¿¡ µµÀÔÁßÀÌ´Ù.
Áö±Ý±îÁö »ìÆìº» ÀÚ¹Ù¿Í CORBAÀÇ
ÅëÇÕ ³ë·ÂµéÀº ½ÇÁ¦ ±â¼úÀûÀÎ È¿°ú¿Ü¿¡ ±Þ¼ÓÈ÷ È®»êµÇ°í ÀÖ´Â ºÐ»ê°´Ã¼
½ÃÀå¿¡¼ Çì°Ô¸ð´Ï¸¦ ¼±Á¡ÇÏ·Á´Â Àǵµ°¡ ¼û¾î ÀÖ´Â °Ô »ç½ÇÀÌ´Ù.
½ÇÁ¦ OMG¿Í
¼±¼ÒÇÁÆ®»ç´Â CORBA¿Í
Àڹٺ󽺿¡ ±â¹ÝÇÑ CORBA ÄÄÆ÷³ÍÆ®µéÀ»
ÅëÇØ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ DCOM(Distributed Component
Object Model)¿¡ ±â¹ÝÇÑ ActiveX
ÄÄÆ÷³ÍÆ®µéÀ» °ÝÅðÇÒ ²Þ¿¡ ºÎÇ®¾î
ÀÖ´Ù. ¹°·Ð
ÀÌ ²ÞÀº ½ÇÁ¦ »óȲÀÌ µÉ ¼ö ÀÖ´Ù. ±×·¯³ª
À̸¦ ÀÌ·ç±â À§Çؼ´Â ¸î°¡Áö ¿ì·ÁÇÒ ¸¸ÇÑ »çÇ׵鿡 ´ëÇÑ ÇØ°áÃ¥À»
Á¦½ÃÇØ¾ß ÇÒ °ÍÀÌ´Ù.
¸ÕÀú,
CORBA¿¡¼
°¡Àå Áß¿äÇÏ°í ±Ù°£ÀÌ µÇ´Â öÇÐ Áß Çϳª´Â °³¹ß ¾ð¾î¿¡ Á¾¼ÓµÇÁö
¾Ê´Â Á߸³ÀûÀÎ ¼Ö·ç¼ÇÀ» Á¦°øÇÏ´Â °ÍÀÌ´Ù. ´Ù½Ã
¸»ÇØ, CORBA IDL
˼
ƯÁ¤ ¾ð¾î¿¡ Á¾¼ÓµÇ¼´Â ¾ÈµÈ´Ù´Â °ÍÀÌ´Ù. µû¶ó¼
CORBA°¡
ÀÚ¹Ù¿Í Åõ¸íÇÏ°Ô ÅëÇյɼö·Ï ¼ö¸¹Àº CORBA
°ø±Þ¾÷ÀÚµéÀº
±×µéÀÇ Á¦Ç°À» ¿ÏÀü¹«°áÇÑ ÀÚ¹Ù ¹öÀüÀ¸·Î ¹Ù²ã¾ß¸¸ ÇÑ´Ù.
¹°·Ð ¹Ù²ÙÁö ¾Ê¾Æµµ »ó°ü¾ø°ÚÁö¸¸
½ÃÀå¿¡¼ »ì¾Æ³²À» ¼ö ¾øÀ» °ÍÀÌ´Ù. ¿Ö³ÄÇϸé
CORBA Ç¥ÁØÀÌ
ÀÚ¹ÙÀÇ ±â´ÉÀ» Á߽ɿ¡ ³õ°í Àֱ⠶§¹®ÀÌ´Ù. ƯÈ÷,
CORBAÀÇ °æ¿ì 700°³°¡
³Ñ´Â ȸ»çµéÀÌ Âü¿©ÇÏ¿© Ç¥ÁØÀ» ¸¸µéÁö¸¸ ÀÚ¹ÙÀÇ °æ¿ì ¼±ÀÇ µ¶Á¡ÀûÀÎ
±â¼úÀ̱⠶§¹®¿¡ ½ÇÁ¦ ¸ðµç ÇÕÀÇ µµÃâ°úÁ¤¿¡¼ ¸¹Àº ¹®Á¦°¡ ¹ß»ýÇÒ
¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ
¹®Á¦Á¡µéÀº ±âÁ¸ÀÇ ºÐ»ê °´Ã¼½ÃÀåÀ» ¶Ç´Ù½Ã ¼¼ºÐÈÇÒ À§ÇèÀÌ ¹ß»ýÇÑ´Ù.
½ÇÁ¦ ÀÌ·¯ÇÑ »óȲÀ» ¿ì·ÁÇÏ´Â
¸ñ¼Ò¸®´Â ³ô´Ù. OrbixÀ»
°³¹ßÇÑ ¾ÆÀÌ¿À³ª»çÀÇ ±â¼ú´ã´çÀÚÀÎ Annrai
O'Toole´Â
ÇâÈÄ CORBA ½ÃÀå
˼
C++À» Áß½ÉÀ¸·Î
ÇÑ ¸®°Å½Ã ½Ã½ºÅÛ ÅëÇÕ ½ÃÀå°ú ÀÚ¹Ù¸¦ ±â¹ÝÀ¸·Î ÇÑ »õ·Î¿î ½Ã½ºÅÛ
±¸Ãà ½ÃÀåÀ¸·Î ¾çºÐµÉ °ÍÀ¸·Î Àü¸ÁÇß´Ù. ÇÊÀÚÀÇ
°æ¿ì, ÀÌ·¯ÇÑ
Àǰ߿¡ ÀüÀûÀ¸·Î µ¿ÀÇÇÑ´Ù. ±×·¯³ª
¶Ç Çϳª »ý°¢ÇØ¾ß ÇÒ Á¡Àº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ÇຸÀÌ´Ù.
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â À©µµ¿ìNT¸¦
±â¹ÝÀ¸·Î ÇÑ ¼Ö·ç¼ÇÀ» °è¼Ó È®ÀåÇϰí ÀÖÀ¸¸ç Ç¥¸éÀûÀ¸·Î´Â ¸¹Àº ¼º°ú¸¦
º¸À̰í ÀÖ´Ù. ºñ·Ï
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ DCOM±â¹ÝÀÇ
ActiveX°¡
À©µµ¿ì ȯ°æ¿¡ ±¹ÇÑµÈ ±â¼úÀÌÇÏ´Â Á¦¾àÀ» °®°í ÀÖÁö¸¸ À©µµ¿ìNTÀÇ
È®»êÀº ºÐ»ê °´Ã¼ ½ÃÀå¿¡ ¸¹Àº ¿µÇâÀ» ¹ÌÄ¥ °ÍÀÌ´Ù.
¶Ç Çϳª Àç¹Ì³ ½Ã³ª¸®¿À´Â ÇâÈÄ
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ Áö±Ýº¸´Ù ´õ ±Þ¼ÓÈ÷ ÀÚ¹Ù ±â¼úÀ» ä¿ëÇÏ¿© ¼±ÀÇ
ÀÚ¹Ù°¡ ¾Æ´Ï¶ó ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ÀÚ¹Ù¸¦ ¹ßÇ¥ÇÑ´Ù¸é ¶Ç ´Ù¸¥ »óȲÀÌ
¹ß»ýÇÒ °ÍÀÌ´Ù. Áö
±Ý±îÁö
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ »ç¾÷ ½ºÅ¸ÀÏÀ» º¼ ¶§ ÀÚ¹ÙÀÇ ½ÃÀåÀÇ ¾ÈÁ¤±â¸¦ Á¢¾îµé¼ö·Ï
À©µµ¿ì¸¦ ±â¹ÝÀ¸·Î ÇÑ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ÀÚ¹Ù ½Ã³ª¸®¿À´Â ´õ¿í °¡´É¼ºÀÌ
³ôÀ» ¼ö ÀÖ´Ù.
5¸·À» ¸¶Ä¡¸ç
CORBA´Â
½Ã½ºÅÛ ÅëÇÕ ±â¼ú·Î¼ ±âÁ¸ÀÇ ´Ù¸¥ ±â¼úµéÀ» ¼Õ½±°Ô ÅëÇÕÇÏ°Ô ÇØ ÁØ´Ù.
½ÇÁ¦ CORBA¸¦
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ COM/DCOM
½Ã½ºÅÛ°ú
ÅëÇÕÇÒ ¼ö ÀÖÀ¸¸ç ¼±¼ÒÇÁÆ®ÀÇ ÀÚ¹Ù ¾ð¾î,
±×¸®°í ÀÎÅͳÝÀÇ ÇÙ½É ¼ºñ½ºÀÎ
WWW°ú
ÅëÇÕÇÒ ¼ö ÀÖ´Ù.
ƯÈ÷,
CORBA¿Í WWW,
ÀÚ¹ÙÀÇ ÅëÇÕÀº Object
WebÀ̶õ »õ·Î¿î °³¹ß ȯ°æÀ» Á¦°øÇØÁÖ°í
ÀÖ´Ù. Object WebÀº
CORBA°¡
Á¦°øÇÏ´Â ½Ã½ºÅÛ ÅëÇÕ ±â¼ú°ú ÀÚ¹Ù°¡ Á¦°øÇÏ´Â ¸ðºô ÄÚµåȯ°æ,
±×¸®°í WWW°¡
Á¦°øÇÏ´Â °°ÇÇÑ Åë½Å ȯ°æÀ» Á¦°øÇØ ÁØ´Ù.
¿ì¸®´Â ÀÌ Åë½Å ȯ°æÀ§¿¡ ´ë±Ô¸ðÀÇ
°°ÇÇÑ ½Ã½ºÅÛÀ» ±¸ÃàÇÒ ¼ö ÀÖ´Ù.
[ ´ÙÀ½
| ÀÌÀü
]