Thursday, August 2, 2007

Virtualization –now Web 2.0 and Legacy Fat clients have a lot in common!

If you think you understand all of the terms surrounding Virtualization, check out http://en.wikipedia.org/wiki/Virtualization and see if you learn anything new!

I am going the use the term “Virtualization” loosely in this post though since there are many things I love about “Virtualization. I think it could actually be one of the biggest evolution changes in computing since the advent of “GUI”.

If you are old enough to remember, the earliest deployments of applications to end users was never an issue. Plug in and connect a dumb terminal (green screen) to the mainframe and a user was up a running. If the application changed on the mainframe, immediately the user saw it. If you added more processors/gateways /disks to the mainframe, it could easily serve up more and more users. Maybe that’s simplifying all of this but if you throw enough “smarts” around virtualization then you get most of this back. No? We all know technology comes around in waves so I really love this one because I am old enough to remember!

Virtualization is not so new BUT now we have unbelievable cost effective CPU / Memory power to really kick it up a big notch overnight. Tape (rack) enough virtualization pieces together and you get all of the benefits around ease of deployment the mainframe had.

I also read somewhere that today’s enterprise servers only utilize about 10% of their capability. Funny, barring a very pushy enterprise salesman, enterprises wouldn’t buy more processor hardware until they had utilized 60-80% capacity of what they had. Virtualization fixes that gap for today’s servers by easily allowing a single processor to be more fully utilized (another “what comes around moment”).

There are many things to write and love about virtualization but one close to my own heart, you might not have considered, is around the fat client (G)UI. The fat client has a bad rap because whilst there is no doubt, fat client GUI’s are very enterprise user friendly and powerful (rich), the management around their application deployment sucks. However, virtualization makes the deployment problem go away, quite literally over night.

People originally thought the zero footprint browser approach would solve the fat client deployment issue. However whilst the browser wasn’t fat, it lacked any richness in UI of the fat clients to satisfy enterprise users. Years of trying to add the rich UI to the browser through ActiveX (I shudder here), scripts (lots), DHTML, Ajax, Flash etc., has left us in quite a mess. Where is the business logic now? Who supports what and where? Fat Clients perhaps are not so bad then if we have solved the deployment issue?

Someone has to say this. Web 2.0 (I use that term loosely to describe any asynchronous event driven web like UI) is really a fat client in disguise. Disguised by the fact the web browser is now so fat, it allows for real-time interactions with a server application that has been written to support code that runs inside the client model as well as the server. I’m not beating up on Web 2.0, just making sure we all agree, it’s not really new, for the enterprise user at least.

The way I see the Web 2.0 going is we are going to see the new 4GL like visual tools allowing us to build self deployable rich applications for enterprise users and that’s cool. However I for one think that, thanks to virtualization, existing legacy fat client applications will be around for a lot longer than people ever imagined and that’s cool too. Unless you have a real business case (the money and time) to take this risky approach to rip and replace your legacy applications, I wouldn’t bother just yet. I would concentrate first on making any rich legacy application (old or new) you use today, much smarter. There are tools out there that enable this (like OpenSpan) and the business benefits are huge. This allows you to focus on your EA strategy (including SOA) over the long term whilst at the same time, providing real agile business benefits to your users around what they already use.

And remember, once an application is delivered to a business user (through it’s UI), it must play nicely with all of the other applications found there. Otherwise, you’ll find out quite quickly, your users won’t be happy that your new Web 2.0 applications will be just as silo’d (un-integrated) as the other applications they have.

No comments: