www.dzone.comGet More Refcardz! Visit refcardz.com#51CONTENTS INCLUDE:nnnnnnAbout Business Process ManagementAbout BPMNOther ConstructsException FlowWorkflow patterns with BPMNHot Tips and more.Effective Process Modelingwith BPM & BPMNBy Matjaz Juric and Ana SasaBPM: ModelingAbout Business Process ManagementWhy do we Model Business Processes?BPM (Business Process Management) is a set of relatedactivities, such as process modeling and design, processexecution, process monitoring, and process optimization. ThisRefcard provides an overview of the BPM lifecycle togetherwith the roles and results of business process modeling. Itgives an overview of the BPMN (Business Process ModelingNotation) and presents the most important BPM patterns.Design new businessprocessesFocus on business goals, KPIs, customer needs, and business partnerexpectations.Model existingbusiness processesAssure the right flow of activities.Identify normal flows and possible exceptional flows.Identify inputs and outputs of activities.Identify key documents and sources.Identify business rules.Restructure existingbusiness processesFocus on the activities and their added value.Focus on lines of business and their relations.Model responsibilities and roles.BPM: Business Process LifecycleDevelopment of endto-end IT support forbusiness processesDetailed modeling of process flow.Detailed modeling of data, documents, business objects, andinterfaces.Detailed exception handling.A business process lifecycle covers the following phases(Figure 1): Process modeling - definition of the process models usingthe selected methodology and notation (such as BPMN). Process implementation – implementation of end-to-endIT support for the process. SOA provides technologiesand tools to make the implementation phase quick andefficient. Process execution and monitoring – execution of theprocess and monitoring of the process to gather the KeyPerformance Indicators (KPI). Process simulation – simulated execution of the processwith the objective gathering KPIs and identifyingoptimization points. Process optimization – improving the process efficiency,effectiveness, agility, flexibility, and transparence.Who should take part in process modeling?The team should include different profiles and encouragelooking at the process from different angles. This is particularlyimportant for optimizations. Four to six people is usually anoptimal team size. The following table lists the various profilesthat should comprise the team:RoleResponsibilityLine of BusinessExpertGood, in-depth knowledge of the process.Process OwnerResponsible for the overall execution of the process, approves processmodifications.ModeratorResponsible for the meeting, for asking questions for leading thediscussion into the right direction.Modeling ExpertResponsible for design the process model (during and after the meeting).QA OwnerResponsible for the alignment of processes in aspect of total qualitymanagement.How do we model?Top-downApproachProblemsWe start with the process architecture.First we identify the major processactivities and their flow. Then we modeleach activity into more detail. High level process modelingrequires good knowledge about theprocess and some experience. Modeling lower levels can revealinconsistencies on higher-levels.Get More Refcardz(They’re free!)Figure 1: BPM process lifecyclenBPM & BPMNnHotTipHotTipKPIs are financial and non-financial metrics used tohelp an organization define and measure processefficiency. Examples of a KPI are “Average revenueper customer”, “Average time for response to acustomer call”, “ Average order amount”, etc.nnnnnSubscribe Now for FREE!Refcardz.comBusiness activity monitoring (BAM) is real-timeobservation of key performance indicators.DZone, Inc.Authoritative contentDesigned for developersWritten by top expertsLatest tools & technologiesHot tips & examplesBonus content onlineNew issue every 1-2 weeks www.dzone.com
2Bottom-upWe start with the identification ofactivities. We model sub processes andbusiness transactions and merge theminto processes. We get lost in the details. Getting overview of processesand their relations can become verydifficult. We can focus on too many details.Inside-outWe start with core processes. Weexpand them with adding supportprocesses around core processes. It can be difficult to identify coreprocesses and how to progress intothe right direction.HotTipBPM & BPMNThe Inside-out approach is usually the mostpragmatic approach to prcess modeling. Provide abrief explanation of why it is the most pragmaticapproach.How do we model?As-Is modelWe model the process as it is currently executed. Knowing thecurrent as-is state is necessary for any future optimizations.We need to clarify whether we will model the process as it should beperformed, or as it is performed in reality. Often there are significantdifferences between the two.When we model the as-is process we should not make on-the-flymodifications - not even those which seem obvious. We shouldhowever make notes of all possible modifications for the to-beprocess model.To-Be modelWe model the optimized model, where we should consider: Extent of changes – do we want evolutionary or revolutionarychanges How radical the changes to the process can be Organizational and other limitations How the to-be model will be accepted by the involved people andwhat organizational changes will it requireFigure 3: Results of Business Process ModelingHow to approach designing a process model:We should model the process to understand the detailedstructure of it. We should identify at least the following: Process activities, on various levels of details (dependingon the selected approach) Roles responsible for carrying-out the process activities Events, which trigger the process execution and eventsthat interrupt the process flow Input and output documents exchanged within theprocess Business rules that are part of the processAbout BPMNBPMN (Business Process Modeling Notation) is a graphicalnotation for business process modeling. The objective ofBPMN is to support business process modeling for businessand technical users. It provides a notation that is intuitiveyet able to represent complex process semantics. BPMN ismaintained by the Object Management Group.Flow ObjectsFlow objects are the main BPMN constructs that define thebehavior of a business process. There are three categories offlow objects:Below is the most conventional approach for designing aprocess model, in order of occurrence:1) Identify the roles2) Identify the activities3) Connect the activities with roles4) Define the order of activities5) Add events6) Add documents Activities: they represent the work performed within abusiness process (see Figure 4). Gateways: they represent how a sequence flow diverges orconverges in a business process (see Figure 5). Events: they depict that something happens in a businessprocess (see Figure 6).Figure 2: Process model for each individual processFigure 4: Activity types and markersDZone, Inc. www.dzone.com
3BPM & BPMNFrom\ToFigure 8: Construct that can be connected via sequence flow (blue shadedfield represent a legal connection)Shows the flow of messages between two entities.Figure 5: Types of gatewaysFigure 9: Message ngEnd EventThrowingNoneFigure 10: Construct that can be connected via message flow (blue shadedfield represent a legal connection)MessageTimerAssociates information and artifacts with flow objects.ConditionalSignalErrorIt is used to assign “undo” activities to compensationintermediate events.CancelCompensationFigure 11: AssociationTerminateLinkOther constructsMultipleFigure 6: Events, event triggers and resultsConnecting ObjectsConnecting objects are used to connect flow objects to eachother and to other information. There are three categories ofconnecting objects: Sequence flow ( see Figure 7), Messageflow ( see Figure 9), Association ( see Figure 11).Defines the order of execution of flow objects.Sequence flow with a condition (conditional flow).Default flow, which is chosen if none of the conditions are satisfied.Figure 7: Sequence FlowFigure 13: Swimlanes and poolsDZone, Inc. www.dzone.com
4BPM & BPMNSolution 1: Parallel split using an inclusivegatewaySolution 2: Parallel split using a parallelgatewaySynchronizationWorkflow Pattern Description: Two or more paths converge into one subsequent path. Thesubsequent path is enabled when all the preceding paths complete (and-join).BPMN: The Pattern can be implemented in two ways: We use a parallel gateway to merge several sequence flows into a single flow. Theoutgoing flow activates when all the incoming sequence flows are enabled. We use an expanded sub-process in which we place the activites to be performed inparallel. Expanded sub-process completes after all the activities it contains complete.Figure 14: ArtifactsException FlowExample 1: After preparing the ordered items for shipment and issuing the receipt, we shipthe package to the customer.Solution 1: Synchronization using a parallelgateway.In order to model an exception flow, we use intermediate events attached to the boundaryof an activity. If such event is triggered during the activity execution, the flow is redirectedthrough the intermediate event.Example: The activityCheck With Supplierof the exampleprocess has anintermediate timerevent attached toits boundary. If thesupplier does notprovide a responsewithin a certaintimeframe, weremove the item fromthe order.Exclusive ChoiceWorkflow Pattern Description: A path diverges into two or more subsequent paths. Whenthe incoming path is enabled exactly one of the subsequent paths is selected and enabled.BPMN: We use an exclusive gateway.WOrkFlow patterns with bpmnSequenceWorkflow Pattern Description:An activity starts after completion of another activity.BPMN:Activities are connected by a sequence flow directed towards the subsequent activity.Example: Afterchecking if thesupplier can providethe necessary itemsin the Check WithSupplier task, wenotify the customerabout their order inthe Notify Customertask.Parallel SplitExample 1: Exclusive choice with data-based exclusivegatewayAfter we notify thecustomer about theearliest possible deliveryof the ordered items, thecustomer may change theordered items, confirm theproposed date or cancelthe order. If the customerdoes not respond in acertain timeframe anintermediate timer event istriggered.Example 2: Exclusive choice with event-based exclusivegatewayWorkflow Pattern Description: Two or more alternative paths converge into a singlesubsequent path.BPMN: The pattern can be implemented in several ways: We use several outgoing sequence flows for a flow object; We use a parallel gateway to divide a sequence flow into several sequence flows. We use an expanded sub-process in which we place the activities to be performed inparallel. We use an inclusive gateway with equivalent conditions.BPMN: The pattern can be implemented in two ways: We use an exclusive merge gateway to merge alternative paths. We use a flow object with two or more incoming sequence flows. The incomingsequence flows represent the ends of alternative paths. Any one of the incomingsequence flows trigger the flow object.Note: The behavior is the same in both cases provided that the incoming sequence flows arealternative.Example 1: After receiving payment for the order we prepare the ordered items for shipmentand issue the receipt concurrently.Solution 2: Parallel split usinga parallel gatewayAfter analyzing the orderwe check whether thecustomer has provideda promotional code.If a promotional codeis provided we collectdiscount information anduse it to calculate finalprice. Otherwise, wecalculate final price for theorder without discounts.Simple MergeWorkflow Pattern Description: A path diverges into two or more parallel subsequent paths.The subsequent paths execute concurrently.Solution 1: Parallel splitwith outgoing sequenceflows.Solution 2: Synchronization using anexpanded sub-process.Example: The two alternative paths used to calculate the final price of the ordered items aremerged using the exclusive merge or by sequence flows leading to the “Check Inventory”task.Solution 3: Parallel split usingan expanded sub-processSolution 1: Simple merge with exclusivemerge gatewayExample 2: If the order items are in stock we send the confirmation of the order to thecustomer and reserve the ordered items in the inventory. These tasks are performed inparallel. Otherwise we check if the supplier can deliver the items.DZone, Inc. www.dzone.comSolution 2: Simple merge with sequenceflows to a flow object
5BPM & BPMNStructured LoopAdvanced Branching and synchronization patternsWorkflow Pattern Description: A task or a subprocess is repeated while or until somecondition is true.BPMN: We set the attributes of the activity as follows: We set the value of the LoopType attribute to “Standard”, We set the contidion expresion for the attribute LoopCondition, to model a “while” loop we set the value of the attribute TestTime to “Before”, to model an “until” loop we set the value of the attribute TestTime to “After”.Multi-ChoiceWorkflow Pattern Description: A path is diverged into two or more subsequent paths. One ormore subsequent paths may be executed.BPMN: The pattern can be implemented in several ways: We use an inclusive gateway. We use a collection of contidional sequence flows. We use a complex gateway.Example: After receiving a list of orders theProcess Order subprocess is performedfor every order until the end of orders isreached in the list.Example 1: Based on requirements the customer specified in the order, we confirm the ordervia e-mail, by regular mail or both. Example solutions 1 nd 2 represent equivalent behavior.Solution 1: Multi-Choice with an inclusivegatewayMultiple instance patternsSolution 2: Multi-Choice with conditionalsequence flowsMultiple Instances without SynchronizationWorkflow Pattern Description: Multiple instances of a task or a subprocess are created. Theyrun concurrently and are not synchronized on completion.BPMN: We set the values of activity attributes as follows: LoopType attribute to “multiInstance”, MI FlowCondition to “None”. we set the value of the MI Ordering attribute to “Parallel”Example 2: An order from the received orderlist may concern one or more departments.Depending on this, one, two or all threesubsequent branches can be executed.Example: For every order in the order list aninstance of the Process Order subprocessis invoked. The subprocess instances areexecuted concurrently. Every instancegenerates a token that continues after theinstance is completed.Multiple Instances with a Priori Design-Time KnowledgeStructured Synchronizing Merge (Synchronizing join)Workflow Pattern Description: Multiple instances of a task or a subprocess are created. Thenumber of instances is known at design time. They run concurrently and are synchronized atcompletion before the process continues.Workflow Pattern Description: Two or more paths converge into a single subsequent path.Several incoming paths may be enabled, in which case they are synchronized before thesubsequent path is activated. In different process instances different number of incomingpaths may be taken.BPMN:We set the attributes of the activity as follows: we set the value of the LoopType attribute to “MultiInstance”, the expression of the MI Condition attribute returns an integer representing the numberof instances known at design time, we set the value of the MI FlowCondition attribute to “All”. we set the value of the MI Ordering attribute to “Parallel”BPMN: We use an inclusive gateway.Example: Based on requirements thecustomer specified in the order, we confirmthe order via e-mail, by regular mail or both.If both activities are required to be executed,paths have to be synchronized before theprocess can continue.Example: If a request for a loan exceeds1000 USD the loan needs to be checked forapproval by 3 eligible employees.Multiple Instances with a Priori Run-Time KnowledgeMulti-Merge (Multiple Merge)Workflow Pattern Description: Multiple instances of a task or a subprocess are created. Thenumber of instances depends on various run-time factors. Instances run concurrently and aresynchronized at completion before the process continues.Workflow Pattern Description: Two or more paths converge into a single subsequent path.Each Incoming path activates the subsequent path.BPMN: We set the attributes of the activity as follows: we set the value of the LoopType attribute to “MultiInstance”, the expression of the MI Condition attribute is based on run-time factors and returnsthe actual number of required instances at run-time, we set the value of the MI FlowCondition attribute to “All”. we set the value of the MI Ordering attribute to “Parallel”BPMN: We use sequential flow for every ending of a converging path directed towards theflow object of the beginning of the subsequent path.Example: We confirm the order via e-mail, byregular mail or both. if either of the activitiestakes place, the order information file needsto be updated.Example: The process receives a list of allorders. The expression of the MI Conditionattribute depends on the number of ordersin the list, which can be different for everyprocess instance. For every order in theorder list an instance of the Process Ordersubprocess is created. The subprocessinstances are executed concurrently. After allthe subprocess instances are completed, theprocess continues.Iteration based patternsArbitrary Cycles (Unstructured Loop)Workflow Pattern Description: Loops that have more than one entry or exit points.Termination PatternsBPMN: Sequence flow connected to an upstream activity.Example: After providing the customer with additional details or alternative proposals forthe inquiry, the customer may send an updated inquiry. In this case the process loops back toAnalyze Inquiry activity.Implicit TerminationWorkflow Pattern Description: A process or a subprocess instance terminates when there isnothing else to be done and it is not deadlocked. The instance has completed successfully.BPMN: The pattern can be implemented in one of the following ways: We end every path of the process or subprocess with an end event. If we use a startevent we must use at least one end event. An end of a path in the process is indicated by a flow object without an outgoingsequence flow. The process completes when all tokens that were generated for theinstance are consumed.Note: We must either conclude all paths with an end event (with an exception ofcompensation activities) or not use end event for the given process/subprocess.DZone, Inc. www.dzone.com
6Example: In the example process there are two alternative paths that the process instancecan take. If the order cannot be fulfilled, the customer is notified. After this the end event isreached and the process completes. If the order can be fulfilled several activities take placeand ordered items are shipped. After this the process reaches an end event and completes.BPM & BPMNConclusionBPM is essential for continuous improvement of businessprocess efficiency and effectiveness with the overall goal toproduce business results faster, cheaper, better. This Refcardhas provided the overview of the BPM lifecycle, presentedthe BPMN notation and demonstrated the most importantpatterns.Explicit TerminationOther References and ResourcesWorkflow Pattern Description: Aprocess or subprocess terminates and the remaining workis cancelled.BPMN: We use a terminate end event.M.B. Juric, R. Loganathan, P. Sarang, F. Jennings: SOA Approachto Integration, November 2007.OMG: Business Process Modeling Notation (BPMN), Version 1.2,January 2009.M.B. Juric, P. Sarang, B. Mathew: Business Process ExecutionLanguage for Web Services 2nd Edition, January 2006.H. Gaur, M. Zirn, et al.: BPEL Cookbook: Best Prac
Figure 3: Results of Business Process Modeling Figure 2: Process model for each individual process About bPMn Figure 4: Activity types and markers BPMN (Business Process Modeling Notation) is a graphical notation for business process modeling. The objective of BPMN is to support business process modeling
Google Slides Cheat Sheet p. 15-18 Google Sheets Cheat Sheet p. 19-22 Google Drawings Cheat Sheet p. 23-26 Google Drive for iOS Cheat Sheet p. 27-29 Google Chrome Cheat Sheet p. 30-32 ShakeUpLearning.com Google Cheat Sheets - By Kasey Bell 3
Git-cheat-sheet Optional Reading: Bourbon-cheat-sheet CLI-cheat-sheet Git-for-subversion-cheat-sheet Tower-cheat-sheet (for Mac or Windows depending on your computer) Website_optimization-cheat-sheet Workflow-of-version-control Xcode-cheat-sheet _tower-git-client (
The Excel 2010 Ribbon looks and works much the same as the Excel 2007 Ribbon, with one nifty addition: In Excel 2010, you can customize what's on the Ribbon. In this series Word 2010 cheat sheet Excel 2010 cheat sheet Outlook 2010 cheat sheet PowerPoint 2010 cheat sheet The Scrollbar.
UNIX Command Cheat Sheets UNIX Command Cheat Sheets Command Description (short) Example Explanation date Writes the current date to the screen date Mon Nov 20 18:25:37 EST 2000 sort infile Sorts the contents of the input file in alphabetical order sort names Sorts the contents of names in alphabetical order
Contents I Developer Cheat Sheets (Builder) 11 1 Authentication Cheat Sheet 12 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
cheat sheet for each student and have them glue it into their interactive notebooks. If you give one to each student, you could have them color the cheat sheet (If time is limited, I would skip or have students color at home). Please let me know if you have any questions about the cheat sheet! You can email me at email@example.com.
Lung anatomy Breathing Breathing is an automatic and usually subconscious process which is controlled by the brain. The brain will determine how much oxygen we require and how fast we need to breathe in order to supply our vital organs (brain, heart, kidneys, liver, stomach and bowel), as well as our muscles and joints, with enough oxygen to carry out our normal daily activities. In order for .