Ä¿³ØÅÍÀÇ ¿ªÇÒÀº ¿öÅ©Ç÷οìÀÇ µ¥ÀÌÅÍ ±¸Á¶¿Í Business Object¸¦ ¿¬°áÇÏ´Â °ÍÀÔ´Ï´Ù. Business Object¿¡ ¼³Á¤µÇ¾î ÀÖ´Â verb¿¡ µû¶ó Á¶Ä¡¸¦ ¼öÇàÇÏ´Â °ÍÀº MQ WorkflowÀÇ Ã¥ÀÓÀÔ´Ï´Ù. Ä¿³ØÅÍ´Â ¿öÅ©Ç÷ο찡 ³»¿ëÀ» ¼º°øÀûÀ¸·Î ¼ö½ÅÇÏ´Â °Í¸¸À» º¸ÁõÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼ Ä¿³ØÅÍ´Â MQ Workflow Á¦Ç°ÀÇ Business Object¿¡ ¿µÇâÀ» ÁÙ ¼ö ¾ø½À´Ï´Ù. ½ÇÁ¦ÀûÀ¸·Î MQ Workflow Ư¼ºÀ» °í·ÁÇÒ ¶§, Business Object¿¡ ´ëÇÑ Áö¼Ó µ¥ÀÌÅÍ ±¸Á¶°¡ Á¸ÀçÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â Áö¼Ó µ¥ÀÌÅÍ ±¸Á¶°¡ ÈÄ¼Ó ¿öÅ©Ç÷οìÀÇ Æ®¸®°Å·Î¼¸¸ ÀÛµ¿Çϱ⠶§¹®ÀÔ´Ï´Ù.
BOHandler(Business Object Handler)´Â verb¿¡ °ü°è¾øÀÌ ¸ðµç Business Object¸¦ µ¿ÀÏÇÑ ¹æ½ÄÀ¸·Î ó¸®ÇÕ´Ï´Ù. Ä¿³ØÅÍ´Â DOM ±¸¹® ºÐ¼®±â¸¦ »ç¿ëÇÏ¿© WfMessage¸¦ ±¸¼ºÇÕ´Ï´Ù.
Ä¿³ØÅÍ´Â ÃÖ»óÀ§ ·¹º§ Business ObjectÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ ÅØ½ºÆ®¸¦ °Ë»çÇϰí cw_mo_wfptcfg=XXX ¾ç½ÄÀÇ À̸§-°ª ½ÖÀ» Á¤ÀÇÇß´ÂÁö È®ÀÎÇÕ´Ï´Ù. XXX·Î ½Äº°µÇ´Â ÇÏÀ§ Meta ObjectÀÇ ±¸¹®À» ºÐ¼®ÇÏ°í °ªÀÌ ÇØ¼®µË´Ï´Ù.
½ÇÇàµÇ´Â ÅÛÇø®Æ®´Â Meta Object ¼Ó¼º ProcessTemplateNameÀ¸·Î ½Äº°µË´Ï´Ù. ÀÌ ÅÛÇø®Æ®´Â °á°ú Æ÷ÇÔ»Ó ¾Æ´Ï¶ó Àüü ¸í·ÉÀ» MQ Workflow¿¡ ÁöÁ¤ÇÏ´Â µ¥ ÇÊ¿äÇÑ ±¸Á¶¸¦ Á¦°øÇÕ´Ï´Ù. ProcessInstanceName ¼Ó¼ºÀ» ÁöÁ¤ÇÑ °æ¿ì, Ä¿³ØÅÍ´Â ±âÁ¸ ÀνºÅϽº¸¦ ½ÇÇàÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì ÅÛÇø®Æ®ÀÇ »õ ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ÅÛÇø®Æ®´Â ÇÏÀ§ Meta ObjectÀÇ UserId ¼Ó¼ºÀ¸·Î ½Äº°µÇ´Â »ç¿ëÀÚ¿¡°Ô ºÎ¿©µÇ´Â ±ÇÇÑ ÇÏ¿¡¼ ½ÇÇàµË´Ï´Ù. ¼Ó¼ºÀ» ÁöÁ¤ÇÏÁö ¾Ê´Â °æ¿ì, Ä¿³ØÅÍ ±¸¼º µî·Ï Á¤º¸ ApplicationUserIDÀÇ °ªÀÌ ´ë½Å »ç¿ëµË´Ï´Ù. ÅÛÇø®Æ®¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â WebSphere MQ Workflow ÀÀ¿ëÇÁ·Î±×·¥ ¼öÁ¤¿¡ ÀÖ´Â ÃÖ»óÀ§ ·¹º§ Business Object ¹× ³»¿ë ±¸¼ºÀ» ÂüÁ¶ÇϽʽÿÀ.
Ä¿³ØÅÍ´Â ±âÁ¸ ÀÛ¾÷À» Á¦¾îÇÏ´Â ¿äû¿¡ ´ëÇØ ´ÙÀ½ Business Object ¿ë¾î¸¦ Áö¿øÇÕ´Ï´Ù.
Ä¿³ØÅÍ´Â MQ Workflow¿¡¼ ¸Þ½ÃÁö¸¦ ¼ö½ÅÇÒ ¶§¸¶´Ù WfMessageÀÇ
ProgramParameters °ª¿¡¼ Business ObjectÀÇ verb¸¦ ½Äº°ÇÕ´Ï´Ù.
ProgramParametersÀÇ ÅØ½ºÆ®¿¡´Â ¸Þ½ÃÁö¿¡ Æ÷ÇԵǾî ÀÖ´Â Business ObjectÀÇ verb¸¦ ÁöÁ¤ÇÏ´Â name=value ½ÖÀÌ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Delete ¿ë¾î¸¦ ÁöÁ¤Çϱâ À§ÇØ ¿ä¼Ò ÅØ½ºÆ®¿¡´Â name=value ½ÖÀÎ verb=Delete°¡ Æ÷ÇԵ˴ϴÙ.
¹Ý´ë·Î, Ä¿³ØÅÍ´Â ¿äû 󸮿¡ »ç¿ëÇÒ verb¸¦ MQ Workflow¿¡ ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. MQ Workflow¿¡ Business Object¸¦ ¹ßÇàÇÏ´Â °æ¿ì, Ä¿³ØÅÍ´Â Business ObjectÀÇ verb¸¦ ¹«½ÃÇÕ´Ï´Ù. ´ë½Å, Ä¿³ØÅÍ´Â Business Object¸¦ XML·Î º¯È¯ÇÏ°í ³»¿ëÀ» MQ WorkflowÀÇ WfMessage·Î ÅëÇÕÇÕ´Ï´Ù. Business Object°¡ ¹ßÇàµÇ´Â ¿öÅ©Ç÷οì´Â ¼öÇàµÈ Á¶Ä¡(Çù¾÷À¸·Î Business Object¿¡ ÁöÁ¤µÈ verb°¡ ¾Æ´Ô)¸¦ ÆÇº°ÇÕ´Ï´Ù.
MQ Workflow Ä¿³ØÅÍ XML API¸¦ »ç¿ëÇϸé Çù¾÷ÀÌ ¿öÅ©Ç÷οì ÇÁ·Î¼¼½ºÀÇ
»óŸ¦ ¸ð´ÏÅÍÇϰí Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. Ä¿³ØÅͰ¡ ¿öÅ©Ç÷οì Á¶ÀÛÀ»
¼º°øÀûÀ¸·Î Á¦¾îÇϸé, ÇÁ·Î¼¼½º ÀνºÅϽº ¿ÀºêÁ§Æ®(MO_MQWorkflow_ProcessInstance)¸¦ ÇÁ·Î¼¼½ºÀÇ ¼¼ºÎ»çÇ×À¸·Î ä¿ó´Ï´Ù. Ä¿³ØÅÍ´Â app-text°¡ ProcessInstanceÀÎ ¿ÀºêÁ§Æ®¸¦
MO_MQWorkflow_ProcessInstanceÀÇ ÀνºÅϽº·Î °£ÁÖÇÕ´Ï´Ù.
Ä¿³ØÅÍ´Â Business Object¸¦ XML·Î º¯È¯ÇÏ°í ³»¿ëÀ» MQ WorkflowÀÇ WfMessage·Î ÅëÇÕÇÕ´Ï´Ù. Business Object¿¡ ÁöÁ¤µÈ verb°¡ ÇÁ·Î¼¼½º ÀνºÅϽº¿¡¼ ¼öÇàµÇ´Â Á¶Ä¡¸¦ ÆÇº°ÇÕ´Ï´Ù.
XML API¸¦ »ç¿ëÇϸé, Ä¿³ØÅͰ¡ MO_MQWorkflow_ProcessInstance¿¡ ´ëÇØ ´ÙÀ½ verb¸¦ Áö¿øÇÕ´Ï´Ù.
Ä¿³ØÅͰ¡ MQ Workflow¿¡¼ ÁöÁ¤µÈ ÇÁ·Î¼¼½º ÀνºÅϽº¸¦ »èÁ¦ÇÕ´Ï´Ù. ÇÁ·Î¼¼½º ÀνºÅϽº´Â Áغñ, ¿Ï·áµÊ, Á¾·áµÊ »óÅ Áß Çϳª¿©¾ß ÇÕ´Ï´Ù. ÇÁ·Î¼¼½º°¡ ¾ø°Å³ª »èÁ¦ÇÒ ¼ö ¾øÀ¸¸é, Ä¿³ØÅͰ¡ BON_FAILÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾Æ´Ï¸é, Ä¿³ØÅͰ¡ »õ »óÅ·Πä¿öÁø MO_MQWorkflow_ProcessInstance ¿ÀºêÁ§Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
Ä¿³ØÅÍ´Â ¿öÅ©Ç÷οì ÇÁ·Î¼¼½º¸¦ ÀϽÃÁß´ÜÇϱâ À§ÇÑ ¿äûÀ» ¹ßÇàÇϰí, ÇÁ·Î¼¼½º°¡ Á¸ÀçÇÏÁö ¾Ê°Å³ª ÀϽÃÁß´ÜµÉ ¼ö ¾ø´Â °æ¿ì BON_FAILÀ» ¸®ÅÏÇÕ´Ï´Ù. ÇÁ·Î¼¼½º ÀνºÅϽº´Â ½ÇÇà Áß »óÅ¿©¾ß ÇÕ´Ï´Ù. deep ¿É¼ÇÀÌ trueÀ̸é, ÀÚµ¿ÀÌ ¾Æ´Ñ ¸ðµç ¼ºêÇÁ·Î¼¼½ºµµ ÀϽÃÁߴܵ˴ϴÙ. ÇÁ·Î¼¼½º°¡ ¾ø°Å³ª ÀϽÃÁß´ÜµÉ ¼ö ¾øÀ¸¸é, Ä¿³ØÅͰ¡ BON_FAILÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾Æ´Ï¸é, Ä¿³ØÅͰ¡ »õ »óÅ·Πä¿öÁø MO_MQWorkflow_ProcessInstance ¿ÀºêÁ§Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
Ä¿³ØÅͰ¡ ÇÁ·Î¼¼½º ÀνºÅϽº¿Í ÀÚµ¿ÀÌ ¾Æ´Ñ ¸ðµç ¼ºêÇÁ·Î¼¼½º¸¦ Á¾·áÇÕ´Ï´Ù. ½ÇÇà ÁßÀ̰í üũ¾Æ¿ôµÇ°í ÀϽÃÁß´ÜµÈ ¸ðµç
Ȱµ¿ÀÌ Á¾·áµË´Ï´Ù. ÇÁ·Î¼¼½º´Â ½ÇÇà Áß, ÀϽÃÁߴܵÊ, ÀϽÃÁß´Ü Áß »óÅÂÁß Çϳª¿©¾ß ÇÕ´Ï´Ù. ÇÁ·Î¼¼½º°¡ ¾ø°Å³ª Á¾·áµÉ ¼ö ¾øÀ¸¸é,
Ä¿³ØÅͰ¡ BON_FAILÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾Æ´Ï¸é, Ä¿³ØÅͰ¡ »õ »óÅ·Πä¿öÁø
MO_MQWorkflow_ProcessInstance ¿ÀºêÁ§Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
Ä¿³ØÅͰ¡ ¿öÅ©Ç÷οì ÇÁ·Î¼¼½º ÀνºÅϽº¸¦ ´Ù½Ã ½ÃÀÛÇ϶ó´Â ¿äûÀ» ¹ßÇàÇÕ´Ï´Ù. ¿Ï·áµÇ°Å³ª Á¾·áµÈ ÃÖ»óÀ§ ·¹º§ ÇÁ·Î¼¼½º ÀνºÅϽº¸¸ÀÌ ´Ù½Ã ½ÃÀÛµÉ ¼ö ÀÖ½À´Ï´Ù. ÇÁ·Î¼¼½º°¡ ¾ø°Å³ª ´Ù½Ã ½ÃÀÛµÉ ¼ö ¾øÀ¸¸é, Ä¿³ØÅͰ¡ BON_FAILÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾Æ´Ï¸é, Ä¿³ØÅͰ¡ »õ »óÅ·Πä¿öÁø MO_MQWorkflow_ProcessInstance ¿ÀºêÁ§Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
Ä¿³ØÅͰ¡ ÀϽÃÁß´ÜµÈ Ã³¸®³ª ÀϽÃÁß´ÜµÈ ÇÁ·Î¼¼½º ÀνºÅϽº¸¦ Àç°³Ç϶ó´Â ¿äûÀ» ¹ßÇàÇÕ´Ï´Ù. deep ¿É¼ÇÀÌ trueÀ̸é, ÀÚµ¿ÀÌ ¾Æ´Ñ ¸ðµç ¼ºêÇÁ·Î¼¼½ºµµ Àç°³µË´Ï´Ù. ÇÁ·Î¼¼½º°¡ ¾ø°Å³ª Àç°³µÉ ¼ö ¾øÀ¸¸é, Ä¿³ØÅͰ¡ BON_FAILÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾Æ´Ï¸é, Ä¿³ØÅͰ¡ »õ »óÅ·Πä¿öÁø MO_MQWorkflow_ProcessInstance ¿ÀºêÁ§Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
±¸¼º Meta ObjectÀÇ ResponseTimeout ¼Ó¼ºÀÌ 0 ¹Ì¸¸ÀÎ °æ¿ì, Ä¿³ØÅÍ´Â ÀÀ´äÀ» ±â´Ù¸®Áö ¾Ê°í MQ Workflow ¼¹ö¿¡ ¿äûÀ» ¹ßÇàÇÕ´Ï´Ù. ó¸® ½ÇÇà Áß ¿À·ù°¡ ¹ß»ýÇÏ´Â °æ¿ì Çù¾÷¿¡ ¾Ë¸± ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¾ø½À´Ï´Ù. ±×¸² 4´Â »ùÇà ºñµ¿±â ¿äûÀ» º¸¿©ÁÝ´Ï´Ù.
±×¸² 4. MQ Workflow·ÎÀÇ »ùÇà ºñµ¿±â Ä¿³ØÅÍ ¿äû
WfRequest_MyCustomer¸¦ ¼ö½ÅÇÕ´Ï´Ù.
ÇÏÀ§ Meta Object¿¡ À½¼ö°¡ ¾Æ´Ñ ResponseTimeoutÀÌ Á¦°øµÇ°í ExecutionMode ¼Ó¼ºÀÌ AsynchronousÀÎ °æ¿ì, Ä¿³ØÅÍ´Â ¿äûÀ» ¹ßÇàÇϰí Çù¾÷À¸·Î ÇÁ·Î¼¼½º ÀνºÅϽº ID¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÇÁ·Î¼¼½º ÀνºÅϽº ID¸¦ ¼º°øÀûÀ¸·Î ¼ö½ÅÇß´Ù°í ÇØ¼ ÇØ´ç ¿öÅ©Ç÷οì ÇÁ·Î¼¼½º°¡ ¼º°øÀûÀ¸·Î ¿Ï·áµÈ °ÍÀ» ÀǹÌÇÏÁö´Â ¾Ê½À´Ï´Ù. Çù¾÷Àº ÇÁ·Î¼¼½º ÀνºÅϽº ID¿¡ ´ëÇØ ¡ºRetrieve¡»¸¦ ¼öÇàÇÏ¿© »óŸ¦ ÆÇº°ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ´Â Àå±â Æ®·£Àè¼Ç¿¡ À¯¿ëÇÕ´Ï´Ù. ±×¸² 5´Â ÀÌ ÇÁ·Î¼¼½º¸¦ º¸¿©ÁÝ´Ï´Ù.
±×¸² 5. ÇÁ·Î¼¼½º ÀνºÅϽº ID¿¡ ´ëÇÑ »ùÇà ºñµ¿±â Ä¿³ØÅÍ ¿äû
WfRequest_MyCustomer¸¦ ¼ö½ÅÇÕ´Ï´Ù.
ÇÏÀ§ Meta Object¿¡ À½¼ö°¡ ¾Æ´Ñ ResponseTimeout ¼Ó¼ºÀÌ Á¦°øµÇ°í ExecutionMode ¼Ó¼ºÀÌ SynchronousÀÎ °æ¿ì, Ä¿³ØÅÍ´Â µ¿±â ¿äûÀ» ¹ßÇàÇÕ´Ï´Ù. ¿öÅ©Ç÷οì ÇÁ·Î¼¼½º°¡ ¿Ï·áµÈ ÈÄ ¿äûÀÌ ¼º°øÀûÀ¸·Î ¸®Åϵ˴ϴÙ. µ¿±â ¿äû 󸮴 Çù¾÷ÀÌ Çù¾÷À» ½ÃÀÛÇÏ´Â MQ Workflow ÇÁ·Î¼¼½ºÀÇ ¼º°ø ¶Ç´Â ½ÇÆÐ¸¦ ¾Ë¸®´Â °ÍÀ» º¸ÁõÇÕ´Ï´Ù. ´Ü±â Æ®·£Àè¼ÇÀÇ °æ¿ì, µ¿±â 󸮴 ºü¸¥ Çǵå¹éÀ» »ý¼ºÇÏ´Â È¿À²ÀûÀÎ ¹æ¹ýÀÔ´Ï´Ù. ±×¸² 6Àº µ¿±â ¿äûÀ» º¸¿©ÁÝ´Ï´Ù.
±×¸² 6. MQ Workflow·ÎÀÇ »ùÇà µ¿±â Ä¿³ØÅÍ ¿äû