µÚÒ»²¿·Ö ×¼±¸Æª
¹¤×÷Á÷£¨Work Flow£©ÒýÇæ±»¹ã·ºÓ¦ÓÃÓÚ¸÷ÖÖÐÅÏ¢»¯ÏµÍ³ÖУ¬½«Ô±¾É¢ÂÒÉõÖÁ»ìÂÒµÄÒµÎñÊáÀíºóÖÆ¶¨³ÉÒµÎñ¹æ·¶Á÷³Ì£¬½ø¶øÔ¼ÊøÒµÎñµÄ¹æ·¶»¯´¦ÀíºÍÔËת¡£ÐèÇóÈËÔ±¡¢¿ª·¢ÈËÔ±¹²Í¬Ð×÷ÖÆ¶¨ÁË·ûºÏBPMN
2.0¹æ·¶µÄÁ÷³Ì¶¨Ò壬֮ºó½«Æä²¿Êðµ½¹¤×÷Á÷ÒýÇæÖУ¬ÓÉËü×Ô¶¯Çý¶¯ÒµÎñÁ÷³ÌµÄ½øÐС£
±¾²¿·Ö×÷Ϊ׼±¸Æª£¬µÚ1ÕÂÏȽéÉÜÁËʲôÊÇActiviti¼°ÆäÀúÊ·±³¾°£¬È»ºó½éÉܹ¤×÷Á÷¡¢BPM¡¢BPMNµÈ¸ÅÄʹ³õ´Î½Ó´¥¹¤×÷Á÷µÄ¶ÁÕßÄÜ¿ìËÙÈÏʶÏà¹Ø¸ÅÄî¼°¸÷Öֹ淶¡£µÚ2ÕÂÄÚÈݴӴ¿ª·¢»·¾³¿ªÊ¼£¬Ö®ºóÓÖ½éÉÜÁËActivitiµÄHello
World£¬°ïÖú¶ÁÕß¿ìËÙÈëÃÅ¡£
ºÜ¶àÈ˶Թ¤×÷Á÷£¨Workflow£©Ó¦¸Ã²»Ä°Éú¡£Éú»îÖе½´¦¶¼ÊÇ»îÉúÉúµÄ¡°Á÷¡±£ºÔÚµ¥Î»ÒªÇë¼Ù£¬Ê×ÏÈÒªÕÒÁìµ¼ÉóÅú£¬ÔÚÁìµ¼ÉóÅúͨ¹ýÖ®ºóÉêÇë²Å»ñ×¼£»´ÓÍøÉϹºÎϵ¥µÄÄÇÒ»¿Ì¾ÍÒѾ´¥·¢ÁËÒ»Ìõ¹¤×÷Á÷£¬´Ëʱ¿ÉÒÔ¸ú×Ù¹ºÎïÁ÷³Ì£¬Ê²Ã´Ê±¼äϵ¥¡¢Ê²Ã´Ê±¼ä¸¶¿î¡¢Ê²Ã´Ê±ºò·¢»õ¡¢Ê²Ã´Ê±ºòÊÕµ½»õ£¬ÔÚ¿ìµÝµ¥ÉÏÇ©×ÖµÄʱºò²ÅµÈÓÚÒ»Ìõ¹¤×÷Á÷³Ì½áÊøÁË¡£
¹¤×÷Á÷Ó¦Óù㷺£¬ÔÚÓÉÈÎÎñÇý¶¯µÄ¸÷ÖÖϵͳÖж¼Äܼûµ½ËüµÄÉíÓ°£¬ÀýÈ磬CRM¡¢ERP¡¢ECM¡¢BI¡¢OAµÈ¡£ÔÚÆóÒµÓ¦ÓÃÖл¹Óкܶà²úÆ·»òƽ̨¼¯³É¹¤×÷Á÷ÒýÇæ£¬ÓÃÀ´´¦ÀíϵͳÔËÐйý³ÌÖз¢ÆðµÄÒµÎñÁ÷³Ì¡£
¹¤×÷Á÷×ÜÊÇÒÔÈÎÎñ£¨Task£©µÄÐÎʽÇý¶¯ÈË´¦ÀíÒµÎñ»òÕßÇý¶¯ÒµÎñϵͳ×Ô¶¯Íê³É×÷Òµ¡£ÓÐÁ˹¤×÷Á÷ÒýÇæÖ®ºó£¬ÎÒÃDz»±ØÒ»Ö±µÈ´ýÆäËûÈ˵Ť×÷½ø¶È£¬Ö±°×µØËµ£¬ÎÒÃÇÖ»ÐèÒª¹ØÐÄϵͳÊ×Ò³µÄ´ý°ìÈÎÎñÊý¼´¿É£¬ÓÉϵͳÌáÐѵ±Ç°ÓжàÉÙ´ý°ìÈÎÎñÐèÒª´¦Àí¡£
1.1 ʲôÊÇActiviti
´ó¼ÒµÚÒ»´Î½Ó´¥ActivitiµÄʱºò²»Àí½âËüΪʲôҪ½ÐÕâ¸öÃû×Ö£¬´Ó´ÊµäÖÐҲûÓÐÕÒµ½¶ÔËüµÄ½âÊÍ¡£¿ÉÄÜÓÐÈË»áÏëµ½ÁíÍâÒ»¸öµ¥´ÊActivity£¨»î¶¯£©£¬ÓëActiviti½öÒ»¸ö×Öĸ֮²î¡£ÔÚ¹¤×÷Á÷·½ÃæÓÐЩ»ù´¡µÄ¶ÁÕß»òÐíÄܺܿìÀí½â£¬ÒµÎñÁ÷³ÌÓɶà¸ö»·½Ú´®ÁªÆðÀ´²¢ÇÒÿ¸ö»·½Ú±»¸³ÓèÈÎÎñ£¬¶øÃ¿¸öÈÎÎñÓÖ¿ÉÒÔ·ÖΪ¶à¸ö»î¶¯¡£¾Ù¸öÈÕ³£µÄÀý×Ó¡ªÍøÉϹºÎïµÄϵ¥»·½Ú£¬Ê×ÏÈÐèÒªËÑË÷µ½Òª¹ºÂòµÄÉÌÆ·£¬È»ºó½«Æä¼ÓÈëµ½¹ºÎï³µ£¬×îºóϵ¥ÌîдÓʼĵØÖ·²¢¸¶¿î¡£Õâ¸öÀý×ÓÖеÄÿһ¶¯×÷¶¼¿ÉÒÔ³ÆÎª»î¶¯£¨Activity£©£¬Ò²¾ÍÊÇÒµÎñÁ÷³ÌÖÐ×îСµÄ×é³É²¿·Ö¡£¶à¸ö»î¶¯ÔÚÓ¢ÎÄÖп϶¨ÒªÓø´ÊýÐÎʽ£¬¼´Activities£»×îºóÒÔ¸´Êý»¯¼òµÄ·½Ê½±êʾ»î¶¯µÄ¼¯ºÏ£¬ÒÔ´ËÀ´Ú¹ÊÍActivitiÓ빤×÷Á÷µÄÄ¿µÄÓëÉè¼Æ¡£
´ËÏîÄ¿ÊÇTom Bayen£¨jBPM´´Ê¼ÈË£©×Ô2010ÄêÀ뿪jBoss¼ÓÈëAlfresco¹«Ë¾ºóµÄÓÖÒ»Á¦×÷£ºµÚÒ»°æÔÚ2010Äê5Ô·¢²¼£¬µ±Ê±½öÖ§³Ö×î¼òµ¥µÄÁ÷³Ì´¦Àí£¬Ö®ºóµÄ°æ±¾Â½ÐøÍêÉÆÁ˶ÔBPMN
2.0¹æ·¶µÄÖ§³Ö¡£
ÖµµÃÒ»ÌáµÄÊÇ£¬²ÎÓëÏîÄ¿¿ª·¢µÄ³ýÁËTom BayenºÍÊ®¼¸Î»ºËÐÄ¿ª·¢ÈËÔ±Ö®Í⣬»¹ÓÐÆäËû¹«Ë¾µÄÔ±¹¤²ÎÓ룬ÀýÈ磬SpringSource¡¢MuleSoft¡¢Salves¡¢Signavio¡¢FuseSource¡¢NextLevelµÈ¡£
ActivitiÊÇÒ»¸öÕë¶ÔÆóÒµÓû§¡¢¿ª·¢ÈËÔ±¡¢ÏµÍ³¹ÜÀíÔ±µÄÇáÁ¿¼¶¹¤×÷Á÷ÒµÎñ¹ÜÀíÆ½Ì¨£¬ÆäºËÐÄÊÇʹÓÃJava¿ª·¢µÄ¿ìËÙ¡¢Îȶ¨µÄBPMN2.0Á÷³ÌÒýÇæ¡£ActivitiÊÇÔÚApacheV2Ðí¿ÉÏ·¢²¼µÄ£¬¿ÉÒÔÔËÐÐÔÚÈκÎÀàÐ͵ÄJava³ÌÐòÖУ¬ÀýÈç·þÎñÆ÷¡¢¼¯Èº¡¢ÔÆ·þÎñµÈ¡£Activiti¿ÉÒÔÍêÃÀµØÓëSpring¼¯³É¡£Í¬Ê±£¬»ùÓÚ¼òԼ˼ÏëµÄÉè¼ÆÊ¹Activiti·Ç³£ÇáÁ¿¼¶¡£
ActivitiÓÐ×Å»îÔ¾µÄÉçÇø£¬¶øÇÒÔ½À´Ô½¶àµÄÆóÒµ¶¼Ñ¡ÔñActiviti×÷Ϊ×Ô¼ºµÄÁ÷³ÌÒýÇæ»òÕß½«ÆäǶÈëµ½×Ô¼ºµÄϵͳƽ̨ÖУ¨ÀýÈçESB£©¡£
1.2 ¹¤×÷Á÷»ù´¡
1.2.1 ʲôÊÇBPM
BPMÊÇBusiness Process ManagementµÄËõд£¬ÖÐÎĺ¬ÒåÊÇÒµÎñÁ÷³Ì¹ÜÀí£¬ÊÇÒ»Ì×´ï³ÉÆóÒµ¸÷ÖÖÒµÎñ»·½ÚÕûºÏµÄÈ«Ãæ¹ÜÀíģʽ¡£
BPMÊÇΪÁËʵÏÖÒ»¶¨µÄ¾ÓªÄ¿µÄ¶øÖ´ÐеÄһϵÁÐÂß¼Ïà¹ØµÄ»î¶¯µÄ¼¯ºÏ¡£ÒµÎñÁ÷³ÌµÄÊä³öÊÇÂú×ãÊг¡ÐèÒªµÄ²úÆ·»ò·þÎñ¡£¸ù¾Ý¹¦ÄÜ¡¢¹ÜÀí·¶Î§µÈµÄ²»Í¬£¬ÆóÒµÁ÷³Ì¹ÜÀíÒ»°ã·ÖΪÉú²úÁ÷³Ì²ã¡¢ÔË×÷²ã¡¢¼Æ»®²ãºÍÕ½ÂÔ²ãËĸö²ã´Î¡£BMPÊǸù¾ÝÒµÎñ»·¾³µÄ±ä»¯£¬ÍƽøÈËÓëÈËÖ®¼ä¡¢ÈËÓëϵͳ֮¼ä£¬ÒÔ¼°ÏµÍ³Óëϵͳ֮¼äµÄÕûºÏ¼°µ÷ÕûµÄ¾Óª·½·¨Óë½â¾ö·½°¸µÄIT¹¤¾ß¡£
BPM×îÔçÊÇÓɹ¤×÷Á÷ºÍÆóÒµÓ¦Óü¯³É£¨Enterprise Application Intergration£©Öð²½Èں϶ø·¢Õ¹ÆðÀ´µÄ£¬µ±Ê±ÊÇΪÁËÂú×ãÎÞÖ½»¯°ì¹«ÐèÇó£¨ÕâÒ²ÊÇ×îÔçµÄÐèÇóÖ®Ò»£©¡£±ÊÕßÔçÆÚ²ÎÓëOAϵͳ¿ª·¢Ê±Ôø¾¼ûµ½¹ý¡°ÔʼµÄ¡±¹¤×÷Á÷¡ªÃ»Óй¤×÷Á÷ÒýÇæ£¬Õû¸öÁ÷³Ì¾ùʹÓÃһϵÁе¥¶ÀΪ²»Í¬ÈÎÎñ½ÚµãÉè¼ÆµÄÒ³Ãæ´®ÁªÆðÀ´£¬Íê³ÉÒ»¸ö½ÚµãºóÔÚÊý¾Ý¿â±ê¼Çµ±Ç°ÈÎÎñµÄÃû³Æ£¬ÒÔ´Ë×öµ½¡°Á÷³ÌÇý¶¯¡±¡£
Ëæ×Åʱ¼äµÄÍÆÒÆ£¬BPMµÄ¶¨Ò巶ΧÖð²½À©Õ¹£¬²»½öÓÃÀ´Âú×ãÎÞÖ½»¯°ì¹«ÐèÇó£¬ÏÖÔÚBPMÊÇÒ»ÖÖÆóÒµ¼¯³É¼¼Êõ£¬×÷Ϊ¶ÔÃæÏò·þÎñϵͳ¼Ü¹¹SOA£¨Service-Oriented
Architecture£©¡¢ÆóÒµÓ¦Óü¯³ÉEAI (Enterprise Application Integration)¡¢ÆóÒµ·þÎñ×ÜÏßESB£¨Enterprise
Service Bus£©µÄ²¹³ä¡£
´Ó¸ÅÄîÉÏÀ´Ëµ£¬BPM°üº¬Á½¸ö²»Í¬·½ÃæµÄÒâ˼£º¹ÜÀí¹æ·¶ºÍÈí¼þ¹¤³Ì¡£¸÷´óBPM¹©Ó¦É̳¤ÆÚÒÔÀ´ÊÔͼ³éÏóÕâÁ½¸ö²»Í¬µÄ·½Ã棬µ«ÊÇÒÀÈ»»ìÂÒ¡£
×÷Ϊ¹ÜÀí¹æ·¶£¬BPMÊÇÿһ¸öÕ½ÂÔ¹ÜÀíÕßµÄÔðÈΡ£BPMÊÇ×éÖ¯±ØÐëÖ´ÐеĺËÐÄÒµÎñÁ÷³Ì£¬°üº¬ÁËÆóÒµ¼ÛÖµºÍÈçºÎÌṩÆäʵÏÖ¡£×÷ΪÈÕ³£¹¤×÷µÄÒ»²¿·Ö£¬ÒµÎñϵͳ¿ÉÒÔ½èÖúÄ£ÐͺÍÁ÷³Ì¹æ·¶µØ¶¨ÒåÒµÎñÁ÷³Ì¡£BPMÁ÷³Ìͼ±í´ïµÄÊÇÖ´ÐÐÁ÷³ÌµÄ²½Ö裬ÒÑÍê³ÉÌØ¶¨Ä¿±ê¡£Ìرð˵Ã÷µÄÊÇÕâЩģÐÍÓÃÓÚÈËÓëÈ˵ŵͨ¡£ÕâЩ¶¼ÊÇÚ¹ÊÍδ¾öµÄ£¬ÕâÒâζ×ÅËüÃÇ¿ÉÒÔ°üº¬¸ü¸ß¼¶±ðÓмÛÖµµÄÐÅÏ¢¶ø²»°üÀ¨²»±ØÒªµÄϸ½Ú¡£ÕâÖÖÚ¹ÊÍδ¾öµÄ¹ý³ÌÄ£ÐÍÒ²±»³ÆÎª³éÏóÒµÎñÁ÷³Ì£¨Abstract
Business Processes.£©¡£
BPM×÷ΪÈí¼þ¹¤³Ìʱ¿ÉÒÔÓÉBPMϵͳ£¨BPMS£©Ö´ÐпÉÖ´ÐеÄÒµÎñÁ÷³Ì¡£¿ÉÖ´ÐеÄÒµÎñÁ÷³ÌÊÇÔÚÒ»¸öÁ÷³Ì»ù´¡Éϱíʾ²»Í¬µÄÁ÷³Ì˳Ðò¡£Á÷³ÌͼÍêÈ«¿ÉÒÔ¿´×öÒ»¸ö³éÏóµÄÒµÎñÁ÷³Ì¡£¿ÉÖ´ÐÐÁ÷³Ì²»Í¬ÓÚ³éÏóÒµÎñÁ÷³Ì£¬ÒòΪËü×ÜÊÇÒÔ×î¼òµ¥µÄ·½Ê½ÔËÐС£Õⲿ·ÖÄÚÈÝÒ²ÊDZ»´ó¶àÊý³§ÉÌÈÏͬ²¢½ÓÊܵġ£
1.2.2 ¹¤×÷Á÷ÉúÃüÖÜÆÚ
Ò»¸öÍêÕûµÄ¹¤×÷Á÷ÉúÃüÖÜÆÚ»á¾¹ý5²½£¬²¢ÇÒµü´úÑ»·£¬Èçͼ1-1Ëùʾ¡£

¶¨Ò壺¹¤×÷Á÷ÉúÃüÖÜÆÚ×ÜÊÇ´ÓÁ÷³Ì¶¨Ò忪ʼ¡£´Ë½×¶ÎµÄÈÎÎñÖ÷ÒªÊÇÊÕ¼¯ÒµÎñÐèÇó²¢×ª»¯ÎªÁ÷³Ì¶¨Òå¡£Ò»°ãÓÉÒµÎñÐèÇóÈËÔ±½øÐУ¬È»ºó½»ÓÉ¿ª·¢ÈËÔ±¼Ó¹¤×ª»¯Îª¼ÆËã»ú¿ÉÒÔʶ±ðµÄÁ÷³Ì¶¨Òå¡£
·¢²¼£ºÓÉ¿ª·¢ÈËÔ±´ò°ü¸÷ÖÖ×ÊÔ´£¬È»ºóÔÚϵͳ¹ÜÀí£¨Æ½Ì¨£©Öз¢²¼Á÷³Ì¶¨Òå¡£ÔÚ¾ßÌåµÄÁ÷³ÌÒýÇæÖаüÀ¨Á÷³Ì¶¨ÒåÎļþ£¨bpmn20.xml½á⣩¡¢×Ô¶¨Òå±íµ¥¡¢ÈÎÎñ¼àÌýÀà¡£
Ö´ÐУº¾ßÌåµÄÁ÷³ÌÒýÇæ£¨ÀýÈ磬Activiti£©°´ÕÕÊÂÏȶ¨ÒåµÄÁ÷³Ì´¦Àí·ÏßÒÔÈÎÎñÇý¶¯µÄ·½Ê½Ö´ÐÐÒµÎñÁ÷³Ì¡£
¼à¿Ø£º´Ë½×¶ÎÊÇÒÀÀµÖ´Ðн׶Ρ£ÒµÎñÈËÔ±ÔÚ°ìÀíÈÎÎñµÄͬʱÊÕ¼¯Ã¿¸öÈÎÎñ£¨Task£©µÄ½á¹û£¬È»ºó¸ù¾Ý½á¹û×ö³öÏàÓ¦´¦Àí£¬ÀýÈ磬Ôڲɹº°ì¹«ÓÃÆ·Á÷³ÌÖУ¬ÔÚͨ¹ýÁìµ¼ÉóÅúÖ®ºó£¬²É¹ºÈËÔ±¾ÍÒª¸ù¾ÝÉêÇëµ¥Íâ³ö²É¹º¡£
ÓÅ»¯£ºÔڴ˽׶Σ¬Ò»¸öÍêÕûµÄÁ÷³ÌÒѾ½áÊø£¬»òÐíÄÜÂú×ãÒµÎñÐèÇ󣬻òÐíÐèÒªÓÅ»¯£¬¶øÔã¸âµÄÇé¿öÊÇÐèÒªÖØÐÂÉè¼Æ£¨Á÷³Ìû½áÊø¾ÍÒì³£ÖÕÖ¹£©£¬ÓÅ»¯ÓëÉè¼ÆÕýÊǴ˽׶ÎÐèÒª´¦ÀíµÄ¡£¸ù¾ÝÕû¸öÁ÷³ÌµÄÔËÐйý³Ì½á¹û·ÖÎöÎÊÌâµÄ¸ùÔ´£¬È»ºóÔÚ´Ë»ù´¡ÉϽøÒ»²½¸Ä½ø£¬²¢ÔٴοªÊ¼Ò»¸öеÄÖÜÆÚ¡£
1.2.3 ʲôÊÇBPMN
Business Process Modeling Notation£¬¼ò³ÆBPMN£¬ÖÐÎÄÒëΪҵÎñÁ÷³Ì½¨Ä£±ê×¢£¬ÊÇÓÉBPMN±ê×¼×éÖ¯·¢²¼µÄ£¬ÆäµÚÒ»°æBPMN
1.0¹æ·¶ÓÚ2004Äê5Ô·¢²¼¡£¾¹ý¶àÄêµÄ¸Ä½øÐµĹ淶BPMN 2.0ÓÚ2011Äê·¢²¼¡£Ö®ºó¸÷´ó³§ÉÌ¡¢¿ªÔ´ÉçÇø¾ù»ùÓÚ2.0¹æ·¶Éè¼Æ×Ô¼ºµÄÁ÷³ÌÒýÇæ£¬½áÊøÁ˸÷¸ö³§ÉÌ¡°¸÷×ÔΪÕþ¡±µÄ¾ÖÃæ£¬ÏàÓ¦µØÍ³Ò»Á˱ê×¼£¬´Ó¶øÀûÓÚÒÔºóµÄ²úÆ·Ç¨ÒÆ¡£
BPMN¶¨ÒåÁËÒµÎñÁ÷³Ìͼ£¬Æä»ùÓÚÁ÷³Ìͼ¼¼Êõ£¬Í¬Ê±¶Ô´´½¨ÒµÎñÁ÷³Ì²Ù×÷µÄͼÐλ¯Ä£ÐͽøÐÐÁ˲üõ¡£ÒµÎñÁ÷³ÌµÄÄ£Ð;ÍÊÇͼÐλ¯¶ÔÏóµÄÍøÍ¼£¬°üÀ¨»î¶¯£¨Ò²¿ÉÒÔ˵¹¤×÷£©ºÍ¶¨Òå²Ù×÷˳ÐòµÄÁ÷¿ØÖÆ¡£
ÔÚBPMN 1.x°æ±¾ÖеÄһЩ¸ÅÄÈçÈ˹¤ÈÎÎñ¡¢¿ÉÒÔÖ´Ðнű¾¡¢×Ô¶¯¾ö²ßµÈ£¬¶¼ÊǶÀÁ¢ÓÚ¹©Ó¦É̵ĿÉÊÓ»¯±ê×¼»¯µÄ·½Ê½¡£ÔÚBPMN
2.0¹æ·¶ÖÐÖØµã¾Û½¹ÔÚÈçºÎÖ´ÐÐÓïÒåºÍÒ»¸ö±»Òµ½çÈϿɵÄͨÓý»»»¸ñʽ¡£ÕâÒâζ×Å»ùÓÚBPMN 2.0µÄÁ÷³Ì½¨Ä£²»½öÔÚÁ÷³ÌÉè¼ÆÆ÷ÉÏ¿ÉÒÔͨÓ㬻¹¿ÉÒÔÔÚÈκηûºÏBPMN
2.0¹æ·¶µÄÁ÷³ÌÒýÇæÉÏÖ´ÐС£
¹ØÓÚBPMNµÄϸ½ÚÄÚÈÝÓкܶ࣬¹Ù·½Îĵµ×ã×ãÓÐ500¶àÒ³£¬±¾Êé»áÔÚµÚ4Õ½éÉÜActivitiÖ§³ÖµÄBPMN
2.0¹æ·¶ÒÔ¼°ActivitiÔÚBPMN 2.0¹æ·¶»ù´¡ÉϵÄÀ©Õ¹¡£¹ØÓÚBPMNµÄÆäËûÄÚÈݱ¾Êé¾Í²»Ò»Ò»ÁоÙÁË£¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔ×ÐϸÔĶÁ¹Ù·½Îĵµ¡£
1.3 ActivitiµÄÌØµã
1. Êý¾Ý³Ö¾Ã»¯
ActivitiµÄÉè¼ÆË¼ÏëÊǼò½à¡¢¿ìËÙ¡£ÓйýÓ¦Óÿª·¢¾ÑéµÄ¿ª·¢ÈËÔ±¶¼ÖªµÀÓ¦ÓÃµÄÆ¿¾±ÌåÏÖÔÚºÍÊý¾Ý¿â½»»»Êý¾ÝµÄ¹ý³ÌÖУ¬Õë¶ÔÕâÒ»µãActivitiÑ¡ÔñÁËʹÓÃMyBatis£¬´Ó¶ø¿ÉÒÔͨ¹ý×îÓŵÄSQLÓï¾äÖ´ÐÐCommand£¬½öƾÈç´Ë¾ÍÄÜÈÃÒýÇæÔÚËÙ¶ÈÉϱ£³Ö×î¸ßµÄÐÔÄÜ¡£
2. ÒýÇæService½Ó¿Ú
ActivitiÒýÇæÌṩÁËÆß´óService½Ó¿Ú£¬¾ùͨ¹ýProcessEngine»ñÈ¡£¬²¢ÇÒÖ§³ÖÁ´Ê½API±à³Ì·ç¸ñ¡£±í1-1¼òµ¥ÁгöÆß¸öService½Ó¿Ú¼°Æä×÷Ó㬾ßÌåʹÓûáÔÚºóÃæµÄÕ½ÚÂ½Ðø½éÉÜ¡£
±í1-1ActivitiÒýÇæµÄÆß´óService½Ó¿Ú

3. Á÷³ÌÉè¼ÆÆ÷
ÔÚjBPM4ʱ´úÓÐרÃŵÄEclipse²å¼þ¿ÉÒÔÓÃÀ´Éè¼ÆjPDL£¬Í¬ÑùActivitiÍŶÓҲרÃÅÉè¼ÆÁËÓÃÀ´Éè¼ÆBPMN
2.0¹æ·¶µÄÁ÷³ÌÉè¼ÆÆ÷¡ªEclipse Designer¡£´ËÍ⻹ÓÐSignavio¹«Ë¾ÎªActiviti¶¨ÖƵĻùÓÚWebµÄActiviti
ModelerÁ÷³ÌÉè¼ÆÆ÷¡£
4. ÔÉúÖ§³ÖSpring
ActivitiÔÉúÖ§³ÖSpring£¬ÕâÒ»µã¶ÔÆóÒµÓ¦ÓÃÀ´ËµÓÈÎªÖØÒª£º¿ÉÒÔºÜÇáËɵؽøÐÐSpring¼¯³É£¬·Ç³£·½±ã¹ÜÀíÊÂÎñºÍ½âÎö±í´ïʽ£¨Expression£©¡£
5. ·ÖÀëÔËÐÐʱÓëÀúÊ·Êý¾Ý
Activiti¼Ì³Ð×ÔjBPM4£¬ÔÚ±í½á¹¹Éè¼Æ·½ÃæÒ²×ñÑÔËÐÐʱÓëÀúÊ·Êý¾ÝµÄ·ÖÀ룬ÕâÑùµÄÉè¼Æ¿ÉÒÔ¿ìËÙ¶ÁÈ¡ÔËÐÐʱÊý¾Ý£¬½öµ±ÐèÒª²éѯÀúÊ·Êý¾ÝʱÔÙ´ÓרÃŵÄÀúÊ·Êý¾Ý±íÖжÁÈ¡¡£ÕâÖÖÉè¼Æ·½Ê½¿ÉÒÔ´ó·ùÌá¸ßÊý¾ÝµÄ´æÈ¡Ð§ÂÊ£¬ÓÈÆäÊǵ±Êý¾ÝÈÕ»ýÔÂÀÛʱÒÀÈ»Äܹ»¿ìËÙ·´Ó¦¡£
1.4 ActivitiµÄÓ¦ÓÃ
ĿǰActivitiÔÚ¹úÍâÒѱ»ºÜ¶à³§ÉÌËùʹÓã¬ÉõÖÁÓÐÈËרÃųÉÁ¢Á˹«Ë¾À´ÅàѵActivitiµÄʹÓá£ActivitiÔÚ¹úÄڵķ¢Õ¹ÕýÔÚ³ÊÖ±ÏßÇ÷ÊÆÉÏÉý£¬ÒѾ³ÉÁ¢ÁËÓɺܶàÈÈÐĵļ¼Êõ°®ºÃÕß²ÎÓëµÄ¼¼ÊõÉçÇø¡£Ä¿Ç°£¬ºÜ¶àÐÂÏîÄ¿¡¢Ð²úÆ·¶¼¿ªÊ¼²ÉÓÃActiviti×÷ΪÐÂÒ»´ú¹¤×÷Á÷ÒýÇæ¡£
1. ÔÚϵͳ¼¯³É·½ÃæÓ¦ÓÃ
ÓëESB£¨Enterprise Service Bus£¬ÆóÒµ·þÎñ×ÜÏߣ©ÕûºÏ£¬ÀýÈçMule¡£
Óë¹æÔòÒýÇæ£¨Rule Engine£©ÕûºÏ£¬ÀýÈçJBoss Drools¡£
ǶÈëÒÑÓÐϵͳƽ̨£¬ÀýÈ磬ºÜ¶à¹«Ë¾¶¼¿ª·¢ÁË×Ô¼ºµÄϵͳƽ̨£¬ÔÚÆäÖÐǶÈëActiviti×÷Ϊƽ̨µÄÒ»²¿·Ö¡£
2. ÔÚÆäËû²úÆ·ÖÐÓ¦ÓÃ
Alfresco¹«Ë¾µÄECM£¨Enterprise Content Management£©²úÆ·AlfrescoÔÚÆóÒµÖÐÓ¦Óù㷺£¬Ö÷񻃾¼°Îĵµ¹ÜÀí¡¢Ð×÷¡¢¼Ç¼¹ÜÀí¡¢ÖªÊ¶¿â¹ÜÀí¡¢WebÄÚÈݹÜÀíµÈ¡£
Èç¹ûÆóÒµ»ò¿Í»§ÕýÔÚʹÓÃAlfresco¹ÜÀíÎĵµ£¬ÄÇôÕë¶ÔÎĵµ¹ÜÀíÁ÷³ÌÉè¼ÆµÄÁ÷³Ì¶¨Òå¿ÉÒÔÖ±½Ó²¿ÊðÔÚAlfrescoÉÏʹÓã»Èç¹û֮ǰûÓнӴ¥¹ýjBPM¶øÏÖÔÚѧ»áÁËʹÓÃActiviti£¬ÄÇô²»ÓÃÔÙȥѧϰÆäËûµÄÁ÷³ÌÒýÇæ¡£¹ØÓÚActivitiÓëjBPMµÄÇø±ðÔÚ1.6½Ú»áÌáµ½¡£
ÔÚActivitiûÓз¢²¼Ö®Ç°Ò»Ö±Ê¹ÓÃjBPM×÷ΪÁ÷³ÌÒýÇæ£¬ÔÚActiviti³ÉÊìÒÔºóAlfrescoͬʱ֧³ÖÁ½Õߣ¬µ±È»ÔÚÒÔºóµÄij¸öʱ¼ä¿ÉÄÜ»áÈ¡Ïû¶ÔjBPMµÄÖ§³Ö¡£
1.5 Activiti¼Ü¹¹Óë×é¼þ
Activiti¼Ü¹¹ÖÐ×îÖØÒªµÄ¿Ï¶¨ÊÇÒýÇæ£¬µ±È»»¹ÓиոÕÌáµ½µÄÍⲿ¹¤¾ßºÍ×é¼þ£¬Èçͼ1-2Ëùʾ¡£

ÏÂÃæÒÀ´Î½éÉÜActiviti¼Ü¹¹Í¼Öеĸ÷¸ö×é¼þ¡£
Activiti Engine£º×÷Ϊ×îºËÐĵÄÄ£¿é£¬ÌṩÕë¶ÔBPMN 2.0¹æ·¶µÄ½âÎö¡¢Ö´ÐС¢´´½¨¡¢¹ÜÀí£¨ÈÎÎñ¡¢Á÷³ÌʵÀý£©¡¢²éѯÀúÊ·¼Ç¼²¢¸ù¾Ý½á¹ûÉú³É±¨±í¡£
Activiti Modeler£ºÊÇÄ£ÐÍÉè¼ÆÆ÷£¬Æä²¢·ÇÓÉActiviti¹«Ë¾Ëù¿ª·¢£¬¶øÊÇÓÉÒµ½çÈϿɵÄSignavio¹«Ë¾ÔùË͵ģ¨SignavioÔ±¾ÊÇÊշѵIJúÆ·£¬ÏÖÔÚ±»Ãâ·ÑÊÚȨ¸øActivitiÓû§Ê¹Óã©¡£ÊÊÓÃÓÚÒµÎñÈËÔ±°ÑÐèÇóת»»Îª¹æ·¶Á÷³Ì¶¨Òå¡£
Activiti Designer£º¹¦ÄܺÍActiviti ModelerÀàËÆ£¬Í¬ÑùÌṩÁË»ùÓÚBPMN
2.0¹æ·¶µÄ¿ÉÊÓ»¯Éè¼Æ¹¦ÄÜ£¬µ«ÊÇĿǰ»¹Ã»ÓÐÍêȫ֧³ÖBPMN¹æ·¶µÄ¶¨Òå¡£ÊÊÓÃÓÚ¿ª·¢ÈËÔ±£¬¿ÉÒÔ°ÑÒµÎñÐèÇóÈËÔ±ÓÃSignavioÉè¼ÆµÄÁ÷³Ì¶¨Ò壨XML¸ñʽ£©µ¼Èëµ½DesignerÖУ¬´Ó¶øÈÿª·¢ÈËÔ±½«Æä½øÒ»²½¼Ó¹¤³ÉΪ¿ÉÒÔÔËÐеÄÁ÷³Ì¶¨Òå¡£
Activiti Explorer£º¿ÉÒÔÓÃÀ´¹ÜÀí²Ö¿â¡¢Óû§¡¢×飬Æô¶¯Á÷³Ì¡¢ÈÎÎñ°ìÀíµÈ¡£´Ë×é¼þʹÓÃREST·ç¸ñAPI£¨Ä¿µÄÔÚÓÚÈÿª·¢ÈËÔ±¿ìËÙÈëÃÅ£©£¬Ìṩһ¸ö»ù´¡µÄÉè¼ÆÄ£ÐÍ¡£Èç¹ûÒµÎñ¼òµ¥£¬Ò²¿ÉÒÔÖ±½ÓʹÓÃÎÞÐ迪·¢¡£»¹¿ÉÒÔ×÷Ϊºǫ́¹ÜÀíÔ±µÄÁ÷³Ì¡¢ÈÎÎñ¹ÜÀíϵͳʹÓá£
Activiti REST£ºÌṩRestful·ç¸ñµÄ·þÎñ£¬ÔÊÐí¿Í»§¶ËÒÔJSONµÄ·½Ê½ÓëÒýÇæµÄREST
API½»»¥£¬Í¨ÓõÄÐÒé¾ßÓÐ¿çÆ½Ì¨¡¢¿çÓïÑÔµÄÌØÐÔ¡£
1.6 ActivitiÓëjBPM5±È½Ï
ĿǰÁ÷ÐеŤ×÷Á÷ÒýÇæÓÐActivitiºÍjBPM5£¬¶øÔÚjBPM5·¢²¼ÒÔǰ´ó¶àÊýÏîÄ¿¡¢Æ½Ì¨¶¼ÊÇ»ùÓÚjBPM3¡¢jBPM4¿ª·¢µÄ¡£±¾½ÚÄÚÈÝ´Ó¼¼ÊõºÍʵ¼ÊÓ¦ÓÃÉ϶ÔActivitiºÍjBPM5½øÐбȽϡ£±í1-2´Ó¼¼Êõ²ãÃæ±È½ÏÁËÁ½ÕßµÄÇø±ð¡£
±í1-2ActivitiÓëjBPM5µÄ¼¼Êõ²ãÃæ¶Ô±È


ActivitiÊÇ»ùÓÚjBPM4Éè¼ÆµÄÑÜÉú°æ±¾£¬Èç¹ûÑ¡ÔñActiviti¿ÉÒÔ¼ÌÐøÑØÓÃjBPMµÄ˼ÏëÀíÄîÉè¼Æ¡¢ÕûºÏActivitiµ½ÏîÄ¿»òƽ̨ÖУ¬ÕâÒ²ÊÇÏà¶ÔÓÚjBPM5À´ËµµÄÒ»¸öÓÅÊÆ£»Ïà·´£¬¶ÔÓÚjBPM5À´ËµÒª»¨µãʱ¼äÖØÐ½ÓÊÜ¿ª·¢ÕßµÄÉè¼ÆË¼Ïë¡£
ÔÚ¸÷¸öÁ÷³ÌÒýÇæÉçÇøÖÐÓÐºÜ¶à¹ØÓÚ¸ÃÈçºÎÑ¡ÔñActivitiºÍjBPM5µÄÌÖÂÛ£¬ÕâÁ½ÕßÓÐןܶàÏàËÆµÄµØ·½£¬ÕùÂÛÖ÷ÒªÊǶԹæÔòÒýÇæµÄÖ§³Ö£ºjBPM5ÊÇ»ùÓÚDrool
FlowËùÓÐ×ÔÈ»Éî¶È¼Ì³Ð¶øÀ´µÄ¹æÔòÒýÇæDrools£»ÔçÆÚµÄActiviti¹¦ÄܱȽϼòµ¥£¬ºóÀ´Â½ÐøÌí¼ÓµÄÐÂÌØÐÔÒ²Ö§³Ö¹æÔòÒýÇæDrools£¬¿ª·¢ÈËÔ±Ö»Òª¼òµ¥ÅäÖùæÔò½Ó¿Ú¼´¿É´ïµ½ÓëjBPM5Ò»ÑùµÄЧ¹û¡£ |