The world needs to move ahead. The technology advances. Who doesn’t want to keep up with the progress, stays behind. That’s how it has worked since the dawn of civilization.
I can’t know the exact reasons why Microsoft has decided to stop support for the Classic client with NAV “7”, but I can offer my view and position on why I believe this was absolutely necessary.
Classic—or C/SIDE—client has been around for a decade and a half, and over that time it has not evolved much. It works great generally it’s pretty responsive, provides unparalleled productivity in data entry, but technologically, it’s a dinosaur.
Some are complaining that Microsoft should have invested into overall performance improvements of NAV, rather than into development of RTC or three-tiered architecture. Well, as paradoxical as it may seem, the only way to improve NAV overall performance was to finally abandon the old and tired two-tiered architecture, and finally recognize that there have been major technological advancements over past couple of decades, that C/SIDE simply seemed to be completely unaware of.
It starts with the Classic, or Native, database server. It simply has to go. It’s a technological relic of the ISAM and magnetic tapes age. ISAM has died long ago, so have magnetic tapes. Any product optimized for that kind of technology has lost perspective a decade ago. Plus, it is totally non-scalable—at maximum 1GB of memory and utilizing maximum of 1 processor cores—it can’t compete with SQL Server, and Microsoft’s decision to finally do away with it was logical and welcome.
When C/SIDE client and Native database came along, relational databases were still a visionary new technology. ISAM was mainstream, and it was natural that Navision has chosen that approach. However, Navision has failed to do what should have been done years ago, and exchange the tired old ISAM horse for a faster, relational one. Instead, they have always given advantage to backwards compatibility rather than technological improvements.
And now Microsoft has to pay that toll.
It’s absurd: Microsoft has a beast of a product, outperforming any competition and monopolizing the TPC-E Top 10 handling up to 3,800 transactions per second. On the other hand, this monster is crawling under pressures of simulating the ISAM environment, barely supporting several dozens of users concurrently posting transactions.
When Native is gone, there will finally be room for true SQL Server performance improvements.
Most people actually do agree that Native database has to go, but why the Classic client? Well, simply because once Native server is gone, in order to enable the improvements, the client has to be thoroughly re-architected as well. It is slow because it emulates ISAM, it uses cursors, it executes on client-side and clogs the network. You can’t truly improve performance if you don’t do something with the client.
RoleTailored Client and three-tiered architecture were inevitable. They had to happen. And once they happened, the only thing that doesn’t make much sense is maintaining the old client just for the sake of existing install base. Backwards compatibility does make sense, but not indefinitely. At one moment you need to just cut the iron ball off your leg to be able to start moving ahead.
But it’s not only about SQL and ISAM and cursors and two clients. Another thing has happened over the past five years, which nobody could expect two decades ago.
If anything, the recessions has left us with one big lesson learned: mind the costs! We will all start minding the costs. Customers had already been looking skywards to reduce the IT costs, but the recent (or current) recession has just boosted the transition of software ownership from on-premises to the Cloud. Like it or not, ten years from now Cloud will be everywhere, and whoever would be still betting on on-premises will lose.
Classic client is completely incapable of reaching for the Cloud. On the other hand, RTC is already Cloud-ready. With NAV 2009 R2 and App-V and RTC-over-Internet, companies who could only dream about NAV can now afford it, and get far more value from it than those investing millions in on-premises implementations.
Evolution is a nasty thing. Either you evolve and survive, or you go extinct. If NAV decided to stick with old technology stack for the sake of backwards compatibility, it would do the existing user-base a terrible non-favor: a couple of more years, and NAV as a product would be gone, eaten-up by fast-evolving Cloud-dwelling competitors. Old, C/SIDE, Classic or Native—whichever you prefer—technology stack just had to go.
It wasn’t past due. It was an inch close of being too late.