phd. colloquium
DESCRIPTION
Presentation given about my research during the PhD. colloquium at Utrecht UniversityTRANSCRIPT
![Page 1: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/1.jpg)
Introduction Research Approach More in depth Till now and further on
PhD. ColloquiumTenant-dependent Variability Patterns in Online
Business Software
Jaap Kabbedijk, MSc.
Utrecht University
June 05, 2012
![Page 2: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/2.jpg)
Introduction Research Approach More in depth Till now and further on
Outline
Introduction
Research Approach
More in depthMulti-tenancySoftware Patterns
Till now and further on
![Page 3: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/3.jpg)
Introduction Research Approach More in depth Till now and further on
Who am I?
• Jaap Kabbedijk
• Business Informatics
• PhD. candidate• Multi-tenancy• Online variability• Variability patterns
• Running, Fiction
![Page 4: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/4.jpg)
Introduction Research Approach More in depth Till now and further on
Personal
![Page 5: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/5.jpg)
Introduction Research Approach More in depth Till now and further on
![Page 6: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/6.jpg)
Introduction Research Approach More in depth Till now and further on
Professional
![Page 7: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/7.jpg)
Introduction Research Approach More in depth Till now and further on
Requirements Engineering: Customer Involvement
Kabbedijk J., Brinkkemper S., Jansen S., van der Veldt B. (2009).Customer Involvement in Requirements Management: Lessonsfrom Mass Market Software Development. 17th IEEE InternationalRequirements Engineering Conference, 281-286
![Page 8: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/8.jpg)
Introduction Research Approach More in depth Till now and further on
Requirements Engineering: Decision Making
Kabbedijk J., Wnuk K., Regnell B., Brinkkemper S. (2010). WhatDecision Characteristics Influence Decision Making inMarket-Driven Large-Scale Software Product Line Development?16th International Working Conference on RequirementsEngineering: Foundation for Software Quality, 42-53
![Page 9: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/9.jpg)
Introduction Research Approach More in depth Till now and further on
Software Ecosystems
Kabbedijk J., Jansen S. (2011). Steering Insight: An Explorationof the ruby Software Ecosystem. 2nd International Conference onSoftware Business. Lecture Notes in Business InformationProcessing(80),44-55
![Page 10: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/10.jpg)
Introduction Research Approach More in depth Till now and further on
PaaS: the reason I’m here now
![Page 11: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/11.jpg)
Introduction Research Approach More in depth Till now and further on
Product as a Service
• 4 year project
• Started 01/01/2011
• Two perspectives
• Two PhD’s
• NWO/ICT-Regie funded
• Cooperation challenge
![Page 12: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/12.jpg)
Introduction Research Approach More in depth Till now and further on
So now I research...
Tenant-dependent Variability Patterns in Online BusinessSoftware
![Page 13: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/13.jpg)
Introduction Research Approach More in depth Till now and further on
Outline
Introduction
Research Approach
More in depthMulti-tenancySoftware Patterns
Till now and further on
![Page 14: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/14.jpg)
Introduction Research Approach More in depth Till now and further on
Research Motivation
• Customers have specific requirements for the software they use
• Offering specific on-premises variants can be hard to:• Manage• Update• Maintain
• Complying to customer specific requirements in a SaaSenvironment has drawbacks:
• Difficulty with scalability• Difficulty with maintainability• Architectural erosion
![Page 15: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/15.jpg)
Introduction Research Approach More in depth Till now and further on
Main Project Goal
Minimizing the total cost of ownership (TCO), by profiting ofthe economy of scale of the SaaS deployment model, whilekeeping flexibility in offering functionality to customers
![Page 16: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/16.jpg)
Introduction Research Approach More in depth Till now and further on
What will we do?
What will we do in order to answer the question:
“How to facilitate variability in Multi-tenant Software as aService deployments?”
Variability patterns!
![Page 17: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/17.jpg)
Introduction Research Approach More in depth Till now and further on
What will we do?
What will we do in order to answer the question:
“How to facilitate variability in Multi-tenant Software as aService deployments?”
Variability patterns!
![Page 18: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/18.jpg)
Introduction Research Approach More in depth Till now and further on
Case Companies
• AFAS
• Exact
• MP-Objects
• Mendix
• Centric
• 15 others!
![Page 19: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/19.jpg)
Introduction Research Approach More in depth Till now and further on
How to get the patterns?
![Page 20: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/20.jpg)
Introduction Research Approach More in depth Till now and further on
Gathering patterns
• Through case studies
• Out of literature
• Using the Seminar on Software Patterns
![Page 21: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/21.jpg)
Introduction Research Approach More in depth Till now and further on
Evaluating the patterns (1/2)
• Scalability - How does the software product behave if thecustomer base grows?
• Maintainability - How easy can the software be maintainedwhen this pattern is applied?
• Reusability - How is the reuse of parts of the softwareinfluenced when applying this pattern?
• Security - What is the risk in terms of security ofimplementing this pattern?
![Page 22: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/22.jpg)
Introduction Research Approach More in depth Till now and further on
Evaluating the patterns (2/2)
• Complexity - How complex is the the implementation of theresulting software product?
• Flexibility - How well can the pattern cope with differentsystem environments?
• Required Changed - How much should be changed to asolution that does not yet implement the pattern?
![Page 23: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/23.jpg)
Introduction Research Approach More in depth Till now and further on
How to evaluate them?
• Project workshops
• Case company interviews
• Case company evaluation sessions
• Academic focus groups
![Page 24: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/24.jpg)
Introduction Research Approach More in depth Till now and further on
Outline
Introduction
Research Approach
More in depthMulti-tenancySoftware Patterns
Till now and further on
![Page 25: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/25.jpg)
Introduction Research Approach More in depth Till now and further on
Multi-tenancy
![Page 26: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/26.jpg)
Introduction Research Approach More in depth Till now and further on
Where do you want to live?
![Page 27: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/27.jpg)
Introduction Research Approach More in depth Till now and further on
Pros and cons
House Apartment
Effective use of land - +Privacy + -Infrastructure sharing - +Maintenance cost sharing - +Freedom + -
House:Privacy and FreedomApartment:Cost and Efficiency
![Page 28: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/28.jpg)
Introduction Research Approach More in depth Till now and further on
What does this have to do with software?
![Page 29: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/29.jpg)
Introduction Research Approach More in depth Till now and further on
Traditional Delivery Life Cycle
![Page 30: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/30.jpg)
Introduction Research Approach More in depth Till now and further on
Traditional Deployment Model
![Page 31: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/31.jpg)
Introduction Research Approach More in depth Till now and further on
Traditional: Characteristics
• Think about the ‘House’ example
• Customers have to install and update their own software
• Customers manage their own data
• Every customers needs his own server to deploy the product
• Customizations can easily be done per customer
![Page 32: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/32.jpg)
Introduction Research Approach More in depth Till now and further on
Traditional: Disadvantages
• High initial costs for customers
• Hard to keep up with updates
• Lack of expert knowledge
• High change of data loss
![Page 33: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/33.jpg)
Introduction Research Approach More in depth Till now and further on
Application Server Provider
• Data not responsibility customer
• Application is hosted at a thirdparty
• Multiple products are hosted onthe same machine
• More efficient use of servercompared to the traditional way
• Every customer has his ownproduct on the server
![Page 34: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/34.jpg)
Introduction Research Approach More in depth Till now and further on
Different Environments
• Data not responsibility customer
• Everyone uses the sameproduct, but gets his ownenvironment and database
• Only one codebase
• Reasonably scalable
![Page 35: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/35.jpg)
Introduction Research Approach More in depth Till now and further on
Multi-user Solution
• Software as a Service (thinkabout the ‘apartment’ example)
• Data not responsibility customer
• A product is offered completelyas a ‘service’
• Possibility to serve large numberof customers with a limitedamount of servers
• Facebook, Grooveshark, etc.
![Page 36: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/36.jpg)
Introduction Research Approach More in depth Till now and further on
Perfect Solution?
• Lower cost for customers
• Higher safety of data for the customer
• Efficient server use for the hosting provider
• But...where are the customizations?
![Page 37: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/37.jpg)
Introduction Research Approach More in depth Till now and further on
Multi-tenancy
• Data not responsibility customer
• A product is offered completely‘as a service’
• Possibility to serve large numberof customers with a limitedamount of servers
• Tenants (customers) can havespecific functionality
• Combination between the‘house’ and ‘apartment’ example
![Page 38: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/38.jpg)
Introduction Research Approach More in depth Till now and further on
Overview ASP to Multi-tenancy
![Page 39: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/39.jpg)
Introduction Research Approach More in depth Till now and further on
Multi-tenancy: Holy Grail?
• A hosted solution
• Sharing of:• Hardware• Software• Development Cost• Deployment Cost• Maintenance Cost
• Possibility for variability in theproduct
![Page 40: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/40.jpg)
Introduction Research Approach More in depth Till now and further on
Why is not everything multi-tenant?
• It is a hype, but many people do not know what it is exactly
• Great flexibility in a product can make it difficult to maintain
• Single point of failure
• Safety
• But most of all...most companies don’t know HOW toimplement variability!
![Page 41: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/41.jpg)
Introduction Research Approach More in depth Till now and further on
What is variability?
• Possibility to adapt a software product to a specific situation• Different platform• Different country• Different customer wishes
![Page 42: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/42.jpg)
Introduction Research Approach More in depth Till now and further on
Variability Moments
• During Design - Different product for Linux than forWindows
• During Compilation - Point to different sections of codewhile compiling software for a specific phone
• Linking at installation - Linking a product to severaladditional modules
• Run-time - When a user of an on-line system wants tochange something
![Page 43: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/43.jpg)
Introduction Research Approach More in depth Till now and further on
Run-time variability
![Page 44: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/44.jpg)
Introduction Research Approach More in depth Till now and further on
How to get the variability in a software product?
![Page 45: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/45.jpg)
Introduction Research Approach More in depth Till now and further on
Software Patterns
![Page 46: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/46.jpg)
Introduction Research Approach More in depth Till now and further on
It all started in 1977...
• Christopher Alexander
• Architect / Landscapeplanner
• Identified towns ascollections of patterns
• 253 patterns formingtogether a patternlanguage
![Page 47: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/47.jpg)
Introduction Research Approach More in depth Till now and further on
Street Cafe
“The street cafe provides a unique setting, special tocities: a place where people can sit lazily, legitimately, beon view, and watch the world go by... Encourage localcafes to spring up in each neighborhood. Make themintimate places, with several rooms, open to a busy path,where people can sit with coffee or a drink and watch theworld go by. Build the front of the cafe so that a set oftables stretch out of the cafe, right into the street.”
Christopher Alexander, A Pattern Language, p. 437,439
![Page 48: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/48.jpg)
Introduction Research Approach More in depth Till now and further on
First Software Pattern: MVC
• Model View Controller
• Smalltalk-80
• Data is separate fromrepresentation
• Still used today
![Page 49: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/49.jpg)
Introduction Research Approach More in depth Till now and further on
Big break through: GoF
• Gang of Four (1994)
• Gamma, Helm, Johnson,Vlissides
• 23 patterns, became themost famous patterns
• Object Oriented
![Page 50: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/50.jpg)
Introduction Research Approach More in depth Till now and further on
GoF examples
• Composite
• Abstract Factory
• Singleton
• Observer
• Memento
![Page 51: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/51.jpg)
Introduction Research Approach More in depth Till now and further on
GoF: Describing a pattern
• Name
• Intent - What does the pattern do?
• Motivation - How does the solution solve the problem?
• Applicability - When can the pattern be applied?
• Structure - Graphical representation
• Consequences - What happens when the solution isimplemented? Both benefits and liabilities
• Known Uses - A good example of real use. Preferably indifferent domains
![Page 52: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/52.jpg)
Introduction Research Approach More in depth Till now and further on
POSA: A System of Patterns
• Pattern-Oriented SoftwareArchitecture
• Buschman et al.
• Five volumes: 1996 to2007
• Not only OO
![Page 53: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/53.jpg)
Introduction Research Approach More in depth Till now and further on
POSA: classification
• Architectural Patterns
• Design Patterns
• Idioms
![Page 54: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/54.jpg)
Introduction Research Approach More in depth Till now and further on
Architectural Patterns
“An architectural pattern expresses a fundamentalstructural organization schema for software systems. Itprovides a set of predefined subsystems, specifies theirresponsibilities, and includes rules and guidelines fororganizing the relationships between them.”
![Page 55: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/55.jpg)
Introduction Research Approach More in depth Till now and further on
Design Patterns
“A design pattern provides a scheme for refining thesubsystems or components of a software system, or therelationships between them. It describes acommonly-recurring structure of communicatingcomponents that solves a general design problem within aparticular context.”
![Page 56: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/56.jpg)
Introduction Research Approach More in depth Till now and further on
Idioms
“An idiom is a low-level pattern specific to aprogramming language. an idiom describes how toimplement particular aspects of components or therelationships between them using the features of thegiven language.”
![Page 57: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/57.jpg)
Introduction Research Approach More in depth Till now and further on
Recap
“A pattern is a solution to a problem that arises within aspecific context”
![Page 58: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/58.jpg)
Introduction Research Approach More in depth Till now and further on
So, we need...
• Context
• Problem
• Solution
Is this it? Do we miss something?
![Page 59: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/59.jpg)
Introduction Research Approach More in depth Till now and further on
We also need
• Goodness
• Recurrence
Until we say something about that, it is still a proto-pattern
![Page 60: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/60.jpg)
Introduction Research Approach More in depth Till now and further on
If one of both lacks...
• Bad Pattern
• Dysfunctional Pattern
• Anti-Pattern
![Page 61: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/61.jpg)
Introduction Research Approach More in depth Till now and further on
Diagrammability
• Christopher Alexander stated:
“If you can’t draw a diagram of it, it isn’t a pattern”
• Beware...it is not always the other way around
• UML is no silver bullet
• A diagram has to be interpreted, not implemented
![Page 62: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/62.jpg)
Introduction Research Approach More in depth Till now and further on
So, what do I want to find?
• Identification - Name and classification for identifying thepattern
• Context - Situation giving rise to a problem
• Problem - Set of forces repeatedly arising in the context
• Solution - Configuration to balance the forces
• Consequences - Consequences arising from application of thepattern. General, but specifically aimed at variability
![Page 63: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/63.jpg)
Introduction Research Approach More in depth Till now and further on
But also
• Example(s)
• Diagram(s)
• Details
![Page 64: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/64.jpg)
Introduction Research Approach More in depth Till now and further on
Outline
Introduction
Research Approach
More in depthMulti-tenancySoftware Patterns
Till now and further on
![Page 65: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/65.jpg)
Introduction Research Approach More in depth Till now and further on
Publication: Variability in Multi-tenant Environments
Need for Variability
Nee
d f
or
reso
urc
e sh
arin
g
CustomSoftwareSolution
StandardMulti-tenant
Solution
SPLSolution
ConfigurableMulti-tenant
Solution
PA
AS
IAA
Sa
b
a
b
a+b
a = Business Growthb = Customer Requirements Growth
Kabbedijk J., Jansen S. (2011). Variability in Multi-tenantEnvironments: Architectural Design Patterns from Industry.Variability at the 30th International Conference on ConceptualModeling (LNCS), 6999, 151-160
![Page 66: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/66.jpg)
Introduction Research Approach More in depth Till now and further on
Pattern Example
• In a warehousing system, customer A wants an SMS to besend to the truck driver when an order is picked, after whichthe order is removed from the system. Customer B howeverdoes not want any SMS to be send, but does want anapproval by a manager before a picked order is removedfrom the system
• How can we solve this workflow related problem?
![Page 67: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/67.jpg)
Introduction Research Approach More in depth Till now and further on
Pre/Post Update Hooks (1/3)
![Page 68: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/68.jpg)
Introduction Research Approach More in depth Till now and further on
Pre/Post Update Hooks (2/3)
• Intent - To provide the possibility for tenants to have customfunctionality just before or after an event
• Motivation - To let the software product fit the tenantsbusiness processes best, extra actions could be made availableto tenants before or after an event is called
• Solution - The use of a component able of calling othercomponents before and after the update of data. Thetenant-specific modules are listed in a separate table
![Page 69: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/69.jpg)
Introduction Research Approach More in depth Till now and further on
Pre/Post Update Hooks (3/3)
• Explanation - See image
• Consequences - Extra optional components have to beavailable in the software system in order to be able toimplement this pattern
• Example - In a bookkeeping program, tenants can choose,whether they want to update a third party service as well byusing a component that uses the API of a third party serviceto make changes there. If so, the FunctionalComponent cancall the third party communicator after an internal update isrequested
![Page 70: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/70.jpg)
Introduction Research Approach More in depth Till now and further on
Publication: CQRS
Kabbedijk J., Jansen S., Brinkkemper S. (2012). A Case Study ofthe Variability Consequences of the CQRS Pattern in OnlineBusiness Software. 17th European Conference on PatternLanguages of Programs (EuroPLoP)
![Page 71: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/71.jpg)
Introduction Research Approach More in depth Till now and further on
Seminar on Software Patterns
• 26 students in 13 groups
• 16 different case companies
• Reviewed research approach
• Reviewed proto-pattern
• Reviewed draft-paper
![Page 72: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/72.jpg)
Introduction Research Approach More in depth Till now and further on
Student Projects
Numerous student projects on:
• Pattern Adoption
• Variability Patterns
• SaaS flexibility
• Variable SaaS pricing
• Multi-tenancy Deployment Patterns
• Multi-tenancy Literature Study
![Page 73: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/73.jpg)
Introduction Research Approach More in depth Till now and further on
And now?
• Do something with the patternseminar
• Evaluate patterns
• Publish!
![Page 74: PhD. Colloquium](https://reader034.vdocuments.mx/reader034/viewer/2022051411/53fedc948d7f72965c8b46f2/html5/thumbnails/74.jpg)
Introduction Research Approach More in depth Till now and further on
Questions