The open source vijava API has become the de facto API in the VMware community since its debut in 2008 due to its simplicity and performance. It has been used in commercial products from companies like Cisco, EMC, HP, and belive it or not, VMware.
vijavaNG is the commercial version of vijava with significant improvements on various aspects. Unlike the vijava, it's a fully supported product by the company.
Compared with the open source vijava, the vijavaNG has these unique features:
- Higher performance and lighter streaming XML engine
The open source vijava uses dom4j as the XML engine and has boosted the performance for several times over the others using Apache AXIS. While most people are happy with the performance, vijavaNG makes it even faster. The secret is the new super performance streaming engine.
More than the performance gain is the memory consumption. Because the streaming API does not need to generate the intermediate DOM objects, we can reduce the memory requirement by half at least, not to mention much less stress on the JVM garbage collector.
- Better Security Support
vijavaNG supports pass through of client certificates to vCenter for log in. This allows server extensions to log into vCenter without password after it’s registered. This feature is only supported in vijavaNG, not the open source version.
- Complete Javadoc for the API
Although VMware API Reference is great but it cannot be easily integrated in IDEs like Eclipse/Netbeans/Intellij. The vijavaNG now provides full javadoc so that developers can read the comments rigth inside the IDEs while hovering their mouses over an API method. This convenience can save quite some time and frustration during the development.
- Consistent APIs with open source vijava
If you have application built on top of vijava API, it will also run as it is on the vijavaNG. With the commercial vijavaNG, you will get additional features and commercial support options.
- Logging support
You can now easily logging SOAP message between the API and the server. With the flexible architecture, you can hook it up with your logging framework like log4j or the Java native logging framework.
- Higher level abstractions
vijavaNG now includes the guest APIs (experimental) that I designed to provide higher level abstraction over the existing vSphere API. It makes it one line call to do something like downloanding a while directory and its subdirectories to local machine. More similar APIs will be included in the future to drive more benefits.
- New architecture for other APIs
The vijavaNG has a new archiecture that is ready to support other VMware APIs like ESX Agent Manager APIs, etc.