Managing Process Integrity (Chapter 8)

Slides:



Advertisements
Similar presentations
BPEL4WS Business Process Execution Language for Web Services Jim Clark eBusiness Strategist
Advertisements

An Approach to Wrap Legacy Applications into Web Services Wesal Al Belushi, Youcef Baghdadi Department of Computer Science, Sultan Qaboos University, Sultanate.
Web Services Transaction Management (WS-TXM) Michael Felderer Digital Enterprise Research Institute
1 Transactions and Web Services. 2 Web Environment Web Service activities form a unit of work, but ACID properties are not always appropriate since Web.
Corporate Context: A SOA & BPM Alliance Via Business Data Management Amir Bahmanyari Architect.
Business Process Management Technologies. BPM Servers and BizTalk (orchestration) BPEL4WS (modelling & execution) ebXML & RosettaNet (discovery & integration)
6/4/2015Page 1 Enterprise Service Bus (ESB) B. Ramamurthy.
Technical Architectures
Aligning Business Processes to SOA B. Ramamurthy 6/16/2015Page 1.
Chapter 15 Transaction Management. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Transaction basics Concurrency.
Chapter 8 : Transaction Management. u Function and importance of transactions. u Properties of transactions. u Concurrency Control – Meaning of serializability.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Version # Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1999 by Carnegie.
TRANSACTION PROCESSING TECHNIQUES BY SON NGUYEN VIJAY RAO.
David Harrison Senior Consultant, Popkin Software 22 April 2004
Distributed Databases
Analyzing different protocols for E-business 1 Fatma Sayed Gad Elrab Supervisors Prof. Dr. Ezzat abd El Tawab Korany Dr. Saleh Abdel Shachour El Shehaby.
Transactional Web Services, WS-Transaction and WS-Coordination Based on “WS Transaction Specs,” by Laleci, Introducing WS-Transaction Part 1 & 2, by Little.
Page 1 13/08/2015 The development of Web Transactions Mark Little, Distinguished Engineer, HP.
SOA Implementation & Federation SOA General Concepts SOA Implementation, System landscape and Processes – wM 8.2 Federation of Heterogeneous SOA environments.
Enterprise Object Framework. What is EOF? Enterprise Objects Framework is a set of tools and resources that help you create applications that work with.
SOA, BPM, BPEL, jBPM.
Copyright © 2001, Intalio, Inc. BPML 101 Implementing the BPML Specification Jeanne Baker Director of BPI Solutions, Sterling Commerce Director, BPMI.org.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
An Introduction to Software Architecture
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
10/18/20151 Business Process Management and Semantic Technologies B. Ramamurthy.
1 IRU Concurrency, Reliability and Integrity issues Geoff Leese October 2007 updated August 2008, October 2009.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
© 2008 Progress Software Corporation1 SOA-33: Transactions in a SOA World What happens next? Flight Booking Hotel Booking Car Booking (3) Calls (2) Change.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Mr.Prasad Sawant, MIT Pune India Introduction to DBMS.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
18 September 2008CIS 340 # 1 Last Covered (almost)(almost) Variety of middleware mechanisms Gain? Enable n-tier architectures while not necessarily using.
Dr. Ir. Yeffry Handoko Putra
Chapter 1: Introduction
Chapter 1: Introduction
Transaction Management and Concurrency Control
Service Oriented Computing
Chapter 1: Introduction
Distribution and components
Inventory of Distributed Computing Concepts and Web services
Service-centric Software Engineering
Enterprise Service Bus (ESB) (Chapter 9)
Managing Process Integrity (Chapter 8)
Architectural Roadmap
Services-based Systems Architecture, Design and Implementation
Inventory of Distributed Computing Concepts
Transactions, Locking and Query Optimisation
Technology Landscape and Enterprise Objectives
Outline Introduction Background Distributed DBMS Architecture
Managing Process Integrity (Chapter 8)
An Introduction to Software Architecture
Distributed Systems through Web Services
Large Scale Distributed Computing
Transactions and Concurrency
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Design Yaodong Bi.
WS Standards – WS-* Specifications
Business Process Management and Semantic Technologies
Terms: Data: Database: Database Management System: INTRODUCTION
Chapter 1: Introduction
SO-Architectural Roadmap
Design.
Presentation transcript:

Managing Process Integrity (Chapter 8) B. Ramamurthy 5/22/2019

Topics for discussion Review of last lectures: Services layers diagram (Ch. 1-7) Webservices (design and deployment) Relate these two in the context of design, development, deployment cycle of an SOA. Lets understand WSDL http://www.w3.org/TR/wsdl#_wsdl http://www.w3schools.com/wsdl/wsdl_documents.asp http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl? Lets look at the components of WSDL and look at Amazon.com ECS as example Review for midterm Process Integrity 5/22/2019

Anatomy of a WSDL document 5/22/2019

Sample WSDL http://www.w3.org/2001/04/wsws-proceedings/uche/wsdl.html http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl? 5/22/2019

Significance of WSDL WSDL for a web service (WS) when specified in an IDE (such as Netbeans) exposes the operations and the signature for the operations. This can be used access the operations of the WS. When designing business systems using BPEL, WSDL represents the requirements of a process in a BPEL. Business BPEL WSLD  services (SOA) Thus WSDL is the link that aligns a business process with an IT service. 5/22/2019

Data integrity Consistency Accuracy Correctness of data Entity integrity: each row in relational table must be uniquely identified Domain integrity: the values must fall within a specified value range Referential integrity: specifies the validity of relationship between different data sets. 5/22/2019

Process integrity Business processes span multiple IT systems. There are times when a process state may be inconsistent. For example, a cancelled order takes some time to register with order system. Technical failures such as network failure: system-wide solution Business exceptions must be handled at the process level: WSDL fault provisions Special cases: overbooking of a flight (cannot be handled by domain integrity.) Must be handled at code level. Process ownership is another problem. For example, consider a workflow application. 5/22/2019

Process integrity solutions Logging and tracing ACID transactions Atomicity, consistency, isolation, durability Transaction monitors 2PC: two-phase commit protocol is used to ensure ACID properties for transactions that span more than a single resource manager. Phase 1: all participating resource managers acquire locks on shared resources Depending on phase transaction coordinator informs participants whether to commit or rollback Phase 2: participants either commit or rollback to previous state depending on instruction from coordinator Issues: performance, lack of support for long-lived transactions, integration of legacy systems, not suited for discontinuous network, use of multi-level and nested transactions 5/22/2019

Process integrity solutions: transactional steps Combination of transactional steps and persistent queue can improve reliability of complex processes. Transactional steps are a set of closely related activities executed in the context of a single complex transaction. Transactional steps facilitate the decomposition of complex, long-lived business processes into individual steps with short execution times and high transactional integrity. Transactional steps dramatically increase the robustness and flexibility of distributed systems. ~ provide a great way of ensuring the integrity of individual process steps. 5/22/2019

Process integrity solutions transaction chain & compensation ACID properties are too strong for complex transactions Chained transactions with compensating transactions offer a viable means of dealing with process integrity. Compensating transactions undo previously executed steps if a problem is encountered during the execution of a particular step in a transaction chain. http://www.serviceoriented.org/ws-transaction.html 5/22/2019

Sagas Sagas are formal workflow models that build on the concept of chained transactions (steps). A Saga describes a workflow wherein each step associated with a compensating transaction. How do you compensate “out of funds” failure? 5/22/2019

BPM and process integrity BPM (Business Process Management) platforms provides features that enable business analysts and developers to design, execute and manage instances of complex business process. Introduction of BPM will help the process integrity aspects of an enterprise application. Explicit modeling separates technical integrity from process integrity BPM engine provides mechanisms for monitoring processes at runtime BPM supports compensating transactions which is key concept for managing the rollback of partially executed processes after a failure. 5/22/2019

Related WS-Standards See fig. 8-4 A number of different industry alliances and standardization bodies are working on WS-based transaction protocols. OASIS Business Transaction Processing (BTP) WS Flow language WS-BPEL BPEL4WS XLANG WS-Composite Application Framework WS-coordination WS-Transaction … 5/22/2019

Process Integrity Spectrum 2PC/TPM in Heterogeneous env. 2PC/TPM in homogeneous env. Level of integrity Sagas with complex compensation BPM engine with Simple compensation Transactional Steps Custom-built log infrastructure DB log analyzer Eyes closed & Praying Implementation cost 5/22/2019

Mid-term review Date: 10/24 Duration: 1 hour 30min Topics: 1-7 Chapters Closed book Topics for questions: Fundamental concepts: synchrony, loose coupling etc., interface vs. payload semantics Service types Design of an SOA for a application: layered architecture, WS types, SOA design 5/22/2019

Process Integrity in SOA Case Study: Travel Itinerary Management Analyze the problem Choose concurrency control: optimistic vs pessimistic Use idempotent update operations Avoid distributed 2PC Build transactional steps Design simple and flexible compensations Combine SOA, MOA and BPM for flexibility 5/22/2019

Problem Statement & Analysis (8.3.1 & Fig.8-5) Typical sites enable you to book individual flights. The new travel itinerary mgt. system should create complete itineraries for trips including car, hotel and flights. Reuse existing IT subsystems esp. customer management and billing systems. Two different front-ends: simple html front and a complex front-ends for call center (VB GUI) functionality Three backend systems: customer management, billing, and other complex processes such as customer complaints etc.) A number of partner systems need to be integrated; example: partner airlines, hotel and car reservation systems. Key transactions are: confirm itinerary (typically irreversible) and create invoice; these transactions cross organizational boundaries cross several technical boundaries involve different databases involve different departments 5/22/2019

Architectural model 5/22/2019 Enterprise Reservation systems (cars, hotels, other airlines) Enterprise Reservation systems (cars, hotels, other airlines) Customer Customer & Itinerary DB Web front-end IncidentManager Process state DB Billing Callcenter front-end Invoice DB 5/22/2019

Concurrency Control (8.3.2, figs.8-6, 8-7) This specifies how to deal with concurrent access to shared data in an SOA. Optimistic and pessimistic Pessimistic control gives exclusive access to data through acquisition of locks; locks typically are held for short duration. Optimistic control: no locks are acquired during the transaction execution, only when data needs to be updated at the end of the transaction. Optimistic control is the choice for long running transactions. 5/22/2019