Monday, March 10, 2008

SaaS - Software as a Service [4] - How can SaaS be differentiated? and SaaS Software Architecture

How can SaaS be differentiated?

Almost all of enterprise applications in the software market are web-based applications. Therefore, with the end-user point of view, they may not recognize the difference between the traditional software package which is located at another company and the SaaS model. However, in this paper, I have studied about the architecture inside SaaS environment which totally differs from the traditional software package. I have separated the area of the studying into two topics including

1. SaaS Software architecture, this topic will describe important sub-modules. For example, the Business service module which is taking care of the usage and licensing of the application. The application architecture module providing application infrastructure for all SaaS applications in the platform.

2. SaaS Database architecture, this topic will explain about the challenging problems of SaaS database design. Moreover, this topic also demonstrates the three approaches of database design in the SaaS environment which are totally different from the database designing approach in the traditional software system.

This post will have only the SaaS software architecture. The database architectures will be described in detail in the upcoming posts with the specific examples.


SaaS Software Architecture

This section will discuss about the SaaS software architecture in the host side. At the host server side, SaaS vendors may have many applications which share the common resources together. According to the figure below [1], There are three applications sharing the same common resources. Each SaaS application has its own User Interface (UI) and business Logic (Biz Logic) to perform their specific tasks. Fortunately, the all common resources are sharable so that all applications can perform the particular tasks efficiently. We can call the common resource as the service delivery platform. This platform includes both hardware and software architecture but in this paper will mention only the part of software architecture.

1. Business Services
Playing as the main actor in SaaS software architecture, this module takes responsible for monetization, for example, the usage checking for all applications. This module includes the various sub-systems for business management to reach operational goals which include the new monetization model.

2. Application Architecture
This module provides the connection between all SaaS applications and hardware. The hardware includes web servers, application servers, and database servers. The sub-services provide in this module including Logging, Exception handling, and Data binding. The other significant task for this module is to ensure that all SaaS applications can access the hardware fairly.

The old architecture, client/server, is not the main architecture in the SaaS model. However, we still need to use client/server architecture for communication between customers and host servers.

Figure 1: Service Delivery Platform




To be continue, please catch other parts of this posting series....
------------------------------
You can read other chapters of this posting list from the list below.
The purpose of this report is to study about the concept, benefit and architecture of SaaS.

0 comments: