[Áöµð³ÝÄÚ¸®¾Æ]Ç÷¡½Ã MX°¡ ÀÌÀüÀÇ ¹öÀü¿¡ ºñÇØ »ó´ç ±â´ÉÀÌ Ãß°¡µÅ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß µµ±¸·Î ºÎ»óÇϰí ÀÖ´Ù. MX Á¦Ç°±ºÀº ÄݵåÇ»Àü(ColdFusion) MX, ¸®¸ðÆÃ(Remoting) MX µî ¸ÅÅ©·Î¹Ìµð¾îÀÇ ´Ù¾çÇÑ µµ±¸¿Í ¼¹ö Á¦Ç°ÀÇ ¿¬°è¼ºÀ» ÇÑÃþ ´õ ¹ßÀü½Ã۰í, ±â¾÷ ȯ°æÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ ÇÊ¿äÇÑ ´Ù¾çÇÑ ¿ä±¸¸¦ ¼ö¿ëÇϰí ÀÖ´Ù(MX°¡ ¾àÀÚÀ̰ųª Ưº°ÇÑ ¶æÀÌ ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. ¿¹Àü¿¡ À©µµ¿ì CE¿¡¼ CE°¡ ±×·¨µíÀÌ, ¸¹Àº »ç¶÷µéÀÌ ÈçÈ÷ ¹º°¡ ½É¿ÀÇÑ ¶æÀÌ ÀÖÀ» °Å¶ó »ý°¢ÇßÁö¸¸, CE ¿ª½Ã ¾Æ¹«·± ¶æ ¾øÀÌ Áö¿öÁø À̸§À̾ú´Ù).
Ç÷¡½Ã¿Í ¿£ÅÍÇÁ¶óÀÌÁî ¾ÖÇø®ÄÉÀ̼Ç
90³â´ë Áß¹Ý ÀÌÈÄ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀº ±× ±â¹Ý ÀÚü°¡ À¥À¸·Î ¸ðµÎ ¹Ù²î¾ú´Ù. ƯÈ÷, ±â¾÷ ¾ÖÇø®ÄÉÀ̼ǵéÀÌ À¥À¸·Î ÀüȯµÆ´Ù. ³Î¸® ¾²Àϼö·Ï, ±Ô¸ð°¡ Å« ¼ºñ½ºÀϼö·Ï À¥À¸·Î ÀüȯÀÌ ±Þ¼ÓÇÏ°Ô ÀÌ·ïÁ³´Ù. ÀÌó·³ À¥ ±â¹ÝÀ¸·Î ±Þ°ÝÈ÷ ¹Ù²ï °¡Àå Å« ÀÌÀ¯´Â ¹«¾ùÀϱî? ±×°ÍÀº ¹Ù·Î ¡®¹èÆ÷¡¯ÀÇ ¹®Á¦ÀÌ´Ù. ±â¾÷ ȯ°æ¿¡¼ ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷ÀÇ ¹®Á¦´Â ±²ÀåÇÑ °ñÄ©°Å¸®´Ù. ¡®À¥ ±â¹Ý¡¯ Áï ¾À Ŭ¶óÀ̾ðÆ®(thin client)´Â Ãß°¡ÀûÀÎ ¼³Ä¡³ª ºÎ°¡ÀûÀÎ Á¶ÀÛ ¾øÀÌ ºê¶ó¿ìÀú Çϳª¸¸À¸·Î ÀÀ¿ëÇÁ·Î±×·¥À» ¼öÇàÇÒ ¼ö ÀÖ´Ù´Â Á¡ ¶§¹®¿¡ ¾ÆÁÖ ³Î¸® »ç¿ëµÇ°Ô µÆ´Ù. ÇÏÁö¸¸, ¸ÓÁö¾Ê¾Æ HTMLÀÇ ÇѰè´Â »ç¿ëÀÚµéÀÇ ´Ù¾çÇÑ ¿ä±¸¸¦ ¼ö¿ëÇϱâ Èûµé°Ô µÆ´Ù. ÀÌ·± ½ÃÁ¡¿¡¼ ÀÚ¹Ù ¾ÖÇø´Àº Å« Èñ¸ÁÀÌ µÆ´Ù.
Áï, ÀÚ¹Ù ¾ÖÇø´Àº Ç÷§Æû Á¾¼ÓÀûÀÌÁö ¾Ê°í HTMLÀÌ Á¦°øÇÏÁö ¸øÇÏ´Â ´Ù¾çÇÑ ±â´ÉÀ» º¸¿©Áá´Ù. ±¹³»¿¡ ÇÑÁ¤µÈ À̾߱âÀÏ ¼ö ÀÖÀ¸³ª ¿À´Ã³¯¿¡ ¿Í¼ ÀÚ¹Ù ¾ÖÇø´º¸´Ù Ç÷¡½ÃÀÇ µµ¾àÀÌ ÈξÀ µÎµå·¯Áö°Ô ³ªÅ¸³ª°í ÀÖ´Ù. ¹°·Ð ÀÚ¹Ù¿¡ ´ëÇÑ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ¼Ò±ØÀûÀÎ Áö¿øµµ ÀÌÀ¯°¡ µÇ°ÚÁö¸¸, Ç÷¡½Ã°¡ ÀÚ¹Ù ¾ÖÇø´¿¡ ºñÇØ »ó´ëÀûÀ¸·Î »ý»ê¼ºÀÌ ³ô°í ÈξÀ ´Ù¾çÇÑ Ç¥ÇöÀ» ÇÏ´Â ÄÁÅÙÃ÷¸¦ ½±°Ô ¸¸µé ¼ö ÀÖ´Ù´Â µ¥¼ ±× ÀÌÀ¯¸¦ ãÀ» ¼ö ÀÖ´Ù.
¾ÖÇø®ÄÉÀ̼ÇÀº »ç¿ë»óÀÇ ÆíÀǻӸ¸ ¾Æ´Ï¶ó ¹Ì·ÁÇÑ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º°¡ ¿ä±¸µÇ°í ÀÖ´Ù. ¸®Ä¡ Ŭ¶óÀÌ¾ðÆ®¿¡ ´ëÇÑ ¿ä±¸´Â ¾ðÁ¦³ª ÀÖ¾î ¿ÔÁö¸¸ ¹èÆ÷ÀÇ ¹®Á¦¿Í Á¦ÀÛ»óÀÇ »ý»ê¼º ¹®Á¦ ±×¸®°í Ŭ¶óÀÌ¾ðÆ® ±â°èÀÇ ¼Óµµ, ȣȯ¼º µîÀÌ °É¸²µ¹ÀÌ µÇ¾î ¿Ô´Ù. Ç÷¡½Ã´Â ÀÌ·¯ÇÑ °É¸²µ¹µé¿¡ ÁÁÀº ´äÀ» Á¦°øÇÑ´Ù.
Ç÷¡½Ã´Â ¾î¶² ¸é¿¡¼ ¿ÀÈ÷·Á ÀÚ¹Ùº¸´Ù Ç÷§Æû¿¡ Á¾¼ÓÀûÀÌÁö ¾Ê´Ù(ÀÚ¹Ù°¡ ƯÁ¤ JVMÀÇ Æ¯¼ºÀ» Ÿ´Â °ÍÀ» ³Î¸® ¾Ë·ÁÁø »ç½ÇÀÌ´Ù). Ç÷¡½Ã´Â 4¾ï 1õ 4¹é¸¸ °³°¡ ¹èÆ÷µÈ °¡Àå Æø ³ÐÀº Ç¥ÁØ Å¬¶óÀÌ¾ðÆ®·Î »ç½Ç»óÀÇ Ç¥ÁØ(de facto standard) Ŭ¶óÀÌ¾ðÆ® È¯°æÀ̶ó°í±îÁö ÇÒ ¼ö ÀÖ´Ù(¹®¼¸¦ ¿Ö PDF·Î ¹èÆ÷Çϴ°¡¿Í °°Àº ¸Æ¶ôÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù). ¸ð¹ÙÀÏÀ̳ª Æ÷ÄÏPC¿ë Ç÷¡½Ã Ç÷¹À̾ ÀÌ¹Ì ÀÖÀ¸¸ç, ¾ÕÀ¸·Î ´õ¿í ´Ù¾çÇÑ Ç÷§ÆûÀÌ Áö¿øµÉ °ÍÀ̶ó´Â »ç½ÇÀº ÀÚ¸íÇÏ´Ù.
Ç÷¡½Ã´Â ¿£ÅÍÇÁ¶óÀÌÁî ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ÇÊ¿ä·Î ÇÏ´Â º¸¾È°ú »óÈ£¿î¿ë¼º(interoperability), ´ë¿ë·® ó¸® (scalability) µî¿¡ ÁÁÀº ¼Ö·ç¼ÇÀÌ µÉ ¼ö ÀÖ´Ù. Ç÷¡½Ã´Â ºê¶ó¿ìÀú´Â ÅëÇØ SSL Åë½ÅÀ» Áö¿øÇϸç, ÀÚ¹Ù ¾ÖÇø´°ú ¼öÁØÀÇ º¸¾È Á¤Ã¥À» Á¦°øÇÑ´Ù. HTTP Åë½Å»Ó¸¸ ¾Æ´Ï¶ó XML À¥ ¼ºñ½º, ¸®¸ðÆÃ µî ¼¹ö¿Í ´Ù¾çÇÑ ÅëÇÕ ¹æ¹ýÀ» Á¦°øÇϰí ÀÖ´Ù. ¶Ç ´ë¿ë·® ó¸® ¸é¿¡¼µµ ¿ÀÈ÷·Á Ç÷¡½Ã°¡ ´õ ÁÁÀº ¹æ¹ýÀÌ µÉ ¼ö ÀÖ´Ù. ÇöÀç À¥ ¾ÖÇø®ÄÉÀ̼ÇÀº ¸î °¡Áö ÀÏÀ» ó¸®Çϱâ À§ÇØ ±²ÀåÈ÷ ¸¹Àº ¼¹ö Æ®·¡ÇÈÀ» ÀÏÀ¸Å²´Ù.
ÇÑ ÆäÀÌÁö¸¦ º¸±â À§ÇØ ÃÖ¼ÒÇÑ 10ȸ Á¤µµÀÇ HTTP ¿¬°áÀÌ ÇÊ¿äÇϸç, ´ëºÎºÐ 2-3ÆäÀÌÁö¸¦ °ÅÃļ ÇϳªÀÇ ÀÛ¾÷ÀÌ ÀÌ·ïÁø´Ù. Ç÷¡½Ã¿Í °°Àº ¸®Ä¡ Ŭ¶óÀÌ¾ðÆ®´Â ¿ÀÈ÷·Á ÀÌ·± Æ®·¡ÇÈÀ» ÁÙÀÏ ¼ö ÀÖ°Ô ÇÑ´Ù. Áï, »ç¿ëÀÚ ÀԷ ó¸®, »óÈ£ ÀÛ¿ë, ÀÔ·Â µ¥ÀÌÅÍ È®ÀÎ(validation)°ú °°Àº À¢¸¸ÇÑ ÀÛ¾÷Àº Ŭ¶óÀÌ¾ðÆ®¿¡¼ ÀÌ·ïÁö°í, ¼¹ö¿Í´Â ÇÊ¿äÇÑ µ¥ÀÌÅ͸¸ ÁÖ°í¹ÞÀ¸¸é µÇ±â ¶§¹®¿¡ ¼¹ö¿¡ ÈξÀ ÀûÀº ºÎ´ãÀ» ÁÖµµ·Ï ¸¸µé¾î Áú ¼ö ÀÖ´Ù.
ÀÌ ±ÛÀº Ç÷¡½Ã°¡ µðÀÚÀÎÀ̳ª ¾Ö´Ï¸ÞÀÌ¼Ç µµ±¸·Î¼°¡ ¾Æ´Ñ ±â¾÷ ¾ÖÇø®ÄÉÀÌ¼Ç Á¦ÀÛÀ» À§ÇÑ Å¬¶óÀÌ¾ðÆ® È¯°æÀ¸·Î¼ »ç¿ëµÉ ¼ö ÀÖ´Â °¡´É¼ºÀ» »ìÆìº¸±â À§ÇÑ ¸ñÀûÀ¸·Î ¾º¿©Á³´Ù. ±×·¡¼ ¾Ö´Ï¸ÞÀ̼ÇÀ̳ª ¹Ìµð¾î¸¦ ´Ù·ç´Â ¹æ¹ý µîÀº ³í¿Ü·Î ÇÑ´Ù. ¿ì¸®´Â ÀÌ ±ÛÀ» ÅëÇØ Ç÷¡½ÃÀÇ Åë½Å ±â´É, ¼¹ö»çÀ̵å(ASP.NET)¿Í ¿¬°á ¹æ¹ýµé, XML°ú XML À¥ ¼ºñ½º ÀÌ¿ë, Ç÷¡½Ã º¸¾È µîÀ» »ìÆìº¸·Á ÇÑ´Ù.
³·Î¿¬Åë ¹®Á¦ : Ç÷¡½Ã À¥ ¼ºñ½ºÀÇ ÀǹÌ
ºñÁî´Ï½º ȯ°æÀÌ ±Þ¼ÓÇÏ°Ô º¯ÈÇÏ°í ±â¼úµµ ÀÌ¿¡ µû¶ó ±Þ°ÝÇÏ°Ô º¯Çϰí ÀÖ´Ù. Ŭ¶óÀ̾ðÆ®/¼¹ö, À¥ ±â¹Ý, ±â¾÷ ¾ÖÇø®ÄÉÀÌ¼Ç ÅëÇÕ(EAI), ÄÄÆ÷³ÍÆ® ±â¹Ý °³¹ß(CBD) µî ÀÌ·± º¯È ¼Ó¿¡¼ ÇöÀç °¡Àå Áß¿äÇÑ Å°¿öµå µÎ °¡Áö´Â ¹Ù·Î ¡®ÅëÇÕ¡¯°ú ¡®¼Óµµ¡¯ÀÌ´Ù. ÃÖ±Ù¿¡ ¿Í¼´Â XML À¥ ¼ºñ½º°¡ Å©°Ô ºÎ°¢µÇ°í ÀÖ´Ù. XML À¥ ¼ºñ½º°¡ ºÎ°¢µÇ°Ô µÈ µ¥´Â HTTP ±â¹ÝÀÇ XML Åë½ÅÀ̶ó´Â ÀåÁ¡ÀÌ Àֱ⵵ ÇÏÁö¸¸ ±× º¸´Ù Áß¿äÇÑ ÀÌÀ¯´Â ¹Ù·Î ¡®³·Î¿¬Åë(stovepipe)¡¯ ¹®Á¦¸¦ ÇØ°áÇϰí, ¡®¼ºñ½º Áß½ÉÀÇ ¾ÆÅ°ÅØÃ³(SOA, Service Oriented Architecture)¡¯¸¦ °¡´ÉÇÏ°Ô Çϱ⠶§¹®ÀÌ´Ù.
Á¤º¸½Ã½ºÅÛ¿¡ ´ëÇÑ ¼öÁ÷Àû(¹öƼÄÃ) ÅëÇÕÀ¸·Î ¾ÈÁ¤¼ºÀ» È®º¸ÇÏ´Â µ¥ Ä¡ÁßÇÏ´ø °ú°ÅÀÇ ¹æ½ÄÀ¸·Î´Â ´õ ÀÌ»ó IT »ê¾÷ ȯ°æÀÇ ºü¸¥ º¯È¿¡ ´ëÀÀÇÒ ¼ö ¾ø°Ô µÆ´Ù. ±â¾÷¿ë ¾ÖÇø®ÄÉÀ̼ÇÀ» ¡®ÅëÇÕ¡¯ÇÏ°í ´õ ¡®ºü¸£°Ô¡¯ ±¸ÇöÇÏ´Â °ÍÀÌ °¡Àå Áß¿äÇÑ ÀÏÀÌ µÆ´Ù. Á¶Á÷ÀÇ ³»ºÎ³ª ¿ÜºÎ º¯È¿¡ È¿°úÀûÀ¸·Î ´ëÀÀÇϱâ À§Çؼ´Â ½Ã½ºÅÛÀÇ ±â´É(¸ðµâ) °£¿¡ ½Å¼ÓÇÑ Á¶Á¤À̳ª Çù·ÂÀÌ ¿ä±¸µÇ³ª Çö½ÇÀûÀ¸·Î À̰ÍÀÌ ¾î·Æ±â ¶§¹®¿¡ ¹®Á¦Á¡µéÀÌ ¹ß»ýÇϴµ¥, ÀÌ·¯ÇÑ ¹®Á¦Á¡µéÀº Á¾Á¾ ¡®³·Î¿¬Å롯¿¡ ºñÀ¯Çϰï ÇÑ´Ù.
¸ðµâµéÀÌ È¿°úÀûÀ̰í È¿À²ÀûÀ¸·Î ¿î¿µµÇ±â À§Çؼ´Â ³·Î¿¬Åë(±â´Éº° ºÎ¼)À» °¡·ÎÁö¸£´Â ¼öÁ÷Àû ±â´É°£ÀÇ »óÈ£ÀÛ¿ë(cross-functional activity)ÀÌ ÈξÀ Áß¿äÇϸç, ¿©±â¿¡ ´ëÇÑ ÇØ°áÃ¥À¸·Î Á¦½ÃµÇ°í ÀÖ´Â °ÍÀÌ SOAÀÌ´Ù. ¶Ç, À̰ÍÀ» °¡´ÉÇÏ°Ô ÇÏ´Â ±â¼úÀÌ ¹Ù·Î XML À¥ ¼ºñ½º´Ù. Ç÷¡½ÃÀÇ ¹Ìµð¾îÀûÀÎ Ãø¸é¿¡¼ »Ó¸¸ ¾Æ´Ï¶ó, ¹Ù·Î ÀÌ À¥ ¼ºñ½º Ŭ¶óÀ̾ðÆ®ÀÇ ±â´ÉÀ» ÃæºÐÈ÷ Á¦°øÇÑ´Ù´Â Á¡¿¡¼ Å« °¡´É¼ºÀº ã¾Æ º¼ ¼ö ÀÖ´Ù.
ÀÌÁ¦, Á»´õ º»°ÝÀûÀ¸·Î Ç÷¡½Ã°¡ Á¦°øÇÏ´Â ´Ù¾çÇÑ Åë½Å ±â´ÉµéÀ» »ìÆìº¸ÀÚ. ÀÌ ±Û¿¡´Â Ç÷¡½Ã¿Í SWF¸¦ ±¸ºÐÇØ ¾´´Ù. Ç÷¡½Ã´Â ÀúÀÛ È¯°æ°ú ±â¼úÀ» ÁöĪÇϰí, SWF´Â Ç÷¡½Ã Ç÷¹À̾¼ ¼öÇàµÇ´Â Ç÷¡½Ã ÆÄÀÏÀ» °¡¸®Å°´Âµ¥ »ç¿ëÇÑ´Ù.
Ç÷¡½Ã¿Í ÇѱÛ
Ç÷¡½Ã´Â ³»ºÎÀûÀ¸·Î À¯´ÏÄڵ带 »ç¿ëÇÏ¸ç ±âº»ÀûÀ¸·Î ¸ðµç µ¥ÀÌÅ͸¦ À¯´ÏÄÚµå(UTF-8, Universal Character Set Transformation Format, 8 bit)·Î ´Ù·é´Ù. °æ¿ì¿¡ µû¶ó URLÀ» ´Ù·ç°Å³ª ¿ÜºÎ¿Í Åë½ÅÀ» ÇÒ ¶§ UTF-8°¡ ¾Æ´Ñ ¿î¿µÃ¼Á¦°¡ »ç¿ëÇÏ´Â ÀÎÄÚµùÀ» ±×´ë·Î ½á¾ß ÇÒ °æ¿ì°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î, À¥ ¼¹ö°¡ ±âº»ÀûÀ¸·Î UTF-8À» ÀÎÄÚµùÀ» »ç¿ëÇÏÁö ¾Ê°í, KSC5601(EUC-KR)À» »ç¿ëÇÏ´Â °æ¿ìÀÌ´Ù. ÀÌ·± ȣȯ¼ºÀ» À§ÇØ Ç÷¡½Ã MX¿¡ System.useCodepageÀÌ Ãß°¡µÆ´Ù.
System.useCodepage´Â ÀÔÃâ·Â¿¡ À¯´ÏÄڵ带 ¾µ °ÍÀÎÁö(false) ¾Æ´Ï¸é Ç÷¡½Ã Ç÷¹À̾ µ¿ÀÛÇϰí ÀÖ´Â ¿î¿µÃ¼Á¦ÀÇ ±âº» ÀÎÄÚµù ¾ð¾î(·ÎÄÉÀÏ)À» »ç¿ëÇÒ °ÍÀÎÁö(true)¸¦ °áÁ¤ÇÑ´Ù. ÇÑ±Û À©µµ¿ì¿¡¼´Â ±âº»ÀûÀÎ ÀÎÄÚµùÀº KSC5601(EUC-KR)ÀÌ´Ù. ¸¸ÀÏ, ÀϺ»¾î À©µµ¿ì¶ó¸é ±âº» ÀÎÄÚµùÀº SJIS°¡ µÈ´Ù. Áï, SWF°¡ ¼öÇàµÇ´Â ȯ°æÀÇ ÀÎÄÚµùÀ» »ç¿ëÇÏ°Ô µÈ´Ù. ¿î¿µÃ¼Á¦ÀÇ ÀÎÄÚµùÀ» ±×´ë·Î »ç¿ëÇÏ·Á¸é, º¸Åë ¹«ºñ ŸÀÓ ¶óÀÎÀÇ Ã¹ ÇÁ·¹ÀÓ¿¡ ´ÙÀ½°ú °°Àº Äڵ带 ³Ö¾î ÁØ´Ù.
System.useCodepage = true;
SWF´Â ³»ºÎÀûÀ¸·Î UTF-8¸¸ ´Ù·ç¸ç À̰ÍÀ» ¹Ù²Ù´Â ¹æ¹ýÀº ¾ø´Ù. ¶ÇÇÑ ÄÚµåÆäÀÌÁö¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýµµ ¾ø´Ù. µû¶ó¼ useCodepage°¡ trueÀÎ °æ¿ì´Â SWF°¡ ¼öÇàµÇ´Â ¿î¿µÃ¼Á¦ÀÇ ÄÚµåÆäÀÌÁö¸¦ µû¶ó°¡¸ç, falseÀÎ °æ¿ì´Â À¯´ÏÄÚµå(UTF-8)À» »ç¿ëÇÏ°Ô µÈ´Ù. Ç÷¡½Ã°¡ ³»ºÎÀûÀ¸·Î »ç¿ëÇÏ´Â UTF-8Àº À¯´ÏÄÚµåÀÇ °¢ ¹®ÀÚ¸¦ 1¢¦4°³ÀÇ ¹ÙÀÌÆ®·Î ÀÎÄÚµùÇÑ ÇüÅÂÀε¥ ´ÙÀ½°ú °°Àº ¾×¼Ç ½ºÅ©¸³Æ®¸¦ ÅëÇØ ½±°Ô È®ÀÎÇÒ ¼ö ÀÖ´Ù.
System.useCodePage= false; // ÄÚµåÆäÀÌÁö »ç¿ë ¾ÈÇÔ(UTF-8)
trace(escape("abc°¡³ª´Ù"));
System.useCodePage= true; // ÄÚµåÆäÀÌÁö »ç¿ë(EUC-KR)
trace(escape("abc°¡³ª´Ù"));
ÀÌ ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ Ãâ·ÂµÈ´Ù. escape´Â URL¿¡ »ç¿ëÇϱâ À§ÇØ %°¡ ºÙÀº ÇüÅ·ΠÀÎÄÚµùÇÏ´Â ÇÔ¼öÀÌ´Ù. ÀÌ ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ Ãâ·ÂµÈ´Ù.
abc%EA%B0%80%EB%82%98%EB%8B%A4
abc%B0%A1%B3%AA%B4%D9
UTF-8ÀÎ °æ¿ì, ÇѱÛÀÇ ÇÑ ±ÛÀÚ°¡ 3°³ÀÇ ¹ÙÀÌÆ®·Î ÀÎÄÚµùµÇ¾úÀ½À» ¾Ë ¼ö ÀÖ´Ù. useCodePage°¡ trueÀÎ °æ¿ì´Â ÇÑ±Û ÇÑ ±ÛÀÚ°¡ 2°³ÀÇ ¹ÙÀÌÆ®°¡ µÈ´Ù.
Ç÷¡½Ã MX Åë½Å
Ç÷¡½Ã MX´Â ´Ù¾çÇÑ Åë½Å ¹æ¹ýÀ» Á¦°øÇÑ´Ù. Ç÷¡½Ã¿¡¼ÀÇ Åë½Å ¹üÀ§¿Í Åë½Å¿¡ »ç¿ëµÇ´Â ÇÔ¼öµéÀ» Á¤¸®Çغ¸¸é ´ÙÀ½°ú °°´Ù.
 | <Ç¥ 1> Ç÷¡½Ã¿ë Åë½Å ¹üÁÖ¿Í ÇÔ¼ö |  | |  | |
| | Åë½Å ¹üÁÖ | »ç¿ëµÇ´Â ÇÔ¼ö, °´Ã¼ | | Ç÷¡½Ã¿Í ÀÚ¹Ù ½ºÅ©¸³Æ® Åë½Å | getURL(), fscommand() | | Ç÷¡½Ã¿Í À¥ ¼¹ö°£ HTTP Åë½Å | loadVariables(), loadVariablesNum() getURL()loadVars °´Ã¼ | | Ç÷¡½Ã¿Í Ç÷¡½Ã °£ | getURL(), fscommand() (SWFJavaScript SWF)LocalConnection °´Ã¼ | | Ç÷¡½Ã¿Í XML À¥ ¼ºñ½º, MX ¸®¸ðÆÃ | XML °´Ã¼NetServices, NetConnection °´Ã¼ | | | | |
| |
getURL()Àº ¿¹ÀüºÎÅÍ »ç¿ëµÇ´ø ÇÔ¼öÀε¥ ÁÖ·Î ÆäÀÌÁö¸¦ À̵¿Çϴµ¥ »ç¿ëµÆÁö¸¸ ÀÚ¹Ù ½ºÅ©¸³Æ®¸¦ È£ÃâÇϴµ¥µµ »ç¿ëµÉ ¼ö ÀÖ´Ù. loadVariables()´Â ¿ÜºÎ·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Àо´Â ÇÔ¼öÀÌ´Ù. getURL()°ú ¸¶Âù°¡Áö·Î URLÀ» ÁöÁ¤ÇÏ°í ¿©±â ¡°À̸§=°ª¡± ½ÖÀ» Àо¾î Ç÷¡½Ã º¯¼ö(variable)¿¡ ÇÒ´çÇÑ´Ù. ¸¸ÀÏ URL¿¡ ÆÄÀϸíÀ» ÁöÁ¤Çϸé(¡°a.txt¡±), SWFÀÌ ´Ù¿î·Îµå µÈ URL°ú °°Àº À§Ä¡¿¡ ÀÖ´Â ÆÄÀϷκÎÅÍ ÀÐ¾î µéÀδÙ. LoadVars.load()´Â MX¿¡ »õ·Î Ãß°¡µÈ ±â´ÉÀÌ´Ù. loadVariables()¸¦ ÀÌ¿ëÇÏ´Â °Íº¸´Ù °£ÆíÇÏ¸ç ºñµ¿±â·Î µ¿ÀÛÇϱ⠶§¹®¿¡ µ¥ÀÌÅ͸¦ Àоî¿À´Â µ¿¾È ¡®·ÎµùÁßÀÔ´Ï´Ù¡¯¸¦ Ç¥½ÃÇÏ´Â °Í °°ÀÌ ´Ù¸¥ µ¿ÀÛÀ» ÇÏ´Â °ÍÀ» ¼Õ½±°Ô ±¸ÇöÇÒ ¼ö ÀÖ´Ù.
XML °´Ã¼ ¿ª½Ã LoadVars¿Í »ç¿ëÇÏ´Â ¹æ¹ýÀÌ °ÅÀÇ °°´Ù. ´Ù¸¥ Á¡Àº XML ¹®¼¸¦ °¡Á®¿Í¼ ÆÄ½ÌÀ» ÇÑ´Ù´Â Á¡ÀÌ´Ù. Ç÷¡½Ã MX¿¡¼´Â XML DOMÀ» ´Ù·ç´Â ¸Þ½îµåµéÀÌ Á¦°øµÈ´Ù. XMLÀ» ÀÌ¿ëÇϸé Àß ±¸Á¶ÈµÈ µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖÀ¸¸ç, ÈξÀ À¯¿¬ÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ» Á¦ÀÛÇÒ ¼ö ÀÖ´Ù. ½ÇÁ¦·Î ¾Ö´Ï¸ÞÀÌ¼Ç ¹æ¹ýÀ» XML·Î ±â¼úÇØ SWF ÆÄÀÏÀº ÇϳªÀε¥ »óȲ¿¡ µû¶ó ´Ù¸¥ ¾Ö´Ï¸ÞÀ̼ÇÀ» º¸¿©ÁÖ´Â ¹æ¹ýµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
Ç÷¡½Ã¿Í ÀÚ¹Ù ½ºÅ©¸³Æ®°£ÀÇ Åë½Å : getURL()À» ÀÌ¿ëÇÑ °£´ÜÇÑ ¿¹Á¦
ÀÚ¹Ù ½ºÅ©¸³Æ®¿Í ¾×¼Ç ½ºÅ©¸³Æ®, µÎ ¾ð¾î ¸ðµÎ ECMA-262(ECMAScript) ±â¹Ý ½ºÅ©¸³Æ® ¾ð¾î·Î ¸Å¿ì ºñ½ÁÇÑ Á¡ÀÌ ¸¹´Ù(¶È°°Àº °ÍÀº ¾Æ´Ï´Ù). ¾×¼Ç ½ºÅ©¸³Æ®¿¡¼ ºê¶ó¿ìÀú¿¡ ÀÖ´Â ÀÚ¹Ù ½ºÅ©¸³Æ®¸¦ È£ÃâÇϰųª ȤÀº °Å²Ù·Î ºê¶ó¿ìÀúÀÇ ÀÚ¹Ù ½ºÅ©¸³Æ®¿¡¼ Ç÷¡½ÃÀÇ ¾×¼Ç ½ºÅ©¸³Æ®¸¦ È£ÃâÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù.
getURL() ƯÁ¤ URL·Î À̵¿ÇÏ´Â ÇÔ¼öÀÌÁö¸¸ ¡°javascript¡±¸¦ ÀÌ¿ëÇÏ¿© ºê¶ó¿ìÀú°¡ °¡Áö°í ÀÖ´Â ÀÚ¹Ù ½ºÅ©¸³Æ®¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ÀÇ ¾×¼Ç ½ºÅ©¸³Æ®´Â °£´ÜÇÑ ¿¹¸¦ º¸¿©ÁÖ°í ÀÖ´Ù.
var hello = "Hello, World";
getURL("javascript:alert(\""+hello+"\")");
°£´ÜÇÑ ¿¹Á¦¸¦ ¸¸µé¾îº¸ÀÚ. Ç÷¡½Ã MX¸¦ ±âµ¿Çϰí ÄÄÆ÷³ÍÆ®¿¡¼ PushButtonÀ» ¹«ºñ¿¡ ²ø¾î´Ù ³õ´Â´Ù. ¹öưÀÇ ·¹À̺íÀ» ¡®Hello, World¡¯·Î ¼öÁ¤Çϰí, ´ÙÀ½°ú °°ÀÌ ¹öư¿¡ ´ëÇØ ´ÙÀ½°ú °°ÀÌ ¾×¼Ç ½ºÅ©¸³Æ®¸¦ ÀÔ·ÂÇÑ´Ù(<ȸé 1>).
on(release) {
getURL("javascript:alert('Hello,World')");
}
 |
| <ȸé 1> getURL()À» ÀÌ¿ëÇÏ´Â ¡®Hello, World¡¯ ¸¸µé±â |
ȤÀº SWF¸¦ Ŭ¸¯ÇÏ¿© ¼öÇàÇØ º¸ÀÚ. ÀÚ¹Ù ½ºÅ©¸³Æ®ÀÇ alert âÀÌ ³ªÅ¸³ª´Â °ÍÀ» È®ÀÎÇØ º¼ ¼ö ÀÖ´Ù(<ȸé 2>). ¿ø·¡ getURL()Àº SWF°¡ Æ÷ÇÔµÈ ÆäÀÌÁö¸¦ ´Ù¸¥ URL·Î À̵¿ÇÏ´Â ±â´ÉÀ» ¼öÇàÇÏ´Â °ÍÀÌ ¸ñÀûÀÌÁö¸¸, ÇÁ·ÎÅäÄÝÀ» ±â¼úÇÏ´Â ºÎºÐ(º¸Åë ¡°http://¡±)¿¡ javascript µîÀ» ½á¼ ºê¶ó¿ìÀú¿Í ´Ù¾çÇÑ Åë½ÅÀ» ÇÒ ¼ö ÀÖ´Ù.
 |
| <ȸé 2> ¿¹Á¦ 02-HelloWorld ¼öÇà |
¿¹¸¦ µé¾î, ¡°mailto:¡± µîµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù(¡°mailto:¡±¸¦ »ç¿ëÇÏ¸é ±âº» ¸ÞÀÏÇÁ·Î±×·¥ÀÌ ¶ß°Ô µÈ´Ù).
getURL(url [, window [, "variables"]])
´ÙÀ½ ¿¹´Â SWF°¡ Æ÷ÇÔµÈ ÆäÀÌÁö¸¦ ´Ý´Â ±â´ÉÀ» ¼öÇàÇÑ´Ù. °á±¹ getURL()À» »ç¿ëÇØ ÆäÀÌÁö¿¡ Æ÷ÇÔµÈ ÀÚ¹Ù ½ºÅ©¸³Æ®¸¦ ¼öÇàÇÒ ¼ö ÀÖ°í, ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î ÀÚ¹Ù ½ºÅ©¸³Æ®¿Í ¿¬°áÇÒ ¼ö ÀÖ´Ù.
on (press) {
getURL ("javascript:window.self.close()");
}
getURL()À» »ç¿ëÇÏ´Â ´Ù¸¥ ¿¹¸¦ º¸ÀÚ. ´ÙÀ½°ú °°ÀÌ HTML ÆäÀÌÁö¿¡ ½ºÅ©¸³Æ®¸¦ ¸¸µç´Ù. ÀÌ ÆäÀÌÁöÀÇ ½ºÅ©¸³Æ®¸¦ ¾×¼Ç ½ºÅ©¸³Æ®¿¡¼ È£ÃâÇÑ´Ù.
¡ß HTML ÆäÀÌÁö
<SCRIPT LANGUAGE="JavaScript">
var newWin;
function OpenNewWindow(url, name, features) {
newWin = window.open( url, name, features );
}
</SCRIPT>
¡ß ¾×¼Ç ½ºÅ©¸³Æ® : ¹öư ¾×¼Ç
on (release) {
getURL("javascript:OpenNewWindow('popup.html','ÆË¾÷â','height=150,width=300')");
}
ÀÌ ³»¿ëÀº ¾×¼Ç ½ºÅ©¸³Æ®ÀÇ getURL()À» ÀÌ¿ëÇÏ¿© ÆäÀÌÁö ³»ÀÇ ÀÚ¹Ù ½ºÅ©¸³Æ® ÇÔ¼ö OpenNewWindow()¸¦ È£ÃâÇÏ´Â ¿¹¸¦ º¸¿©ÁØ´Ù.
 |
| <ȸé 3> ¿¹Á¦ 03-openwin ¼öÇà °á°ú |
SWF°ú Ç÷¡½Ã Ç÷¹À̾î¿Í Åë½ÅÀ» ÇÒ ¼ö ÀÖ´Â ÇÔ¼ö·Î fscommand()°¡ ÀÖ´Ù. ÀÌ ÇÔ¼ö´Â ¿ø·¡ SWF°¡ ÀÚ½ÅÀÇ È¯°æ(Ç÷¹À̾î)°ú Åë½ÅÇϱâ À§ÇÑ ±â´ÉÀ» ÇÏÁö¸¸, ½ºÅ©¸³Æ®¸¦ È£ÃâÇϰųª ¿ÜºÎ ¸í·ÉÀ» ¼öÇàÇϴµ¥µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. [File|Publish Settings] ¸Þ´º¸¦ ¼±ÅÃÇϸé, <ȸé 4>¿Í °°Àº ȸéÀÌ ³ªÅ¸³ª´Âµ¥, HTML ÅÇ¿¡¼ ÅÛÇø´À» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
 |
| <ȸé 4> FSCommand ÅÛÇø´ »ý¼º |
Ç÷¡½Ã°¡ FSCommand ÅÛÇø´°ú ÇÔ²² »ý¼ºµÇµµ·Ï ÁöÁ¤Çϸé FSCommand¸¦ »ç¿ëÇÏ´Â ÆäÀÌÁö¸¦ ¸¸µé¾î ÁØ´Ù. ±âº»ÀûÀÎ ¿ø¸®´Â ÆäÀÌÁö ³»ÀÇ ÀÚ¹Ù ½ºÅ©¸³Æ®¸¦ È£ÃâÇÏ´Â °Í°ú °°Àºµ¥ Ç¥ÁØÀûÀ¸·Î Á¦°øµÇ´Â °ÍÀ̹ǷΠÀÚ¹Ù ½ºÅ©¸³Æ®¸¦ È£ÃâÇÒ ¶§´Â getURL(), loadVariables()¸¦ ¾²±âº¸´Ù FSCommand¸¦ »ç¿ëÇÒ °ÍÀ» ÃßõÇÑ´Ù. fscommand()´Â ´ÙÀ½°ú °°ÀÌ ¸í·É°ú ÆÄ¶óÀ̹ÌÅ͸¦ ÁöÁ¤ÇØÁØ´Ù(ÆÄ¶ó¹ÌÅÍ´Â ¿É¼Ç).
fscommand("command", "parameters")
¡°command¡±´Â <Ç¥ 2>¿Í °°Àº ±âº» ¸í·ÉµéÀÌ ÀÖ´Ù. ¿ÜºÎ ÇÁ·Î±×·¥À» ¼öÇàÇÒ ¼öµµ ÀÖ´Ù. ÀÌµé ±âº» ¸í·ÉµéÀº º¸Åë ½ÇÇàÆÄÀÏ ÇüÅ·ΠÁ¦ÀÛµÈ Ç÷¡½Ã¿¡¼ »ç¿ëÇϸç, À¥ ÆäÀÌÁö¿¡¼ º¸¿©Áö´Â SWF¿¡¼´Â ¸¹ÀÌ »ç¿ëÇÏÁö ¾Ê´Â´Ù.
| |
| | "allowscale", true/false | ȸé Å©±â¿¡ µû¶ó°¥ °ÍÀÎÁö ÁöÁ¤ | | "showmenu", true/false | Ç÷¡½Ã ¸Þ´º¸¦ º¸ÀÏ °ÍÀÎÁö ÁöÁ¤ | | "exec", "path\\a.exe" | ¿ÜºÎ ÇÁ·Î±×·¥ ¼öÇà | | "quit" | Ç÷¹À̾î Á¾·á | | | | |
| |
fscommand¸¦ »ç¿ëÇÏ´Â ¿¹¸¦ »ìÆìº¸ÀÚ. ´ÙÀ½°ú °°Àº ¾×¼Ç ½ºÅ©¸³Æ®°¡ ÀÖ´Ù¸é, ¡°close¡±¸¦ ÀÎÀÚ·Î ³Ñ°Ü ÀÚ¹Ù ½ºÅ©¸³Æ®¸¦ È£ÃâÇÑ´Ù.
fscommand ("close");
ºê¶ó¿ìÀú ½ºÅ©¸³Æ®¿¡¼ ÀÎÀÚ¸¦ ¹Þ¾Æ ¼öÇàµÈ´Ù. ºê¶ó¿ìÀúÀÇ fs_DoFSCommand() ½ºÅ©¸³Æ®°¡ È£ÃâµÈ´Ù. ´ÙÀ½¿¡ ³ª¿À´Â ¼Ò½º ÄÚµå´Â ÀÚµ¿À¸·Î »ý¼ºµÈ FSCommand ÅÛÇø´(HTML ÆÄÀÏ)ÀÇ ½ºÅ©¸³Æ®¸¦ ¼öÁ¤ÇÑ °ÍÀÌ´Ù. Àü´Þ¹ÞÀº command, args¿¡ µû¶ó ÀûÀýÇÑ ÀÛ¾÷À» Çϵµ·Ï ÀÚ¹Ù ½ºÅ©¸³Æ®¸¦ ¼öÁ¤ÇÏ¸é µÈ´Ù.
function fs_DoFSCommand(command, args) {
var fsObj = InternetExplorer ? fs : document.fs;
//
// Place your code here...
//
if(command = "close") {
window.self.close();
}
}
ÀÚ¹Ù ½ºÅ©¸³Æ®¿¡¼ Ç÷¡½Ã·Î °ªÀ» Àü´Þ
Ç÷¡½Ã¿¡ ƯÁ¤ÇÑ °ªÀ» Àü´ÞÇÏ·Á¸é Ç÷¡½Ã Ç÷¹À̾î <OBJECT>ÀÇ ID¸¦ ÀÌ¿ëÇϰí SetVariable() ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ´Ù. ÀÌ ÇÔ¼ö´Â SWFÀÇ º¯¼ö¿¡ ÁöÁ¤µÈ °ªÀ» ¼ÂÆÃÇÏ´Â ÇÔ¼ö·Î Ç÷¹À̾ Á¦°øÇÑ´Ù.
 |
| <ȸé 5> JsToFlash ¼öÇà °á°ú |
<ȸé 5>´Â ÀÌ ÆäÀÌÁö¸¦ ¼öÇàÇÑ °á°úÀÌ´Ù. HTML ÆäÀÌÁö¿¡ ÀÔ·ÂµÈ °ªÀ» SWF·Î Àü´ÞÇØ ÀÔ·ÂµÈ ¹®ÀÚ¿ÀÌ ±×´ë·Î SWF¿¡ Ç¥½ÃµÇ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
movie.SetVariable("inputText", form1.inputVal.value) ;
SWF¿¡ ÀÖ´Â ÅØ½ºÆ®¹Ú½ºÀÇ º¯¼ö¸í(vars)°¡ ¡°inputText¡±ÀÌ´Ù. form1¿¡ ÀÖ´Â °ªÀ» SWF°¡ °¡Áö°í ÀÖ´Â ¡°inputText¡± º¯¼ö¿¡ ÇÒ´çÇÏ´Â °ÍÀÌ´Ù.
<HTML>
<HEAD>
<meta http-equiv=Content-Type content="text/html; charset=">
<TITLE>JsToFlash</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function SetFlashVariable() {
var movie = window.document.JsToFlash;
movie.SetVariable("inputText", form1.inputVal.value) ;
}
//-->
</SCRIPT>
</HEAD>
<BODY bgcolor="#999999">
<!-- URL's used in the movie-->
<!-- text used in the movie-->
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
WIDTH="300" HEIGHT="100" id="JsToFlash" ALIGN="">
<PARAM NAME=movie VALUE="JsToFlash.swf">
<EMBED src="JsToFlash.swf" WIDTH="300" HEIGHT="200"
NAME="JsToFlash" ALIGN=""
</EMBED>
</OBJECT>
<br/>
<form id="form1">
<input name="inputVal" type ="input" value="¿©±â¿¡
ÀÔ·ÂÇϼ¼¿ä"><br/>
<input type ="button" value="Ç÷¡½Ã¿¡¼³Á¤" onClick="SetFlashVariable
()">
</form>
</BODY>
</HTML>
Ç÷¡½Ã¿Í Ç÷¡½Ã°£ Åë½Å
ÇϳªÀÇ ÆäÀÌÁö¿¡ µÎ °³ ÀÌ»óÀÇ Ç÷¡½Ã°¡ ÀÖ°í ÀÌµé »çÀÌ¿¡ Åë½ÅÀ» ÇÏ·Á¸é ¾î¶»°Ô ÇÒ±î? Ç÷¡½Ã MX ÀÌÀü¿¡´Â SWF°£¿¡ Åë½ÅÀ» Çϱâ À§ÇØ ¾Õ¼ »ìÆìº» ÀÚ¹Ù ½ºÅ©¸³Æ®¸¦ Áß°£¿¡ ÀÌ¿ëÇØ¾ß Çß´Ù. Áï, SWF ÀÚ¹Ù ½ºÅ©¸³Æ® SWF ÀÌ·± ¹æ¹ýÀ» »ç¿ëÇß´Ù. ÀÌ ¹æ¹ýÀº ºê¶ó¿ìÀú¿¡ ÀÇÁ¸ÇÏ´Â ¸éÀÌ °Çؼ ÀͽºÇ÷η¯³ª ³Ý½ºÄÉÀÌÇÁ¿¡ µû¶ó ´Ù¸£°Ô 󸮸¦ ÇØÁà¾ß ÇϹǷΠ¸Å¿ì ºÒÆíÇß´Ù.
Ç÷¡½Ã MX¿¡¼´Â SWF°£ Åë½ÅÀ» Áö¿øÇϱâ À§ÇØ LocalConnection¶ó´Â °´Ã¼¸¦ Á¦°øÇÑ´Ù. °°Àº ºê¶ó¿ìÀú ³»¿¡¼´Â °£ÆíÇÏ°Ô SWF°£¿¡ Åë½ÅÀ» ÇÒ ¼ö ÀÖ´Ù. ¿©·¯ °³ÀÇ À©µµ¿ì¸¦ °¡Áø Ç÷¡½Ã ÄÁÅÙÃ÷¸¦ ºñ±³Àû °£´ÜÇÏ°Ô ¸¸µé ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ¸Þ´º¸¦ ´ã°í ÀÖ´Â SWF°ú ³»¿ëÀ» º¸¿©ÁÖ´Â SWF¸¦ µû·Î Á¦ÀÛÇØ ÈξÀ À¯¿¬ÇÑ ÄÁÅÙÃ÷¸¦ Á¦ÀÛÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. °£´ÜÈ÷ »ç¿ë¹ýÀ» »ìÆìº¸ÀÚ. ¸ÕÀú ¸í·ÉÀ» ¼ö½ÅÇÏ´Â ÂÊÀº ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÑ´Ù.
// LocalConnection °´Ã¼¸¦ »ý¼º
lcObj = new LocalConnection();
// °´Ã¼¿¡ onContentSelect ¸Þ½îµå¸¦ Á¤ÀÇ
lcObj.onContentSelect = function(num) {
// num °ª¿¡ µû¶ó ó¸®
}
// lcObj¸¦ ¿ÀºêÁ§Æ®¸¦ ¾ÆÀ̵ð·Î "contents"¸¦ ÁöÁ¤
lcObj.connect("contents");
»ó´ëÆí, Áï ¸í·ÉÀ» º¸³»´Â ÂÊÀº ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÑ´Ù.
lcObj = new LocalConnection();
// ¸Þ´º ¼±Åýà "contents"·Î Àü¼ÛÇÏ´Â µ¥ÀÌÅÍ Á¤ÀÇ
_root.menu1.onRelease = function() {
lcObj.send("contents", "onContentSelect", 100);
}
_root.menu2.onRelease = function() {
lcObj.send("contents", "onContentSelect", 200);
}
ÀÌó·³ LocalConnectionÀ» »ç¿ëÇϸé ÀÚ¹Ù ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÏÁö ¾Ê°íµµ ÈξÀ °£ÆíÇÏ°Ô SWF°£¿¡ µ¥ÀÌÅ͸¦ ¼Û¼ö½Å ÇÒ ¼ö ÀÖ´Ù.
Ç÷¡½Ã HTTP Åë½Å
getURL()Àº ƯÁ¤ URLÀ» È£ÃâÇÏ´Â ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. µû¶ó¼ URLÀ» ´ÙÀ½°ú °°ÀÌ ÁöÁ¤ÇÑ´Ù¸é Æ¯Á¤ URL¿¡ °ªÀ» Àü´ÞÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, SWF¿¡¼ ÀԷ¹ÞÀº °á°ú¸¦ ƯÁ¤ ÆäÀÌÁö¿¡ ´ÙÀ½°ú °°ÀÌ Àü´ÞÇÒ ¼ö ÀÖ´Ù.
getURL( 'http://localhost/memo.aspx?n="È«±æµ¿"')
getURL()º¸´Ù ÈξÀ ´Ù¾çÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´Â °ÍÀÌ loadVariables() ÇÔ¼öÀÌ´Ù. ÀÌ ÇÔ¼ö´Â URL¿¡¼ °ªµéÀ» ÀÐ¾î ¿Ã ¼ö ÀÖ´Ù. URLÀº ÆÄÀÏÀÏ ¼öµµ ÀÖ°í http·Î ½ÃÀÛÇÏ´Â ÆäÀÌÁöÀÏ ¼öµµ ÀÖ´Ù. loadVariables()´Â ´ÙÀ½°ú °°Àº ÇüÅ·Π»ç¿ëÇÑ´Ù.
loadVariables ("url" , level/"target"[, variables])
loadVariablesNum ("url" ,level [, variables])
¸¸¾à¿¡ loadVariables()°¡ ¡°À̸§1=°ª1&À̸§2=°ª2&À̸§3&°ª3¡±°ú °°Àº °ªÀ» ¼ö½ÅÇß´Ù¸é, SWF ³»ÀÇ º¯¼ö Áß¿¡¼ ¡°À̸§1¡±¿¡ ¡°°ª1¡±À» ÇÒ´çÇÏ°Ô µÈ´Ù. ¿©·¯ °³ÀÇ °ªÀ» ÇѲ¨¹ø¿¡ ÁöÁ¤ÇÒ ¶§ °¢±â ´Ù¸¥ À̸§À» Áà¾ßÇϹǷΠº¸Åë º¯¼ö¸í¿¡ ¹øÈ£¸¦ ºÙ¿©¼ »ç¿ëÇÑ´Ù.
¡ß loadVariablesNum »ùÇÃ
on(release) {
loadVariablesNum("phonebook.txt", 0);
loadVariablesNum("data.txt", 0);
}
¡ß phonebook.txtÀÇ ³»¿ë
name=È«±æµ¿&phone=013-443-2331
¡ß data.txtÀÇ ³»¿ë
memo=¾È³çÇϼ¼¿ä? ±æµ¿´Ô.. ¸Þ¸ð¸¦ ³²±é´Ï´Ù.
¿©±â¼´Â phonebook.txt¿Í data.txt ÆÄÀÏ¿¡¼ °ªµéÀ» ÀÐ¾î¼ º¯¼ö¿¡ ÇÒ´çÇÏ´Â ¿¹ÀÌ´Ù. SWF¿¡´Â name, phone, memo¸¦ º¯¼ö À̸§À¸·Î °¡Áö´Â °´Ã¼°¡ °¢°¢ ÀÖ´Ù.
phonebook.txt, data.txt¿Í ÀÛ¼ºµÈ html, swf ÆÄÀÏÀ» °°Àº Æú´õ¿¡ À¥ ¼¹ö¿¡ ¿Ã·Á³õ°í Å×½ºÆ®¸¦ ÇØ º¸¶ó. ¼öÁ¤ÇØ¾ß ÇÒ °ÍÀº ÀüÇô ¾ø´Ù. Áï, ·ÎÄÿ¡¼ ¼öÇàµÇ´Â °Í°ú ¸¶Âù°¡Áö·Î À¥»ó¿¡¼µµ ¶È°°ÀÌ ¼öÇàµÈ´Ù. ¹°·Ð ´ÙÀ½°ú °°ÀÌ Æ¯Á¤ URLÀ» ÁöÁ¤ÇÒ ¼ö µµ ÀÖ°ÚÁö¸¸, ÆÄÀÏ¸í¸¸ ÁöÁ¤ÇÏ¸é ±âº»ÀûÀ¸·Î SWF°¡ ´Ù¿î·ÎµåµÈ URL°ú °°Àº À§Ä¡¸¦ ¿äûÇÏ°Ô µÈ´Ù.
loadVariablesNum("http://localhost/test/phonebook.txt", 0);
ÀÌÁ¦ ASP.NET ÆäÀÌÁö¿¡ µ¥ÀÌÅ͸¦ º¸³»°í º¸³½ ³»¿ë¿¡ µû¶ó ´Ù¸£°Ô ¹ÝÀÀÇÏ´Â ¿¹Á¦¸¦ ¸¸µé¾î º¸ÀÚ.
 |
| <ȸé 6> ¿¹Á¦ 06-loadVariables2 ¼öÇà °á°ú |
<ȸé 6>°ú °°ÀÌ È¸éÀ» ±¸¼ºÇϰí, ¸Þ¸ð·Î µÇ¾î Àִ ȸ»ö ¿µ¿ªÀÇ º¯¼ö À̸§Àº(vars)´Â ¡°memo¡±·Î µÇ¾î ÀÖ´Ù. GET ¹öư¿¡´Â ´ÙÀ½°ú °°Àº ¾×¼Ç ½ºÅ©¸³Æ®°¡ ÀÛ¼ºµÇ¾î ÀÖ´Ù. ÀÌ ³»¿ëÀº localhostÀÇ test Æú´õ¿¡ memo.aspx¸¦ È£ÃâÇÏ´Â ³»¿ëÀÌ´Ù.
on(release) {
loadVariablesNum("http://localhost/test/memo.aspx?name=" + name, 0);
}
¼¹öÃøÀÇ ÆäÀÌÁö´Â ¾ÆÁÖ °£´ÜÇÑ ASPX ÆäÀÌÁö·Î, ¡°È«±æµ¿¡±ÀÌ ÀÎÀÚ·Î Àü´ÞµÇ¸é, ¡°memo=È«±æµ¿´Ô 12½Ã±îÁö ¿À¼¼¿ä¡±¶õ ¹®ÀÚ¿ÀÌ ¸®ÅÏµÇ°í ¾Æ´Ñ °æ¿ì´Â ¡°memo= ¸Þ¸ð°¡ ¾øÀ¾´Ï´Ù¡±°¡ ¸®ÅϵȴÙ(<¸®½ºÆ® 1>).
| |
<%@Page Language="C#" Codepage="949"%>
<%
if(Request.Params["name"] == "È«±æµ¿")
Response.Write("memo=" + "È«±æµ¿´Ô 12½Ã±îÁö
¿À¼¼¿ä");
else
Response.Write("memo=" + "¸Þ¸ð°¡ ¾øÀ¾´Ï´Ù");
%>
| |
 |
¿©±â¼ ÇÑ °¡Áö ÁÖÀÇÇÒ °ÍÀÌ ÀÖ´Ù. ¾Õ¼ À̾߱âÇÑ´ë·Î System.useCodepage = true·Î Çϰí <¸®½ºÆ® 1>ÀÇ memo.aspx ÆÄÀÏÀÌ ÀÖ´Â °÷¿¡ web.config¸¦ ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù. ¿äû(request) ÀÎÄÚµù°ú ÀÀ´ä(response) ÀÎÄÚµùÀ» ´ÙÀ½°ú °°ÀÌ ¸ðµÎ ¡°ecu-kr¡±·Î ¸ÂÃçÁØ´Ù. ÀÌ·¸°Ô ÇÏ´Â °ÍÀÌ Å×½ºÆ®Çϱ⵵ ÁÁ°í, ½ÇÁ¦ ´ëºÎºÐÀÇ »çÀÌÆ®µéÀÌ EUC-KR(KSC5601)À» »ç¿ëÇϱ⠶§¹®¿¡ ±ÛÀÚ°¡ ±úÁö´Â ¹®Á¦¸¦ ÀÏÀ¸Å°Áö ¾Ê´Â´Ù.
¡ß web.config ÆÄÀÏÀÇ ÀϺÎ
<globalization
requestEncoding="euc-kr"
responseEncoding="euc-kr"
/>
loadVariables´Â ¹è°æ»ö°ú °°Àº SWFÀÇ ¼³Á¤ µîÀ» Àоî¿À´Âµ¥µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. °¡´ÉÇÑ µ¥ÀÌÅ͸¦ SWF ¾È¿¡ µÎÁö ¸»°í ÆÄÀÏÀ̳ª ȤÀº ƯÁ¤ URL(apsx ÆäÀÌÁö)¿¡¼ »ý¼ºµÈ µ¥ÀÌÅ͸¦ ÀÐ¾î µé¿© ó¸®ÇÏ´Â °ÍÀÌ ÈξÀ ÁÁ´Ù. ³»¿ëÀÌ º¯°æµÇ¾îµµ SWF¸¦ ´Ù½Ã Á¦ÀÛÇÏ´Â ¼ö°í¸¦ ´ú¾î ÁÙ °ÍÀ̱⠶§¹®ÀÌ´Ù. ÈξÀ ´õ À¯¿¬ÇÏ°í µ¿ÀûÀÎ SWF¸¦ ±¸¼ºÇÒ ¼ö ÀÖ´Ù.
LoadVars °´Ã¼
LoadVars °´Ã¼´Â ¾Õ¼ À̾߱âÇÑ loadVariables()¸¦ ´ë½ÅÇØ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, ÈξÀ ´Ù¾çÇÑ ±â´ÉÀ» Á¦°øÇÑ´Ù. ƯÈ÷ ´Ù¾çÇÑ µ¥ÀÌÅ͸¦ ÀÐ¾î µé¾î ó¸®ÇÒ ¶§ ¸Å¿ì À¯¿ëÇÏ´Ù. loadVars()´Â ´ÙÀ½°ú °°ÀÌ °´Ã¼¸¦ »ý¼ºÇÏ¿© »ç¿ëÇÑ´Ù.
lv = new loadVars();
loadVars °´Ã¼´Â ´ÙÀ½°ú °°ÀÌ ´Ù¾çÇÑ ¸Þ½îµå¿Í ¼Ó¼ºÀ» Á¦°øÇÑ´Ù(<Ç¥ 3>).
 | <Ç¥ 3> loadVars ¸Þ½îµå¿Í ¼Ó¼º |  | |  | |
| | ¸Þ½îµå | load() | ÁöÁ¤µÈ URL¿¡¼ º¯¼ö¸¦ °¡Á®¿Â´Ù | | getBytesTotal() | load()/sendAndLoad()¿¡¼ ·ÎµåÇÑ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏ | | send() | º¯¼ö¸¦ ÁöÁ¤µÈ URL·Î Àü¼Û | | sendAndLoad() | º¯¼ö¸¦ ÁöÁ¤µÈ URL·Î Àü¼ÛÇϰí ÀÀ´äÀ» ¼ö½Å | | toString() | ¿°Å °¡´ÉÇÑ º¯¼ö¸¦ Æ÷ÇÔÇÏ´Â URL ¹®ÀÚ¿À» ¹Ýȯ | | ¼Ó¼º | contentType | µ¥ÀÌÅÍÀÇ MIME ŸÀÔ | | loaded | sendAndLoad()°¡ ¿Ï·áµÇ¾ú´ÂÁö ¿©ºÎ | | À̺¥Æ® | onLoad | load(), sendAndLoad()°¡ ¿Ï·áµÇ¾úÀ» ¶§ ¹ß»ý | | onData | onLoad¿Í ºñ½Á(raw µ¥ÀÌÅÍ Ã³¸®) | | | | |
| |
<¸®½ºÆ® 2>´Â ¾×¼Ç ½ºÅ©¸³Æ® ¿¹Á¦ÀÌ´Ù. ¾×¼Ç ½ºÅ©¸³Æ®ÀÇ Array¸¦ ÀÌ¿ëÇß°í onLoad¸¦ ÀÌ¿ëÇØ load°¡ ´Ù ³¡³ µÚ¿¡ µ¥ÀÌÅ͸¦ ó¸®Çϵµ·Ï Çß´Ù. µ¥ÀÌÅͰ¡ ·ÎµåµÇ¸é loaded°¡ ÇÔ¼ö°¡ ¼öÇàµÈ´Ù.
| <¸®½ºÆ® 2> ÁÖ¼Ò·Ï ¾×¼Ç ½ºÅ©¸³Æ® | | | |
System.useCodePage = true;
index = 0;
maxIndex = 0;
addressbook = new Array();
function loaded() {
maxIndex = Number(this.loop);
rec = "" + (index + 1) + "/" + maxIndex;
for (i = 0; i < maxIndex; i++) {
card = new Object()
card.name = this["name"+i];
card.phone = this["phone"+i];
card.memo = this["memo"+i];
addressbook.push(card);
}
}
var lv = new loadVars();
lv.onLoad = loaded;
lv.load("https://plusjune/test/addressbook.aspx");
| |
 |
<¸®½ºÆ® 3>´Â ÀÌÀü(prev) ¹öưÀ» ´·¶À» ¶§ µ¿ÀÛÇÏ´Â ¾×¼Ç ½ºÅ©¸³Æ®ÀÌ´Ù. <¸®½ºÆ® 4>´Â ¼¹öÃø ASPX ÆäÀÌÁöÀ̸ç, ¿©±â¼ ÀÌ ÆäÀÌÁö¿¡¼ µ¥ÀÌÅ͸¦ º¸±â ÁÁ°Ô Çϱâ À§ÇØ ¡®&¡¯ ¹®ÀÚ¸¦ µÎ ¹ø¿¡ ³ª´² ¾´ °ÍÀ» ´«¿©°Üº¸ÀÚ. ¡®&¡¯À» ¿¬¼ÓÇØ¼ »ç¿ëÇØ °³Çà ¹®ÀÚ »çÀ̸¦ À̾î ÁÙ ¼ö ÀÖ´Ù.
| <¸®½ºÆ® 3> Prev ¹öư¿¡ ´ëÇÑ À̺¥Æ® Çڵ鷯 | | | |
on(release) {
if(index > 0)
index--;
name = addressbook[index].name;
phone = addressbook[index].phone;
memo = addressbook[index].memo;
rec = "" + (index + 1) + "/"
+ maxIndex;
}
| |
 |
| <¸®½ºÆ® 4> addressbook.aspx | | | |
<%@Page Language="C#" Codepage="949"%>
<%
Response.Write(@"&name0=±èö¼ö&phone0=02-233-2321&memo0=»ç¿ëÀÚ1¸Þ¸ð&
&name1=È«±æµ¿&phone1=02-343-3232&memo1=È« ±æµ¿ »ç¿ëÀÚ2¸Þ¸ð&
&name2=±è¶õ¾Æ&phone2=02-3322-4544&memo2=±è¶õ¾Æ ÀüÈ ¸Þ¸ð&
&name3=user2&phone3=02-7533-3344&memo3=»ç¿ëÀÚ 2 ¸Þ¸ð&
&loop=4&
");
%>
| |
 |
<ȸé 7>Àº ÀÌ ÁÖ¼Ò·ÏÀÇ ¼öÇàµÇ´Â ȸéÀÌ´Ù. ÃÑ 4°³ÀÇ ÁÖ¼Ò¸¦ ASPX ÆäÀÌÁö·ÎºÎÅÍ ·ÎµåÇÏ¿© ÀÌÀü ÀÌÈĸ¦ º¼ ¼ö ÀÖµµ·Ï µÇ¾î ÀÖ´Ù. ¼¹öÃøÀÌ ¹«Ã´ °£´ÜÇÏ°Ô µÇ¾î ÀÖÁö¸¸ ¿äûÀ» ¹Þ¾ÒÀ» ¶§ ÀÌ ³»¿ëÀ» µ¥ÀÌÅͺ£À̽º¿¡¼ Àоî¿Àµµ·Ï ÇÒ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. °á°úÀûÀ¸·Î Ç÷¡½º MX°¡ HTTP Åë½ÅÀ» À§ÇØ ´Ù¾çÇÑ ¹æ¹ýµéÀÌ Á¦°øµÇÁö¸¸ LoadVars °´Ã¼¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ °¡Àå À¯¿¬Çϰí ÁÁÀº ¹æ¹ýÀÌ´Ù.
 |
| <ȸé 7> loadVars ¿¹Á¦ ¼öÇà°á°ú |
Ç÷¡½ÃÀÇ °æÀïÀÚµé
SVG Æ÷¸ËÀº º¤Åͱ׷¡ÇÈÀ» À§ÇÑ Ç¥ÁØ XML ¹®¼·Î 1998³â ¾îµµºñ, ½ã¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî, ³Ý½ºÄÉÀÌÇÁ°¡ Á¦¾ÈÇÑ PGML(Precisson Graphics Markup Language)°ú ¸ÅÅ©·Î¹Ìµð¾î¿Í ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ Á¦¾ÈÇÑ VML(Vector Markup Language)À» ±â¹ÝÀ¸·Î ¸¸µé¾îÁ³´Ù. SVG´Â W3CÀÇ Ç¥ÁØ ±Ç°í¾ÈÀ¸·Î äÅÃµÇ¾î ¾îµµºñ¸¦ Æ÷ÇÔÇÏ¿© ¿©·¯ ȸ»ç¿¡¼ Áö¿øÇϰí ÀÖ´Ù.
Ç÷¡½ÃÀÇ SWF ÆÄÀÏ Æ÷¸ËÀº °ø°³µÇ¾î ÀÖÁö¸¸ FLA ÆÄÀÏ Æ÷¸ËÀº °ø°³µÇ¾î ÀÖÁö ¾Ê´Ù. ¹Ý¸é SVG´Â ¿ÀÇ ǥÁØÀ¸·Î ¼ø¼öÇÏ°Ô XML·Î¸¸ Á¦ÀÛÀÌ °¡´ÉÇÏ´Ù´Â ÀåÁ¡ ¶§¹®¿¡ ¿ÀÇ Áø¿µ¿¡¼µµ ´Ù¾çÇÑ µµ±¸µéÀÌ ¸¹ÀÌ ¸¸µé¾î Áö°í ÀÖ´Ù. ¹Ý¸é¿¡ Ç÷¡½Ã´Â ÀÌ¹Ì ±¤¹üÀ§ÇÏ°Ô »ç¿ëµÇ°í ÀÖ¾î SVG¿Í Ç÷¡½Ã°¡ ÇâÈÄ ¾î¶»°Ô ¹ßÀüÇÒÁö ±× ±ÍÃß°¡ ÁÖ¸ñµÈ´Ù.
»ç½Ç»ó Ç÷¡½Ã´Â Ŭ¶óÀÌ¾ðÆ® È¯°æ¿¡¼ ÀÚ¹Ù ¾ÖÇø´À» Á¦Ä¡°í Á»´õ ´Ù¾çÇÑ ±â´ÉÀ» Á¦°øÇϰí ÀÖ´Ù(ÀÌ ¹è°æ¿¡´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ JVMÀ» ´õ ÀÌ»ó Áö¿øÇÏÁö ¾Ê´Â ÀÌÀ¯µµ Å©°Ô ÀÛ¿ëÇß´Ù). Ç÷¡½Ã´Â ÀÚ¹Ù ¾ÖÇø´°ú ´Þ¸® ÇÁ·Î±×·¡¹Ö µµ±¸°¡ ¾Æ´Ñ µðÀÚÀÎ µµ±¸¿¡¼ Ãâ¹ßÇß´Ù´Â Á¡ÀÌ Ç³ºÎÇÏ°í ´Ù¾çÇÑ ÄÁÅÙÃ÷¸¦ °¡´ÉÇÏ°Ô Çß°í, ÀÌ ¶§¹®¿¡ Ç÷¡½Ã°¡ ´õ¿í ¸¹ÀÌ »ç¿ëµÇ°Ô µÆ´Ù. ¾ÆÁ÷ CLRÀÌ ¼³Ä¡µÈ Ŭ¶óÀÌ¾ðÆ®°¡ ±×¸® ¸¹Áö´Â ¾ÊÁö¸¸ Àå±âÀûÀ¸·Î º¼ ¶§, ´å³ÝÀÇ XML À¥ ¼ºñ½º, ¸®¸ðÆÃ ±â¼úÀ» Æ÷ÇÔÇÑ ½º¸¶Æ® Ŭ¶óÀÌ¾ðÆ® ±â¼úµµ Ç÷¡½ÃÀÇ °æÀï ±â¼ú ÁßÀÇ Çϳª°¡ µÉ ¼ö ÀÖ´Ù.
ÀÌÁ¦ Ç÷¡½Ã MX´Â °³¹ß µµ±¸·Î¼ÀÇ ¸é¸ð¸¦ °®Ã߱⠽ÃÀÛÇß°í, ±â¾÷ ȯ°æ¿¡ Àû¿ëµÉ äºñ¸¦ ¸ðµÎ °®Ãß¾ú´Ù. ´å³ÝÀ̳ª À¥ ¼ºñ½º µîÀÇ ºÐ¾ßµé°ú ¸¶Âù°¡Áö·Î Ç÷¡½Ã ¶ÇÇÑ ÇϳªÀÇ »õ·Î¿î °³¹ß ¿µ¿ªÀÌ µÇ¾úÀ¸¸ç »ç¿ë»óÀÇ ÆíÀÇ¿Í Ç³ºÎÇÑ ÀÎÅÍÆäÀ̽º¸¦ ±â¹ÝÀ¸·Î °è¼Ó È®ÀåµÉ °ÍÀÌ´Ù.
À̹ø ±Û¿¡¼´Â Ç÷¡½Ã MXÀÇ ´Ù¾çÇÑ Åë½Å ¹æ¹ý°ú ±âº»ÀûÀÎ HTTP Åë½Å¿¡ ´ëÇØ »ìÆìºÃ´Ù. ¿¹Á¦µéÀ» ½ÇÇàÇØ FLA ÆÄÀÏÀ» »ìÆìº¸¸é ÃæºÐÈ÷ ¼ÒÈÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Ç÷¡½Ã¸¦ óÀ½ Á¢ÇÏ´Â µ¶ÀÚ¶ó¸é ÀÎÅͳݿ¡ ¸¹Àº Ç÷¡½Ã °ÁµéÀÌ ÀÖÀ¸´Ï À̵éÀ» ¸ÕÀú Á¢Çغ¸±â ¹Ù¶õ´Ù. ´ÙÀ½¿¡´Â Ç÷¡½Ã¿¡¼ XML ¹®¼¸¦ ´Ù·ç´Â ¹æ¹ýµé°ú XML À¥ ¼ºñ½º ±×¸®°í ¸®¸ðÆÃ¿¡ ´ëÇÑ ÁÖÁ¦¸¦ ´Ù·ï º»´Ù. @