استفاده از DataStoreReference در زبان مدلسازی BPMN امکان ارتباط اطلاعاتی بین دو فرآیند مرتبط به هم را فراهم میکند.
فرآیند نمونه
در این مثال یک وکیل وجود دارد که به مشتریان خود مشاوره حقوقی ارائه میدهد. این فرایند به شرح زیر عمل میکند:
مشتریان میتوانند هر زمان که نیاز داشته باشند از مشاوره حقوقی درخواست وقت مشاوره کنند. مشاوره جلسه را برگزار میکند و ساعات مشاوره را در برگه زمانی مشتری قرار میدهد. با پایان یافتن ماه، حسابدار ساعتهای قابل پرداخت را براساس برگه زمانی تعیین و فاکتور را صادر میکند.
نمودار راهحل BPMN 2.0
توضیحات راهحل
روند ارائه مشاوره حقوقی بارها و در هر ماه انجام میشود. فرایند صورتحساب فقط یک بار در ماه انجام میشود؛ بنابراین، این دو فرآیند باید به عنوان استخرهای (Pools) جداگانه مدل شوند. البته این دو استخر کاملاً مستقل از یکدیگر نیستند؛ چراکه آنها بر روی دادههای مشترک (برگه زمانی مشتری) کار میکنند.
توانایی ما برای مدلسازی این ارتباط مبتنی بر داده در BPMN بسیار محدود است به این دلیل که زبان مدلسازی BPMN بیشتر بر جریان کنترل متمرکز است نه جریان داده.
با این حال، ما میتوانیم از الگوی DataStoreReference در نرمافزار BPMS برای مدلسازی این ارتباط در سطح داده استفاده کنیم.
راه نادرست برای مدلسازی فرآیند
دلیل اشتباه بودن مدل بالا
راهحل بالا یکی از متداولترین مدلسازیهای اشتباه برای مسئله ذکر است است. در این مثال، هر دو فرآیند با هم ترکیب شدهاند. این بدان معنی است که برای هربار مشاوره حقوقی ارائه شده، مشتری یک ماه منتظر میماند تا فاکتور ارسال شود؛ در صورتی که درست این است که برای مجموع ساعات یک ماه، یک فاکتور باید صادر شود.
این مدل یک اشکال دیگر هم دارد و آن اینکه هر مشتری در هر ماه فقط یک بار میتواند از وکیل نوبت بگیرد. طراح فرآیند میتواند با استفاده از DataStoreReference در مدلسازی BPMN، امکان ارتباط اطلاعاتی بین دو فرآیند مرتبط به هم را فراهم سازد.