Conversion of Web Applications to SAAS Model

Updated: February 19, 2011

Conversion Steps

My assumption is that you have a fully functional project management application in saaspm folder as mentioned earlier. Following are the conversion steps.

Create global site's table (master)

Create a new table in saaspm database for global sites. This table has a minimal schema as follows (XML).

101

3cc1224dcdb34dc16b24b24843714b06cbc30d4f

demo1admin

demo1pass

A

demo1.najeem.com

102

59b5093df9d6e465786829a3036878d80b716833

demo2admin

demo2pass

A

demo2.najeem.com

Create Bootstrap

Create a bootstrap file with the following code.

$g = new GlobalSite;

$con = $g->Connection();

echo 'Site ID is '. $g->siteID($_SERVER['HTTP_HOST'],$con);

Here I'm calling a custom class file that I have created for getting database connection and then global SiteID.

$_SERVER['HTTP_HOST'] will give the current web site domain name. siteID method will return unique global site ID (globalid) for that domain.

After all we have identified which domain is requesting the system resources. Based on the globalid, site specific information can be loaded or transferred to the requester.

Enhance Schema for SAAS

Since we are converting an existing application (saaspm) to SAAS model, we have to customize the database schema of application. There is only one additional field in the schema which is the globalid. Revised schema for table ‘users' is as follows.

1

102

najeem

Administrator

e10adc3949ba59abbe56e057f20f883e

test@najeem.com

t

0

0

f

en

Similarly identify and modify tables that require ‘globalid' for domain specific settings.

Code customization

In order to fit with new schema and resource isolation or filtering based on globalid (unique and domain specific), you have to enhance the sql queries through out the application.

A basic example is to change queries with proper ‘WHERE' condition to account the globalid filtering.

Installation

After updating required SQL queries in application, it's ready to port. If you want to install SAAS project management application in a new server, you can export the modified database and move the updated script files and do your configuration for global site. Create your SAAS admin interface.

Run Application

End User

End user can browse the web site as http://demo1.najeem.com or http://demo2.najeem.com . Session handling is based on individual domain and hence user from demo1 can't login or access demo2 and vice versa.

Site Admin

Site admin can access project management admin section and manage his web site settings, users, projects etc. Site admin of demo1 can't access demo2 as explained before.

SAAS Admin

SAAS application settings, components, modules, accessibility, payment etc can be managed from SAAS global admin. SAAS admin interface is a custom development or an enhanced admin interface of project management application. Here any additional functionality can be implemented for payment, SLA etc.

Global Settings

Global settings such as module management, theme management, price management, subscription management, payment settings, domain management, account management etc.

Module Management

Global admin can install and uninstall plug and play modules from this interface. Based on domain user's subscription level, these modules are made available to those domains.

Theme management

Global admin can install and manage themes which are made available to domain users.

Pricing and Subscription

Module listing and pricing can be configured. Those domain users who require specific modules need to purchase and subscribe for a specific period.

SLA

No restrictions in subscription as will help to start / close account any time. Service Level Agreement specifies the Terms of service (TOS) and that will help the domain user to use the service.

Scalability

SAAS application has a centralized application engine and module repository. Module updates will directly affect all web sites. It will help to add new modules and expand application. Core application updates can be done centrally.

Security

Application security is centrally managed and domain specific security is maintained based on globalid. Apart from traditional web sites, SAAS application has limitations that domain user has no access to source of application.

Advantages

SAAS model has many advantages over traditional web applications.

  • SAAS provides one centralized application engine which is very easy to maintain
  • Domain user has no head ache of web site hosting and maintenance.
  • Domain user has flexible SLA to start or terminate service.
  • Very easy and less time consuming to set up a new web site in SAAS
  • SAAS reduces cost in a great extent.
  • Secure and powerful

Disadvantages

SAAS model has some disadvantages also there. A few disadvantages are here.

  • All web sites under the SAAS framework will go down if the central application goes down.
  • It consumes much higher bandwidth for all shared web sites.
  • It required load balancers and clustered servers to run the services.
  • Data is storing in 3rd party database and hence its marketability is suspicious.

Related Categories
Featured Research
  • Office365 Adoption eGuide

    Microsoft moved to the cloud in 2014, and, as a result, Office 365 is taking off. Now, Okta customers are connecting to Office 365 in increasing numbers. This eGuide explains why IT departments should plan and deploy solutions around identity and mobility management in concert with their Office 365 roll out to get maximum user adoption. more

  • Okta Directory Integration

    For most companies, Active Directory (AD) or Lightweight Directory Access Protocol (LDAP) play a central role in coordinating identity and access management policies. When on-premise applications are integrated to Active Directory or LDAP, users get the best possible experience. That's why Okta's cloud-based identity and access management service provides a highly useful single integration point. more

  • Securing Enterprise Information Technology

    In the 1980s and 1990s, business applications and data were largely confined within and protected by a Local Area Network (LAN). The 2000s introduced a significant change. Download this white paper now to learn why the shift to the cloud is changing how companies think about and manage their IT infrastructure. more

  • Top 8 Identity and Access Management Challenges with Your SaaS Applications

    With more and more businesses adopting Software-as-a-Service (SaaS) applications, enterprise IT is fundamentally changing. This whitepaper presents the eight biggest Identity and Access Management (IAM) challenges associated with adopting and deploying cloud and SaaS applications, and discusses best practices for addressing each of them. more

  • Better BYOD with Pulse Secure and MDM Partners

    Learn how Pulse Secure and leading MDM product partners are transforming the way employees and IT benefit from the productivity and flexibility of BYOD — without compromising security or increasing management complexity. more