Part of the rationale for Web services has always been that they can tunnel through firewalls, linking networks that are otherwise securely separated. Virtualization puts up similar barriers between applications within a single machine, so will crossing them require similar technology?
Startup OpenSpan says that it will. This week, it launched what it calls SOA Desktop Edition, software that the company claims can give almost any Windows application a full Web services API. OpenSpan promotes its product as the "the last mile of SOA", but that slogan's already taken (by several rich Internet application companies, on the basis that Ajax works better if browser-based apps link into a full SOA infrastructure on the back end.) A more accurate description would be a scaled-down SOA, as for it to be useful each PC would end up hosting (and consuming) multiple Web services.
So why run Web services on the desktop? According to OpenSpan, the same reason that you'd run them on a server – namely, for streamlined application integration and data sharing. SOA Desktop Edition grew out of a previous product called Integrator, which tracked how every application accesses Windows' APIs and let developers intercept API calls while building mashups. For example, one app's menus can be made available through another, or complex operations that otherwise involved multiple copy and pasting operations can be automated.
Like the Windows API itself, Integrator was designed to mix apps installed on the same machine. Converting desktop Windows apps to Web services makes them accessible anywhere, potentially letting users on one PC automatically access APIs on another. It also means that services from Windows apps can be orchestrated into new composite apps using standard SOA tools from vendors like IBM and BEA, or combined with components based on Java.
Not everyone will think exposing desktop apps as Web services is a great idea. Security-conscious users may be put off by Web services' original firewall-tunneling feature – something useful in closely monitored and locked-down server apps, but perhaps much riskier than when let loose on ordinary PCs. That's why OpenSpan's vision doesn't involve desktop Web services accessed by users across the Internet, or even predominately by other machines within the LAN. It foresees the main consumers of desktop Web services being other VMs running within the same PC, accessing functionality that right now is available through standards Windows APIs – everything from file load and save to composite applications.
There's one obvious problem with this: Right now, most of us aren't running VMs on our desktops, and even most of the virtualization vendors seem focused on servers. However, all the hardware-assisted virtualization technology that Intel and AMD build into their server chips also is going into desktops (and laptops), even it isn't used at present, while application virtualization has attracted a growing following. Most vendors already implement their own ways to share data, with app virtualization preserving functionality like the clipboard. So it's probably inevitable that virtualization will migrate to the desktop, even if Web services might not.