CRI Simplifies the Development Process for their Clients
Software as a Service (SaaS) is a proven, well-established software delivery model. However, there are a number of challenges to consider when developing SaaS applications. For example, tenant data must certainly remain isolated from other tenants, but for security or regulatory reasons, some clients may require that their data reside on a physically separate server.
Castle Rock Innovations' SaaS architecture includes a number of standard components for simplifying the development of an SaaS application. One of the core components in the Castle Rock toolbox is the DatabaseKey component.
Conceptually, the DatabaseKey object unlocks the entire application for the user. When a user logs into the application, the login process retrieves their unique ID. That ID is sufficient to retrieve the DatabaseKey for the user, which supplies connection information to any databases the user has access to. In addition, common information such as the user's first and last name, company, and title are retrieved, so that they can be easily displayed.
For applications that require additional security, the DatabaseKey is extended to retrieve a security object as well, which can be used to determine whether the user has access to specific objects. Since the DatabaseKey is reloaded each time a page is accessed, any changes that an administrator makes to a user's security access are immediately enabled.
The Database Key is never seen by the users of the system, but it has a substantial impact on the development process for a new application. It simplifies the development process, eliminating the need to handle complex database connection and security issues, and by exposing common user data throughout the application, it reduces the amount of time required for developers to implement many personalization features in new or existing applications.