Upload
utrecht-university
View
370
Download
1
Embed Size (px)
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.
Citation preview
Web Based Business Models
Product Software
Prof. Dr. Sjaak Brinkkemper
Dr. Slinger Jansen
Utrecht University
Agenda
Web services
SaaS
Web based business models
API based business models
Multi-tenancy and customization
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
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
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.
SaaS Benefits
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.
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
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
SaaS Adoption (2005)
Why Going SaaS
Cutter Consortium – WW later 2005
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
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?
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.
Architectural Considerations
Scale the application
Enable multi-tenant data
Facilitate customization
SaaS Maturity Levels
ASP
Minimum starting point
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
Web Based Business Models
Brokerage
Advertising
Infomediary
Merchant
Community
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.
Brokerage Forms
Buy/Sell Fulfillment
Market Exchange
Business Trading Community
Buyer Aggregator
Distributor
Virtual Mall
Auction Broker
Reverse Auction
Classifieds
Search Agent
Bounty Broker
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/)
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/)
–
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]
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.
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
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/
–
Advertising Forms Explained (2)
Free Model – Provide something for free, so that users come
– And see the advertisements
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)
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.
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/)
–
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)
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.
Break here
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
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
RESEARCH AIM AND APPROACH
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.
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
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
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
THE CATALOGUE OF CUSTOMIZATION REALIZATION TECHNIQUES
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”.
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
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)
CASE STUDY 1: OBSERVATIONS
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)
Subdomain determines scope
Each scope focuses on one book/project End users can communicate within scope
Displayed data is determined by scope/customer id
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
CASE STUDY 2: OBSERVATIONS
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
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
FINDINGS AND CONCLUSIONS
FINDIN
GS AN
D CO
NCLU
SION
S
Observed Customization realization techniques
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
Future Work
• Create CRT catalogue online • Create a testbed for CRTs in multi-tenancy projects • Annotate with non-functional requirement impacts, based on tests
Exam Questions
What are CRTs? What are binding times? What are variability realization techniques? What is multi-tenancy?