My assumption is that you have a fully functional project management application in saaspm folder as mentioned earlier. Following are the conversion steps.
Create a new table in saaspm database for global sites. This table has a minimal schema as follows (XML).
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.
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.
Similarly identify and modify tables that require ‘globalid' for domain specific settings.
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.
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.
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 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 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 such as module management, theme management, price management, subscription management, payment settings, domain management, account management etc.
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.
Global admin can install and manage themes which are made available to domain users.
Module listing and pricing can be configured. Those domain users who require specific modules need to purchase and subscribe for a specific period.
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.
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.
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.
SAAS model has many advantages over traditional web applications.
SAAS model has some disadvantages also there. A few disadvantages are here.
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
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
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
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