Querying Business Processes Catriel Beeri Anat Eyal Simon
Querying Business Processes Catriel Beeri Anat Eyal, Simon Kamenkovich, Tova Milo Querying Business Processes VLDB 2006 Hebrew University Tel Aviv University 1
Outline v Introduction and motivation v Overview of BPQL by example v Formal model v Implementation v Summary Querying Business Processes VLDB 2006 2
(Distributed) Business n Complex applications Processes n Integrating remote Web Services Common practice: n Use BPEL for specifications Querying Business Processes VLDB 2006 3
BPEL in a nutshell BPEL 4 WS (V 1. 0 by BEA, IBM, Microsoft, July 2002) Process spec. q represented in XML operations, flow and data Actions: q atomic q compound : fork, join, while, process call, … Commercial products: q Application generators compile to executable code q Application servers execute the code q Design tools with “conceptual” model Querying Business Processes VLDB 2006 4
Motivation Not just simplifying development… This is a new mine of Information! Interesting questions: n n n What kind of credit services are used (in)directly? How can I buy a plane ticket? Can one get a price quote without first giving credit card info? Querying Business Processes VLDB 2006 5
Requirements n Flexible granularity q q n Distribution q q n Zoom into remote components Query remote specifications Path extraction q n Coarse-grain queries that allow for high level abstraction Fine-grained queries that zoom-in on all components E. g. What should I do to confirm my trip? Ease of querying q Visual query similar to specifications (BPEL designer) Querying Business Processes VLDB 2006 6
Can a query language be based on XQuery over BPEL? NO! The BPEL XML representation is machine oriented, complex, unfit for human consumption n Difficult to understand n Queries require lots of joins Need: Similarity of system and query models Querying Business Processes VLDB 2006 7
Outline v Introduction and motivation v Overview of BPQL by example v Formal model v Implementation v Summary Querying Business Processes VLDB 2006 8
Travel Agency Spec n Property, data & activity nodes n Control and data flow edges A process is a di-graph of atomic and compound activities Compound activities can be zoomed-in (a-la statecharts) Querying Business Processes VLDB 2006 9
Zoom-in Querying Business Processes VLDB 2006 10
BPQL Queries n Use process patterns (like tree patterns for xml) Query 1: Provided operations? n Single/double-headed edges (compare to / and // in XPath) q q n Single/double-bounded activities: q q n n Querying Business Processes – edges – paths of arbitrary length – w/o zoom-in – unbounded zoom-in Mark requested nodes/edges by Node label variables VLDB 2006 11 ü
Query 2: used credit card services? local Querying Business Processes VLDB 2006 12
Query 3: search without login? Querying Business Processes VLDB 2006 13
Query 4: data flow Data elements affected by search. Request and affecting return. Trip. Results Querying Business Processes VLDB 2006 14
Outline v Introduction and motivation v Overview of BPQL by example v Formal model v Implementation v Summary Querying Business Processes VLDB 2006 15
Formal Model System: n Process graphs + implementation function n Graph refinement (graph rewriting) implementation Query: n A system where some nodes & edges are marked transitive Querying Business Processes VLDB 2006 16
Semantics An embedding: a mapping from: to: query graphs [refinements of] process graphs satisfying conditions: (nodes): preserves nodes types and labels (edges): edge are mapped to edges transitive edge mapped to paths (imp): preserves implementation relationships A result: image of query graph under an embedding Answer: all results Querying Business Processes VLDB 2006 17
Large or Infinite answers! n Many fork/joins exponential number of paths n Cycles in process graph Cycles (recursion) in zoom-in relationships n Infinite # of refinements Querying Business Processes VLDB 2006 18
Recursion example Travel Agency Querying Business Processes Airline VLDB 2006 19
Compact representation Querying Business Processes Infinite VLDB 2006 Compact 20
Query Evaluation Algorithm Systems and queries are essentially (Vertex Replacement) Context Free Graph Grammars Bad news: These are not closed in general under intersection Good news: q Our systems and queries are sufficiently simple: Complexity: Polynomial in size of spec Querying Business Processes VLDB 2006 21
Extensions: n OK extensions (implemented): q q n label predicates Regular path expressions (on node labels) Negation Joins on node labels Not OK extensions (hence not implemented): : q Joins on path variables n n n The result is not a VR context free graph grammar Emptiness is undecidable NP-hard (data complexity) even without cycles and recursion Querying Business Processes VLDB 2006 22
Outline v Introduction and motivation v Overview of BPQL by example v Formal model v Implementation v Summary Querying Business Processes VLDB 2006 23
First Attempt Translation to XQuery queries over the BPEL XML Problem: too many joins, because of the relational representation in BPEL nodes process variables var 1 … link … “L 1” links descrription start search. Trip reserve. Trip confirm. Trip cancel. Trip link source description target source description … “L 5” “L 1” “L 2” “L 3” “L 4” … … … end … edges Querying Business Processes VLDB 2006 24
Solution: use Active XML (www. activexml. net) Travel agency service. Provider capability behavior zoomin AXML: XML + Embedded calls to web services start search. Trip zoomin reserve. Trip start cancel. Trip confirm. Trip end xml: sc get. Trip. Request fork get. Activity(end) search. Cars join search. Flights get. Activity(join) end search. Rooms get. Activity(join) zoomin get. Operation(search. Rooms, join) zoomout get. Activity(reserve. Trip) Querying Business Processes VLDB 2006 25
Results Joins vs. calls to Web services … … … Querying Business Processes VLDB 2006 26
Distribution Effect Querying Business Processes VLDB 2006 27
Outline v Introduction and motivation v Overview of BPQL by example v Formal model v Implementation v Summary Querying Business Processes VLDB 2006 28
Summary n Simple and intuitive query language q q n n Similar to how processes are specified Flexible granularity Two navigation axis Path retrieval Operates in a distributed environment Systems and queries are modeled as graph grammars Allows compact representation of large/infinite answers n Ignores semantics of some BPEL constructs and data values q n Reasonable tradeoff of expressivity and complexity AXML as an implementation platform supports q q Transparent distribution Taking advantage of built-in optimization Querying Business Processes VLDB 2006 29
Ongoing and future work n n n n Incomplete information Querying/mining logs Applications to software verification and monitoring Capturing more BPEL semantics Process integration Optimization … Querying Business Processes VLDB 2006 30
Thank you Querying Business Processes VLDB 2006 31
- Slides: 31