2. Contents Use of processes Process definition BPMN Relationship to the state machine 2 x example Pros and cons
3. Where are the processes used? What is the difference between inter- and intra- application process? What technologies are used? Use of processes
4. Use of processes Inter application coordination of several existing applications (IS) Intra application coordination of work between the users of a single application
5. Inter application processes - EAI Integration several IS Example – process Salary accounting Accounting system Work planning system Attendance records Bank payment system ESB Process Repository Process engine Technologies: WS, SOAP, BPEL, ESB
6.
7. What is a process? What is a process application? Process definition
8. What is a process „A collection of related, structured activities or tasks to achieve a specific goal“ “Business processes don't represent things the business object is doing, rather things being done to the business object.”* *More about this subtle but it very important difference. http://devhawk.net/2004/01/30/SOA+Vs+OO+In+Business+Process.aspx
9. Process definition and process instance Relation between process definition and process instance is similar to the relation between the class and its instance Process definition specifies the paths whose the process instance can take Every process instance takes its own path55% Process definition: Job application business process Instance 1: John is waiting for the interview Instance 2: Peter already had an interview, and the record from the interview was sent to his future manager to review Instance 3: Xenia’s work contract has to be approved by the division manager
10. Process definition and process instance Interview Review JobApplicationBusinessProcess Workflow Init Process diagram is 2D. Process instance are 3D. Same as an UML class diagram is 2D and an object diagram is 3D.
11. Process language describes Flow Sequence of activities Data What data the process is using Resource Who will carry out the activity Insurance contract Accident record Expert testimony EXPERT REVIEWER
12. Example of simple process Requirement: John wants Mike to approve his vacation request How does John tell Mike that exactly this vacation request he wants to approve?
13. Entity: request Task: create request Entity: employee Peter John Task: approve request Mike
14. Process application In process application business processes are modeled Process engine executes process instance in that way that according to the process definition it allocates tasks to systems and users
15. Summary Main purpose of process engine – to achieve specified goal by transparent distribution of work between the people and the systems Process can reference entities (0 and more entities). Work is distributes in form of tasks.
16. Do we need them both? State machine vs. Process
17. State machine Principles State machine controls the state (value of state attribute) of a single entity (that is single instance of EntityClass) State machine is represented by state attribute State attribute is attribute of type Enum with controlled life cycle
18. Relationship between state machine and process State machine controls the value of a single attribute in entity Process engine moves entities between the users of a system In a single process instance can figure more entities with the state machine, every in different state State attribute is used for inter process communication because entity can figure in multiple process instances
21. BPMN The most used language for business process modeling OMG standard Just like UML, XMI, MDA Consortium of companies: Microsoft, IBM, HP, Sun, Apple...
27. Document approval Author creates a document Author can edit the document until it is sent on approval Reviewer can approve or reject the document If reviewer approves the document it gets published
28. Document approval- diagram Author Send for approval Document creation Company for creating documents Reject Reviewer Approve Approve Publish System
29. Why use process engine? What are the advantages for the users? Where should we pay attention? Pros and cons
30. Pros For SW developer Code comprehensibility- joint of business logic to bigger pieces than transactions/server calls Analysis comprehensibility- joint of business logic to bigger pieces than use-cases Consistent authorization Separation of entities life cycles and processes, easier to change logic For SW user Process versioning (multiple concurrent version of same process) Process console for process management Necessity to map processes in analysis(without use of process engine it was optional, with its use it is necessity) Visualization of process instances BAM a BI
31.
32.
33.
34. Explore the way to connect with client (this applies for our company)Navigation is now only in one direction “processes -> entities” Tasks/process filtering just on its type (and user) (filtering on attributes of Tasks just like entities will be soon done:)