Software as a Service
Encyclopedia
Software as a service sometimes referred to as "on-demand software," is a software delivery model in which software and its associated data
Data (computing)
In computer science, data is information in a form suitable for use with a computer. Data is often distinguished from programs. A program is a sequence of instructions that detail a task for the computer to perform...

 are hosted
Internet hosting service
An Internet hosting service is a service that runs Internet servers, allowing organizations and individuals to serve content to the Internet. There are various levels of service and various kinds of services offered....

 centrally (typically in the (Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

) cloud
Cloud computing
Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility over a network ....

) and are typically accessed by users
User (computing)
A user is an agent, either a human agent or software agent, who uses a computer or network service. A user often has a user account and is identified by a username , screen name , nickname , or handle, which is derived from the identical Citizen's Band radio term.Users are...

 using a thin client
Thin client
A thin client is a computer or a computer program which depends heavily on some other computer to fulfill its traditional computational roles. This stands in contrast to the traditional fat client, a computer designed to take on these roles by itself...

, normally using a web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

 over the Internet.

SaaS has become a common delivery model for most business applications, including accounting
Accounting software
Accounting software is application software that records and processes accounting transactions within functional modules such as accounts payable, accounts receivable, payroll, and trial balance. It functions as an accounting information system...

, collaboration
Collaborative software
Collaborative software is computer software designed to help people involved in a common task achieve goals...

, customer relationship management
Customer relationship management
Customer relationship management is a widely implemented strategy for managing a company’s interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes—principally sales activities, but also those for marketing,...

 (CRM), enterprise resource planning
Enterprise resource planning
Enterprise resource planning systems integrate internal and external management information across an entire organization, embracing finance/accounting, manufacturing, sales and service, customer relationship management, etc. ERP systems automate this activity with an integrated software application...

 (ERP), invoicing, human resource management
Human resource management
Human Resource Management is the management of an organization's employees. While human resource management is sometimes referred to as a "soft" management skill, effective practice within an organization requires a strategic focus to ensure that people resources can facilitate the achievement of...

 (HRM), content management
Content management
Content management, or CM, is the set of processes and technologies that support the collection, managing, and publishing of information in any form or medium. In recent times this information is typically referred to as content or, to be precise, digital content...

 (CM) and service desk management. SaaS has been incorporated into the strategy of all leading enterprise software
Enterprise software
Enterprise software, also known as enterprise application software , is software used in organizations, such as in a business or government, contrary to software chosen by individuals...

 companies.

According to a Gartner Group estimate, SaaS sales in 2010 have reached $10B, and are projected to increase to $12.1b in 2011, up 20.7% from 2010. Gartner Group estimates that SaaS revenue will be more than double its 2010 numbers by 2015 and reach a projected $21.3b. Customer relationship management
Customer relationship management
Customer relationship management is a widely implemented strategy for managing a company’s interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes—principally sales activities, but also those for marketing,...

 (CRM) continues to be the largest market for SaaS. SaaS revenue within the CRM market is forecast to reach $3.8b in 2011, up from $3.2b in 2010.

The term software as a service (SaaS) is considered to be part of the nomenclature of cloud computing
Cloud computing
Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility over a network ....

, along with infrastructure as a service (IaaS) and platform as a service
Platform as a service
Platform as a service is a category of cloud computing services that provide a computing platform and a solution stack as a service...

 (PaaS).

History

Centralized hosting of business application dates back to the 1960s. Starting at that decade, IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

 and other mainframe
Mainframe computer
Mainframes are powerful computers used primarily by corporate and governmental organizations for critical applications, bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.The term originally referred to the...

 providers conducted a service bureau
Service bureau
A service bureau is a company which provides business services for a fee. The term has been extensively used to describe technology based services to financial services companies, particularly banks. Customers of service bureaus typically do not have the scale or expertise to incorporate these...

 business, often referred to as time-sharing
Time-sharing
Time-sharing is the sharing of a computing resource among many users by means of multiprogramming and multi-tasking. Its introduction in the 1960s, and emergence as the prominent model of computing in the 1970s, represents a major technological shift in the history of computing.By allowing a large...

 or utility computing
Utility computing
Utility computing is the packaging of computing resources, such as computation, storage and services, as a metered service similar to a traditional public utility...

. Such services included offering computing
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...

 power and database storage to banks and other large organizations from their worldwide data center
Data center
A data center is a facility used to house computer systems and associated components, such as telecommunications and storage systems...

s.

The expansion of the Internet during the 1990s brought about a new class of centralized computing
Centralized computing
Centralized computing is computing done at a central location, using terminals that are attached to a central computer. The computer itself may control all the peripherals directly , or they may be attached via a terminal server...

, called Application Service Providers (ASP)
Application service provider
An application service provider is a business that provides computer-based services to customers over a network. Software offered using an ASP model is also sometimes called On-demand software or software as a service ....

. Application service providers provided businesses with the service of hosting and managing specialized business applications, with the goal of reducing cost by central administration and through the solution provider's specialization in a particular business application.

Software as a service is essentially an extension of the idea of the ASP model. The term Software as a Service (SaaS), however, is commonly used in more specific settings:
  • whereas most initial application service providers focused on managing and hosting third-party independent software vendor
    Independent software vendor
    Independent software vendor is a business term for companies specializing in making or selling software, designed for mass marketing or for niche markets...

    s' software, contemporary software-as-a-service vendors typically develop and manage their own software;
  • whereas many initial application service providers offered more traditional client-server applications, which require installation of software on users' personal computer
    Personal computer
    A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...

    s, contemporary software as a service solutions are predominantly web-based and only require an internet browser to use; and,
  • whereas the software architecture
    Software architecture
    The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...

     used by most initial application service providers mandated maintaining a separate instance of the application for each business, contemporary software as a service solutions normally utilize a multi-tenant architecture, in which the application is designed to serve multiple businesses and users, and partitions its data accordingly.


The concept of SaaS has been popularized by Salesforce.com
Salesforce.com
Salesforce.com is an enterprise cloud computing company headquartered in San Francisco that distributes business software on a subscription basis. Salesforce.com hosts the applications off-site...

, which coined the term "The End of Software" to differentiate its (then new) software-as-a-service approach from its competition, which at the time offered only traditional on-premises software.

The SAAS acronym is said to have first appeared in an article called "Strategic Backgrounder: Software As A Service", internally published in February 2001 by the Software & Information Industry's (SIIA) eBusiness Division.

The popular camelback
CamelCase
CamelCase , also known as medial capitals, is the practice of writing compound words or phrases in which the elements are joined without spaces, with each element's initial letter capitalized within the compound and the first letter either upper or lower case—as in "LaBelle", "BackColor",...

 version of SaaS was coined at an SD Forum conference by John Koenig in March 2005 and is considered the tipping point of the industry adoption of the term "SaaS", including the point of departure by Salesforce.com, which for many years had used the "On Demand" tag.

Pricing

Unlike traditional software, conventionally sold as a perpetual license with an associated up-front fee (and, typically, smaller ongoing support fees), SaaS providers generally price applications using a subscription fee, most commonly a monthly fee or an annual fee. Consequently, the initial setup cost for SaaS is typically lower than the equivalent enterprise software. SaaS vendors typically price their applications based on some usage parameters, such as the number of users ("seats") using the application. However, because in a SaaS environment customers' data resides with the SaaS vendor, opportunities also exist to charge per transaction, event, or other unit of value.

The relatively low cost for user provisioning (i.e., setting up a new customer) in a multi-tenant environment enables some SaaS vendors to offer applications using the freemium
Freemium
Freemium is a business model that works by offering a product or service free of charge while charging a premium for advanced features, functionality, or related products and services...

 model. In this model, a free service is made available with limited functionality or scope, and fees are charged for enhanced functionality or larger scope. Some other SaaS applications are completely free to users, with revenue being derived from alternate sources such as advertising.

A key driver of SaaS growth is SaaS vendors' ability to provide a price that is competitive with on-premises software. This is consistent with the traditional rationale for outsourcing IT systems, which involves applying economies of scale to application operation, i.e., an outside service provider may be able offer better, cheaper, more reliable applications.

Architecture

The vast majority of SaaS solutions are based on a multi-tenant architecture
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...

. With this model, a single version of the application, with a single configuration
Computer configuration
In communications or computer systems, a configuration is an arrangement of functional units according to their nature, number, and chief characteristics. Often, configuration pertains to the choice of hardware, software, firmware, and documentation...

 (hardware, network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

, operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

), is used for all customers ("tenants"). To support scalability
Scalability
In electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...

, the application is installed on multiple machines (called horizontal scaling). In some cases, a second version of the application is set up to offer a select group of customers with access to pre-release versions of the applications (e.g., a beta version) for testing
Software testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...

 purposes. This is contrasted with traditional software, where multiple physical copies of the software—each potentially of a different version, with a potentially different configuration, and oftentimes customized—are installed across various customer sites.

While an exception rather the norm, some SaaS solutions do not use multi-tenancy, or use other mechanisms—such as virtualization
Virtualization
Virtualization, in computing, is the creation of a virtual version of something, such as a hardware platform, operating system, a storage device or network resources....

—to cost-effectively manage a large number of customers in place of multi-tenancy. Whether multi-tenancy is a necessary component for software-as-a-service is a topic of controversy.

Characteristics

While not all software-as-a-service applications share all traits, the characteristics below are common among many SaaS applications:

Configuration and customization

SaaS applications similarly support what is traditionally known as application customization. In other words, like traditional enterprise software, a single customer can alter the set of configuration options (a.k.a., parameters) that affect its functionality and look-and-feel. Each customer may have its own settings (or: parameter values) for the configuration options. The application can be customized to the degree it was designed for based on a set of predefined configuration options.

For example: to support customers' common need to change an application's look-and-feel so that the application appears to be having the customer's brand
Brand
The American Marketing Association defines a brand as a "Name, term, design, symbol, or any other feature that identifies one seller's good or service as distinct from those of other sellers."...

 (or—if so desired—co-branded
Co-branding
Co-branding refers to several different marketing arrangements:Co-branding, also called brand partnership, is when two companies form an alliance to work together, creating marketing synergy...

), many SaaS applications let customers provide (through a self service interface or by working with application provider staff) a custom logo and sometimes a set of custom colors. The customer cannot, however, change the page layout
Page layout
Page layout is the part of graphic design that deals in the arrangement and style treatment of elements on a page.- History and development :...

 unless such an option was designed for.

Accelerated feature delivery

SaaS applications are often updated more frequently than traditional software, in many cases on a weekly or monthly basis. This is enabled by several factors:
  • The application is hosted centrally, so new releases can be put in place without requiring customers to physically install new software.
  • The application only has a single configuration, making development testing faster.
  • The application vendor has access to all customer data, expediting design
    Software design
    Software design is a process of problem solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution...

     and regression testing
    Regression testing
    Regression testing is any type of software testing that seeks to uncover new errors, or regressions, in existing functionality after changes have been made to a system, such as functional enhancements, patches or configuration changes....

    .
  • The solution provider has access to user behavior within the application (usually via web analytics
    Web analytics
    Web analytics is the measurement, collection, analysis and reporting of internet data for purposes of understanding and optimizing web usage....

    ), making it easier to identify areas worthy of improvement.


Accelerated feature delivery is further enabled by agile software development
Agile software development
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams...

 methodologies. Such methodologies, which have evolved in the mid-1990s, provide a set of software development tools and practices to support frequent software releases.

Open integration protocols

Since SaaS applications cannot access a company's internal systems (database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

s or internal services), they predominantly offer integration protocols and application programming interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

s (APIs) that operate over a wide area network
Wide area network
A wide area network is a telecommunication network that covers a broad area . Business and government entities utilize WANs to relay data among employees, clients, buyers, and suppliers from various geographical locations...

. Typically, these are protocols based on HTTP, REST
Rest
Rest may refer to:* Leisure* Human relaxation* SleepRest may also refer to:* Rest , a pause in a piece of music* Rest , the relation between two observers* Rest , a 2008 album by Gregor Samsa...

, SOAP
SOAP
SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...

 and JSON
JSON
JSON , or JavaScript Object Notation, is a lightweight text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects...

.

The ubiquity of SaaS applications and other Internet services and the standardization of their API technology has spawned development of mashup
Mashup (web application hybrid)
In Web development, a mashup is a Web page or application that uses and combines data, presentation or functionality from two or more sources to create new services...

s, which are lightweight applications that combine data, presentation and functionality from multiple services, creating a compound service. Mashups further differentiate SaaS applications from on-premises software as the latter cannot be easily integrated outside a company's firewall
Firewall (computing)
A firewall is a device or set of devices designed to permit or deny network transmissions based upon a set of rules and is frequently used to protect networks from unauthorized access while permitting legitimate communications to pass....

.

Collaborative (and "social") functionality

Inspired by the success of online social networks and other so-called web 2.0
Web 2.0
The term Web 2.0 is associated with web applications that facilitate participatory information sharing, interoperability, user-centered design, and collaboration on the World Wide Web...

functionality, many SaaS applications offer features that let its users collaborate
Collaboration
Collaboration is working together to achieve a goal. It is a recursive process where two or more people or organizations work together to realize shared goals, — for example, an intriguing endeavor that is creative in nature—by sharing...

 and share information
Information sharing
The term "information sharing" gained popularity as a result of the 9/11 Commission Hearings and its report of the United States government's lack of response to information known about the planned terrorist attack on the New York City World Trade Center prior to the event...

.

For example, many project management
Project management
Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end , undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value...

 applications delivered in the SaaS model offer—in addition to traditional project planning functionality—collaboration features letting users comment on tasks and plans and share documents within and outside an organization. Several other SaaS applications let users vote on and offer new feature ideas.

While some collaboration-related functionality is also integrated into on-premises software, (implicit or explicit) collaboration between users of different customers is only possible with centrally-hosted software.

Adoption drivers

Several important changes to the software market and technology landscape have facilitated acceptance and growth of SaaS solutions:
  • The growing use of web-based user interface
    User interface
    The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

    s by applications, along with the proliferation of associated practices (e.g., web design
    Web design
    Web design is the process of planning and creating a website. Text, images, digital media and interactive elements are used by web designers to produce the page seen on the web browser...

    ), continuously decreased the need for traditional client-server applications. Consequently, traditional software vendors' investment in software based on fat client
    Fat client
    A fat client is a computer in client–server architecture or networks that typically provides rich functionality independent of the central server...

    s has become a disadvantage (mandating ongoing support), opening the door for new software vendors offering a user experience
    User experience
    User experience is the way a person feels about using a product, system or service. User experience highlights the experiential, affective, meaningful and valuable aspects of human-computer interaction and product ownership, but it also includes a person’s perceptions of the practical aspects such...

     perceived as more "modern".
  • The standardization of the web stack
    Solution stack
    In computing, a solution stack is a set of software subsystems or components needed to deliver a fully functional solution, e.g. a product or service....

     (HTML
    HTML
    HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

    , JavaScript
    JavaScript
    JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

    , CSS
    CSS
    -Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

    , HTTP), the increasing popularity of web development
    Web development
    Web development is a broad term for the work involved in developing a web site for the Internet or an intranet . This can include web design, web content development, client liaison, client-side/server-side scripting, web server and network security configuration, and e-commerce development...

     as a practice, and the introduction and ubiquitousness of web application framework
    Web application framework
    A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development...

    s gradually reduced the cost of developing new SaaS solutions, and enabled new solution providers to come up with competitive solutions, challenging traditional vendors.
  • The increasing penetration of broadband Internet access
    Broadband Internet access
    Broadband Internet access, often shortened to just "broadband", is a high data rate, low-latency connection to the Internet— typically contrasted with dial-up access using a 56 kbit/s modem or satellite Internet with inherently high latency....

     enabled remote centrally-hosted applications to offer speed comparable to on-premises software.
  • The standardization of the HTTPS protocol as part of the web stack provided universally available lightweight security
    Computer security
    Computer security is a branch of computer technology known as information security as applied to computers and networks. The objective of computer security includes protection of information and property from theft, corruption, or natural disaster, while allowing the information and property to...

     that is sufficient for most everyday applications.
  • The introduction and wide acceptance of lightweight integration
    System integration
    In engineering, system integration is the bringing together of the component subsystems into one system and ensuring that the subsystems function together as a system...

     protocol
    Communications protocol
    A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...

    s such as REST
    Representational State Transfer
    Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...

     and SOAP
    SOAP
    SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...

     enabled affordable integration between SaaS applications (residing in the cloud) with internal applications over wide area network
    Wide area network
    A wide area network is a telecommunication network that covers a broad area . Business and government entities utilize WANs to relay data among employees, clients, buyers, and suppliers from various geographical locations...

    s and with other SaaS applications.

Adoption challenges

Some limitations slow down the acceptance of SaaS and prohibit it from being used in some cases:
  • Since data is being stored on the vendor’s servers, data security becomes an issue.
  • SaaS applications are hosted in the cloud, far away from the application users. This introduces latency into the environment; so, for example, the SaaS model is not suitable for applications that demand sub-second response times.
  • Multi-tenant architectures, which drive cost efficiency for SaaS solution providers, does not allow true customization of applications for large clients, prohibiting such applications from being used in scenarios (applicable mostly to large enterprises) for which such customization is necessary.
  • Some business applications require access to or integration with customer's current data. When such data is large in volume or sensitive (e.g., end users' personal information), integrating it with remotely hosted software is costly and/or risky.

Data escrow

Software as a service data escrow is the process of keeping a copy of critical software-as-a-service application data with an independent third party. Similar to source code escrow
Source code escrow
Source code escrow or source code repository is the deposit of the source code of software with a third party escrow agent. Escrow is typically requested by a party licensing software , to ensure maintenance of the software...

, where critical software source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 is stored with an independent third party, SaaS data escrow is the same logic applied to data within a SaaS application. It allows companies to protect and insure all the data that resides within SaaS applications, protecting against data loss.

There are many and varied reasons for considering SaaS data escrow including concerns about vendor bankruptcy
Bankruptcy
Bankruptcy is a legal status of an insolvent person or an organisation, that is, one that cannot repay the debts owed to creditors. In most jurisdictions bankruptcy is imposed by a court order, often initiated by the debtor....

, unplanned service outages and potential data loss
Data loss
Data loss is an error condition in information systems in which information is destroyed by failures or neglect in storage, transmission, or processing. Information systems implement backup and disaster recovery equipment and processes to prevent data loss or restore lost data.Data loss is...

 or corruption. Many businesses are also keen to ensure that they are complying with their own data governance
Data governance
Data governance is an emerging discipline with an evolving definition. The discipline embodies a convergence of data quality, data management, data policies, business process management, and risk management surrounding the handling of data in an organization...

 standards or want improved reporting and business analytics
Business analytics
Business analytics refers to the skills, technologies, applications and practices for continuous iterative exploration and investigation of past business performance to gain insight and drive business planning. Business analytics focuses on developing new insights and understanding of business...

against their SaaS data. A research conducted by Clearpace Software Ltd. into the growth of SaaS showed that 85 percent of the participants wanted to take a copy of their SaaS data. A third of these participants wanted a copy on a daily basis.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK