Well, I haven’t posted anything about this yet but I’ve been working a lot on a new version of XTrac, called KnowIT (btw, if someone has a better name, let me know). I’ve been putting the code out on Google Code and I will be releasing it all under the GPL v3 license. You can see the SVN repository here.
The old version uses a single table per “collection” (information about a specific area of the machine hardware). It was difficult to scale because you’d have to add a new table each time you wanted to track something new. This new version uses a single table for the collections so adding new ones is easy. The database schema is so simple, its almost complex. But at least this way it will scale better.
Instead of MSMQ, I’m using web services to transfer data from the agents to the server. That way there’s no dependency on having it installed. Actually, more specifically, I’m using WCF to perform my data transfers. I’d worked a little bit with WCF in the past and I liked how it could easily the transport technologies could be changed (MSMQ, Web Services, Named Pipes, TCP, etc.) with nothing more than a couple of lines in an XML file.
So anyway, I’m working on it all pretty heavily right now. I’m going to be deploying at work when I finish it, to see how it will perform in a 800+ node environment. Once I test it there, I’ll release it. So far I’ve gotten the Windows agent and server done. The next part is the agent-less scanning, which I’m about 90% done with. After that I need to figure out how I’m going to collect information on UNIX servers with .NET. I may have to look at using Java to do that.