If you are building any VMware vSphere powered cloud based solutions or any other application around the vSphere virtualization suite, then it’s most likely that you will have a need to access or manage the virtual resources programmatically. One way to accomplish this is by making direct use of the standard VMware vSphere web service SDK API’s. But the poor design & the very complex nature of these API’s makes it hard to program against these API’s even for an experienced developer. This is where the open source vSphere Java API’s comes in handy.
‘vSphere Java’ is a VMware promoted open source project which simplifies the use of SDK API’s while providing a significant boost in terms of performance. It is developed and maintained by Steve Jin of DoubleCloud fame. Steve Jin is also the author of the popular book ‘VMware VI and vSphere SDK’. I have been one of the early adapters of vSphere Java API’s. I am using these API’s right from its inception phase to develop applications & to perform all my experiments around VMware vSpehere. I still remember the days when I used struggle a lot for developing applications around VMware vSphere using their standard SDK API’s. But, once I started using the vSphere Java API’s, my work became much easier.
Following are few important points which makes the vSpehere Java API’s the preferred choice for developers willing to develop applications around VMware vSphere,
- Provides a neat, easy to learn, purely object oriented framework so as to enable rapid application development.
- Compared to the SDK web service API’s, the use of vSphere Java API’s results in less lines of code & significant improvement in terms of performance.
- The wider acceptance of this framework by community has enabled the framework to become the de facto standard for developing applications around vSphere.
Special thanks to Steve Jin, the developer of vSphere Java API’s for giving us such a wonderful framework & making our life’s much easier. I feel this framework can sever as a blueprint or model for other developers/designers for providing/exposing API’s to the external clients for building applications around their platforms or software suites.