5/22/07 1 10. Business Process Management CSEP 545 Transaction Processing Philip A. Bernstein Copyright ©2007 Philip A. Bernstein.

Slides:



Advertisements
Similar presentations
PCT303 – Content Publishing in SharePoint Eugene Rosenfeld Black Blade Associates
Advertisements

TRANSACTION PROCESSING SYSTEM ROHIT KHOKHER. TRANSACTION RECOVERY TRANSACTION RECOVERY TRANSACTION STATES SERIALIZABILITY CONFLICT SERIALIZABILITY VIEW.
Message Queues COMP3017 Advanced Databases Dr Nicholas Gibbins –
COS 461 Fall 1997 Transaction Processing u normal systems lose their state when they crash u many applications need better behavior u today’s topic: how.
Data and Database Administration Chapter 12. Outline What is Concurrency Control? Background Serializability  Locking mechanisms.
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 16 – Intro. to Transactions.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
1 ICS 214B: Transaction Processing and Distributed Data Management Lecture 15: Data Replication with Network Partitions & Transaction Processing Systems.
1 Transaction Management Overview Yanlei Diao UMass Amherst March 15, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
1 ACID Properties of Transactions Chapter Transactions Many enterprises use databases to store information about their state –e.g., Balances of.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Interpret Application Specifications
The Architecture of Transaction Processing Systems
Introduction to SAP R/3.
1 Recap Database: –collection of data central to some enterprise that is managed by a Database Management System –reflection of the current state of the.
2/22/ Queued Transaction Processing CSEP 545 Transaction Processing Philip A. Bernstein Copyright ©2005 Philip A. Bernstein.
1 Case Study: Starting the Student Registration System Chapter 3.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
Transaction Management WXES 2103 Database. Content What is transaction Transaction properties Transaction management with SQL Transaction log DBMS Transaction.
Dr. Kalpakis CMSC 461, Database Management Systems Introduction.
Transaction. A transaction is an event which occurs on the database. Generally a transaction reads a value from the database or writes a value to the.
4/25/ Application Server Issues for the Project CSEP 545 Transaction Processing for E-Commerce Philip A. Bernstein Copyright ©2003 Philip A. Bernstein.
Transactional Web Services, WS-Transaction and WS-Coordination Based on “WS Transaction Specs,” by Laleci, Introducing WS-Transaction Part 1 & 2, by Little.
3/6/99 1 Advanced Transaction Models CSE593 - Transaction Processing Philip A. Bernstein.
Process-oriented System Automation Executable Process Modeling & Process Automation.
39 Copyright © 2007, Oracle. All rights reserved. Module 39: Siebel Task UI Siebel 8.0 Essentials.
Database Systems COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI.
Introduction. 
DBSQL 7-1 Copyright © Genetic Computer School 2009 Chapter 7 Transaction Management, Database Security and Recovery.
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
1 Transactions BUAD/American University Transactions.
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
Transaction Management: Concurrency Control CS634 Class 16, Apr 2, 2014 Slides based on “Database Management Systems” 3 rd ed, Ramakrishnan and Gehrke.
CS453: State in Web Applications (Part 1) State in General Sessions (esp. in PHP) Prof. Tom Horton.
BIS Database Systems School of Management, Business Information Systems, Assumption University A.Thanop Somprasong Chapter # 10 Transaction Management.
ITEC 3220M Using and Designing Database Systems Instructor: Prof. Z. Yang Course Website: 3220m.htm
Chapter 1 Introduction to Databases. 1-2 Chapter Outline   Common uses of database systems   Meaning of basic terms   Database Applications  
Introduction to Database Systems1. 2 Basic Definitions Mini-world Some part of the real world about which data is stored in a database. Data Known facts.
Introduction to Database Systems. RHS – Why databases are important Because we use databases all the time!! –Google –Youtube –Facebook –E-shopping.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Transactions. Transaction: Informal Definition A transaction is a piece of code that accesses a shared database such that each transaction accesses shared.
Introduction.  Administration  Simple DBMS  CMPT 454 Topics John Edgar2.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Module 11: Managing Transactions and Locks
2/28/ Queued Transaction Processing CSE593 Transaction Processing Philip A. Bernstein Copyright ©2001 Philip A. Bernstein.
10 1 Chapter 10 - A Transaction Management Database Systems: Design, Implementation, and Management, Rob and Coronel.
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 16 – Intro. to Transactions.
18 September 2008CIS 340 # 1 Last Covered (almost)(almost) Variety of middleware mechanisms Gain? Enable n-tier architectures while not necessarily using.
Advanced Database CS-426 Week 6 – Transaction. Transactions and Recovery Transactions A transaction is an action, or a series of actions, carried out.
Managing multiple projects or services? Have a mix of Microsoft Project and more simple tasks? Need better visibility and control?
Business Process Execution Language (BPEL) Pınar Tekin.
6. Application Server Issues for the Project
SQL Database Management
What is BizTalk ?
Transactions.
On-Line Transaction Processing
DBMS & TPS Barbara Russell MBA 624.
Database management concepts
Batches, Transactions, & Errors
PCS WorkFlow Solutions
Service-Oriented Computing: Semantics, Processes, Agents
Database Security Transactions
Database management concepts
Chapter 17: Application Recovery
A Beginners Guide to Transactions
Service-Oriented Computing: Semantics, Processes, Agents
Terms: Data: Database: Database Management System: INTRODUCTION
Transactions, Properties of Transactions
Presentation transcript:

5/22/ Business Process Management CSEP 545 Transaction Processing Philip A. Bernstein Copyright ©2007 Philip A. Bernstein

Outline 1.Introduction 2.Managing Process State 3.Making a Workflow ACID 4.Other Workflow Models 5/22/07 2

10.1 Introduction Business process - a partially ordered set of a steps, where each step performs an administrative function usually by accessing a shared database. Examples – place an order, reserve a trip, buy a house, adjust an insurance claim Each step may be a transaction, an execution of a program that is not a transaction, or a manual activity performed by a person. Examples – debit an account, approve a large debit 5/22/07 3

Business Process Management Business process management is the activity of creating, managing, adapting, and monitoring business processes. Most of this is business management, not necessarily a technical activity –Analyzing business processes –Defining improved processes –Which eventually affects requirements for transactions and other TP mechanisms. 5/22/07 4

5 Business Process Specification Flowgraph language for describing processes consisting of steps, with preconditions for moving between steps –Some people recommend state machines, but imperative languages are more popular. Representation of organizational structure and roles –a step can be performed by a person in a role, with a (possibly complex) role resolution procedure Choreography - a message protocol between independent business processes

5/22/07 6 Business Process  Many ACID Txns Some requests cannot execute as one transaction because –It executes too long (causing lock contention) or –Resources don’t support a compatible 2-phase commit protocol. A transaction may run too long because –it requires display I/O with user –people or machines are unavailable (a step that includes manager approval, or a billing step that runs in batch) –it requires long-running real-world actions (get two estimates before settling an insurance claim) Steps may require independent ACID transactions in different subsystems (capture an order, schedule a shipment, report commission, send an invoice)

Workflow Workflow - A technology to enable the execution of long running, multi-transaction requests. –Long running  manage process state recoverably –Multi-txn  mechanisms for isolation and atomicity Textbook says BPM and workflow are synonyms But often, BPM refers to the business activity and workflow to the technical implementation –This terminology distinction isn’t universally used 5/22/07 7

10.2 Managing Process State Since processes can execute for a long time (weeks), you need state management –Save state persistently (when process is idle) and restore it later (when it becomes active again) –Find the state of process (which might be inactive) Process state – data and control state User wants to know which steps ran (with what inputs and outputs) and which are next to run –Log all interesting events and make them queryable Usually requires a workflow-specific run time 5/22/07 8

9 Managing Workflow with Queues Each workflow step is a request. Send the request to the queue of the server that can process the request Server outputs request(s) for the next step(s) of the workflow May be hard to answer a query about workflow state Submit expense claim Validate claim Get Manager Approval Authorize Payment Request Automatic Deposit notification

5/22/07 10 Pseudo-conversations Simple solution to manage state in early TP systems A conversational transaction interacts with its user during its execution This is a sequential workflow between user & server. Since this is long-running, run it as multiple requests Since there are exactly two participants, just pass the request back and forth –request carries all workflow context –request is recoverable, e.g. send/receive is logged or request is stored in stable storage This simple mechanism has been superseded by queues and general-purpose workflow systems.

5/22/07 11 Other Approaches to State Mgmt Queue elements and pseudo-conversation requests are places for persistent workflow state. Other examples: –Browser cookies (files that are read/written by http requests), containing user profile information –Shopping cart (in web server cache or database) Such state management arises within a transaction too –Server scans a file. Each time it hits a relevant record, return it. –Issue: later calls must go to the same server, since it knows where the transaction’s last call left off. –Sol’n 1: keep state in the message (like pseudo-conversation) –Sol’n 2: first call gets a binding handle to the server, so later calls go to it. Server needs to release state when client disappears

5/22/ Making a Workflow ACID If a workflow runs as many transactions, –it may not be serializable relative to other workflows (i.e., not isolated) –it may not be all-or-nothing (i.e., not atomic) Suppose a workflow auto-pays a credit card –T 1 debits checking and T 2 credits the card –Not Isolated - A query could run in between, looking for accounts where card debit exceeds checking balance. –Not atomic - A failure after T 1 might prevent T 2 from running.

Making a Workflow ACID (cont’d) These problems require app-specific logic. Isolation – App must understand that some money could be in flight. Atomicity - T 2 sends ack to T 1 ’s node. If T 1 ’s node times out waiting for the ack, it takes action, possibly compensating for T 1 5/22/07 13

5/22/07 14 Automated Compensation Each step in a workflow program identifies a compensation. This his called a saga. If a workflow stops making progress, the workflow system runs compensations for all committed steps, in reverse order (like transaction abort). Need to ensure that each compensation’s input is available (e.g. log it) and that it definitely can run (enforce constraints until workflow completes).

10.4 Other Workflow Models Scientific workflow –Use a workflow definition to drive an experiment –Review history of executions (provenance) –Capture sequence of steps for replay Configuration management –Check-out and Check-in of engineering docs or code –Can include customizable engineering process –Similar functions for managing system configuration tasks (e.g., how to provision a server) 5/22/07 15

Products IBM MQSeries Workflow MS BizTalk Orchestration MS SQL Server Service Broker JetForm TIBCO BEA WebLogic Process Integrator 5/22/07 16 See also