Headquartered in Montreal, with offices in Canada, the US, and the UK, IsaiX helps clients in government, high-technology, pharmaceutical, and financial services sectors, with their training and coaching needs, by offering unique tools and solutions built on the latest technology platforms.
IsaiX approached Net Solutions to redo their flagship web-based product, Coach Technology®, that helps managers with training, targeting, planning, tracking, evaluating, and encouraging employee performance.
IsaiX wanted to redo the tool, in order to target mobile devices, as well as modify the architecture, to make it more scalable and future-proof. In order to achieve this, we determined that they needed a multi-tenant and multi-version enterprise-coaching platform.
We proposed a multi-tenant and multi-version architecture for the new product, allowing the data to be efficiently managed. We considered three approaches to this build:
1. separate databases for tenants
2. shared database, separate schemas, and
3. shared database, shared schemas
We decided upon the first option. We delivered the product in less than 6 months as promised.
We created three applications and merged them to ensure that the multi-tenant feature of the app supported its multi-versions. The first is a common application to check for registered users who were redirected for authentication. The second application to authenticate the user with the database was the creation of a security token. Finally, the third layer served to verify the version of the application being used by the client.
We also created permalinks and stored all these in the Master Database (MDB). With the new tool, these links were redirected straight from the IP site to the new version with correct parameters.
We proposed separate databases for tenants to ensure better data isolation, privacy, and security. For example, customers in fields such as banking or medical records management, often have very strong data isolation requirements. This feature allows easy extension of the application's data model to meet the tenant's individual needs, and helps in restoring a tenant's data from backups, in the event of a failure.
Metadata associated each database with the correct tenant and database security, prevented any tenant from accidentally or maliciously accessing another tenants' data.
Certificates were used as another layer on top of the tokens generated for authentication. In this case, one private key is saved with the server used for login, while the private and public combination is present in the other server of the application. Any user who logs in is verified using the certificate and redirected respectively.
Our sprint planning, tracking, and team velocity was managed in TFS. Using a system like Coach5 that has three sites under its umbrella, we devised a custom automated deployment process consisting of all our environments: development, staging, QC-testing, and operations. For example, pulling the latest from the repository as per the applied code-label and building the solutions thereafter. The deployment component was built as a group of batch files from batch programming.
I have been working with Net Solutions from the past two years. They really go the extra mile to make every little detail the way you want it. In short, great people, top notch quality, highly recommended.