Chapter 1 Oracle VM Web Services Overview

The Oracle VM Web Services Application Programming Interface (API) provides a Web Services interface for building applications with Oracle VM. Both SOAP and REST interfaces are supported. Both offer the same underlying functionality; the choice depends on the specific client implementation and which type of mapping is most suitable. A client program should use only one type of API interaction. Mixing SOAP and REST based interactions in the same application is not supported and may cause unexpected results.

The Web Services API allows you to write applications to customize, control, and automate Oracle VM. For example, you can

  • Create, start, restart and stop virtual machines, and migrate them between different Oracle VM Servers.

  • Expand the capacity of the Oracle VM environment by adding more Oracle VM Servers and storage providers.

  • Integrate Oracle VM with other third-party tools such as monitoring applications

  • Facilitate repetitive tasks like creating new instances of frequently deployed virtual machines from templates, switching between policies or turning them on or off depending on the time of the day or week, performing maintenance on the hardware or virtualized environment, and so on.

This guide introduces you to the Oracle VM Web Services API, providing the basic concepts and API examples. For the complete API documentation, see the Oracle VM Web Services API documentation included in the SDK on the Oracle VM Manager installation ISO.

The Web Services API to Oracle VM can be accessed using any programming language. As the same functionality is available via SOAP and REST interfaces, the developer chooses either type of interaction, based on the specific development objectives and architecture. The general interaction pattern with the API is to first find an object, retrieve a client-side instance of the object, and then execute certain authorized manipulations.

An object must be retrieved by its ID. These object IDs can be obtained via other related objects, or in some cases by requesting a list of all object IDs of a given type. Once the ID is available, various operations can be performed on the object. The exact set of operations depends on the type of object and the interaction mode: SOAP or REST.

In both REST and SOAP, operations that are not simple retrievals are performed asynchronously. These methods return a Job object that can be used to subsequently query the status of the operation. In case the operation is an object creation, the Job object, once completed, will also include the ID of the created object so that other operations can be performed on this object.