Ажратиш ва Бирлаштириш (Жараёнларни Моделлаштириш)
Ҳаракат ва ҳодисалар ҳар доим ҳам кетма-кетликда келмаслиги мумкин, ва шуни ҳисобга олган ҳолда BPMN шлюзларни ўз ичига олади. Мисол учун, ариза билан ишлаш жараёнини олсак, у ердаги аризани бекор қилиш ёки қабул қилиш ҳаракатлари бир-бирига тескари ҳаракатлардир. Яъни, маълум бир ҳолатда ариза ё қабул қилинади ёки бекор қилинади, иккисиҳам бўла олмайди.
Яна ўша ариза билан ишлаш жараёнига қайтсак, агар у қабул қилинса мижозга хабар жўнатилади ва тўлов қилинади. Хабар жўнатиш ва тўлов қилишлар алоҳида ҳаракатлар бўлиб, улар икки-хил бўлимлар томонидан бажарилади, шунинг учун ҳам улар бири-биридан мустақил. Демак, улар бир вақтда параллель тарзда бажарилади.
Юқоридаги ҳолатларни моделлаштириш учун шлюз тушунчасини бошлаймиз, ва бу BPMNда олмос шаклида тасвирланади. Шлюз бу кириш механизми борлигини билдиради ва бу кириш ёки кирмасликни ҳолатга қараб аниқлайди. Шлюзга келган ҳаракатлар ё ажралиб кетади, ёки бирлашади.
Ажратиш Қарорлари
Икки ёки ундан кўп муқобил ҳаракатларни моделлаштиришда ишлатиладиган белги exclusive (XOR) split деб номланади ва у бориб XOR-join орқали бирлаштирилади. Буни модель орқали тасвирлаш учун олмос шаклини ичига «X» белгиси қўйилади.
Бу ердаги жараён: мижоз томонидан инвойс жўнатилиб, у қабул қилинганда инвойс номувофиқликларга текширилади. Текшириш уч хил натижа бериши мумкин: (i) номувофиқликлар мавжуд эмас, ва инвойс пост қилинади; (ii) номувофиқлик мавжуд лекин тўғрилаш мумкин бўлса, инвойс мижозга қайта жўнатилади; (iii) номувофиқлик мавжуд ва уни тўғрилаш мумкин эмас бўлса, у инвойс блокланади. Бу уч ҳаракатдан бири бажарилган тақдирда, инвойс сақланади ва жараён якунланади. Бу жараённинг модели қуйидаги кўринишга эга бўлади:
Бу ерда, “Инвойсдаги номувофиқликларни текшириш” бу қарор қабул қилнадиган ҳаракат ҳисобланади, чунки у ўзидан кейинги ҳаракатни қандай бўлишини белгилаб беради. Бу ҳаракатдаги қарор ўзидан кейинги учта ҳаракатнинг қай бири бажарилишини аниқлаб беради, демак, бу ерда XOR-split ишлатилади.
Яна бир эътиборга молик нарса, “Инвойсни блок қилиш” ҳаракатига олиб келувчи чизиқ кичик ёнбошлаган чизиқ билан белгиланган. Бу дегани, қолган ҳаракатлар бажарилмаса, жараён автоматик равишда шу ҳаракатга қараб кетади дегани.
Ҳаракатлардан бири бажарилгандан сўнг жараён кейинги босқичга ўтиши керак, унинг учун қуйидаги уч ҳаракат XOR-join орқали яна бирлаштирилади ва “Инвойс сақлаш”га ўтилади. Сўнг, жараён қайта ишланган инвойс билан якунланади.
Параллель Бажариш
Агар икки ёки ундан ортиқ ҳаракатларнинг бири-бирига боғлиқлиги ёки қарамлиги бўлмаса, у ҳолда бу ҳаракатлар параллель равишда бажарилиши мумкин. Параллель (AND) шлюз айнан шундай боғлиқликда ишлатилади. AND-split ҳаракатларни параллель бажарилиши учун тайёрлайди, AND-join эса натижаларни бирлаштиради. AND шлюзи «+» белгиси билан белгиланади.
Мисол учун, самолётга чиқиш талони олингандан сўнг, йўловчилар текширувдан ўтишлари керак. Бу ерда улар хавфсизлик скрининги ва юк скринингларидан ўтишлари керак бўлади. Сўнг, жўнаш нуқтасига ўтишлари мумкин:
Бу ерда йўловчи бажарадиган ҳаракатлар 4та. Текширувдан ўтишга ўтиш ва Жўнаш нуқтасига ўтиш ҳаракатлари яққол бир-бирига қарам ҳаракатлар ҳисобланади. Чунки, жўнаш нуқтасига ўтиш учун олдин албатта текширувдан ўтган бўлиши керак. Бу икки ҳаракатлар орасида эса параллель, ҳар қандай тартибда бажарса бўладиган ҳаракатлар мавжуд бўлиб, улар параллель ҳаракатлар бўлади.
Пастда яна бир мисол кўришимиз мумкин, Бу ерда буюртмадан-тўловгача бўлган ҳаракатлар ва ҳодисалар тасвирланган ва Бу ерда ҳозиргача ўрганилган барча тушунчалар ишга солинган: