å®å
šã«å€ç«ããããã»ã¹ãã€ãŸã å€éšæ
å ±ãœãŒã¹ã«ã¢ã¯ã»ã¹ããå¿
èŠãªãã¿ã¹ã¯ãå®è¡ããŸããã»ãšãã©ã®å ŽåãBPMNããã»ã¹ã¯ãã®ãããªåŒã³åºãã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã§ãã ããã«ãã¢ããªã±ãŒã·ã§ã³çµ±åãµãŒãã¹ãä»ã®BPMNãŸãã¯BPELããã»ã¹ã«åæçããã³éåæçã«ã¢ã¯ã»ã¹ã§ããŸãã å®éã®ã¿ã¹ã¯ã®å€§éšåã¯ãã¢ãŒããã¯ããšéçºè
ããœãªã¥ãŒã·ã§ã³ã®ãå€éšãäžçãšã®çžäºäœçšãæŽçããåé¡ã«çå£ã«åãçµãããšãå¿
èŠãšããŸãã
Oracle BPMã¯ãç°çš®ã¢ããªã±ãŒã·ã§ã³ããã³ããã»ã¹ããã®è€éãªéä¿¡ç°å¢ããµããŒãã§ãã察話ã¡ã«ããºã ãæäŸããŸããããšãã°ã䞊åã¯ãŒã¯ãããŒã¯ãé²è¡ããã«ã€ããŠäºãã«èªç±ã«ãéä¿¡ãã§ããŸãã T.O. ããŸããŸãªããã»ã¹ã®çžäºäŸåã¿ã¹ã¯ããæ¥ç¶ãã§ãŒã³ãæ§ç¯ãããããã ã¢ãžã¥ã©ãŒã¢ãããŒãã ã¢ãžã¥ã©ãŒã¢ãããŒãã«ããããœãªã¥ãŒã·ã§ã³ã®éçºãšä¿å®ã«ãããæéã倧å¹
ã«ç¯çŽã§ããŸãã ã¢ãžã¥ãŒã«ã¯äºãã«ç¬ç«ããŠéçºããã³ãã¹ãã§ããããã»ã¹ã®ããŸããŸãªéšåã§åå©çšã§ããŸãã
BPMNããã»ã¹ãšBPELããã»ã¹ã®äž¡æ¹ãã¢ãžã¥ãŒã«ãšããŠæ©èœããåå©çšå¯èœãªå®è¡ããžãã¯ãåå¥ã®ã³ã³ããŒãã³ãã«è»¢éããæäŸãããçžäºäœçšã¡ã«ããºã ãéããŠããããšéä¿¡ã§ããŸãã å°æ¥çã«ã¯ããã¹ãŠã®ããã»ã¹ã以åã«å®è£
ãããã¢ãžã¥ãŒã«ã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãšãªãããã®ãããªã¿ã¹ã¯ã®å®è£
ã®äººä»¶è²»ãæå°éã«æããããšããããŸãããã¹ãŠã®äž»ãªæ³šæã¯ãåå©çšãããã³ã³ããŒãã³ãéã®é¢ä¿ãæŽçããããšã«éäžããŸãã ãã®ãããªã³ã³ããŒãã³ãéã®çžäºäœçšã¯ãIPCïŒããã»ã¹ééä¿¡ïŒãšããç¥ç§°ã§ç¥ãããŠããŸããIPCã¯ãã¡ãã»ãŒãžã³ã°ãšããŒã¿åæã®ããŸããŸãªæ¹æ³ãçµã¿åããããã®ã§ãã
ãã®ãããªçžäºäœçšã®äŸãèããŠã¿ãŸãããã Oracle BPMã§ã¯ãããã»ã¹ééä¿¡ã¯äŒè©±ãªã©ã®æŠå¿µã«çµåããããã®å©ããåããŠéä¿¡åå è
éã®çžäºäœçšã®ã·ããªãªã決å®ãããŸãã ããã«ãåå è
ã¯ãBPMNãŸãã¯BPELããã»ã¹ããã¥ãŒãã³ã¿ã¹ã¯ãããžãã¹ã«ãŒã«ãããã»ã¹å€éšã®ãµãŒãã¹ãªã©ããœãªã¥ãŒã·ã§ã³ã®ããŸããŸãªã³ã³ããŒãã³ãã«ããããšãã§ããŸãã
ããã»ã¹ãšä»ã®ããã»ã¹ãŸãã¯ãµãŒãã¹ãšã®ãéä¿¡ãã®ã€ã³ã¿ãŒãã§ãŒã¹ãå®çŸ©ããããŸããŸãªã¿ã€ãã®äŒè©±ããããŸããç¬èªã®ã€ã³ã¿ãŒãã§ãŒã¹ã«ããããšããããã©ã«ãã§äœ¿çšå¯èœã«ããããšãã§ããŸãã 詳现ã«ã€ããŠã¯ã é¢é£ããOracleããã¥ã¡ã³ããåç
§ããŠãã ãã ã ãã®ãã¢ã§ã¯ã2ã€ã®ããã»ã¹éã§ã®ããŒã¿äº€æã«éå®ããŠããããããã®å Žåã¯ããã»ã¹ééä¿¡ã«ããã©ã«ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããŸãã
1.æåã®ããã»ã¹-äž»ãªããã»ã¹ã¯ãã¢ããªã±ãŒã·ã§ã³ã®åŠç段éããšãã¥ã¬ãŒãããŸãã
2. 2çªç®ã®ããã»ã¹-è£å©ãã¢ããªã±ãŒã·ã§ã³ã«é¢ããè¿œå æ
å ±ã®èŠæ±ããšãã¥ã¬ãŒãããŸããããã«ã¯æéããããå Žåããããæ€èšŒã®çµæã¯ã¡ã€ã³ããã»ã¹ã§ããã«ã§ã¯ãªããå®è¡ã®æ®µéã§å¿
èŠã«ãªãå ŽåããããŸãã
ãã®ã·ããªãªã§ãããããã«ãå®è¡æã«çžäºäœçšãã2ã€ã®ããã»ã¹ã®äžŠåå®è¡ãæŽçããå¿
èŠããããŸãã
ããã§ã¯ãJDeveloperç°å¢ãèµ·åããŠã åã®èšäºã§åã«äœæãããµã³ãã«ã¢ããªã±ãŒã·ã§ã³ãéããŸãããã äœæããŠããªãå Žåã¯ãæé ãç¹°ãè¿ããŠäœæããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ããŒã¿ããã§ãã¯ããã¢ã¯ãã£ããã£ããšãã¥ã¬ãŒãããç¹å®ã®ããã¯ã°ã©ãŠã³ãããã»ã¹ã®äœæ¥ããšãã¥ã¬ãŒããã2çªç®ã®ããã»ã¹ãäœæããŸãã
1.ãPubSubPrããããžã§ã¯ããå³ã¯ãªãã¯ãããæ°èŠããªãã·ã§ã³ãéžæããŠãã®ã£ã©ãªãŒããæ°ããããã»ã¹ãBPMN 2.0ããã»ã¹ããäœæããããã®ãã³ãã¬ãŒããéžæããŸãã
2.衚瀺ãããããŠã£ã¶ãŒãããŠã£ã³ããŠã§ãååãšããŠãBackgroundProcessããæå®ããããã»ã¹ã®ã¿ã€ããšããŠãéåæãµãŒãã¹ãïŒéåæçžäºäœçšã€ã³ã¿ãŒãã§ãŒã¹ãæã€ããã»ã¹ïŒãæå®ããŸãã
3.ããã»ã¹ã®å
¥ååŒæ°ïŒå
¥åïŒã«ãã¿ã€ããšããŠãreqProcessããšããååã®å€æ°ãæå®ããå
¬éãµã³ãã«Sales Quote Demoã® Quoteã¹ããŒã ã®xsdã¹ããŒã ããå©çšå¯èœãªQuoteRequestãæå®ããŸãã
4.ããã»ã¹ã®åºååŒæ°ïŒåºåïŒãšããŠãå€æ°ã®åãšããŠãcheckResultããšããååã®å€æ°ãæå®ããããŒã«å€ãæå®ããŸãã
5. [å®äº]ãã¯ãªãã¯ãããšãããã»ã¹ãäœæããæé ãå®äºãããã®äžã«å¿
èŠãªã¢ã¯ãã£ããã£ãäœæãããŸãã
6.ããŒã«åã®checkResultããã»ã¹å€æ°ãäœæããŸãã
7.ãŸããç¹å®ã®é·æã¢ã¯ãã£ããã£ã®ããã©ãŒãã³ã¹ããšãã¥ã¬ãŒãããŸãããã®ããããã¿ã€ããŒãã¢ã¯ãã£ããã£ãããã£ããã€ãã³ããã»ã¯ã·ã§ã³ã®ããã»ã¹ã³ã³ããŒãã³ããã¬ããããããã»ã¹ã«è»¢éããŸãã
8.éãããã€ã¢ãã°ããã¯ã¹ã§ãããã©ã«ãã®ã¢ã¯ãã£ããã£åããã®ãŸãŸã«ããŠãããã«[å®è£
]ã¿ãã«ç§»åããŸããããã§ã¯ã次ã®å³ã®ããã«1åéã®åŸ
æ©æéãæå®ããŸãã
9.ç¹°ãè¿ããŸãããäœããã®ã¢ã¯ãã£ããã£ãå®è¡ããçµæããšãã¥ã¬ãŒãããããã«ããã¹ã¯ãªãããã¢ã¯ãã£ããã£ãã³ã³ããŒãã³ããã¬ããããããã»ã¹å³ã«è»¢éããéããããŠã£ã¶ãŒãããŠã£ã³ããŠã§ããã©ã«ãåã®ãŸãŸãå®è£
ãã¿ãã«ç§»åããããã§ããã»ã¹å€æ°ããtrueãã«åæåããŸãããŒã¿é¢é£ä»ãã®äœ¿çšïŒ
10.ããã»ã¹ããããåŒãèµ·ãããããŒãã£ã«æåŸ
å€ãè¿ãããã«ãããã»ã¹ã®ã¢ã¯ãã£ããã£ããŒã¿ãçµäºãã®ãããã³ã°ãèšå®ããŸãã
ããã§ãè£å©ããã»ã¹ã®äœæãå®äºããŸããã ããã§ãã¡ã€ã³ããã»ã¹ã«å¿
èŠãªå€æŽãå ããè£å©ããã»ã¹ãšã®å¯Ÿè©±ãæ§æããŸãã ã¡ã€ã³ããã»ã¹ã®ããŒã¹ãšããŠããPubSubPrããããžã§ã¯ãã«æ¢ã«ååšããããã»ã¹ãProcessããååŸãã次ã®æé ãé çªã«å®è¡ããŸãã
1.ããã»ã¹ã®éå§ã¿ã€ãããã¡ãã»ãŒãžãã«å€æŽããã¡ãã»ãŒãžã亀æããããã®æ°ããã€ã³ã¿ãŒãã§ãŒã¹ãå®çŸ©ããã¿ã€ããQuoteRequestããæäœåãšããŠquoteRequestå€æ°ãæå®ãããstartããæå®ããŸãã
2.åŒæ°å€æ°ã®ããŒã¿ãšããã»ã¹å€æ°ã®ãããã³ã°ãèšå®ããŸãã
3.次ã«ããããã åŸã§è£å©ããã»ã¹ãšå¯Ÿè©±ããããã«äœ¿çšãããäŒè©±ãããã»ã¹æ§é ã§ããäŒè©±ãããŒããå³ã¯ãªãã¯ããŠãæ°èŠããéžæããŸãã
4.éãããŠã£ã³ããŠã§ã察話ã®ã¿ã€ããšããŠãProcess_BackgroundProcessããšããååãå²ãåœãŠããProcess Callããæå®ããŸãããã®åŸãåŒã³åºãããããã»ã¹ãéžæããæ©äŒãããããBackgroundProcessããéžæããŸãã
5.ãThrowEventãã¢ã¯ãã£ããã£ãããã»ã¹ã«è»¢éããŸããããã«ãããè£å©ããã»ã¹ãåŒã³åºãããäœæããã°ããã®ãProcess_BackgroundProcessãããConversationããšããŠéžæããããStartããåŒã³åºãããããŒããšããŠéžæãããŸãã
ãã®åŸãããŒã¿ãããã³ã°ã瀺ããŸãã
6.ããã§ããCatchEventãã¢ã¯ãã£ããã£ãããã»ã¹ã«è»¢éããããã»ã¹ãè£å©ããã»ã¹ã®çµæãåŸ
æ©ãããŸã§å°éããããäŒè©±ãšããŠãProcess_BackgroundProcessããéžæããåŒã³åºãããããŒããšããŠãçµäºããéžæããŸãã
ã¢ã¯ã·ã§ã³ãå®äºããããããã»ã¹ã®çµæãcheckResultããã»ã¹å€æ°ã«ã³ããŒããŸãïŒååšããªãå Žåã¯äœæããŸãïŒã
7.次ã«ãããã»ã¹å³èªäœãå°ãå€æŽããŠããã®äžã®ã¢ã¯ã·ã§ã³ããšãã¥ã¬ãŒãããäžã®å³ã«åŸã£ãŠå€æŽããå¿
èŠããããŸãïŒããã»ã¹å
ã®ãã¹ãŠã®ã¢ã¯ãã£ããã£ã¯ãããã©ããããšããŠããŒã¯ããã察å¿ããã¢ã¯ãã£ããã£ãã©ã°ã¯ããã©ããã§ããïŒã
ReviewTaskã¿ã¹ã¯ã«ã€ãªãããæ¡ä»¶ä»ãããã©ã³ãïŒèµ€ã§åŒ·èª¿è¡šç€ºïŒã«ãé·ç§»æ¡ä»¶ãæå®ããŸãã
å®è¡ãããã¢ã¯ã·ã§ã³ã®çµæãçžäºäœçšãã2ã€ã®ããã»ã¹ã§æ§æããããã¹ãå¯èœãªãããžã§ã¯ããåãåããŸããã JDeveloperã«çµ±åãããŠããWeblogicã¢ããªã±ãŒã·ã§ã³ã»ãµãŒããŒã«ãããã€ããŠã¿ãŸãããã ãããè¡ãã«ã¯ããããžã§ã¯ããPubSubPrããå³ã¯ãªãã¯ãããå®è¡ããªãã·ã§ã³ãéžæããŸãã
JDeveloperã«çµ±åãããweblogicãµãŒããŒã«ã¢ããªã±ãŒã·ã§ã³ããããã€ããåŸããã¹ããéå§ã§ããŸãã localhostïŒ7101 / emã§Enterprise Managerã·ã¹ãã ç£èŠã³ã³ãœãŒã«ãéãããããã€ãããã¢ããªã±ãŒã·ã§ã³PubSubPrãéããŠããã¹ãçšã®Process.service WebãµãŒãã¹ãéžæããŸãã
ãã®åŸãå®è¡äžã®ããã»ã¹ã€ã³ã¹ã¿ã³ã¹ã®å±¥æŽã確èªããŸãã
å®äºããããã»ã¹ã€ã³ã¹ã¿ã³ã¹ã®å®è¡å±¥æŽã確èªããŸãã
ããã§ãThrowEventã¢ã¯ãã£ããã£ããã»ã¹ã®ããŒã¯ã³ãæž¡ãç¬éïŒãã®å Žåãã¢ã¯ãã£ããã£ã®å®è¡æéã¯ã13:50:14ãã§ãïŒã«ããBackgroundProcessãããã»ã¹ãåŒã³åºãããïŒéå§æéã13:50:15ãïŒããšãããããŸãã
次ã«ãããã€ãã®æé ãå®äºããåŸãã¡ã€ã³ããã»ã¹ãProcessãã¯ãCatchEventãã¢ã¯ãã£ããã£ã§ãBackgroundProcessããå¿çãè¿ããŸã§1åéåŸ
æ©ãããã®åŸå®è¡ãç¶ããŸããã
ãŸããJDeveloperã®ããã»ã¹éçºã®æ®µéã§ããã»ã¹ã®çžäºäœçšã®å³ãèŠèŠçã«èŠãããšãã§ããŸãã [ã³ã©ãã¬ãŒã·ã§ã³]ã¿ãã®ã¡ã€ã³ããã»ã¹ã¢ãã«ã®BPMNå³ã§å©çšã§ããŸãã