[Áöµð³ÝÄÚ¸®¾Æ]ÀÚ¹Ù¿Í ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ À©µµ¿ì ÆÄ¿îµ¥ÀÌ¼Ç Å¬·¡½º(WFC, Window Foundation Class)·Î, ¿ªµ¿ÀûÀÎ µ¥ÀÌÅͺ£À̽º ¿î¿µÀÌ °¡´ÉÇÑ À¥»çÀÌÆ® ¸¸µå´Â ¹ýÀ» ¹è¿î´Ù.
´ç½ÅÀÌ ¸¸¾à ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ¾×Ƽºê ¼¹ö(Microsoft Active Server) Ç÷§Æû ¿ëÀÇ À¥ ±â¹Ý ¼Ö·ç¼ÇÀ» °³¹ßÇϰí ÀÖ´Â ÀÚ¹Ù ÇÁ·Î±×·¡¸Ó¶ó¸é ¾ÕÀ¸·Î °·ÂÇÑ »õ ÅøÀ» ¸¶À½´ë·Î ¾µ ¼ö ÀÖ°Ô µÉ °ÍÀÌ´Ù. ºñÁÖ¾ó J++ 6.0ÀÌ ÀÖÀ¸¸é ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì ÆÄ¿îµ¥ÀÌ¼Ç Å¬·¡½º(WFS) 4¸¦ ÅëÇØ µ¥ÀÌÅͺ£À̽º ¿î¿µÀÌ °¡´ÉÇÑ ¿ªµ¿ÀûÀÎ À¥»çÀÌÆ®¿Í ÀÎÆ®¶ó³ÝÀ» ¸¸µé ¼ö ÀÖ´Ù. ÀÌ ±ÛÀº µÎ ºÎºÐÀ¸·Î ±¸¼ºµÇ¸ç, ºñÁÖ¾ó J++À» ÀÌ¿ëÇØ ÀÎÅÍ³Ý ÀÎÆ÷¸ÞÀÌ¼Ç ¼¹ö(IIS, Internet Information Server) 4 À¥»çÀÌÆ®¿¡ »ç¿ëÇÒ Á¦Ç° µ¥ÀÌÅͺ£À̽º °Ë»ö ¿£ÁøÀ» ¸¸µå´Â ¹æ¹ýÀ» º¸¿©ÁÖ°íÀÚ ÇÑ´Ù.
¸ÕÀú ù ºÎºÐ¿¡¼´Â Code-Behind HTML¿¡ ´ëÇØ ¼Ò°³Çϰí, Code-Behind HTML ÇÁ·ÎÁ§Æ®¸¦ À§ÇÑ ºñÁÖ¾ó J++ Äڵ带 °³¹ßÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÖ°íÀÚ ÇÑ´Ù. ±×¸®°í µÎ ¹øÂ° ºÎºÐ¿¡¼´Â ¾ÕÀ¸·Î ÇÊ¿äÇÏ°Ô µÉ HTML ÅÛÇø´°ú ASP ½ºÅ©¸³Æ®¸¦ °³¹ßÇÑ ´ÙÀ½, ÇØ´ç ÇÁ·ÎÁ§Æ®¸¦ ±¸ÃàÇÏ°í ¹èÄ¡ÇÏ´Â º¡¹ýÀ» º¸¿©ÁÙ »ý°¢ÀÌ´Ù. [±×¸² A(developing-1.gif)]´Â ¾ÕÀ¸·Î °³¹ßÇÏ°Ô µÉ °Ë»ö ÅøÀ» º¸¿©ÁØ´Ù.
Code-Behind HTML ¸ðµ¨
ºñÁÖ¾ó J++ 6.0À» ÀÌ¿ëÇØ Code-Behind HTML ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé ¼ö ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¡¹Ö ¸ðµ¨À» ÀÌ¿ëÇÒ °æ¿ì, ºñÁÖ¾ó J++ 6.0, ±×¸®°í ÀÚ¹Ù¿ëÀÇ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® VM(Virtual Machine)°ú ÇÔ²² žÀçµÇ´Â com.cs.wfs.ttml ÆÐŰÁö¸¦ ÀÌ¿ëÇØ¼, HTML ¹®¼¿¡ ¿¬°áµÅ ¼·Î »óÈ£ÀÛ¿ëÇÏ´Â Àڹ٠Ŭ·¡½º(Java class)¸¦ ¸¸µé ¼ö ÀÖ´Ù.
com.ms.wfc.html ÆÐŰÁö´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ DOM(Dynamic HTML Object Model)À» Æ÷ÀåÇÏ´Â Àڹ٠Ŭ·¡½ºµé·Î ±¸¼ºµÅ ÀÖ´Ù. Code-Behind HTML ÇÁ·ÎÁ§Æ®¿¡¼´Â ¿ì¼± com.ms.wfc.html.DhDocument Ŭ·¡½º¸¦ È®ÀåÇØÁÖ´Â Àڹ٠Ŭ·¡½º¸¦ ¸¸µç ´ÙÀ½, ±×°ÍÀ»com.ms.wfc.html.DhModule Ŭ·¡½ºÀÇ ÇÑ ¿¹Á¦¸¦ ÀÌ¿ëÇØ¼ HTML ¹®¼»ó¿¡ ¹èÄ¡ÇÏ°Ô µÈ´Ù.
Ŭ¶óÀÌ¾ðÆ®¿¡¼ Code-Behind HTML ÀÌ¿ëÇϱâ
ºñÁÖ¾ó J++ÀÇ Code-Behind HTML ÇÁ·ÎÁ§Æ®´Â Ŭ¶óÀÌ¾ðÆ®³ª ¼¹ö, µÑ Áß ¾î´À ÂÊ¿¡¼µµ ±¸µ¿ÀÌ °¡´ÉÇÏ´Ù. À̰ÍÀ» Ŭ¶óÀÌ¾ðÆ® »ó¿¡¼ ±¸ÇöÇÒ °æ¿ì, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ÀÎÅÍ³Ý ÀͽºÇ÷η¯ 4(Microsoft Internet Explorer 4, IE4) ÀÌ»óµÇ´Â ¹öÀü¿¡ ÀÇÇØ È£½ºÆÃµÇ´Â HTML ÆäÀÌÁö ¾ÈÀÇ OBJECT ű׸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. ¿©±â¿¡¼´Â DhDocument Ŭ·¡½º°¡ »õ·Î¿î HTML ¿ä¼ÒµéÀ» ±× È£½ºÆ® ÆäÀÌÁö¿¡ ÇÁ·Î±×·¥ »óÀ¸·Î Ãß°¡ÇÑ ÈÄ ±âÁ¸ ¿ä¼Òµé·Î ¿¬°áÇØÁÖ°í, ½ÉÁö¾î È£½ºÆ® HTML ¹®¼»ó¿¡ ÀÖ´Â °³Ã¼µé·Î ÀÎÇØ ÀϾ´Â À̺¥Æ®µéÀ» ó¸®ÇØÁÖ´Â °Í±îÁöµµ °¡´ÉÇÏ´Ù. °¡·É, Àڹ٠Ŭ·¡½º ¾È¿¡ ÀÖ´Â À̺¥Æ® ó¸®ÀÚ(event handler)´Â ÆäÀÌÁö »ó¿¡ ÀÖ´Â HTML ¹öưÀÇ ¿ÂŬ¸¯(onClick) À̺¥Æ®·Î ¿¬°áÇØÁÙ ¼ö ÀÖ´Ù.
¼¹ö¿¡¼ Code-Behind HTML ÀÌ¿ëÇϱâ
Ŭ¶óÀÌ¾ðÆ® ÂÊ¿¡¼ÀÇ Á¢±Ù¹ýÀº Èï¹Ì·Ó°í °·ÂÇϱä ÇÏÁö¸¸ ÇÑ °¡Áö ´ÜÁ¡ÀÌ ÀÖ´Ù. ¹Ù·Î, ¿£µåÀ¯ÀúµéÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Â ºê¶ó¿ìÀú´Â IE4 ÀÌ»óÀÇ ¹öÀüÀ¸·Î Á¦Çѵȴٴ Á¡ÀÌ´Ù. ÇÏÁö¸¸ ´ÙÇེ·´°Ôµµ ÀÌ·± Á¦¾à¿¡¼ ¹þ¾î³¯ ¼ö ÀÖ´Â ¹æ¹ýÀÌ Àִµ¥, IIS À¥»çÀÌÆ®¿¡ ÀÖ´Â com.ms.wfc.html ÆÐŰÁö¸¦ ÀÌ¿ëÇϸé ÇöÀç ½ÃÀå¿¡¼ ÆÇ¸ÅµÇ°í ÀÖ´Â ±× ¾î¶² ºê¶ó¿ìÀú¸¦ ÅëÇØ¼µµ º¼ ¼ö ÀÖ´Â µ¿ÀûÀÎ À¥ ÄÁÅÙÃ÷¸¦ ¸¸µé ¼ö ÀÖ´Ù.
ÀÛ¾÷ ¹æ½ÄÀº ÀÌ·¸´Ù. ¼¹ö¿¡ ÀÖ´Â ASP ½ºÅ©¸³Æ®°¡ DhModule Ŭ·¡½º(ȤÀº ¸ÂÃãÇü ¼ºêŬ·¡½º)ÀÇ ¿¹Á¦¸¦ Çϳª ¸¸µç´Ù. ±×·¯¸é ASP ½ºÅ©¸³Æ®´Â com.ms.wfc.html.DhDocument ¼ºêŬ·¡½ºÀÇ Å¬·¡½º ¸í, HTML ÅÛÇø´À¸·Î À̾îÁö´Â ·ÎÄà °æ·Î, ±×¸®°í ±âŸ ¸ðµç ¾ÖÇø®ÄÉÀÌ¼Ç Àü¿ë µ¥ÀÌÅ͸¦ DhModule·Î Àü´ÞÇØÁØ´Ù. ±× ´ÙÀ½¿¡ DhModeleÀº DhDocument Ŭ·¡½ºÀÇ ¿¹Á¦¸¦ Çϳª ¸¸µé¾î¼, ±× °á°ú¸¦ ÇØ´ç HTML ÅÛÇø´°ú ÇÕÃÄÁØ´Ù. ÀÌ·¸°Ô ÇÕÃÄÁø ¹®¼´Â 󸮵ÇÁö ¾ÊÀº HTML·Î¼, HTTP ÀÀ´ä ½ºÆ®¸²¿¡ ¹èÄ¡µÅ µé¾î°£´Ù. ±×·¯¸é ÀÌ¿ëÀÚÀÇ ºê¶ó¿ìÀú°¡ ±×°ÍÀ» ¼ö½ÅÇØ¼ ÀÌ¿ëÀÚ¿¡°Ô º¸¿©ÁØ´Ù.
ÀÌ·± ½ÄÀ¸·Î IIS ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¾òÀ» ¼ö ÀÖ´Â ÀåÁ¡ °¡¿îµ¥ °¡Àå Å« °ÍÀº, ÄÁÅÙÃ÷¿Í ±â´É °³¹ß °úÁ¤°ú´Â º°µµ·Î µðÀÚÀÎ °úÁ¤À» ÁøÇàÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù. °³¹ßÀÚµéÀº ¸ð¾çÀ̳ª ´À³¦¿¡´Â ½Å°æ¾µ ÇÊ¿ä¾øÀÌ ±×³É ÇØ´ç Á¶Á÷ÀÇ ºñÁî´Ï½º ·ê(rule)À» Åä´ë·Î, ¿ªµ¿ÀûÀÎ ÄÁÅÙÃ÷¸¦ ¸¸µé ¼ö ÀÖ´Â ÈǸ¢ÇÏ°í ±ò²ûÇÏ¸é¼ ¿©·¯ ¹ø ÀÌ¿ë °¡´ÉÇÑ ÄÚµå ÀÛ¼º¿¡¸¸ ÃÊÁ¡À» µÎ°í ÀÛ¾÷ÇÒ ¼ö ÀÖ´Ù. ¹Ý¸é¿¡ µðÀÚÀ̳ʵéÀº ¾ÖÇø®ÄÉÀÌ¼Ç ·ÎÁ÷À» ÅëÇÕÇØ ³Ö¾î¾ß ÇÑ´Ù´Â °Í¿¡ ´ëÇØ ½Å°æ¾²Áö ¾Ê°í¼ ±Ù»çÇÏ°Ô º¸ÀÌ´Â À¥ ÅÛÇø´À» ¸¸µå´Â µ¥¸¸ ÃÊÁ¡À» µÎ°í ÀÛ¾÷ÇÒ ¼ö ÀÖ´Ù. ÀÚ¹Ù¿ë ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® VMÀº ±× ¸ðµç °ÍÀ» ¸ð¾Æ ¸Å²ô·´°Ô ½ÇÇàµÉ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.