|MQSeries ÇÔ¼ö¸¦ ´Ù¾çÇÑ ½Ã³ª¸®¿À·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. |ÀÌ ¼½¼Ç¿¡¼´Â ±âº» ¸Þ½ÃÁö, ÀÀ¿ëÇÁ·Î±×·¥ ¿¬°á¼º ¹× µ¥ÀÌÅÍ Ã¥À» |Æ÷ÇÔÇÑ ÀϹÝÀûÀÎ ½Ã³ª¸®¿À¸¦ ¸î °¡Áö °ËÅäÇÕ´Ï´Ù.
|¸ðµç µ¥ÀÌÅͺ£À̽º ÀÀ¿ëÇÁ·Î±×·¥ÀÌ °°Àº DB2 ¼¹ö¿¡ ¿¬°áµÇ¾î ÀÖÀ» ¶§ MQSeries DB2 ÇÔ¼ö¿ÍÀÇ |°¡Àå ±âº»ÀûÀÎ ÇüÅÂÀÇ ¸Þ½ÃÁö ±³È¯ÀÌ ÀÌ·ç¾îÁý´Ï´Ù. |Ŭ¶óÀ̾ðÆ®´Â µ¥ÀÌÅͺ£À̽º ¼¹ö¿¡ Àְųª ³×Æ®¿öÅ© ȯ°æ¿¡ ºÐ»êµÇ¾î ÀÖ½À´Ï´Ù.
|°£´ÜÇÑ ½Ã³ª¸®¿À¿¡¼ Ŭ¶óÀ̾ðÆ® A´Â MQSEND ÇÔ¼ö¸¦ È£ÃâÇÏ¿© »ç¿ëÀÚ Á¤ÀÇ |¹®ÀÚ¿À» ±âº» ¼ºñ½º À§Ä¡·Î º¸³À´Ï´Ù. |±×·¯¸é MQSeries ÇÔ¼ö°¡ µ¥ÀÌÅͺ£À̽º ¼¹öÀÇ DB2¿¡¼ ½ÇÇàµË´Ï´Ù. |Àá½Ã ÈÄ¿¡ Ŭ¶óÀ̾ðÆ® B°¡ MQRECEIVE ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ±âº» ¼ºñ½º¿¡¼ Á¤ÀÇÇÑ |´ë±âÇà·Ä Çìµå¿¡¼ ¸Þ½ÃÁö¸¦ Á¦°ÅÇÏ¿© À̸¦ Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸®ÅÏÇÕ´Ï´Ù. |ÀÌ ÀÛ¾÷À» ¼öÇàÇÒ MQSeries ÇÔ¼ö°¡ ´Ù½Ã DB2¿¡ ÀÇÇØ ½ÇÇàµË´Ï´Ù.
|µ¥ÀÌÅͺ£À̽º Ŭ¶óÀ̾ðÆ®´Â °£´ÜÇÑ ¸Þ½ÃÁö¸¦ ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. |ÀϹÝÀûÀ¸·Î ´ÙÀ½°ú °°Àº °æ¿ì¿¡ ¸Þ½Ã¡À» »ç¿ëÇÕ´Ï´Ù. |
|´ÙÀ½ ½Ã³ª¸®¿À´Â ¸®¸ðÆ® ¸Þ½ÃÁö¸¦ ÅëÇÕÇϱâ À§ÇØ À§¿¡¼ ¼³¸íÇÑ ´Ü¼øÇÑ ½Ã³ª¸®¿À¸¦ |È®ÀåÇÑ °ÍÀÔ´Ï´Ù. |Áï, ¸Ó½Å A¿Í ¸Ó½Å B »çÀÌ¿¡¼ ¸Þ½ÃÁö°¡ Àü¼ÛµË´Ï´Ù. °¢ ´Ü°è´Â ´ÙÀ½°ú °°½À´Ï´Ù. |
|MQSEND¸¦ »ç¿ëÇÏ¿© DB2 »ç¿ëÀÚ³ª °³¹ßÀÚ´Â Àü¼ÛÇÒ µ¥ÀÌÅÍ, Àü¼ÛÇÒ À§Ä¡ ¹× Àü¼Û ½Ã±â¸¦ |¼±ÅÃÇÕ´Ï´Ù. |¾÷°è¿¡¼´Â À̸¦ "º¸³»°í ¹«½ÃÇϱâ" Áï, º¸³½ »ç¶÷Àº ´ÜÁö ¸Þ½ÃÁö¸¦ º¸³»±â¸¸ ÇÏ°í |¸Þ½ÃÁö°¡ ¸ñÀûÁö¿¡ µµ´ÞÇß´ÂÁö È®ÀÎÇÏ´Â °ÍÀº MQSeries ¹è´Þ ÇÁ·ÎÅäÄÝÀ̶ó°í ÇÕ´Ï´Ù. |´ÙÀ½Àº À̸¦ º¸¿©ÁÖ´Â ¿¹ÀÔ´Ï´Ù.
|¿¹ 4: »ç¿ëÀÚ Á¤ÀÇ ¹®ÀÚ¿À» ¼ºñ½º ÁöÁ¡ myPlace·Î highPriority ±ÔÁ¤°ú ÇÔ²² º¸³À´Ï´Ù.
|VALUES DB2MQ.MQSEND('myplace','highPriority','test')
|¿©±â¼, highPriority ±ÔÁ¤Àº MQSeries ¿ì¼±¼øÀ§¸¦ °¡Àå ³ôÀº ·¹º§·Î ¼³Á¤ÇÏ°í Áö¼Ó¼º°ú °°Àº |¼ºñ½º Áúµµ µ¿ÀÏÇÏ°Ô Á¶Á¤ÇÏ´Â AMI Repository¿¡ Á¤ÀÇµÈ ±ÔÁ¤À» ÂüÁ¶ÇÕ´Ï´Ù.
|¸Þ½ÃÁö ³»¿ëÀº SQL ¹× »ç¿ëÀÚ ÁöÁ¤ µ¥ÀÌÅÍÀÇ ÀûÇÕÇÑ °áÇÕÀ¸·Î ±¸¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. |¿©±â¿¡´Â ÁßøµÈ ÇÔ¼ö, ¿¬»êÀÚ ¹× ij½ºÆ®°¡ Æ÷ÇԵ˴ϴÙ. |¿¹¸¦ µé¾î, VARCHAR Ä÷³ LASTNAME, FIRSTNAME ¹× DEPARTMENTÀÌ ÀÖ´Â EMPLOYEE Å×ÀÌºí¿¡¼ |DEPARTMENT 5LGAÀÇ °¢ Á÷¿ø¿¡ ´ëÇØ ÀÌ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¸Þ½ÃÁö¸¦ º¸³»·Á¸é ´ÙÀ½À» ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.
|¿¹ 5:
|SELECT DB2MQ.MQSEND(LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT) | FROM EMPLOYEE | WHERE DEPARTMENT = '5LGA'
|ÀÌ Å×ÀÌºí¿¡ Á¤¼ö AGE Ä÷³µµ ÀÖÀ¸¸é ´ÙÀ½ÀÌ Æ÷Çյ˴ϴÙ.
|¿¹ 6:
|SELECT DB2MQ.MQSEND | (LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT|| ' ' || char(AGE)) | FROM EMPLOYEE | WHERE DEPARTMENT = '5LGA'
|EMPLOYEE Å×ÀÌºí¿¡ ACE Ä÷³ÀÌ ¾Æ´Ñ CLOB À¯ÇüÀÇ RESUME Ä÷³ÀÌ ÀÖÀ» °æ¿ì, DEPARTMENT |5LGAÀÇ °¢ °í¿ëÀο¡ ´ëÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¸Þ½ÃÁö¸¦ ´ÙÀ½°ú °°ÀÌ ³»º¸³À´Ï´Ù.
|¿¹ 7:
|SELECT DB2MQ.MQSEND | (clob(LASTNAME) || ' ' || clob(FIRSTNAME) || ' ' || | clob(DEPARTMENT) || ' ' || RESUME)) | FROM EMPLOYEE | WHERE DEPARTMENT = '5LGA'
|¿¹ 8:
|¸¶Áö¸·À¸·Î ´ÙÀ½ ¿¹´Â À¯È¿ÇÑ SQL Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© ¸Þ½ÃÁö ³»¿ëÀ» ÃßÃâÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. |µÎ ¹ø° Å×À̺í DEPT¿¡´Â VARCHAR Ä÷³ DEPT_NO ¹× DEPT_NAMEÀÌ ÀÖ°í Á÷¿øÀÇ |LASTNAME ¹× DEPT_NAMEÀ» Æ÷ÇÔÇÏ´Â ¸Þ½ÃÁö¸¦ º¸³¾ ¼ö ÀÖ½À´Ï´Ù.
|¿¹ 8:
|SELECT DB2MQ.MQSEND(e.LASTNAME || ' ' || d.DEPTNAME) FROM EMPLOYEE e, DEPT d | WHERE e.DEPARTMENT = d.DEPTNAME
|MQSeries DB2 ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ ¹Þ°Å³ª ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù. |Àд °Í°ú ¹Þ´Â °ÍÀÇ Â÷ÀÌ´Â Àд °æ¿ì ´ë±âÇà·ÄÀÇ Çìµå¿¡¼ ¸Þ½ÃÁö¸¦ Á¦°ÅÇÏÁö ¾Ê°í |¸Þ½ÃÁö¸¦ ¸®ÅÏÇÏÁö¸¸ ¹Þ´Â °æ¿ì¿¡´Â ¸Þ½ÃÁö°¡ ´ë±âÇà·Ä¿¡¼ Á¦°ÅµË´Ï´Ù. |¹Þ´Â ÀÛ¾÷À» »ç¿ëÇÏ¿© °Ë»öµÈ ¸Þ½ÃÁö´Â ÇÑ ¹ø¸¸ °Ë»öÇÒ ¼ö ÀÖÁö¸¸ Àд ÀÛ¾÷À» »ç¿ëÇÏ¿© |°Ë»öµÈ ¸Þ½ÃÁö´Â ¿©·¯ ¹ø °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. |´ÙÀ½Àº À̸¦ º¸¿©ÁÖ´Â ¿¹ÀÔ´Ï´Ù.
|¿¹ 8:
|VALUES DB2MQ.MQREAD()
|ÀÌ ¿¹¿¡¼´Â ±âº» ¼ºñ½º Áú ±ÔÁ¤À» »ç¿ëÇÏ´Â ±âº» ¼ºñ½º°¡ Á¤ÀÇÇÑ ´ë±âÇà·ÄÀÇ Çìµå¿¡¼ |¸Þ½ÃÁö¸¦ Æ÷ÇÔÇÏ´Â VARCHAR ¹®ÀÚ¿À» ¸®ÅÏÇÕ´Ï´Ù. |ÀÐÀ» ¸Þ½ÃÁö°¡ ¾øÀ» °æ¿ì, ³Î(NULL) °ªÀÌ ¸®Åϵȴٴ Á¡¿¡ ÁÖÀÇÇϽʽÿÀ. |ÀÌ ÀÛ¾÷À¸·Î ´ë±âÇà·ÄÀº º¯°æµÇÁö ¾Ê½À´Ï´Ù.
|¿¹ 9:
|VALUES DB2MQ.MQRECEIVE('Employee_Changes')
|À§ÀÇ ¿¹´Â ±âº» ±ÔÁ¤À» »ç¿ëÇÏ´Â Employee_Changes ¼ºñ½º°¡ Á¤ÀÇÇÑ ´ë±âÇà·ÄÀÇ |Çìµå¿¡¼ ¸Þ½ÃÁö¸¦ Á¦°ÅÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù.
|DB2ÀÇ °·ÂÇÑ ±â´É Áß Çϳª´Â »ç¿ëÀÚ Á¤ÀÇ(¶Ç´Â DB2 Á¦°ø) ÇÔ¼ö¿¡¼ Å×À̺íÀ» |»ý¼ºÇÏ´Â ±â´ÉÀÔ´Ï´Ù. ÀÌ Å×À̺í ÇÔ¼ö ±â´ÉÀ» »ç¿ëÇÏ¿© ´ë±âÇà·ÄÀÇ ³»¿ëÀ» |DB2 Å×À̺í·Î ±¸Ã¼ÈÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½Àº À̸¦ º¸¿©ÁÖ´Â °£´ÜÇÑ ¿¹ÀÔ´Ï´Ù.
|¿¹ 10:
|SELECT t.* FROM table ( DB2MQ.MQREADALL()) t
|ÀÌ Äõ¸®´Â ÀÌ ¸Þ½ÃÁö¿¡ ´ëÇÑ ¸ÞŸµ¥ÀÌÅÍ ¹× ±âº» ¼ºñ½º¿¡¼ Á¤ÀÇÇÑ |´ë±âÇà·ÄÀÇ ¸ðµç ¸Þ½ÃÁö·Î ±¸¼ºµÈ Å×À̺íÀ» ¸®ÅÏÇÕ´Ï´Ù. |¸®ÅÏµÈ Å×ÀÌºí ±¸Á¶ÀÇ Àüü Á¤ÀÇ´Â ºÎ·Ï¿¡ Á¤ÀǵǾî ÀÖÁö¸¸ |ù Ä÷³Àº ¸Þ½ÃÁö ³»¿ëÀ» ¹Ý¿µÇÏ¸ç ³ª¸ÓÁö Ä÷³¿¡´Â ¸ÞŸµ¥ÀÌÅÍ°¡ Æ÷ÇԵ˴ϴÙ. |¸Þ½ÃÁö¸¸ ¸®ÅÏÇÏ·Á¸é À§ÀÇ ¿¹¸¦ ´ÙÀ½°ú °°ÀÌ ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.
|¿¹ 11:
|SELECT t.MSG FROM table (DB2MQ.MQREADALL()) t
|Å×À̺í ÇÔ¼ö°¡ ¸®ÅÏÇÑ Å×À̺íÀº µ¥ÀÌÅͺ£À̽º¿¡¼ Á÷Á¢ °Ë»öÇÑ |Å×À̺í°ú ´Ù¸£Áö ¾Ê½À´Ï´Ù. |µû¶ó¼ ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î ÀÌ Å×À̺íÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. |¿¹¸¦ µé¾î, Å×ÀÌºí ³»¿ëÀ» ´Ù¸¥ Å×À̺í°ú Á¶ÀÎÇϰųª ´ë±âÇà·ÄÀÇ ¸Þ½ÃÁö ¼ö¸¦ |¼¿ ¼ö ÀÖ½À´Ï´Ù.
|¿¹ 12:
|SELECT t.MSG, e.LASTNAME | FROM table (DB2MQ.MQREADALL() ) t, EMPLOYEE e | WHERE t.MSG = e.LASTNAME
|¿¹ 13:
|SELECT COUNT(*) FROM table (DB2MQ.MQREADALL()) t
|Å×À̺í ÇÔ¼ö¿¡ ´ëÇÑ ºä¸¦ ÀÛ¼ºÇÏ¿© Å×ÀÌºí ¼Ò½º°¡ ´ë±âÇà·ÄÀ̶ó´Â °ÍÀ» ¼û±æ ¼öµµ ÀÖ½À´Ï´Ù. |¿¹¸¦ µé¾î, ´ÙÀ½ ¿¹¿¡¼´Â NEW_EMPLOYEES ¼ºñ½º°¡ ÂüÁ¶ÇÏ´Â ´ë±âÇà·Ä¿¡ ´ëÇØ |NEW_EMP¶ó´Â ºä¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
|¿¹ 14:
|CREATE VIEW NEW_EMP (msg) AS | SELECT t.msg FROM table (DB2MQ.MQREADALL()) t
|ÀÌ °æ¿ì ºä´Â Àüü ¸Þ½ÃÁö¸¦ Æ÷ÇÔÇÏ´Â ´ÜÀÏ Ä÷³°ú ÇÔ²² Á¤Àǵ˴ϴÙ. |°íÁ¤µÈ ±æÀÌÀÇ µÎ Çʵ尡 Æ÷ÇÔµÈ °æ¿ì¿Í °°ÀÌ ¸Þ½ÃÁö°¡ ´Ü¼øÇÏ°Ô ±¸¼ºµÇ¸é |¸Þ½ÃÁö¸¦ µÎ °³ÀÇ Ä÷³À¸·Î ºÐ¼®Çϱâ À§ÇØ DB2 ³»Àå ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÆíÇÕ´Ï´Ù. |¿¹¸¦ µé¾î, ƯÁ¤ ´ë±âÇà·Ä·Î Àü¼ÛµÇ´Â ¸Þ½ÃÁö¿¡´Â Ç×»ó 18¹®ÀÚÀÇ ¼º°ú |±× µÚ¿¡ 18¹®ÀÚÀÇ À̸§ÀÌ ³ª¿Â´Ù´Â °ÍÀ» ¾Ë°í ÀÖ´Â °æ¿ì, ´ÙÀ½°ú °°ÀÌ |º°µµÀÇ Ä÷³À¸·Î °¢ Çʵ带 Æ÷ÇÔÇÏ°í ÀÖ´Â ºä¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
|¿¹ 15:
|CREATE VIEW NEW_EMP2 AS | SELECT left(t.msg,18) AS LNAME, right(t.msg,18) AS FNAME | FROM table(DB2MQ.MQREADALL()) t
|DB2 Stored Procedure BuilderÀÇ »õ·Î¿î ±â´ÉÀÎ MQSeries Áö¿ø ¸¶¹ý»ç¸¦ »ç¿ëÇÏ¿© |ºÐ¸®µÈ ¸Þ½ÃÁö ±¸Á¶¸¦ Ä÷³À¸·Î ¸ÊÇÎÇÏ´Â »õ·Î¿î DB2 Å×À̺í ÇÔ¼ö ¹× ºä¸¦ ÀÛ¼ºÇÒ ¼ö |ÀÖ½À´Ï´Ù.
|ÀÌ´Â Çϳª ÀÌ»óÀÇ ¸Þ½ÃÁö ³»¿ëÀ» µ¥ÀÌÅͺ£À̽º·Î ÀúÀåÇÒ °æ¿ì¿¡ ÁÁ½À´Ï´Ù. |¸Þ½ÃÁö ³»¿ëÀ» Á¶ÀÛÇÏ°í ÀúÀåÇÏ´Â SQLÀÇ Àüü ¼º´ÉÀ» »ç¿ëÇÏ¿© ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. |´ÙÀ½Àº °¡Àå °£´ÜÇÑ ¿¹ÀÔ´Ï´Ù.
|¿¹ 16:
|INSERT INTO MESSAGES | SELECT t.msg FROM table (DB2MQ.MQRECEIVEALL()) t
|ÇϳªÀÇ Ä÷³ VARCHAR(2000)°¡ ÀÖ´Â MESSAGES Å×ÀÌºí¿¡¼ À§ÀÇ ¸í·É¹®À» »ç¿ëÇϸé |±âº» ¼ºñ½º ´ë±âÇà·ÄÀÇ ¸Þ½ÃÁö¸¦ Å×ÀÌºí¿¡ »ðÀÔÇÕ´Ï´Ù. |ÀÌ ¹æ¹ýÀ» ¼öÁ¤ÇÏ¿© ´Ù¾çÇÑ °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
|ÀÀ¿ëÇÁ·Î±×·¥ ÅëÇÕÀº ¸¹Àº ¼Ö·ç¼Ç¿¡¼ ÀϹÝÀûÀÎ ¿ä¼ÒÀÔ´Ï´Ù. |±¸ÀÔÇÑ ÀÀ¿ëÇÁ·Î±×·¥À» ±âÁ¸ ±¸Á¶¿¡ ÅëÇÕÇϰųª »õ·Î °³¹ßÇÑ ÀÀ¿ëÇÁ·Î±×·¥¸¸ |±âÁ¸ ȯ°æ¿¡ ÅëÇÕÇÒ °æ¿ì, ¸ðµÎ À̱âÁ¾ ¼ºê½Ã½ºÅÛ ÄÝ·º¼ÇÀÌ ÀüüÀûÀ¸·Î |ÀÛ¾÷ÇÒ ¼ö ÀÖµµ·Ï ÇÔ²² ÅëÇÕÇØ¾ß ÇÏ´Â ¹®Á¦¿¡ Á÷¸éÇÏ°Ô µË´Ï´Ù. |MQSeries´Â ÀϹÝÀûÀ¸·Î ÀÀ¿ëÇÁ·Î±×·¥À» ÅëÇÕÇÏ´Â ÇʼöÀûÀÎ µµ±¸ÀÔ´Ï´Ù. |´ëºÎºÐÀÇ Çϵå¿þ¾î, ¼ÒÇÁÆ®¿þ¾î ¹× ¾ð¾î ȯ°æ¿¡¼ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â MQSeries´Â |À̱âÁ¾ ÀÀ¿ëÇÁ·Î±×·¥ ÄÝ·º¼ÇÀ» ¼·Î ¿¬°áÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.
|ÀÌ ¼½¼Ç¿¡¼´Â ¸î °³ÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ÅëÇÕ ½Ã³ª¸®¿À¿Í DB2¿Í ÇÔ²² »ç¿ëÇÏ´Â ¹æ¹ý¿¡ |´ëÇØ ¼³¸íÇÕ´Ï´Ù. ÁÖÁ¦°¡ ±¤¹üÀ§ÇϹǷΠÀÀ¿ëÇÁ·Î±×·¥ ÅëÇÕ¿¡ ´ëÇÑ Æ÷°ýÀûÀÎ Á¢±ÙÀº |ÀÌ ¹üÀ§¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. |µû¶ó¼ ¿äû/ÀÀ´ä Åë½Å°ú MQSeries Integrator ¹× Publish/SubscribeÀÇ µÎ °¡Áö °£´ÜÇÑ |Ç׸ñ¿¡ ÃÊÁ¡À» ¸ÂÃä´Ï´Ù.
|¿äû/ÀÀ´ä(R/R) Åë½Å ¹æ¹ýÀº ÇϳªÀÇ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ¼ºñ½º¸¦ |¿äûÇÏ´Â ÀϹÝÀûÀÎ ¹æ¹ýÀÔ´Ï´Ù. |À̸¦ ¼öÇàÇÏ´Â ÇÑ ¹æ¹ýÀº ¸®Äù½ºÅÍ°¡ ¼ºñ½º Á¦°ø¾÷ü¿¡°Ô ¼öÇàÇÒ ÀÛ¾÷À» ¿äûÇÏ´Â ¸Þ½ÃÁö¸¦ |º¸³»´Â °ÍÀÔ´Ï´Ù. |ÀÛ¾÷ÀÌ ¿Ï·áµÇ¸é Á¦°ø¾÷ü´Â °á°ú(¶Ç´Â ¿Ï·á È®Àθ¸)¸¦ ´Ù½Ã ¸®Äù½ºÅÍ¿¡°Ô º¸³¾ ¼ö ÀÖ½À´Ï´Ù. |À§¿¡¼ ¼³¸íÇÑ ±âº» ¸Þ½ÃÁö Àü¼Û ¹æ¹ý ÀÌ¿Ü¿¡´Â |º¸³½ »ç¶÷ÀÇ ¿äûÀ» ¼ºñ½º Á¦°ø¾÷üÀÇ ÀÀ´ä°ú ¿¬°áÇÏ´Â ¹æ¹ýÀÌ ¾ø½À´Ï´Ù. |°è¼Ó ÁøÇàÇϱâ Àü¿¡ ¸®Äù½ºÅÍ°¡ ÀÀ´äÀ» ±â´Ù¸®Áö ¾Ê´Â °æ¿ì, °¢ ÀÀ´äÀ» |¸®Äù½ºÅÍ¿Í ¿¬°áÇÏ´Â ¸ÞÄ¿´ÏÁòÀÌ »ç¿ëµÇ¾î¾ß ÇÕ´Ï´Ù. |°³¹ßÀÚ°¡ ÀÌ·¯ÇÑ ¸ÞÄ¿´ÏÁòÀ» ¸¸µé ÇÊ¿ä ¾øÀÌ |MQSeries´Â ±³È¯½Ã ¸Þ½ÃÁö »ó°üÀ» Çã¿ëÇÏ´Â »ó°ü ID¸¦ Á¦°øÇÕ´Ï´Ù.
|¿©·¯ °¡Áö ¹æ¹ýÀ¸·Î ÀÌ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ °¡Àå °£´ÜÇÑ ¹æ¹ýÀº |¸®Äù½ºÅÍ°¡ ´ÙÀ½°ú °°Àº ¹æ¹ý µîÀ» »ç¿ëÇÏ¿© ¾Ë·ÁÁø »ó°ü ID·Î |¸Þ½ÃÁö¸¦ Ç¥½ÃÇÏ´Â °ÍÀÔ´Ï´Ù.
|¿¹ 17:
|DB2MQ.MQSEND ('myRequester','myPolicy','SendStatus:cust1','Req1')
|ÀÌ ¸í·É¹®Àº ¿äûÀÇ »ó°ü ID¸¦ ³ªÅ¸³»±â À§ÇØ À§ÀÇ MQSEND ¸í·É¹®¿¡ ¸¶Áö¸· ¸Å°³º¯¼ö Req1À» Ãß°¡ÇÕ´Ï´Ù.
|ÀÌ Æ¯Á¤ ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ» ¹ÞÀ¸·Á¸é ´ÙÀ½°ú °°ÀÌ ÇØ´çµÇ´Â MQRECEIVE¹®À» »ç¿ëÇÏ¿© |ÀÌ »ó°ü ID¿Í ÀÏÄ¡Çϴ ǥ½ÃµÈ ¼ºñ½º°¡ Á¤ÀÇÇÑ Ã¹ ¸Þ½ÃÁö¸¦ ¼±ÅÃÀûÀ¸·Î °Ë»öÇÕ´Ï´Ù.
|¿¹ 18:
|DB2MQ.MQRECEIVE('myReceiver','myPolicy','Req1')
|¿äûÀ» ¼ºñ½ºÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ »ç¿ë ÁßÀ̰ųª ¸®Äù½ºÅÍ°¡ ÀÀ´äÀ» ¹Þ±â Àü¿¡ |À§ÀÇ MQRECEIVE¸¦ ½ÇÇàÇϸé ÀÌ »ó°ü ID¿Í ÀÏÄ¡ÇÏ´Â ¸Þ½ÃÁö¸¦ ãÀ» ¼ö ¾ø½À´Ï´Ù.
|¼ºñ½º ¿äû ¹× »ó°ü ID¸¦ ¸ðµÎ ¹ÞÀ¸·Á¸é ´ÙÀ½°ú °°Àº ¸í·É¹®À» »ç¿ëÇÕ´Ï´Ù.
|¿¹ 19:
|SELECT msg, correlid FROM | table (DB2MQ.MQRECEIVEALL('aServiceProvider','myPolicy',1)) t
|ÀÌ ¸í·É¹®Àº ¼ºñ½º aServiceProvider¿¡¼ ù ¹ø° ¿äûÀÇ »ó°ü ID ¹× ¸Þ½ÃÁö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
|ÀÏ´Ü ¼ºñ½º°¡ ¼öÇàµÇ¸é aRequester°¡ ¼³¸íÇÏ´Â ´ë±âÇà·Ä·Î ÀÀ´ä ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù. |±× µ¿¾È ¼ºñ½º ¸®Äù½ºÅÍ´Â ´Ù¸¥ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ½À´Ï´Ù. |½ÇÁ¦·Î ¼³Á¤µÈ ½Ã°£ ³»¿¡ Ãʱ⠼ºñ½º ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ» ¹Þ´Â´Ù´Â º¸ÀåÀÌ ¾ø½À´Ï´Ù. |ÀÌ¿Í °°Àº ÀÀ¿ëÇÁ·Î±×·¥ ·¹º§ ½Ã°£Á¾·á´Â °³¹ßÀÚ°¡ °ü¸®ÇØ¾ß ÇÕ´Ï´Ù. |¸®Äù½ºÅÍ´Â ÀÀ´äÀ» ¹ß°ßÇϱâ À§ÇØ Æú¸µÇØ¾ß ÇÕ´Ï´Ù.
|ÀÌ·¯ÇÑ ½Ã°£°ú ¹«°üÇÑ ºñµ¿±â ó¸®ÀÇ ÀåÁ¡Àº ¸®Äù½ºÅÍ ¹× ¼ºñ½º Á¦°ø¾÷ü°¡ |¼·Î ¿ÏÀüÈ÷ µ¶¸³ÀûÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÔ´Ï´Ù. |¶ÇÇÑ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ °£ÇæÀûÀ¸·Î¸¸ ¿¬°áµÇ´Â ȯ°æ ¹× ¿©·¯ ¿äûÀ̳ª ÀÀ´äÀÌ Ã³¸®µÇ±â Àü¿¡ |´©ÀûµÇ´Â ¹èÄ¡ À§ÁÖÀÇ È¯°æ¿¡¼ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. |ÀÌ·¯ÇÑ ´©ÀûÀº µ¥ÀÌÅÍ ¿þ¾îÇϿ콺³ª Á¶ÀÛ µ¥ÀÌÅÍ ÀúÀå¼Ò¸¦ Á¤±âÀûÀ¸·Î °»½ÅÇÏ´Â |µ¥ÀÌÅÍ ¿þ¾îÇϿ콺 ȯ°æ¿¡¼ ÁÖ·Î »ç¿ëµË´Ï´Ù.
|ÀÀ¿ëÇÁ·Î±×·¥ ÅëÇÕÀÇ ¶Ç ´Ù¸¥ ÀϹÝÀûÀÎ ½Ã³ª¸®¿À´Â ÇÑ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ |´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô À̺¥Æ®¸¦ ÅëÁöÇÏ´Â °ÍÀÔ´Ï´Ù. |ÀÌ´Â ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¸ð´ÏÅÍÇÏ´Â ´ë±âÇà·Ä·Î ¸Þ½ÃÁö¸¦ º¸³¿À¸·Î½á ½±°Ô ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. |¸Þ½ÃÁö ³»¿ëÀº »ç¿ëÀÚ Á¤ÀÇ ¹®ÀÚ¿À̳ª µ¥ÀÌÅͺ£À̽º Ä÷³À¸·Î ±¸¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. |´Ü¼øÇÑ ¸Þ½ÃÁöÀÎ °æ¿ì, ÁÖ·Î MQSEND ÇÔ¼ö¸¦ »ç¿ëÇؼ º¸³»¾ß ÇÕ´Ï´Ù. |ÀÌ·¯ÇÑ ¸Þ½ÃÁö¸¦ ¿©·¯ ¼ö½ÅÀÚ¿¡°Ô µ¿½Ã¿¡ º¸³»¾ß ÇÒ °æ¿ì, MQSeries AMIÀÇ |ºÐ»ê ¸ñ·Ï ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
|ºÐ»ê ¸ñ·ÏÀº AMI °ü¸® µµ±¸·Î Á¤Àǵ˴ϴÙ. ºÐ»ê ¸ñ·ÏÀº °³º° ¼ºñ½º ¸ñ·ÏÀ¸·Î ±¸¼ºµË´Ï´Ù. |ºÐ»ê ¸ñ·ÏÀ¸·Î º¸³½ ¸Þ½ÃÁö´Â ¸ñ·Ï¿¡¼ Á¤ÀÇµÈ ¸ðµç ¼ºñ½º·Î Àü´ÞµË´Ï´Ù. |ÀÌ´Â ÀϺΠ¼ºñ½º°¡ Ç×»ó ¸ðµç ¸Þ½ÃÁö¿Í °ü·ÃÀÌ ÀÖ´Ù´Â °ÍÀ» ¾Ë°í ÀÖÀ» °æ¿ì ƯÈ÷ À¯¿ëÇÕ´Ï´Ù. |´ÙÀ½ ¿¹´Â ºÐ»ê ¸ñ·Ï interestedParties¿¡ ¸Þ½ÃÁö¸¦ º¸³»´Â °æ¿ìÀÔ´Ï´Ù.
|¿¹ 20:
|DB2MQ.MQSEND('interestedParties','information of general interest');
|ƯÁ¤ ¼ºñ½º¸¦ ¹Þ¾Æ¾ß ÇÏ´Â ¸Þ½ÃÁö¸¦ ´õ Àß Á¦¾îÇØ¾ß ÇÒ °æ¿ì, |Publish/Subscribe ±â´ÉÀÌ ÇÊ¿äÇÕ´Ï´Ù. |Publish/Subscribe ½Ã½ºÅÛÀº ÀϹÝÀûÀ¸·Î ¿©·¯ subscribers¿¡°Ô ¸Þ½ÃÁö¸¦ ¹Þ±â À§ÇØ |¿©·¯ subscribers°¡ µî·ÏÇÒ ¼ö ÀÖ´Â È®Àå °¡´ÉÇÑ º¸¾È ȯ°æÀ» Á¦°øÇÕ´Ï´Ù. |ÀÌ ±â´ÉÀ» Áö¿øÇϱâ À§ÇØ MQSeries Integrator ¶Ç´Â MQSeries Publish/Subscribe ±â´É°ú |ÇÔ²² MQPublish ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
|MQPublish¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ´Â ¼±ÅÃÀûÀ¸·Î ¸Þ½ÃÁö¿Í ¿¬°üµÈ ÁÖÁ¦¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. |ÁÖÁ¦¸¦ »ç¿ëÇÏ¿© subscriber´Â ¹ÞÀ» ¸Þ½ÃÁö¸¦ ´õ¿í ¸íÈ®ÇÏ°Ô ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. |´ÙÀ½°ú °°Àº ´Ü°è¸¦ ¼öÇàÇÕ´Ï´Ù. |
|¸ðµç ±âº»°ª ¹× ³Î(NULL) ÁÖÁ¦¸¦ »ç¿ëÇÏ¿© ÀÌ µ¥ÀÌÅ͸¦ ¹ßÇàÇÏ·Á¸é |´ÙÀ½ ¸í·É¹®À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
|¿¹ 21:
|SELECT DB2MQ.MQPUBLISH | (LASTNAME || ' ' || FIRSTNAME || ' ' || | DEPARTMENT|| ' ' ||char(AGE)) | FROM EMPLOYEE | WHERE DEPARTMENT = '5LGA'
|¸ðµç ¸Å°³º¯¼ö¸¦ ¿Ïº®ÇÏ°Ô ÁöÁ¤ÇÏ°í LASTNAME¸¸ Æ÷ÇÔÇϵµ·Ï ¸Þ½ÃÁö¸¦ ´Ü¼øÈÇϸé |¸í·É¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù.
|¿¹ 22:
|SELECT DB2MQ.MQPUBLISH('HR_INFO_PUB', 'SPECIAL_POLICY', LASTNAME, | 'ALL_EMP:5LGA', 'MANAGER') | FROM EMPLOYEE | WHERE DEPARTMENT = '5LGA'
|ÀÌ ¸í·É¹®Àº SPECIAL_POLICY ¼ºñ½º¸¦ »ç¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ HR_INFO_PUB publication ¼ºñ½º¿¡ |¹ßÇàÇÕ´Ï´Ù. |¸Þ½ÃÁö´Â º¸³½ »ç¶÷ÀÌ MANAGER ÁÖÁ¦ÀÓÀ» ³ªÅ¸³À´Ï´Ù. |ÁÖÁ¦ ¹®ÀÚ¿Àº ':'¸¦ »ç¿ëÇÏ¿© ¿¬°áÇÑ ¿©·¯ ÁÖÁ¦¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖÀ½À» º¸¿©ÁÝ´Ï´Ù. |ÀÌ ¿¹¿¡¼ µÎ °³ÀÇ ÁÖÁ¦¸¦ »ç¿ëÇÔÀ¸·Î½á subscribers´Â ALL_EMP ¶Ç´Â ´ÜÁö 5LGA¿¡¸¸ µî·ÏÇÏ¿© |ÀÌ ¸Þ½ÃÁö¸¦ ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.
|¹ßÇàµÈ ¸Þ½ÃÁö¸¦ ¹ÞÀ¸·Á¸é ¸ÕÀú ÁÖ¾îÁø ÁÖÁ¦¸¦ Æ÷ÇÔÇÏ´Â ¸Þ½ÃÁö¿¡ ´ëÇÑ °ü·Ã »çÇ×À» µî·ÏÇÏ°í |¸Þ½ÃÁö¸¦ ¹Þ¾Æ¾ß ÇÏ´Â subscriber ¼ºñ½º À̸§À» Ç¥½ÃÇØ¾ß ÇÕ´Ï´Ù. |AMI subscriber ¼ºñ½º´Â Áß°³ÀÎ ¼ºñ½º ¹× ¼ö½ÅÀÚ ¼ºñ½º¸¦ Á¤ÀÇÇÕ´Ï´Ù. |Áß°³ÀÎ ¼ºñ½º´Â subscriber°¡ publish/subscribe Áß°³Àΰú Åë½ÅÇÏ´Â ¹æ¹ýÀ̸ç |¼ö½ÅÀÚ ¼ºñ½º´Â subscription ¿äû°ú ÀÏÄ¡ÇÏ´Â ¸Þ½ÃÁö¸¦ º¸³¾ À§Ä¡ÀÔ´Ï´Ù. |´ÙÀ½ ¸í·É¹®Àº ALL_EMP ÁÖÁ¦¿¡ ´ëÇÑ °ü·Ã »çÇ×À» µî·ÏÇÕ´Ï´Ù.
|¿¹ 23:
|DB2MQ.MQSUBSCRIBE('aSubscriber', 'ALL_EMP')
|ÀÏ´Ü ÀÀ¿ëÇÁ·Î±×·¥ÀÌ subscribeÇϸé ALL_EM ÁÖÁ¦¿Í ÇÔ²² ¹ßÇàµÈ ¸Þ½ÃÁö°¡ subscriber |¼ºñ½º¿¡ ÀÇÇØ Á¤ÀÇµÈ ¼ö½ÅÀÚ ¼ºñ½º·Î Àü´ÞµË´Ï´Ù. |ÀÀ¿ëÇÁ·Î±×·¥Àº µ¿½Ã¿¡ ¿©·¯ °³ÀÇ subscriptions¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù. |subscription¿¡ ¸Â´Â ¸Þ½ÃÁö¸¦ ¹Þ±â À§ÇØ Ç¥ÁØ ¸Þ½ÃÁö °Ë»ö ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. |¿¹¸¦ µé¾î subscriber ¼ºñ½º aSubscriber°¡ ¼ö½ÅÀÚ ¼ºñ½º¸¦ |aSubscriberReceiver·Î Á¤ÀÇÇÏ¸é ´ÙÀ½ ¸í·É¹®Àº ù ¹ø° ¸Þ½ÃÁö¸¦ ¼Õ»ó½ÃÅ°Áö ¾ÊÀ¸¸é¼ |ÀнÀ´Ï´Ù.
|¿¹ 24:
|DB2MQ.MQREAD('aSubscriberReceiver')
|¸Þ½ÃÁö ¹× ¸Þ½ÃÁö°¡ ¹ßÇàµÉ ÁÖÁ¦¸¦ ÆľÇÇϱâ À§ÇØ Å×À̺í ÇÔ¼ö Áß Çϳª¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. |´ÙÀ½ ¸í·É¹®Àº aSubscriberReceiver¿¡¼ óÀ½ ´Ù¼¸ °³ÀÇ ¸Þ½ÃÁö¸¦ ¹Þ¾Æ |¸Þ½ÃÁö ¹× ÁÖÁ¦¸¦ ¸ðµÎ Ç¥½ÃÇÕ´Ï´Ù.
|¿¹ 25:
|SELECT t.msg, t.topic | FROM table (DB2MQ.MQRECEIVEALL('aSubscriberReceiver',5)) t
|ÁÖÁ¦°¡ ALL_EMPÀÎ ¸ðµç ¸Þ½ÃÁö¸¦ Àбâ À§ÇØ SQLÀÇ ±â´ÉÀ» »ç¿ëÇÏ¿© ´ÙÀ½À» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.
|¿¹ 26:
|SELECT t.msg FROM table (DB2MQ.MQREADALL('aSubscriberReceiver')) t | WHERE t.topic = 'ALL_EMP'
|ƯÁ¤ ÁÖÁ¦¿¡ subscribeÇÏ´Â µ¥ ´õ ÀÌ»ó °ü·Ã »çÇ×ÀÌ ¾øÀ¸¸é ´ÙÀ½°ú °°Àº |¸í·É¹®À» »ç¿ëÇÏ¿© ¸í½ÃÀûÀ¸·Î unsubscribeÇØ¾ß ÇÕ´Ï´Ù.
|¿¹ 27:
|DB2MQ.MQUNSUBSCRIBE('aSubscriber', 'ALL_EMP')
|ÀÏ´Ü ÀÌ ¸í·É¹®ÀÌ ½ÇÇàµÇ¸é publish/subscribe Áß°³ÀÎÀº ÀÌ subscription°ú ÀÏÄ¡ÇÏ´Â ¸Þ½ÃÁö¸¦ |´õ ÀÌ»ó ¹è´ÞÇÏÁö ¾Ê½À´Ï´Ù.
|µ¥ÀÌÅͺ£À̽º ¸Þ½ÃÁöÀÇ ¶Ç ´Ù¸¥ Áß¿äÇÑ ±â¹ýÀº ÀÚµ¿ publicationÀÔ´Ï´Ù. |DB2ÀÇ Æ®¸®°Å ±â´ÉÀ» »ç¿ëÇÏ¿© Æ®¸®°Å È£ÃâÀÇ ÀϺηΠ¸Þ½ÃÁö¸¦ ÀÚµ¿À¸·Î ¹ßÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. |ÀÚµ¿ µ¥ÀÌÅÍ publicationÀ» À§ÇÑ ´Ù¸¥ ¹æ¹ýµéµµ ÀÖÁö¸¸ Æ®¸®°Å¿¡ ±â¹ÝÇÑ Á¢±Ù ¹æ¹ýÀ» »ç¿ëÇϸé |°ü¸®ÀÚ³ª °³¹ßÀÚ°¡ ¸Þ½ÃÁö ³»¿ëÀ» ´õ ÀÚÀ¯·Ó°Ô ±¸¼ºÇÒ ¼ö ÀÖÀ¸¸ç Æ®¸®°Å Á¶Ä¡¸¦ |´õ À¶Å뼺 ÀÖ°Ô Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. |Æ®¸®°Å¸¦ »ç¿ëÇÒ °æ¿ì¿¡´Â ºóµµ ¹× ½ÇÇà ºñ¿ë¿¡ ÁÖÀÇÇØ¾ß ÇÕ´Ï´Ù. |´ÙÀ½Àº MQSeries DB2 ÇÔ¼ö¿Í ÇÔ²² Æ®¸®°Å¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÖ´Â ¿¹ÀÔ´Ï´Ù.
|¾Æ·¡ ¿¹´Â »õ Á÷¿øÀÌ °í¿ëµÉ ¶§¸¶´Ù ½±°Ô ¸Þ½ÃÁö¸¦ ¹ßÇàÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. |NEW_EMP¿¡ ´ëÇÑ °ü½ÉÀ» µî·ÏÇÏ°í HR_INFO_PUB ¼ºñ½º¿¡ subscribeÇÑ »ç¿ëÀÚ³ª ÀÀ¿ëÇÁ·Î±×·¥Àº |°¢°¢ÀÇ »õ Á÷¿øÀÇ ³¯Â¥, À̸§ ¹× ºÎ¼¸¦ Æ÷ÇÔÇÏ´Â ¸Þ½ÃÁö¸¦ ¹Þ°Ô µË´Ï´Ù.
|¿¹ 28:
|CREATE TRIGGER new_employee AFTER INSERT ON employee REFERENCING NEW AS n | FOR EACH ROW MODE DB2SQL | VALUES DB2MQ.MQPUBLISH('HR_INFO_PUB&', 'NEW_EMP', | current date || ' ' || LASTNAME || ' ' || DEPARTMENT)