Nebula Internals Today
• Problems reported daily with vbAdm. Errors often are
cryptic. Repros involve long sequences of actions.
• Last stable version of vbAdm? No one knows!
• A fix to a vbAdm problem breaks something else.
• Long lead time to adjust all code to respond to
environment changes or to create new reports
• Sporadic strange errors passed to users by loginnt.
These are directly linked to limitations in the Access
technology behind the Nebula DB.
A Vision For 2006
• Separation of core code into a clear framework
– Framework provides basis for architectural assumptions and core
• Consistent functionality across any application that makes use of it
• A framework for easily adding additional functionality outside of the
– This should result in much quicker response to changes and
– Greater stability will result as a fix won’t cause unforeseen
(broken) behavior elsewhere
I’m Not Dead Yet!
• vbAdm dies. New application with both GUI and web
interface are provided with cleaner design and
– Same underlying functionality is retained
– Exceptions are passed to the user, so debugging is simplified
– We lose the nest of ugly code we inherited that’s very difficult to
How’d We Get Here?
• Grew out of Windows for Workgroups and NT 3.5
• Microsoft Access database format was cutting edge
• Inability/reluctance to use Active Directory to store user
info from other services
• Pasted Calendaring service onto existing Windows +
• Low engineer count (had to fit this in somewhere )
• Lack of structured approach to coding
vbAdm At A Glance
Behind vbAdm are almost all the core pieces of the Nebula
infrastructure. They include:
– UW Staff Directory
– Active Directory
– Nebula DB which most notably manages:
• Loginnt and application packages
• Web reports
– Oracle Calendar
– “Ref” which manages:
• Nebula-unified Unix password file for file servers
• Nebula home directories
• Pine configuration files
• Account/Group creation in Active Directory
– Shiva for on-demand port scans
– LPN for printer queues
Delving Into vbAdm
Where We Want To Go Tomorrow
• Veteran’s Day, 2005: Have working demo of re-
architected Nebula core
• Thanksgiving, 2005: Begin review within Nebula
Engineering on design and implementation details
• Christmas, 2005: Migrate Nebula DB to SQL Server 2005
and Active Directory
• Martin Luther King Day, 2005: Release replacement for
• Groundhog’s Day 2006: Throw release party
Nebula Internals Tomorrow
• The Nebula infrastructure is complex
• vbAdm bridges that complexity, but it’s not optimal
• Nebula Engineering knows vbAdm isn’t optimal
• Nebula Engineering is working on a BIG fix
• Be patient.