Invited Speaker

advertisement
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Invited Speaker
Dr. Nicola Boffoli
Software Engineering LABoratory (SERLAB)
University of Bari, Italy
 Research Interests:

software processes, business processes, software
product lines, service oriented architectures
 Presentation Title

Managing SOA System Variation through Business
Process Lines and Process Oriented Development
DIB
1
SOAPL 2009
S.Francisco, 25th August
Managing SOA System Variation through
Business Process Lines
and Process Oriented Development
Nicola Boffoli, Marta Cimitile,
Fabrizio Maria Maggi, Giuseppe Visaggio
SERLAB - Department of Informatics
University of Bari - Italy
{boffoli, cimitile, maggi, visaggio}@di.uniba.it
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Outline
SPL & SOA
Proposal
DIB
• Peculiarities and Comparison
• Research Question
• Business Process Lines
• Process Oriented Development
• Case Study: a Selling SOA-System Line
3
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
SPL & SOA
 Two common perspectives

Software reuse and flexibility
• implementing new software systems reusing existing
software resources
• allowing to adapt the systems to the different customers of
a whole market segment
 However…


SPL focuses on the commonality and variability to build
a set of software products
SOA allows to compose, orchestrate and maintain
solutions based on services, implementing business
processes
DIB
4
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Research Question
 How can SOA systems benefit from SPL good
practices?

reuse and variation management approaches
 In the SOA system context


what is the core asset?
how can we implement
the variation mechanisms?
DIB
5
Customer Needs
Assets Reuse
Variation Mechanisms
commonalities
configuration
variabilities
specialization
SOA System
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Our Proposal
Customer Needs
Assets Reuse
Variation Mechanisms
commonalities
configuration
variabilities
specialization
according to the SPL practices is
able to model the process variant,
suitable for specific customer needs
is able to transform a process
variant into an executable SOA
system
SOA System
Case Study: a selling SOA system line
DIB
6
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Business Process Lines (1/3)
 A BPL is a set of similar business processes


sharing a common part (commonality)
characterized by a variant part (variability) depending on the
specific context where the process will be applied
 A BPL works integrating a set of process assets

i.e. atomic reusable parts of a
(one or more activities with their IN/OUT)
PROCESS
ASSET
DIB
7
business
process
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Business Process Lines (2/3)
 A BPL consists in:


a set of invariant assets (commonality)
a set of variant assets (variability)
• each process of the BPL requires a different subset of the variant
assets chosen according to the specific context

a set of rules: to build automatically the appropriate process
model (the “process variant”)
• Variability Selection
– Variant assets are selected among the candidate ones on the basis of
the specific context
• Assets Specialization
– Each asset (variant or invariant) is specialized modifying its
characteristics according to the specified context
DIB
8
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Business Process Lines (3/3)
Decision Tables
DIB
Decision Tables
9
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Process Oriented Development
Implementative details,
mapping between:
 process artifacts – BPEL variables
 process activities – serivices or BPEL WkF
DIB
Process
Element
BPEL object
Start Node
<Receive>
End Node
<Reply>
Activity
<Invoke>
10Decision Node
It could be translated as a tag BPEL
<if>, <while> or <repeat until> on
the basis of the specific control flow
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
- Case Study a Selling SOA System Line
DIB
11
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Case Study: overview
 Our proposal has been adopted in a
research project


collaboration with industrial organizations
from Puglia
SOA
systems
implementation
to
automate business processes in the field
of local agricultural and food
DIB
12
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Case Study: overview
3 main steps
1.
2.
3.
BPL definition
BPL application
POD application
DIB
13
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Step1: BPL Definition (1/4)
 Analysis of MIT library (2003, Malone et Al.)

information useful to obtain a set of BPL
(allowing to model several kinds of business processes)

in this session the definition of a Selling BPL
(obtained using the MIT Selling processes)
 Results
Invariant Assets
ia1
Obtain order
ia2
Deliver product or service
ia3
Receive payment
DIB
14
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Step1: BPL Definition (2/4)
Diversity
Factors
Sell How
Candidate Variant Asset
Values
Sell via physical store
Sell via electronic store
Sell via face-to-face
Sell via direct mail
Sell via email/fax
Sell via television direct
response marketing
Sell via telemarketing
va1
Share out goods
va2
Register Sellers
va3
Register Alternative Products
va4
Arrange store displays
va5
Auction
va6
Check quality
Sell What
Service, Product, Process
va7
Register Auction Result
Auction
Y, N
Advance
Payment
va8
Identify potential customers
need
Y, N
va9
Identify potential customers
Quality control Y, N
Selling
Suggestions
DIB
va10 Inform potential customers
Y, N
va11
15
Manage customer
relationships
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Step1: BPL Definition (3/4)
DIB
16
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Step1: BPL Definition (4/4)
DIB
17
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Step2: BPL Application (1/3)
 The obtained BPL could be used to model
different process variants of the Selling process
 In this work

we describe the application of the Selling BPL to
automate the selling process of a fish consortium in
Manfredonia (Puglia)
DIB
18
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Step2: BPL Application (2/3)
 Context Profile =(“Sell via physical store”, “Product”, “Y”, “N”, “Y”, “Y”)
DIB
19
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Step2: BPL Application (3/3)
Fish Consortium
Selling Process
 Context Profile =(“Sell via physical store”, “Product”, “Y”, “N”, “Y”, “Y”)
DIB
20
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Step3: POD Application
 According to the POD

Process Variant  Detailed Process Model (DPM)
 For this purpose: ExportBPEL


an application to support the DPM generation
add-in of Enterprise Architect (EA)
• a graphical UML tool for modeling, documenting, building object-oriented
software systems
 Activity7: Register_Auction_Result



(of the Process Variant)
1 method: method_7_Register_Auction_Result
2 input variables: Entry_Document_ID (String) and
Auction_Winner_Username (String)
1 output variable: a complex type composed by
Auction_Sticker_ID (String) and Shipping_Paper_ID (String)
DIB
21
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Conclusions and Future Works (1/2)
 This work proposes to apply the good practices of
SPL to SOA, the authors introduce


the BPL permits to select the suitable process variant
the POD permits to implement the appropriate SOA
 Case study: selling process in a fish consortium



- 80% in selection of the suitable process model
according to the customer requirements
- 30% in implementation of the selected business
These values are qualitative evaluations on the basis of
the feedbacks of the experts involved in the project
DIB
22
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Conclusions and Future Works (2/2)
 Variation Mechanisms


business processes modeling: the BPL support the most
of typical variation of SOA system
services development: the variations are addressable to
the traditional SPL approaches
 Future Works

BPL perspective
• tailoring/adopting specific SPL techniques: features model,
aspects, …

SPL perspective
• SOA system is a software product  SPL generating SOA product
too
DIB
23
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Thank You!
Questions?
DIB
24
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Decision Table Formalism
 A decision table (DT) is divided in four quadrants:
conditions (Cond), conditional states (S), actions (Act) and
rules (x)
 The table is defined so that each combination of conditions
and conditional states corresponds to a set of actions to
carry out
- Compact overview
- Modular knowledge organization
- Evaluation of consistency,
completeness and redundancy
DIB
25
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Variability Selection DT
 For each BPL a Variability Selection DT is built to select the
variant assets characteristic of a specific context among the
candidate variant assets




the CONDITION quadrant contains the diversity factors DFi i=1,...r
driving the variant assets selection
the CONDITIONAL STATE quadrant contains the possible values of each
factor: [DFi]={dfi1, dfi2, …, dfiq}
the ACTION quadrant contains all the candidate variant assets that can
be selected to realize the process variability
the RULE quadrant identifies
the relationships between each
context profile and the variant
assets
DIB
26
Managing SOA System Variation through
Business Process Lines and Process Oriented Development
Asset Specialization DT
 For each asset, variant or invariant, an Asset Specialization
DT is built as follows




the CONDITION quadrant contains the diversity factors DFi
i=1,...r driving the asset specialization
the CONDITIONAL STATE quadrant contains the possible
values of each diversity factor: [DFi]={dfi1, dfi2, …, dfiq}
the ACTION quadrant contains the specializing actions to
characterize the asset according to the specified context profile
the RULE quadrant identifies the relationships between each
context profile and the specializing actions to be applied
DIB
27
Download