A SaaS solution is a software deployment model that allows the users to access a specific application or module that is hosted by the vendor as needed. Software as a service (SaaS) is commonly used with a range of different software products. The primary feature of a SaaS solution is the licensing rules. Instead of purchasing an entire application as a unit or product, clients can purchase access rights instead.
There are five primary characteristics used to classify a system as a SaaS solution. Access methodology is the first one. In order to be considered a SaaS solution, the software must be network based and managed from a central location or hub. Customers are required to access the tool via the Internet. Each customer site is provided with a series of unique user names, profiles, and views. The software is able to recognize the user and provide the appropriate view and access to data. The users can be from a range of companies, all accessing the same tool, but having slightly different user experiences.
The actual software itself is designed to provide the ability for multiple people or users to access the same data and tools simultaneously. It is important to note there is much less customization than in a traditional software deployment model. The relationship is akin to one to many, rather than an individualized service.
The business aspects of the software management, ranging from pricing, partnering, and overall architecture are designed for a per-user fee structure. This structure must be set up with the initial system design and requires significant amount of effort to achieve. However, once the work is done, the same rules apply to all the users, regardless of volume.
All system maintenance is centrally managed. This is a great benefit, as the vendor has a much greater degree of control over the product. In some versions of SaaS, there is a downloaded component to the software tool. The vendor retains access rights and can apply system patches and fixes simultaneously to all the users. This type of control resolves a great deal of the work typically completed at the customer site to upgrade technology. It also ensures the software firm can limit the number of versions it must support.
The infrastructure required to run the type of software is significant, and often based on service oriented architecture (SOA). This type of structure creates packages for different functionality as interoperable services or modules. Each client is free to activate the different services and expand its toolkit based on its own needs and schedule. The design ensures that each module functions as an independent unit, while integrating with the other aspects of the software.