Psw web basedbusinessmodels

58
Web Based Business Models Product Software Prof. Dr. Sjaak Brinkkemper Dr. Slinger Jansen Utrecht University

description

This presentation describes the details of web based business models. It creates a nice overview of business models in the web era. It's a compilation of different presentations, not all by me. Please alert me if I've not credited the right copyright holder.

Transcript of Psw web basedbusinessmodels

Page 1: Psw web basedbusinessmodels

Web Based Business Models

Product Software

Prof. Dr. Sjaak Brinkkemper

Dr. Slinger Jansen

Utrecht University

Page 2: Psw web basedbusinessmodels

Agenda

Web services

SaaS

Web based business models

API based business models

Multi-tenancy and customization

Page 3: Psw web basedbusinessmodels

Web Services Explained

Product Software – app not hosted

Application Service Provider – hosted single tenant app

Software as a Service – hosted multi-tenant apps

Web service – typically SaaS–like without UI

Web services are accessed using established protocols – REST

– WS-*

Web services are also known as APIs (example: http://www.moneybird.nl/help/api, but first look at http://www.moneybird.nl )

There is still business in ASP: http://www.Parentix.com

Page 4: Psw web basedbusinessmodels

Different models in a picture

Software

Off-the-shelf functionality

Hosted software

SaaS

Access to best practice Time-to-market Lower risk No capital expenditure No infrastructure

Simpler customisation Quicker upgrades More sophisticated identity management Service level management

API

Page 5: Psw web basedbusinessmodels

What is SaaS

Software as a service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet.

Shortly, in the SaaS model software is deployed as a hosted service and accessed over the Internet, as opposed to “On Premise.”

The traditional model of software distribution, in which software is purchased for and installed on personal computers, is sometimes referred to as software as a product.

Page 6: Psw web basedbusinessmodels

SaaS Benefits

Page 7: Psw web basedbusinessmodels

Advantages over Traditional Model

In the traditional model of software delivery, the customer acquires a perpetual license and assumes responsibility for managing the software.

There is a high upfront cost associated with the purchase of the license, as well as the burden of implementation and ongoing maintenance.

ROI is often delayed considerably, and, due to the rapid pace of technological change, expensive software solutions can quickly become obsolete.

Page 8: Psw web basedbusinessmodels

SaaS Based Business Models

Subscription (monthly fee per seat)

Transaction based pricing (like credit cards)

Profit sharing

Ownership sharing

Ad-based revenue (e.g. pay per click)

http://www.digitalefactuur.nl/abonnementenoverzicht-elektronische-facturatie

Page 9: Psw web basedbusinessmodels

SaaS Benefits

Customer – Lower Cost of Ownership

– The software is available immediately upon purchasing

– Focus on Core Competency

– Access Anywhere

– Freedom to Choose (or Better Software)

– New Application Types

– Faster Product Cycles

Vendor – Increased Total Available Market

– Enhanced Competitive Differentiation

– Lower Development Costs & Quicker Time-to-Market

– Effective Low Cost Marketing

– Predictable MRR Revenue

– Improved Customer Relationships

– Protecting of IP

Page 10: Psw web basedbusinessmodels

SaaS Adoption (2005)

Page 11: Psw web basedbusinessmodels

Why Going SaaS

Cutter Consortium – WW later 2005

Page 12: Psw web basedbusinessmodels

SaaS Steps

1. Understand your business objectives and definition of a successful outcome (idea)

2. Select and staff your services delivery team (people)

3. Define and understand the infrastructure needed to deliver your SaaS application (hardware)

4. Select your hosting facility and Internet Service Providers (ISPs)

5. Procure the infrastructure and software required to deliver your SaaS application (security your platform)

6. Ready to Run I. Deploy your SaaS delivery infrastructure

II. Implement disaster recovery and business continuity planning

III. Integrate a monitoring solution

IV. Establish a Network Operations Center (NOC), Client Call Center and ticketing system

7. Design and manage Service Level Agreements

8. Document and manage the solution while open your business

Page 13: Psw web basedbusinessmodels

Exam Questions

What is the ASP business model and why has it not been very successful?

What are the benefits of SaaS for vendors of software?

How does one start a SaaS business and what are the main considerations?

Page 14: Psw web basedbusinessmodels

Want to start a SaaS business?

“It takes 70% to 100% more capital to fund a SaaS company to break-even than a traditional perpetual license company. It also takes 2 to 3 times longer to get there.” – SaaS companies need an average of $35M in VC capital, versus $20M for a

similar perpetual license company.

– It takes 6 to 7 years to get to break even

– Public equity markets pay a 10% to 20% premium for predictable revenue streams

– SaaS companies move faster than big companies. They can introduce new features instantly versus waiting for the next major release. Think years.

– SaaS requires an architecture that supports end user customization

– Industry standards are critical for interoperability

– Steady state business models require 15-18% for engineering and 30-35% for Sales and Marketing.

Page 15: Psw web basedbusinessmodels

Architectural Considerations

Scale the application

Enable multi-tenant data

Facilitate customization

Page 16: Psw web basedbusinessmodels

SaaS Maturity Levels

ASP

Minimum starting point

Page 17: Psw web basedbusinessmodels

Other Considerations

Don’t apply a one size fits all for both functionality and pricing

Data integration is still a challenge (Exact Online and ABN and Rabo)

Protecting their proprietary data – How is the data protected from unauthorized access?

– How is the customer assured access to the data?

– How much effort is necessary to migrate data back to the enterprise or to another SaaS

Page 18: Psw web basedbusinessmodels

Web Based Business Models

Brokerage

Advertising

Infomediary

Merchant

Community

Page 19: Psw web basedbusinessmodels

Brokerage

Brokers – market makers: they bring buyers and sellers together and facilitate transactions.

Brokerage can be: – (B2B),

– (B2C),

– (C2C).

A broker makes its money by charging a fee for each transaction it enables.

Page 20: Psw web basedbusinessmodels

Brokerage Forms

Buy/Sell Fulfillment

Market Exchange

Business Trading Community

Buyer Aggregator

Distributor

Virtual Mall

Auction Broker

Reverse Auction

Classifieds

Search Agent

Bounty Broker

Page 21: Psw web basedbusinessmodels

Brokerage Forms Explained (1)

Buy/sell fulfilment – Online financial brokerage (Alex.nl)

– Travel agents

– Volume and low overhead to deliver the best negotiated prices (Autotrader.nl)

Market exchange – Model in B2B markets

– The broker typically charges the seller a transaction fee based on the value of the sale (http://www.tradeboss.com/)

– The pricing mechanism offer/buy, offer/negotiated buy, or an auction offer/bid approach.

Business Trading Community – It is as a site that acts as an "essential, comprehensive source of

information and dialogue for a particular vertical market“ (http://www.busmania.co.uk/hollandbus/)

Page 22: Psw web basedbusinessmodels

Brokerage Forms Explained (2)

Buyer aggregator – The process of bringing together individual purchasers from across the

Internet (http://www.samenkopen.net/)

– Sellers pay a small percentage of each sale on a per-transaction basis

Distributor – A catalog-type operation

– B2B models are increasingly common. Broker facilitates business transactions between franchised distributors and their trading partners

– Faster time to market and time to volume as well as reducing the cost of procurement

– For distributors, it decreases the cost of sales by performing quoting, order processing, tracking order status, and changes more quickly and with less labor. (http://www.converge.com/)

Page 23: Psw web basedbusinessmodels

Brokerage Forms Explained (3)

Virtual Mall – A site that hosts many online merchants.

– The virtual mall model may be most effectively realized when combined with a generalized portal. Also, more sophisticated malls will provide automated transaction services and relationship marketing opportunities

– [ex: http://shopping.yahoo.com/, http://www.stuff.com/, etc.]

Auction Broker – A site that conducts auctions for sellers (individuals or merchants).

– Broker charges the seller a fee. Seller takes highest bid(s) from buyers above a minimum.

– Auctions can vary in terms of the offering and bidding rules. [ex: eBay]

Page 24: Psw web basedbusinessmodels

Brokerage Forms Explained (4)

Reverse Auction – The "name-your-price" business model.

– Prospective buyer makes a final bid for a specified good or service, and the broker seeks fulfillment.

– In some models, the broker's fee is the spread between the bid and fulfillment price and perhaps a processing charge. [ex: http://www.priceline.com/default.asp]

Classifieds – A listing of items for sale or wanted for purchase, typically run by local

news content providers. Price may or may not be specified. Listing charges are incurred regardless of whether a transaction occurs. [ex: Marktplaats.nl, Monster, Craig’s List]

Search Agent – An agent used to search-out the best price for a good or service specified

by the buyer, or to locate hard to find information. (http://www.miepkniep.nl/)

– An employment agency can act as a search agent broker, finding work or finding people to fill open positions listed by an employer.

Page 25: Psw web basedbusinessmodels

Advertising

The web advertising model is an extension of the traditional media broadcasting model.

The broadcaster -- a web site, provides content and services in the form of ads.

Forms – Generalized Portal

– Personalized Portal

– Specialized Portal

– Free Model

Page 26: Psw web basedbusinessmodels

Advertising Forms Explained (1)

Portal – High-volume traffic (typically tens of millions of visits per month) driven by

generic or diversified content or services (Google.com, nu.nl, etc.).

– The high volume makes advertising profitable and permits further diversification of site services.

– Free content and services.

Personalized Portal – The generic nature of a generalized portal undermines user loyalty

– portals creation (ex: My Google).

– The profitability of this portal in based on volume and possibly the value of information derived from user choices.

– Personalization can support a "specialized portal" model.

Specialized Portal – Here volume is less important than a well-defined user base.

– http://gthq.nl/

Page 27: Psw web basedbusinessmodels

Advertising Forms Explained (2)

Free Model – Provide something for free, so that users come

– And see the advertisements

Page 28: Psw web basedbusinessmodels

Informediary Model

Valuable information about consumers.

Analysis of information and it’s usage.

Available in B2B and B2C

B2B – Provide business with information they could normally not come by

– Example: http://www.distimo.com/

B2C – Registration systems (simple, information behind a username/pwd)

– Recommender systems (http://www.tweakers.net/pricewatch)

Page 29: Psw web basedbusinessmodels

Merchant Model

Classic wholesalers and retailers of goods and services (for instance referred to as "e-tailers").

Forms – Virtual Merchant - no store locations

– Catalog Merchant - the migration of mail-order to a web-based order business.

– Click and Mortar - traditional brick-and-mortar establishment with web storefront. The model has the potential for channel conflict.

– Bit Vendor - a merchant that deals strictly in digital products and services and, in its purest form, conducts both sales and distribution over the web.

Page 30: Psw web basedbusinessmodels

Community Based Business Models

Community model is based on user loyalty.

Users have a high investment in both time and emotion in the site.

Having users who visit continually offers advertising, infomediary or specialized portal opportunities.

The community model may also run on a subscription fee for premium services.

Forms – Voluntary contributions - The model is predicated on the creation of a

community of users who support the site through voluntary donations

– Knowledge Networks - Expert sites, that provide a source of information based on professional expertise or the experience of other users.(http://stackoverflow.com/)

Page 31: Psw web basedbusinessmodels

API Based Business Models (ex. Amazon and Alexa)

Data As a Service – Amazon E-Commerce Service

– Amazon Historical Pricing

Infrastructure As a Service – Amazon Simple Queue Service

– Amazon Simple Storage Service

– Amazon Elastic Compute Cloud

Search As a Service – Alexa Web Information Service

– Alexa Top Sites

– Alexa Site Thumbnail

– Alexa Web Search Platform

People As a Service – Amazon Mechanical Turk (http://www.mturk.com)

Page 32: Psw web basedbusinessmodels

Exam questions

What are typical web-based business models?

How are communities monetized?

What is the incentive for a community member to contribute to one?

What is an API business model? Name some examples.

Page 33: Psw web basedbusinessmodels

Break here

Page 34: Psw web basedbusinessmodels

CUSTOMIZATION REALIZATION IN MULTI-TENANT WEB APPLICATIONS: CASE STUDIES FROM THE LIBRARY SECTOR Slinger jansen, Utrecht University Geert-jan Houben, Delft University of Technology Sjaak Brinkkemper, Utrecht University

Presenter
Presentation Notes
Welcome to this presentation on “Customization realization in multi-tenant web applications: Case studies from the library sector”. I am here today presenting on behalf of my co-authors from Utrecht University, with whom this research project has been undertaken. The research project and the case studies were born out of two commercial projects in the library sector, undertaken by Slinger Jansen. The aim of this presentation is to provide an overview of the customization realization techniques applied in the case studies, to enable future projects to learn from the techniques applied.
Page 35: Psw web basedbusinessmodels

INTRO

DUCTIO

N

Structure of the presentation

1. Research trigger and question 2. Research approach 3. Catalogue of customization realization techniques 4. Application of customization realization techniques in two case studies 5. Conclusions and findings 6. Future work

Presenter
Presentation Notes
The presentation is structured as follows. …
Page 36: Psw web basedbusinessmodels

RESEARCH AIM AND APPROACH

Page 37: Psw web basedbusinessmodels

RESEARCH A

IM AN

D APPRO

ACH

Research Trigger and Question

Trigger: Software developers of multi-tenant web applications are unaware of how to effectively customize tenant instances

“How are customization and configurability (per tenant) realized in multi-tenant web applications?”

A multi-tenant web application is an application that enables different

customer organizations (`tenants') to use the same instantiation of a system, without necessarily sharing data or functionality with other tenants.

Customization is the adjusting of a system to tailor it to the specific needs

of a customer. In a multi-tenant web application customizations exist side by side and are instantiated per tenant.

Presenter
Presentation Notes
The trigger for this research was the observation that little is known about the design principles for multi-tenant web applications. As the software developers ventured out into the literature for uses of customization realization techniques for multi-tenancy web applications, a gap was noticed in the literature. When the developers were asked what they were specifically looking for, they answered that they were looking for a catalogue of different variability techniques that were specifically geared towards multi-tenancy web applications. We introduce the following two definitions …
Page 38: Psw web basedbusinessmodels

RESEARCH A

IM AN

D APPRO

ACH

Impact and Research Contribution

• Software developers are unaware of effective customization realization techniques in multi-tenant systems. This leads to:

• Architectural mismatch • Performance problems • Increased time to delivery • Decreased maintainability

• Example: ASoft and BSoft are customer organizations of the multi-tenant

web application Coolness. Both instances are running on one server. The database is shared, i.e., the data for both instances is stored in one database and annotated per customer. Alice at ASoft is using the web application for doing heavy database work. Bob at BSoft is using the web application to create simple reports. When Alice and Bob use the system simultaneously, Alice reduces database performance, causing a performance decrease for Bob.

• Solution: two separate databases

App

ASoft + BSoft data

App

ASoft Data

BSoftData

Presenter
Presentation Notes
The fact that overviews are not available of this specific class of customization realization techniques forces developers to be creative and come up with their own techniques. This is risky business, because taking the wrong design decision early in a project can have detrimental results. There might be architectural mismatches, where core parts of the application need to be redesigned at a later stage, performance problems because of the many different variations in users and customers, increased time to delivery due to an increase in software complexity, and this increase in complexity also leads to a less maintainable application. To illustrate how performance might be affected in a multi-tenancy application we take the example of Coolness. … A solution for the Coolness application is the introduction of another database, which enables Alice and Bob to use the application simultaneously, without noticing the load that is being introduced by Alice.
Page 39: Psw web basedbusinessmodels

RESEARCH A

IM AN

D APPRO

ACH

Current Catalogues do not Suffice?

Why do currently existing catalogues not suffice? In multi-tenancy, all customizations must work at runtime. Some examples: • Binary replacement - In order to introduce a new variation point after

delivery, the software binary must be altered. The easiest way of doing this is to replace an entire file with a new copy [1]. Not usable for multi-tenancy applications – requires multiple deployments of application.

• Condition on constant - We can, in this technique, use two different types of conditional statements. One form of conditional statements is the pre-processor directives such as C++ ifdefs, and the other is the traditional if-statements in a programming language [1]. Not usable for multi-tenancy applications – customers generally not known at design or derivation time.

[1] Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques: Research articles. Software Practice and Experience 35(8) (2005) 705–754

Presenter
Presentation Notes
When looking at existing work, such as the authorative work of Svahnberg on variability realization techniques, it is observed that many of these VRTs, developed for and applicable to software product lines, are not applicable to multi-tenancy web applications. … Clearly, these two VRTs are not usable in the context of a multi-tenancy web application. A counter example is “condition on a variable”, where the variable can be the tenant’s id, a tenant’s specific configuration option, or the customer “configuration” group the tenant belongs to.
Page 40: Psw web basedbusinessmodels

RESEARCH A

IM AN

D APPRO

ACH

Research Approach

• Exploratory and design research • Exploratory: discovering which customization realization

techniques are out there using case studies • Design: create and evaluate a customization realization

techniques catalogue

• Case studies • Pragmatically selected (access to design, source and developers) • Created two case study reports [1] • Several interviews with lead developers (design rationale) • Interviews consisted of two sessions per developer • Document and source code study

[1] Jansen, S., Brinkkemper, S., (2008). Applied Multi-Case Research in a Mixed-Method Research Project:

Customer Configuration Updating Improvement. In A.C. Steel & L.A. Hakim (Eds.), Information Systems Research Methods, Epistemology and Applications

Presenter
Presentation Notes
Two research approaches have been employed: exploratory case research and design research. The case studies aimed to get a first overview of the available CRTs. The design research part consisted of creating the catalogue for CRTs. The case studies were pragmatically selected, i.e., they were available and since one of the researchers was a project leader, there was full-access to the source code, design, and developers. The cases were done post-mortem. Also, two case study reports were created, using the template from [1]. The case studies consisted of several interviews with lead developers and project members. Furthermore, each interview consisted of two sessions, an exploratory and a confirmatory one, in which results from other interviews were corroborated. Finally, document and source code study completed the case study reports.
Page 41: Psw web basedbusinessmodels

THE CATALOGUE OF CUSTOMIZATION REALIZATION TECHNIQUES

Page 42: Psw web basedbusinessmodels

THE CATALO

GU

E OF C

USTO

MIZATIO

N REALIZATIO

N TECHNIQ

UES

CRTs: Definition

• Customization Realization Technique (CRT) – A technique or architectural pattern that is used to realize customization.

• Two types of CRTs are distinguished for multi-tenant web applications • Internal: Model-View-Controller CRTs, customizing internal

parts of the system, for instance by showing a different logo based on a tenant identifier.

• External: System CRTs, which customize external parts of the system, for instance by replacing or duplicating a component

• Each CRT uses one or more variability realization techniques - a way in which one can implement a variation point, which is a particular place in a software system where choices are made as to which variant to use.

• CRTs have binding times, i.e., latest time to introduce the CRT, such as “design time” or “run-time”.

Presenter
Presentation Notes
Based on Svahnberg’s variability realization techniques, we developed a catalogue of CRTs. We define a CRT as … Two types of CRTs are distinguished … The CRTs use VRTs from Svahnberg. CRTs have binding times …
Page 43: Psw web basedbusinessmodels

THE CATALO

GU

E OF C

USTO

MIZATIO

N REALIZATIO

N TECHNIQ

UES

CRTs

Please note that the overview does not claim to be complete, these are observed CRTs in the cases

Presenter
Presentation Notes
This slide presents the first version of the CRT catalogue. It list the CRT, the latest introduction time, and the VRTs its based on. The first three are internal CRTs, i.e., without any effects on the outside environment or application stack, whereas the last two are external CRTs, i.e., they require changes to the environment of the application. The first CRT is model change. Model change enables a tenant to customize the entity model of the application, such as the addition of an entity “Teacher” to an ERP application for a school. A fitting example would be Salesforce, where tenants can create their own data model, based on the existing CRM model that is available in any Salesforce application. The second is a view change, which adjusts the view per tenant. An example of this can be logo or house style change for an application. A controller change affects the way users click through the application, such as the removal or introduction of an extra screen before confirmation of an important data change. On the external side there are system connector changes and system component changes. A system connector change enables a multi-tenant application to connect to another application or component (with an API) using a specific interface. If a tenant wants to connect to a different system (such as for instance a time-tracking system) a different system connector is needed. In the case of the system component change, a component is replaced or duplicated, such as the introduction of a new database on a new server for a new tenant or number of tenants. The latest introduction times for the CRTs are all before run-time, since that is the time at which the variations are bound. In the case of view change, for instance, one needs to be aware of the total variation scope for views, to correctly build an application around it. In the final five columns can be seen what VRTs the CRTs are based on. Model change, for instance, can be based on run-time variant component specialization (two entity variations defined in two different components, for example) and on “condition on a variable”, which enables one to determine which of these two entity variations to pick. Condition on a variable is relevant and required for all CRTs, because the technique is used to determine what variation is required for which tenant (variable).
Page 44: Psw web basedbusinessmodels

CRT EXAMPLE

Example: Model Change in SalesForce.com

• Salesforce.com: an extendible online multi-tenant CRM platform

• Salesforce.com allows addition of properties to entities (screenshot) at run-time

• Identified as a Model Change: the data model is changed on the fly, per tenant

• Variation is instantiated based on customer identifier (condition on variable, following Svahnberg et al.)

• Is a fundamental design decision that affects the view, maintainability and design of a multi-tenant web application

(Some fields are added to the customer screen in Salesforce.com)

Presenter
Presentation Notes
A good example is how model changes are used in SalesForce. … It must of course be introduced early in the development process, as to enable the developers to constantly consider and facilitate that users can do anything they want with the entities. The screenshot shows an example of Salesforce where some tenant specific fields are added.
Page 45: Psw web basedbusinessmodels

CASE STUDY 1: OBSERVATIONS

Page 46: Psw web basedbusinessmodels

CASE STU

DY 1: OBSERVATIO

NS

Case 1: A Reading Promotion Tool for Libraries

• A Reading Promotion Tool: • Children (9-12) participate in local reading “scopes”. • Central to a project is one book. The book is read collaboratively in

school and in the library. • On a daily basis extra content is released to support the reader. • Events, such as author visits, are organized and published on the

web application. • Some content is specific to one scope (user contributions, for

instance), some content to multiple scopes (author interviews, for instance).

• Multi-tenancy: multiple groups of libraries can participate in one project,

different projects can take place simultaneously. One application, multiple scopes, based on the subdomain.

• One CRT encountered: controller decides what tenant’s data to show, based on sub domain (users can view other scopes/projects)

Presenter
Presentation Notes
Page 47: Psw web basedbusinessmodels

Subdomain determines scope

Each scope focuses on one book/project End users can communicate within scope

Displayed data is determined by scope/customer id

Presenter
Presentation Notes
Here we display four CRTs used in the Reading Promotion Tool. There are local scopes, determining the project a tenant is involved in. The subdomain determines the scope for one tenant. In the “welcome to” field a controller change is used to show a different name per tenant. Furthermore, an end-user can communicate with other end-users within the local scope. A side point: end-users can also communicate with other end-users using a messaging system, even outside of the current scope. This made the code much more complex.
Page 48: Psw web basedbusinessmodels

CASE STU

DY 1: OBSERVATIO

NS

Case 1: Findings

• Performance problems require new CRT for shoutbox • Each end-user polls the shoutbox (using AJAX) every 2 seconds • 1000 simultaneous users means 500 requests per second (too

much for this server) • Shoutbox is restricted to scope (around 400 users per scope),

but not implemented as such • Proposed solution: host different shoutboxes, using the system

component change CRT, on different servers, per scope

• Controller change becomes complex • Scope controller code contained many bugs

in late versions, content appeared in wrong scopes

• Queries for main page generation highly complex, also due to framework used (ruby on Rails)

• No other solutions possible, except for content replication across different servers

Presenter
Presentation Notes
Page 49: Psw web basedbusinessmodels

CASE STUDY 2: OBSERVATIONS

Page 50: Psw web basedbusinessmodels

CASE STU

DY 2: OBSERVATIO

NS

Case Study 2: Homework Support System for Schools

• Project to support students in doing homework • Connects to the school administration system • Connects to the school homework submission system • Connects to the library catalog for student research projects • Connects to a national online question service • Brings together librarians, teachers, and students

Presenter
Presentation Notes
The second case study aims to set up a new web service for high school students, where help is provided to perform tasks like show-and- tell speeches, essays and exam works for which bibliographic investigation is required. The platform now forms the linking pin between public libraries, teachers, students, and external bodies such as schoolbook publishers, parents, and homework assistance institutes. The goal of the HSS is to increase the adoption of the public library for homework assignments by the target group of high school students, to provide education institutions with a tool to help them organize their work and save time, and for libraries to remain an attractive place for students to meet and work, both online and on-premise. The role of the public library as a knowledge broker would be, if the homework support system is successful, reaffirmed in the age group of 12–20. This age group is well- known for its disregard for the public library, whereas on the other hand they experience lots of difficulty when searching on the web with commercial search engines. The tenants are libraries and the users are members of the library in the age group 12–20.
Page 51: Psw web basedbusinessmodels
Presenter
Presentation Notes
One generic first screen is shown for all end-users, but after logging in the student is brought to the specific e-learning system of the user’s school, which in turn connects to the database of the local library. Currently five school systems and the five largest library catalogue systems are supported, which supplies us with an estimated market coverage of about 60% of all systems.
Page 52: Psw web basedbusinessmodels

CASE STU

DY 2: OBSERVATIO

NS

Case 2: Encountered CRTs

• Multi-tenant: Each tenant is a school, end-users are students, librarians, and teachers

• Customization Realization Techniques • No model changes • No view changes • Some controller changes

• school logo and data displayed for each tenant • Many component interface changes

• Interfaces with different e-learning environments per tenant • Interfaces with different library databases and member

checking systems per tenant • One component change

• If no local e-learning environment is bought, one is supplied by a service provider

Presenter
Presentation Notes
Page 53: Psw web basedbusinessmodels

FINDINGS AND CONCLUSIONS

Page 54: Psw web basedbusinessmodels

FINDIN

GS AN

D CO

NCLU

SION

S

Observed Customization realization techniques

Presenter
Presentation Notes
This table presents the encountered CRTs in the case studies. A functionality and the determining variable are listed, including the CRT and the applicable VRT. An example is the “discuss with teacher” functionality, which is present in all of the e-learning systems, but using different APIs for each. Different interfaces have been implemented for each of these e-learning systems, since integration with the library catalogue was required, to insert a web page or a book into a conversation, for instance. The right component is picked at run-time.
Page 55: Psw web basedbusinessmodels

FINDIN

GS AN

D CO

NCLU

SION

S

Case Study Findings

• Controller change most frequently encountered technique in cases • Even when not always the optimal solution • Number of variations known a priori makes development easier

• Five extensions were built for e-learning environments • Endless possibilities for projects in the reading support system

resulted in complex code Developer Evaluation Findings

• Evaluation was done in five two-hour interviews • Proved that the current catalogue is not complete • Interest from developers how CRTs affect non-functional requirements • Negative effects of wrong CRT design decisions

• Untraceable code over different components • Unclear and unpredictable behaviour, requires test driven

development • Database switches in code hard to maintain

Presenter
Presentation Notes
Page 56: Psw web basedbusinessmodels

Future Work

• Create CRT catalogue online • Create a testbed for CRTs in multi-tenancy projects • Annotate with non-functional requirement impacts, based on tests

Presenter
Presentation Notes
We consider these three steps as our future work. The CRT catalogue needs to be put online to enable developers to study the design principles of each of the CRTs. These design principles are to be tested in practice because the behaviour of a CRT in a large scale and dynamic operational multi-tenant environment is unknown. In collaboration with industrial partners various dedicated testbeds will be arranged for a series of experiments to provide in-depth insights in CRT behaviour. This knowledge enables situational utilization of CRTs based on the extent of the customization. Furthermore, scenarios for dynamic optimization of performance balancing and tenant management can be empirically identified. The collective knowledge on CRT behaviour will support the software industry to architect, develop and maintain tenant specific SaaS solutions on a large scale.
Page 57: Psw web basedbusinessmodels

Exam Questions

What are CRTs? What are binding times? What are variability realization techniques? What is multi-tenancy?