/
Bridging Bridging

Bridging - PowerPoint Presentation

pasty-toler
pasty-toler . @pasty-toler
Follow
432 views
Uploaded On 2016-08-06

Bridging - PPT Presentation

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

data 2013 entity dab 2013 data dab entity database artifact updatability workflow activity process update instances business reference cross

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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