WAY2WEB: Web Design & business...
Managing Users: Finding a Common Denominator
The core to most web-based systems is the user - without a user, there isn't much of a purpose for the system. One of the first obstacles tackled in our Course Management System is integrating user details with the exiting systems. This is often the hardest part, but once you find a common denominator, the rest is easy.
A common denominator in computer systems is, just like in primary school maths, a central point which is the same for each other point. In maths, you require a common denominator to simplify the fraction. In computer systems, you need a common denominator to simplify the connection between each point.
With web-based systems, the common denominator is generally a username and password database. Each system can talk to each other system through this database. However, the issue is when you have radically different systems needing a common database.
Before we go in to our own real world example of tackling integration issues, let's look at the benefits of using a common denominator user system, over a separate user database:
- Users only have to remember one username and password
- Administration hassles are reduced
- No need to worry about security of multiple databases
- Easily make system-wide changes
- Easier to plan for disaster recovery
- No need to bother with data replication
Our Common Denominator
For example, in our Course Management System we're developing, we needed to have a single sign on system between the web based system (running PHP & MySQL) and the existing Windows AD password database (all stored in a LDAP database).
It soon became clear that it would be easiest to use the LDAP database for all password storage, rather than make a replica in our MySQL database. That way, users can change their passwords through Windows, and it would immediately take place in the online system. Using the LDAP database was made easy by the built in PHP functions - four lines of code later, and some quick firewall adjustments, and we were authenticating against the Windows passwords!
We found our common denominator fairly easily, but sometimes it can be much harder. The key point to remember is that you shouldn't replicate data between different systems. Keeping it all central is important, if at all possible. This avoids change conflicts, and many other data replication issues.
I encourage you to find a common denominator in your own systems, when in need of integration.