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