About the Client
The client is a provider of operations management software for small to mid-size ground transportation companies. The client’s flagship software is an advanced automated reservation management system capable of handling thousands of reservations per day.
The client’s existing software was a web based application developed on the Microsoft.NET platform with web based client-server architecture. Maintaining and servicing smaller end customers in the existing set-up was difficult as the software was only partly on the client’s environment. The client believed that a SaaS version would make it easier to maintain and service end customers. Besides, the client wanted to create a SaaS version of its software to address potential customers looking for such a solution.
Silicus had worked with the client through past projects, and was entrusted with the task of creating a SaaS version of the software.
Need help with a SaaS Development project?Contact Silicus Sales
Silicus architected and implemented multi-tenant application of the current variant.
In a SaaS application, the way users could connect to the software system was critical given that the same database stored information for several users. Connection details were stored using a unique code for each end customer and stored these details in the centralized database at the client side.
The following security measures were adopted during the design phase:
- Filtering: Using an intermediary layer between a tenant and a data source that makes it appear to the client as though its data is the only data in the database.
The client’s services were such that each tenant required highly customized data, with the ability to use custom fields to make tenant specific entries.
- Based on the “Shared Database, Separate Schema” approach, all data was stored in a master database that was being accessed by all tenants.
- Each tenant had a separate tenant database that contained tenant Meta data and specified the access details and rights for each tenant. Here, a metadata table stores important information about every custom field defined by every tenant, including the field's name (label) and data type.
C#, ASP.NET, .NET 3.5
SQL Server 2008
Crystal Reports 2008
- The SaaS platform allowed end customers to remotely login and access the application, an enhancement over the existing software
- The SaaS version made it easier for the client to maintain and enhance its software among smaller end users