Persistent Data and Process Data Jianwen Su University of California at Santa Barbara Activity datacentricity artifact Lessons from practice BP a s a S ervice ID: 435829
Download Presentation The PPT/PDF document "Bridging" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Bridging Persistent Dataand Process Data
Jianwen Su
University of
California at
Santa BarbaraSlide2
Activity data-centricity artifactLessons from practiceBP a
s
a ServiceExtending the artifact concept: Help from data integration? (or not)Cross reference pathsThe updatability requirementIsolation of process “footprints” or dataprintsMany challenges aheadConclusions
Outline
2013/08/26
DAB 2013
2Slide3
Activity-centric, focusing on control flow (e.g. BPMN)Mainly aiming at business management in general(instead of software design/development)E.g., resource planning, logistics, and managementMissing data is a key reason for hindering software design and management,
many miserable stories including
Hangzhou Housing Management Beauru (HHMB)Kingfore Corporation (KFC, Beijing)RuiJing hospital (Shanghai) &Cottage hospital (Santa Barbara, CA)IBM Global Financing (IGF)
Traditional BP Modeling
2013/08/26
DAB 2013
3Slide4
DAB 20134Four Kinds of Data
Business
data: essential for business logicExamples: items, shipping addressesEnactment status: the current execution snapshotExamples: order sent, shipping request madeResource usage and state
needed for service execution
Examples:
cargo space reserved, truck schedule
to
be determined
Correlation
between processes instances
Example:
3 warehouse fulfillment process instances for Jane’s
orderNeed models that include both activities and data2013/08/26Slide5
DAB 20135Four Classes of BP Models
Data agnostic
models: data mostly absentWF (Petri) nets, BPMN, UML Activity Diagrams, …Data-aware models: data present (as variables), but storage and management hidden
BPEL, YAWL, …
Storage-aware models: schemas for persistent stores, mappings to/from data in BPs defined and managed manually
jBPM, …
Data encapsulting
models: logical
data modeling, automated
modeling other 3 types, data-storage mapping
Business objects, artifact-centric models
2013/08/26Slide6
DAB 20136Artifact = Biz Process
A
business artifact is a key conceptual business element that is used in guiding the operation of the businessfedex package delivery, patient visit, application form, insurance claim, order, financial deal
, registration, …
Consists of a business entity and
a lifecycle
[
Nigum-Caswell IBM Sys J 03]
Very
natural to business managers and BP
modelers
For
this talk : artifact is a synonym of BP (practically beneficial)
2013/08/26
application
preliminary
review
secondary
review
approval
lic. fee payment
certificate
delivary
Business (biz) entitySlide7
Activity data-centricity artifactLessons from practice
BP
as a ServiceExtending the artifact concept: Help from data integration? (or not)Cross reference pathsThe updatability requirementIsolation of process “footprints” or dataprintsMany challenges aheadConclusions
Outline
2013/08/26
DAB 2013
7Slide8
Development of application systems in DB a courseLast Winter: a bank systemAccounts, clients, transactions; a small number of typical transactions; teller & management: monthly statements, tax reportsTypical development approach: Entity-Relationship modeling Java classes/modules Java & JDBC codeMost frequent mistakes:
Mismatch of data design in Java and in ER: omissions, incompatible semantics
Too bad: this is the best available to teachStory 1: Toy Application Systems2013/08/26DAB 20138The two sides of the coin are indeed separatedSlide9
Heating repair workflow for Kingfore in BeijingThe primary workflow consisting ofreporting problems, assign service persons, onsite repair,and
post-repair review visits
3-month development contracted to BUPTTheir problem:Mid-way requirement change including, in particular, adding an activity to the repair workflow: demands rewriting a lot of codeArtifact BP helps conceptualizaing changes, but…A close look: rewritten code mostly involve DB accesses Story 2: An Application System2013/08/26DAB 2013
9Slide10
Typical development steps:Enterprise database designThe repair workflow modeled in XPDL (BPMN)Each activity in the workflow coded,“biz entity” never designed but just coded as needed
Developers made isolated decisions to
“link” biz entity to database (via SQL) (contrast to BP model)Elevating to the conceptual levelBiz entity artifact info modelLink database-entity mappingscould enable automating coding db accesses2013/08/26
DAB 2013
10
Integrating the two sides helps application development
[Sun-S.-Wu-Yang 2013]
Database Design & Biz Entity DesignSlide11
Ad hoc design, developed over time, patches, multiple technologies, … a typical legacy systemProblems:Embedded business logic, hard to learnhard to maintain, costly to add new functionalityhard to change/evolveAn
XXX
Application System2013/08/26DAB 201311Slide12
Services encapsulate system details and reflect business logic, easier to learn
Easier to manage even if not technically
New functions on top of services SOA Paints a Bright PictureDAB 201312
Tax
Calculation
Reassessment
Title Change
Inheritance
Sales-transaction
Determine tax base
Appraisal
services
2013/08/26Slide13
Towards a goal of Business Process as a S
ervice (BPaaS)
Enterprises may run virtual IT systems
2013/08/26
DAB 2013
13
Enterprise System
Tax
Calculation
Reassessment
Title Change
Inheritance
Determine tax base
AppraisalPAL
TaxPAL
TitlePAL
HR_PAL
AccountingPAL
AssessorPAL
How
do we
do it?
The
L
E
G
O
FantasySlide14
Service Programming is an Art
2013/08/26
DAB 201314
Tax
Calculation
Reassessment
Title Change
Inheritance
Sales-transaction
Determine tax base
Certificate
n
ew service
How to compose?
Is it “correct”?
Appraisal
services
How to query?
Warn if #applications
for title change involving
tax reassessment reach 5
Sales-transaction
Add new edu tax
How to change
& evolve?
How to do
transactions?
age>55 & …
The real world is not
very kind
HELP NEEDEDSlide15
Activity data-centricity artifactLessons from practice
BP as a Service
Extending the artifact concept: Help from data integration? (or not)Cross reference pathsThe updatability requirementIsolation of process “footprints” or dataprintsMany challenges aheadConclusions
Outline
2013/08/26
DAB 2013
15Slide16
Conceptualizing Running Workflows2013/08/26DAB 201316
Workflow instances
Database
Each workflow (BP) instance consists of
a
biz entity
and a
lifecycle
Data mappings
are ad hocSlide17
Global as View (GAV): The global database is a view (result of a query) on local data sourcesLocal as View (LAV): each
local data source
stores the result of view on the virtual global database Research focused on query evaluationSchema mapping (e.g., Clio) focus on computing general target databases [Popa et al VLDB 02] [Fagin et al, ICDT 03]Data Integration: A Bird’s View2013/08/26DAB 2013
17
Local
data source
Local
data source
...
Global
Database
[Lenzerini PODS 02]Slide18
Data Integration for Workflows?2013/08/26DAB 201318
GAV is not suitable:
Data not stored in workflow instances
The number of instances changes at runtime
LAV
?
Data not stored in workflow instances
Workflow instances
DatabaseSlide19
A
local view
issound: only contains (part of) results of the viewcomplete: contains all results of the viewWorkflow data mappings?Must be exact, i.e., both sound and completeOpen problem: demands a better understanding of data mappings
Soundness and Completeness
2013/08/26
DAB 2013
19
Local
data source
Global
Database
[Lenzerini PODS’02]Slide20
Activity data-centricity artifactLessons from practice
BP as a
ServiceExtending the artifact concept: Help from data integration? (or not)Cross reference pathsThe updatability requirementIsolation of process “footprints
” or dataprintsMany challenges aheadConclusions
Outline
2013/08/26
DAB 2013
20Slide21
Example: The Database (& Lifecycle)2013/08/26DAB 2013
21
Includes keys, foreign keys, and a cardinality specification on each foreign keySlide22
Example: The Biz Entity2013/08/26DAB 201322
Tuple and
(nested) set constructsSlide23
aID : tRepair.
tRepairID
aReason = aReason.aRepair Info.
aID
@
tRepair(tRepairID)
.
tReason
aCust
Addr
=
aCust
Addr.aCust Name
.[aCust Last
Name,aCust First
Name]
@
tUser(tLastName, tFirstName
)
.
tAddress
Example: Cross Reference Paths
2013/08/26
DAB 2013
23Slide24
aServiceID : tServiceInfo
.
tServiceID when aServiceID.aService
Info.
aID
=
tServiceInfo
.
tRepairID
SI
aTime
=
aTime.aServiceID@tServiceInfo(tServiceID).tTime
In summary, two kinds of mapping rules:
Key mapping rule — existentially quantifiedNon-key mapping rules —access path with equality More Cross Reference Paths
2013/08/26
DAB 2013
24Slide25
ED cover consists of one mapping rule for each primitive attribute in biz entityKey attributes use key mapping rulesNon-key attributes use equality access rulesGreat news: DB accessed can be auto-generatedWorkflow modifies its entity, DB hiddenEvery update on DB can be propogated to entity?Every update on entity can be propogated to DB?
Entity-Database Cover
2013/08/26DAB 201325Workflow
DBSlide26
Activity data-centricity artifactLessons from practice
BP as a
ServiceExtending the artifact concept: Help from data integration? (or not)Cross reference pathsThe updatability requirementIsolation of process “footprints”
or dataprintsMany challenges aheadConclusions
Outline
2013/08/26
DAB 2013
26Slide27
Database updability:for each update Dd on d, there is
an
e such that e = m(D
d(
d
))Entity updability:
for each update
D
e
on
e
=
m
(d), there is a d
such that m(d) = D
e(e) Updatability
2013/08/26
DAB 2013
27
Workflow
e
=
m
(
d
)
DB
d
mSlide28
Database updability:for each update Dd on d, there is an update
D
e such that De(m(d))
=
m(D
d
(
d
))
Entity updability
:
for each update
De
on m(d), there is an update D
d such that m(Dd(d
)) = De(m(d
)
)
Updatability
2013/08/26
DAB 2013
28
Workflow
e
=
m
(
d
)
DB
d
m
D
e
D
d
m
D
d
(
d
)
D
e
(
m
(
d
))Slide29
Database updatability: forward, can always be doneEntity updatability: backward, often not possible Very closely related to database view update problem [Bancilhon-Spyratos TODS 81]View complement [BS81] [Lechtenbörger et al PODS 03]
Clean source
[Dayal-Bernstein TODS 82][Wang et al DKE 06]Fortunate here:Theorem: Every non-overlaping ED cover is entity updatable [Sun-S.-Wu-Yang ICDE ‘14]Entity Update & View Update
2013/08/26
DAB 2013
29Slide30
Activity data-centricity artifactLessons from practice
BP as a
ServiceExtending the artifact concept: Help from data integration? (or not)Cross reference pathsThe updatability requirementIsolation of process “footprints
”
or dataprintsMany challenges aheadConclusions
Outline
2013/08/26
DAB 2013
30Slide31
SeGA separates data from execution engineServes as a mediatorSeGA: A Service Wrapper/Mediator2013/08/26DAB 2013
31
[Sun-Xu-S.-Yang CoopIS ’12]SeGA
...
Dispatche
r
Artifact
Repository
Event Queue
Barcelona
Engine 1
EZ-Flow
Engine 1
Barcelona
Engine n
. . .
. . .
. . .
Incoming event
BP instance
Schema
Outgoing event
1.
SeGA
receives incoming events
2.
A dispatcher fetches the correlated BP instances according to the type of the incoming event
3.
The dispatcher sends the incoming event, the BP instances, and their schemas to the corresponding engine
4.
The engine then processes the incoming event, updates the BP instances, and sends outgoing events
5.
The dispatcher retrieve the updated BP instances from the engine and store them back to the repository
Possible only if “footprints” of BP instances disjointSlide32
m is isolating if each update on a single entity (instance) will not affectwrite (and/or read) attributes of other entity instancesTheorem: Isolation can be testedTesting
“
conflicting” updatesEXPTIME with conditional updates Isolation of BP Instances2013/08/26
DAB 2013
32
Snapshot
DB
d
m
. . .
[Sun-S.-Wu-Yang
ICDE ‘14]Slide33
Activity data-centricity artifactLessons from practice
BP as a
ServiceExtending the artifact concept: Help from data integration? (or not)Cross reference pathsThe updatability requirementIsolation of process “
footprints
” or dataprints
Many challenges ahead
Conclusions
Outline
2013/08/26
DAB 2013
33Slide34
FundamentalsWhat are these mappings?db queries phrased in 1960’s, not understood until [Chandra-Harel JCSS 79, Bancilhon-Paredaens IPL 79] Updatability, what else?Mapping languagesDesign principlesIsolation, for lifecycles?, runtime mechanisms?Data design completeness, needs ontology
Implementability: translating IOPEs on artifact to DB
TransactionsWorkflow vs databasesConnecting Biz Entities and Databases2013/08/26DAB 201334Slide35
Activity data-centricity artifactLessons from practice
BP as a
ServiceExtending the artifact concept: Help from data integration? (or not)Cross reference pathsThe updatability requirementIsolation of process “
footprints
” or
dataprintsMany challenges ahead
Conclusions
Outline
2013/08/26
DAB 2013
35Slide36
Research on artifact BPs: need to look outsideData is the enabler/destroyerHolistic approaches including data and BPs can benefit practice, i.e., software design for enterprisesBPaaS requires independence of service and data management [S. ICSOC’12]Need a new forum to explore holistic approaches Conclusions
2013/08/26
DAB 201336