In his keynote at VMworld last week, VMware CTO Steve Herrod showed a very interesting project called AppBlast. According to this news release thereafter, “Project AppBlast will provide the universal delivery of any application, including Windows-based applications, to any device supporting HTML5, enabling instant remote access to applications without the heavy footprint of the underlying operating system.”
Several folks asked me about how to use vSphere(VI) Java API to connect to a VM running on vSphere. The quick answer is vSphere Java API is not designed for this. You will need VMware Remote Console, browser plug-in, remote desktop/VNC, SSH client etc. However, it can help you to get the information required by the console or plug-in. Tal Altman from CISCO suggested that it be a topic for doublecloud.org. Here it is.
There are 3 ways to connect to the VM from your client side outside the vSphere and Web Access which have built-in support for console access.
- Using VMware Remote Console which is a standalone application
- Using browser plug-in to either IE or Firefox (Note: this is NOT supported by VMware. Please don’t call the company tech support for this.)
- Using Remote Desktop, VNC or SSH
The first two connect to the ESX host, and work even there is no guest OS installed on the VM. The last one assumes you have guest OS installed, and have IP network and server components in place already.
Note that these 3 ways work for the VMs in the public cloud as well if the related ports are open in your firewall. It is, however, not the case for most enterprises, therefore I particularly say it’s for VMs in private cloud. If you don’t have firewall issue, feel free to give it a try with public cloud as well.
Let’s go over one by one in details and see how vSphere Java API helps.
While browsing the project home of VI Java API, I found a link to a great tool contributed by pitchcat. It is a standalone Java application that shows managed objects and data objects in a tree hierarchy, and all the methods attached to a managed object.
I highly recommend it to all the VI Java API developers. Why? Although you can get similar information from MOB, vijava browser gives you an overview of all the managed objects and clear paths to any managed objects or data objects.