Tuesday, November 25, 2008

Beyond Application Virtualization

If one has observed, Microsoft has really been aggressive in terms of venturing into Cloud computing and Hosted Services offerings recently. One of the latest additions to its Hosted Services portfolio is the release of ‘Application Virtualization’ products. With Application virtualization, windows applications can be streamed to the Desktop from the Intranet/Web, cached locally and stored with end-user specific preferences. This solution will eliminate the installation requirements of thick client applications.
Ok. What does this mean to the Enterprises?
For me, it looked like another way of delivering services to the end-users (applications-as-services??). Users who are tired of click-and-walk HTML applications have already migrated to Rich-Internet-Applications. Large product vendors like SAP have embraced RIA significantly in their product roadmap. I am not surprised, given the limited choice available in the RIA technologies and the ‘cool’ effects bought by Adobe Flex/Java Fx. However, these RIAs are predominantly built on top of scripting technology platforms such as JavaScript and ActionScript. These technologies have their own strengths and weaknesses. But, in my view, they don’t come closer to traditional and mature programming platforms such as VC++, especially when considering aspects such as Security. RIA platforms themselves are maturing and they have a long way to go.
My intent is not to say ‘Streaming’ applications will replace ‘RIAs’ or vice versa. They will co-exist. But, I foresee Streaming applications will be much more powerful compared to RIA in terms of bringing enterprise features and rich user experience. Some of the considerations which I can think of when evaluating Streaming applications are:
- Intranet deployments, Native applications, Maximum usage of local processor, Feature/Functionality Rich, Composite applications (Intranet/Web), Binary streaming resulting in improved performance of apps
I also believe ‘Streaming’ applications can be the door-opener for developing ‘Composite applications’ over Services. I have always thought, like Services in SOA world, which are composable, reusable and discovered, we should have a way to find, compose and reuse ‘Service Client applications’. Do you agree? And ‘Application Virtualization’ & RIA together can serve this purpose.
Today, we have marketplaces for Web Services. We have app stores for Smart phones. But, Pls note these apps available for iPhones are tightly integrated to their back-end Services (Service Providers). So, you get to download the entire application as ‘one capsule’. But, Is it possible to download just the client module/service consumer and talk to different service providers?. And ‘app virtualization’ and ‘RIA’ can lead to that possibility.
In future, we may be able to all the following in the ‘Cloud’
- Find services
- Find Aggregators / Composite services
- Find ‘application clients’ of different types (virtualized, web, mobile)
- Find Infrastructure services for clients (security modules, preferences, caching)
- Compose all these diversified services and make a personalized cocktail out of it J
- And finally, install this composite app as a simple Shortcut in our desktop.
- And this combination can be dismantled and remixed based on the end-user preferences and business needs on an ongoing basis.
Read this interesting prediction on ‘Hardware virualization’. I was inspired by this story to think about the possibilities in ‘Software world’.
In this story, I am not just fascinated by the technology/platform’s technical strengths. But I am truly excited about the kind of choices and valuable features these technologies can bring to the end-users.
To start with, I would be interested to see ‘SAP’ client available as a virtualized client app!

No comments: