Well, we have a new video available for you all to view, called SMI Suite: Behind The Scenes. It’s been a labor of love, involving a multi-million dollar budget, a crew of hundreds, a shoot lasting over six months and directorial tantrums left, right and center. Alternatively, it was done with a green screen and many many hours of painstaking post production. Not to ruin the illusion or anything.
The video is all about architecture, and as a companion piece to the video I wanted to write a blog entry about the same topic, just so the messages from the video are clear. After all, you might find it hard to focus on what I’m saying when you’re confronted with my boyish good looks in all their glory…
Sometimes we find it a little difficult to sum up neatly just how clever SMI Suite is, but we often find that when we get the chance to talk to experienced ITSM professionals in depth – and explain what’s going on behind the scenes, both with SM7 and with SMI Suite, that we almost always get a ‘gasp moment’ from whomever it is we’re talking to. It’s that moment when something suddenly makes sense and it usually falls into one of two camps. Either the person we’re talking to has just spent a month trying to understand why reporting from SM7 is so difficult, or they know precisely why reporting is so difficult, but were convinced that there was no possible solution. Remember the first time someone showed you the Rubik’s Cube? You probably thought that either there was no way a stupid toy could out-fox you, or you took one look and declared that even the greatest minds of our time could never crack such an intellectual nut. If I was going to stretch the analogy any further, I would tell you that SMI Suite is David Singmaster.
So we wanted to take some time to explain in some depth the key concepts around the architecture of SM7 and what SMI Suite does to solve the issues that the architecture raises.
First up is the simple fact that where Service Desk used a fixed, relational database to store its data, Service Manager uses a flat database structure. One of the upshots, from a reporting point of view, is the changeability of field names. So, say you have a field in Service Desk called “Priority”, the corresponding field in the SD database might be called “Priority”, or “Prty”, or “isd3y7j23hh2″ or whatever, but that back-end name would not change once it was set. Not so in Service Manager – everything is subject to change, even after initial setup. So if you were writing a SQL query to call that data, you would need to reference the field name, which might have changed since last month or last week or two minutes ago, and might change again in two minutes time. Also there’s a key difference in the way custom fields are handled – in SD they were custom only in the front end, so no matter how you renamed them in SD, the back-end fields were still called “CustomField1″, “CustomField2″, and so on. In SM7 custom names can be applied to the back-end as well.
SM7 also makes pretty extensive use of CLOBs, BLOBs and comma-delimited array fields, all of which are efficient ways for an application to store its data, but also efficient ways of making that data unintelligible to anyone or anything other than the application that wrote the data. You can think of it like a journalist who has developed his or her own form of shorthand to use when conducting interviews. It works great when the journalist wants to write up the article and can refer to the shorthand notes and quote the subject verbatim, but if the journalist’s editor wants to fact check the article and make sure the subject wasn’t quoted out of context, everything suddenly becomes very difficult, because the shorthand is gibberish.
If we accept that all of these factors make reporting from SM7 very difficult, then we’re going to need to see something pretty special from SMI Suite to solve these problems.
Well, actually, what makes SMI Suite so special is that it is designed, from the ground up, to deal with the particular challenges of SM7 – something that no other (and certainly no one-size-fits-all) application can boast. We already had a solid base in the sense that we had developed a robust, fully featured reporting solution for Service Desk – which, as you’ll remember, uses a fixed, relational database – so the challenge was really to get the SM7 data into a similar format as the SD data that we were used to reporting from.
So included with SMI Suite is a powerful ETL layer that parses the SM7 data into a separate, relational reporting database. And this isn’t just a straight dump, there are some pretty clever things going on, like data cleansing and translation of those BLOBs, CLOBs and array fields into a human-readable format. The mapping of data is based on the standard SM7 configuration, meaning that customers who make minimal customization to the SM7 implementation need only make minimal customization to the SMI Suite implementation. And for larger, more complex organizations with lots of SM7 customization, there’s a user-friendly, drag-and-drop GUI so the data mapping customizations can be easily and quickly without too much technical knowledge.
All of which basically gets us to the point where we started off with Service Desk, which is with good-quality data in a dedicated, relational reporting database, allowing us to bring in our years of experience in this kind of thing, which means standardized reporting universes, out-of-the-box reports and all the benefits of the market-leading BI software.
Which, when you think about where we were just four short paragraphs ago, is pretty awesome. Not only is it possible to run reports out of SM7, but it is possible for staff with no SQL query-writing experience, no database experience – in fact, no technical experience whatsoever – to write reports, refresh them, distribute them and so on. Which is really where SMI Suite sits head and shoulders above products like Crystal Reports or Cognos, which require you to directly query the SM7 database (potentially affecting performance), and to do so in the peculiar, techie way that the SM7 database understands. SMI Suite is all about dragging and dropping, it’s about using obvious and familiar terminology rather than interminable strings of code and it’s about adapting to the changing SM7 structure without you, the end-user, ever having to be aware of it.
This is the bit where you gasp.