Exception Handling Enforcement In BPMN

2y ago
27 Views
3 Downloads
1.57 MB
159 Pages
Last View : 25d ago
Last Download : 3m ago
Upload by : Anton Mixon
Transcription

Contents1 Introduction1.12Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31.1.1Business process and business analysts . . . . . . . . . . . . . .3Business process modeling tools . . . . . . . . . . . . . . . . . .3Business process and exceptions . . . . . . . . . . . . . . . . . .4Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41.2.1Business analyst and exceptions . . . . . . . . . . . . . . . . . .4Good handling is worth its weight in gold . . . . . . . . . . . .5Business analyst and work practices . . . . . . . . . . . . . . . .5Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61.3.1Static verification . . . . . . . . . . . . . . . . . . . . . . . . . .61.3.2Construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61.3.3Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71.3.4Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7Results and conclusions . . . . . . . . . . . . . . . . . . . . . .71.4Last minute notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81.5DELETE ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81.1.21.21.2.21.3

ii1.6CONTENTSContribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81.6.1On errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81.6.2On features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92 Background122.1BPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132.2BPM and SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132.2.1Business Activity vs. Business Service . . . . . . . . . . . . . .132.2.2SOA and Web Services . . . . . . . . . . . . . . . . . . . . . . .142.2.3Semantic Web Services . . . . . . . . . . . . . . . . . . . . . . .152.2.4Prosero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16Exception Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172.3.1Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172.3.2Exception Handling in Programming Languages . . . . . . . . .172.4Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182.5DELETE ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202.33 Starting Points3.121BPMN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213.1.1BPMN; What is it good for? . . . . . . . . . . . . . . . . . . . .213.1.2BPMN for mummies . . . . . . . . . . . . . . . . . . . . . . . .23Basic BPMN . . . . . . . . . . . . . . . . . . . . . . . . . . . .23Core BPMN . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24Advanced BPMN . . . . . . . . . . . . . . . . . . . . . . . . . .26

CONTENTS3.2Exception Handling Specifications . . . . . . . . . . . . . . . . . . . . .273.2.1Problems at execution . . . . . . . . . . . . . . . . . . . . . . .273.2.2Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283.2.3Exception Handling in BPMN . . . . . . . . . . . . . . . . . . .313.2.4Exception Handling in BPEL . . . . . . . . . . . . . . . . . . .333.2.5Business process practices for exception handling . . . . . . . .34Business methodology . . . . . . . . . . . . . . . . . . . . . . .34Exception handling vs. return values . . . . . . . . . . . . . . .36Exception Handling Strategies . . . . . . . . . . . . . . . . . . .38Automatic exception handling . . . . . . . . . . . . . . . . . . .40Dealing with exceptions in IDEs . . . . . . . . . . . . . . . . . .41The Java example . . . . . . . . . . . . . . . . . . . . . . . . . .41Static verification . . . . . . . . . . . . . . . . . . . . . . . . . .42BPMN Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .443.3.1Prosero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45Modeling Support . . . . . . . . . . . . . . . . . . . . . . . . . .47BPMN to BPEL Translation . . . . . . . . . . . . . . . . . . . .48Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48‘Mind the gap’ — BPMN and Prosero . . . . . . . . . . . . . .48Exceptions vs. return value . . . . . . . . . . . . . . . . . . . .49Prosero and Activity uniqueness . . . . . . . . . . . . . . . . . .49IDE, Prosero and static verification . . . . . . . . . . . . . . . .503.2.63.33.4iii

ivCONTENTSBPMN and exception handling . . . . . . . . . . . . . . . . . .50Prosero and Sub Processes . . . . . . . . . . . . . . . . . . . . .50Modeling routine . . . . . . . . . . . . . . . . . . . . . . . . . .504 Our solution4.14.24.34.4Solution overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .554.1.1Classifications and Error Events . . . . . . . . . . . . . . . . . .554.1.2Classifications Error Events . . . . . . . . . . . . . . . . . .574.1.3Additional Error Events by business requirements . . . . . . . .574.1.4Higher categorization . . . . . . . . . . . . . . . . . . . . . . . .58Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .584.2.1Internal-Activity . . . . . . . . . . . . . . . . . . . . . . . . . .594.2.2Send-Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . .604.2.3Receive-Process-Reply . . . . . . . . . . . . . . . . . . . . . . .62Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .654.3.1Send-Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . .664.3.2Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .694.3.3Verify-Approve . . . . . . . . . . . . . . . . . . . . . . . . . . .704.3.4Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . .724.3.5Update-Approve . . . . . . . . . . . . . . . . . . . . . . . . . .73Afterthoughts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .745 Implementation5.154Extending BPMN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7676

CONTENTSv5.1.1Normal Activity . . . . . . . . . . . . . . . . . . . . . . . . . . .765.1.2Construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .785.2Wizards and Constructs and Templates, oh my . . . . . . . . . . . . .815.3Who handles the Handlers . . . . . . . . . . . . . . . . . . . . . . . . .855.4Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .856 Methodology866.1Experiment Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . .866.2Experimental Settings . . . . . . . . . . . . . . . . . . . . . . . . . . .876.2.1Test-group parameters . . . . . . . . . . . . . . . . . . . . . . .87In search of complexity . . . . . . . . . . . . . . . . . . . . . . .88BP complexity . . . . . . . . . . . . . . . . . . . . . . . . . . .89DO Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . .90Test outcome parameters . . . . . . . . . . . . . . . . . . . . . .90Diagram robustness . . . . . . . . . . . . . . . . . . . . . . . . .90User experience . . . . . . . . . . . . . . . . . . . . . . . . . . .91Method parameters . . . . . . . . . . . . . . . . . . . . . . . . .91Research Hypothesis . . . . . . . . . . . . . . . . . . . . . . . . . . . .926.3.1Primary hypothesis — using Constructs . . . . . . . . . . . . .926.3.2Secondary hypothesis — using Templates . . . . . . . . . . . . .936.2.26.2.36.37 Experiment947.1Modeling routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .947.2Business processes96. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

viCONTENTS7.3Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .977.4Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1007.4.1The Good . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1007.4.2The Bad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1017.4.3and the Ugly . . . . . . . . . . . . . . . . . . . . . . . . . . . .1018 Conclusions and Future Work8.18.2102Our solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1038.1.1Robust BPMN . . . . . . . . . . . . . . . . . . . . . . . . . . .1048.1.2Semantic Web Services . . . . . . . . . . . . . . . . . . . . . . .1048.1.3An inconvenient truth . . . . . . . . . . . . . . . . . . . . . . .1048.1.4Can’t see the forest for the trees . . . . . . . . . . . . . . . . . .1058.1.5Did we matter? . . . . . . . . . . . . . . . . . . . . . . . . . . .1058.1.6Between a rock and a hard place . . . . . . . . . . . . . . . . .105Future implementation . . . . . . . . . . . . . . . . . . . . . . . . . . .1068.2.1Simple enhancements . . . . . . . . . . . . . . . . . . . . . . . .106Smart exception handling — heuristics . . . . . . . . . . . . . .106Add business exception icon for Sub Process . . . . . . . . . . .106Business process into Template . . . . . . . . . . . . . . . . . .106Difficult enhancements . . . . . . . . . . . . . . . . . . . . . . .107Complexity according to semantics . . . . . . . . . . . . . . . .107Data constraints attribute . . . . . . . . . . . . . . . . . . . . .1078.2.3Improve Parameters — use infrastructure . . . . . . . . . . . . .1078.2.4Improve diagram view — perspectives . . . . . . . . . . . . . .1088.2.2

CONTENTS8.38.48.5viiFuture research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1088.3.1Improve BPMN — add top level business process . . . . . . . .1098.3.2Improve verification — more Events . . . . . . . . . . . . . . . .1108.3.3Improve Error Events — create hierarchy . . . . . . . . . . . . .1108.3.4Suggesting appropriate handlers . . . . . . . . . . . . . . . . . .111Immediate papers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1118.4.1Viewing business process in the light of data . . . . . . . . . . .111Business activity classification . . . . . . . . . . . . . . . . . . .111Exception classification . . . . . . . . . . . . . . . . . . . . . . .1128.4.2Choosing the right static verification for your modeling tool . .1128.4.3Exception handling vs. return value in business processes . . . .112So long, farewell, auf Wiedersehen, goodbye . . . . . . . . . . . . . . .113A Dictionary114B Preliminary Research117B.1 Possible features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117B.2 Possible static verification methods . . . . . . . . . . . . . . . . . . . .119C Activity classification120D Experiment complete results126D.1 Update return (of goods) . . . . . . . . . . . . . . . . . . . . . . . . . .128D.2 Return goods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129D.3 Receive returned goods . . . . . . . . . . . . . . . . . . . . . . . . . . .130

viiiCONTENTSD.4 Perform disposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132D.5 Issue credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133D.6 Administer return request . . . . . . . . . . . . . . . . . . . . . . . . .134D.7 Approve return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135D.8 Deliver item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136D.9 HR Hiring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137D.10 Software Defect Management . . . . . . . . . . . . . . . . . . . . . . .139D.11 Software Release Product141. . . . . . . . . . . . . . . . . . . . . . . . .E Bibliography by category143Bibliography145

List of Figures1.1Thesis review business process . . . . . . . . . . . . . . . . . . . . . . .32.1Deliver book business workflow . . . . . . . . . . . . . . . . . . . . . .142.2Unhandled exception notification . . . . . . . . . . . . . . . . . . . . .183.1Handle order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223.2Handle Order with choreography . . . . . . . . . . . . . . . . . . . . .263.3Handle Order with Artifact . . . . . . . . . . . . . . . . . . . . . . . .273.4Request catalogue BP, with Gateway . . . . . . . . . . . . . . . . . . .353.5Request catalogue BP, with Error Event . . . . . . . . . . . . . . . . .353.6Find customer BP, with Gateway . . . . . . . . . . . . . . . . . . . . .353.7Find customer BP, with Error Event . . . . . . . . . . . . . . . . . . .363.8Adding a Gateway to a Credit check . . . . . . . . . . . . . . . . . . .373.9Adding an Error Event to a Credit check . . . . . . . . . . . . . . . . .373.10 Return update BP, with Gateway . . . . . . . . . . . . . . . . . . . . .383.11 Return update BP, with Error Event . . . . . . . . . . . . . . . . . . .383.12 Handling strategies examples: (a), (b), and (c) . . . . . . . . . . . . . .393.13 Handling strategies examples: (d), (e), and (f) . . . . . . . . . . . . . .40

xLIST OF FIGURES3.14 Unhandled exception notification, in Java . . . . . . . . . . . . . . . . .423.15 Catching and handling an exception, in Java . . . . . . . . . . . . . . .423.16 Passing an exception, in Java . . . . . . . . . . . . . . . . . . . . . . .423.17 Bad planning: bridge mistake . . . . . . . . . . . . . . . . . . . . . . .433.18 Bad planning: unsafe bridge . . . . . . . . . . . . . . . . . . . . . . . .433.19 Process: Initial product release — happy path . . . . . . . . . . . . . .513.20 Process: Initial product release — alternate path . . . . . . . . . . . .523.21 Process: Initial product release — exception path . . . . . . . . . . . .534.1Customer Initiated Sourcing . . . . . . . . . . . . . . . . . . . . . . . .614.2Send-Receive Template with Construct form #1 . . . . . . . . . . . . .664.3Send-Receive Template with Construct form #2 . . . . . . . . . . . . .674.4Send-Receive Template with Construct form #3 . . . . . . . . . . . . .674.5Send-Receive Template actualized . . . . . . . . . . . . . . . . . . . . .684.6Query Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .694.7Query Template parameters and errors . . . . . . . . . . . . . . . . . .704.8Verify Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .704.9Notification Template . . . . . . . . . . . . . . . . . . . . . . . . . . . .724.10 Update Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .735.1BPD: Don’t worry, Be Happy . . . . . . . . . . . . . . . . . . . . . . .775.2Wizard: choose Template . . . . . . . . . . . . . . . . . . . . . . . . . .815.3Wizard: select parameters and errors . . . . . . . . . . . . . . . . . . .825.4Wizard: choose Task . . . . . . . . . . . . . . . . . . . . . . . . . . . .82

LIST OF FIGURES15.5Wizard: choose Activities . . . . . . . . . . . . . . . . . . . . . . . . .835.6Graphical notation: exception boundary . . . . . . . . . . . . . . . . .858.1Calculation process — full view . . . . . . . . . . . . . . . . . . . . . .1088.2Calculation process — Normal flow view . . . . . . . . . . . . . . . . .1098.3Calculation process — Exception flow view . . . . . . . . . . . . . . . .109D.1 Update return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128D.2 Return goods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129D.3 Receive returned goods . . . . . . . . . . . . . . . . . . . . . . . . . . .130D.4 Perform disposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132D.5 Issue credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133D.6 Administer return request . . . . . . . . . . . . . . . . . . . . . . . . .134D.7 Approve return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135D.8 Deliver item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136D.9 HR Hiring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137D.10 Software Defect Management . . . . . . . . . . . . . . . . . . . . . . .139

Chapter 1IntroductionIn the beginning,there was the process, a sequence of activities. Then came the businessmenand created the business process. That meant, the activities came fromthe business world and the scope of the process was a single business goal;for example, purchase a product. And the businessmen raised their handsand brought forth the business analyst to design business processes for theirbusiness goals. And for a time it was good.But dark shadows began to rise, as unforeseen events plagued the executionof business processes. And the people were at a loss, for these exceptionswere not charted in the business processes. The cries of the business analystechoed in the corridors, “It is not my fault. It should not have happened. Icannot think of everything.”So, it came to us, the good people of BGU, the quest to find the “magic” tool forthe business analyst — a tool that will expect the unexpected and identify possibleexceptions in the business process. In our journey, we track the following path: thegateway (presenting the background), the challenge (the problem statement), and thetriumph (our solution and its assessment).

1.1 Background3Figure 1.1: Thesis review business process.1.11.1.1BackgroundBusiness process and business analystsBusiness analysts use Business Process Modeling Notation (BPMN) to model businessprocess diagrams. BPMN [32] has risen in recent years as the popular modeling “language” for business processes. Figure 1.1 is a simple example of a BPMN diagram.BPMN became the popular standard thanks to three main reasons: (i) its simple coreelements which allows for clear diagrams and can be extended into complex graphical notation, depicting any business use case. (ii) its interoperability, which allowsthe business analyst to focus on the proper sequence flow, of the business processes,without concerning himself on the proper implementation of the process; e.g., be moreconcerned that a ‘Purchase’ process includes delivering the items and not how the itemswill be delivered. (iii) BPMN suggests a transformation to an executable format of thebusiness process, such as Business Process Execution Language (BPEL).These strengths of BPMN allow businesses to increase efficiency by automatingpart of their business processes, using BPEL, and by giving a clear representation andanalysis of their business process, using business process diagrams (BPDs).Business process modeling toolsWith the rise of BPMN and BPEL, software-based modeling tools appeared, to helpmodeling, designing, transforming, and executing business processes. Tools, such asTibco’s iProcess[40], IBM’s Web-Sphere[23], and the Prosero prototype [13], offer different features that promise to make the work of the business analyst simpler.

41.1.2IntroductionBusiness process and exceptionsWhat are exceptions? Why don’t you make yourselves a nice cup of tea while weexplain. Aha! What if the kettle is malfunctioning? Did you stop to consider that?!Without a kettle, how can you make tea? And without tea how can you engage inreading the explanation you are reading at this very moment?Just like any real world scenario, executing a business process sequence flow mayencounter unexpected, or unlikely, hardship and difficulties — known as exceptions.Exceptions include any type of failure to perform a business task successfully. Its ironicthat while exceptions are often defined as “unexpected” events, all instructive languagesinclude methodology to specify possible exceptions and their handling — e.g., in caseyou fail to deliver the package, call the recipient.BPMN includes the Intermediate Error Event element, to allow the business analystdescribe an exception in the workflow or the handling of an “unexpected” (exception)event. However, BPMN does not require the business analyst to handle exceptionevents. Therefore, none of the modeling tools force the business analyst to insert intheir model the handing of a specified or probable exception event. This seems, to us, amajor failure to help the business analyst model a safer, more robust, business process.1.21.2.1Problem statementBusiness analyst and exceptionsWe are certain the business analyst would like to produce robust business processes.Nevertheless, after reviewing hundreds of business

Business analysts use Business Process Modeling Notation (BPMN) to model business process diagrams. BPMN [32] has risen in recent years as the popular modeling “lan-guage” for business processes. Figure 1.1 is a simple example of a BPMN diagram. BPMN became the popular s

Related Documents:

Business Process Modeling Notation (BPMN) BPMN is a grphical representation for specifying business processes in a workflow BPMN was developed by Business Process Management Initiative (BPMI) BPMN is currently maintained by the Object Management Group (OMG) since 2005 BPMN 2.0 p

BPMN is an internationally accepted process modeling standard. BPMN is independent of any process modeling methodology. BPMN creates a standardized bridge which reduces the gap between business processes and their implementation. BPMN enables you to model pro

iServer BPMN Stencil: Levels of BPMN Thanks for Downloading the Free BPMN 2.0 Stencil! Orbus Software have created a Visio BPMN Stencil that you are free to use. This Stencil was created based on the OMG s BPMN Specification v2.0 (January 2011), and to the best of our knowledge all shapes are fully supported as specified.

BPMN is an internationally accepted process modeling standard. BPMN is independent of any process modeling methodology. BPMN creates a standardized bridge which reduces the gap between business processes and their implementation. BPMN enables you to model

Business Process Modeling Notation(BPMN) 13 BPMN is the OMG standard for representing business processes. There are many tool for designingn a BPMN process: –Bizagi Process Modeller (it also provides an execution engine) –JBPM (Eclipse plugin) –Sig

3 The Ultimate Guide to BPMN 2. Why BPMN Matters Business Process Model and Notation 2.0 (BPMN 2) is one of the best things to happen in . B

3 The Ultimate Guide to BPMN 2. Why BPMN Matters Business Process Model and Notation 2.0 (BPMN 2) is one of the best things to happen in . Business Process Management (BPM) in a long time. Finally , both the business and technical sides of the organization can share a common language - something that they can both understand and that meets

asset management for utilities and telecommunication providers to support network planning, design and analysis, maintenance and operations. OMS and DMS integration: A configurable standards-based software solution that provides utilities with an automated way of introducing the electric network to the OMS (Outage Management System) and DMS (Distribution Management System) via CIM (Common .