Wed, Nov 19, 2008
5 years ago I developed a provisioning system that links SITS student record system to Novell eDirectory, NDS and Groupwise. The architecture is shown below:
It was an adventure in code and contrasting technologies. The eDirectory was straight LDAP, while the NDS integration was via NDAP (Novell Directory Access Protocol). I wrote both those interfaces in Java but the Groupwise was another story entirely. It has no web service or Java capable interface. Instead, I discovered the desktop client had a COM server built into it. So I wrote the Groupwise interface in C++. It’s run continually for the last five years and I’ve just delved into Ruby to write a log files analyser, which yields the account creation stats, viewable here. As it uses COM and also the Novell client it has to run on Windows but I’ve since then developed another application that cleans Novell accounts and home directories using the NJCL Java libraries (clientless - they use RMI), so that part can run on unix. COM will never run on unix though, so the Groupwise will always run from Windows.
Perhaps for not much longer though. There’a a new project on the go to replace the system with a proprietary one from Novell, IDM. So the next generation is on hold:
That’s about as far as I went with it, although I’ve heard since that driving it from IDM might be an option. In the meantime, the stratosphere has decreed that they cannot understand the current one, so it must be replaced with IDM, which they don’t understand either.
The moral of the story? If you’re going to rely on something you don’t understand, best get a really expensive one.