VMware Infrastructure SDK for Java Technology Preview
This archive contains a preview of some of the technology being developed for the upcoming VMware Infrastructure SDK for Java. It defines a Java binding of the VI API. Managed objects, data objects, and faults are all represented as first-class elements of the programming model in this Java API, allowing for a style of programming that is simple and natural for Java developers.
While this preview showcases just the Java binding of the VI API, the VI SDK for Java when it is released will contain much more. The features under development include utilities for simplifying common operations, such as managing client-server connections and traversing the inventory tree. They include mechanisms for managing bulk queries of information, enabling the API to be used while still maintaining efficient control over the flow of client-server communication. And they include ways to define custom views of the object model, to help clients to focus on just the parts of the API that relate to their own particular requirements. Look for these features and more in future releases.
To allow experimentation with the Java API that is the focus of this technology preview, a small set of utilities is provided here to do such things as establish client-server connections and find entities in the inventory tree. Use these to "bootstrap" your way into the more interesting parts of the API. These utilities will not be part of the final SDK for Java; their functionality will be subsumed by more flexible and comprehensive utilities such as those described above.
The API itself consists of the packages com.vmware.core and com.vmware.vi and their subpackages. The utilities for experimenting with the API are in the package com.vmware.contrib.vi. Sample code is in the package com.vmware.sample.vi.
Contents of this Archive
doc
Javadoc documentation for the API, the utilities for experimenting with the API, and the sample applications.
Note: due to the way the API source code is being preprocessed to create this documentation, there are some problems in the resulting Javadoc. Some of the package names in links are incorrect, and some type names in the text refer to the web service that underlies the VI API. These problems will be corrected in a future release. We hope, for now, that the meaning will be clear enough from context.
lib
Libraries (jar files) needed to program against the API or to run the sample applications.
src
Source code for the sample applications.
Supported platforms
This release supports VMware Infrastructure 3.5 and later, including ESX 3.5 and vCenter Server 2.5.
Requirements
The following software is required to use the SDK for Java: Java SE 6
Sun's implementation, either JDK 6 or JRE 6, can be downloaded from here. Alternately, any IDE that supports Java SE 6 may be used.
Apache Axis2, version 1.4 or later
The Axis2 web services engine can be downloaded from here.
Setting the Class Path
The libraries included with this archive (in the lib directory) and those included with Axis2 (in its own lib directory) should be added to the Java class path. For example, on Windows you might have:
set VISDK4J_HOME=C:\visdk4java
set AXIS_HOME=C:\axis2-1.4.1
set CLASSPATH=%VISDK4J_HOME%\lib\*;%AXIS_HOME%\lib\*
and on Linux:
VISDK4J_HOME=/usr/local/visdk4java
AXIS_HOME=/usr/local/axis2-1.4.1
export CLASSPATH="$VISDK4J_HOME/lib/:$AXIS_HOME/lib/"